diff options
Diffstat (limited to 'README.md')
| -rw-r--r-- | README.md | 35 |
1 files changed, 34 insertions, 1 deletions
@@ -7,6 +7,7 @@ PicoStream is a high-performance Python application for streaming data from a Pi - **Robust Architecture**: Separates data acquisition from disk I/O using a producer-consumer pattern with a large, shared memory buffer pool to prevent data loss. - **Zero-Risk Live Plotting**: The plotter reads from the HDF5 file, not the live data stream. This ensures that a slow or crashing GUI cannot interfere with data acquisition. - **Efficient Visualization**: Uses `pyqtgraph` and a Numba-accelerated min-max decimation algorithm to display large datasets with minimal CPU impact. +- **Live-Only Mode**: Optional buffer size limiting for pure real-time monitoring without generating large files. - **Flexible Data Reading**: The included `PicoStreamReader` class allows for easy post-processing, including on-the-fly decimation ('mean' or 'min_max'). ## Installation @@ -21,14 +22,34 @@ The primary way to use the package is through the `picostream` command-line tool ### Acquisition -The following command starts an acquisition at 62.5 MS/s and saves the data to `my_data.hdf5` with a live plot. +The following commands show different acquisition modes: ```bash +# Standard acquisition (saves all data) picostream -s 62.5 -o my_data.hdf5 --plot + +# Live-only mode (limited buffer) +picostream -s 62.5 --plot --max-buff-sec 60 ``` Run `picostream --help` for a full list of options. +### Live-Only Mode + +For pure real-time monitoring without saving large amounts of data, use the `--max-buff-sec` option: + +```bash +picostream -s 62.5 --plot --max-buff-sec 60 +``` + +This limits the HDF5 file to the last 60 seconds of data, automatically overwriting older data. Perfect for continuous monitoring applications where you only need recent data visible. + +**Benefits:** +- Prevents disk space issues during long acquisitions +- Maintains full plotting functionality +- File size stays constant after initial buffer fill +- No performance impact on acquisition + ### Viewing an Existing File The plotter can be run as a standalone tool to view any compatible HDF5 file. @@ -109,6 +130,18 @@ Retrieves a specific block of data from the file. Resets the internal counter for `get_next_block()` to the beginning of the file. +## Changelog + +### Version 0.2.0 +- **New Feature**: Added live-only mode with `--max-buff-sec` option for buffer size limiting +- **Enhancement**: Improved plotter to handle buffer resets gracefully +- **Enhancement**: Added total sample count tracking across buffer resets +- **Enhancement**: Skip verification step in live-only mode for better performance +- **Documentation**: Updated README with live-only mode usage examples + +### Version 0.1.0 +- Initial release with core streaming and plotting functionality + ## Acknowledgements This package began as a fork of [JoshHarris2108/pico_streaming](https://github.com/JoshHarris2108/pico_streaming) (which is unlicensed). I acknowledge and appreciate Josh's original idea/architecture. |
