aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorSam Scholten2025-09-11 17:09:27 +1000
committerSam Scholten2025-09-11 17:16:46 +1000
commit20faf71815922e6e79ef81fbee4e3c28c75fd891 (patch)
tree5c1af585bcd4e7b4b2a3312d1df78ea0e503dcc8 /README.md
parentd5f84dbcc6822382b84e30edcdb3d28ac9326870 (diff)
downloadpicostream-20faf71815922e6e79ef81fbee4e3c28c75fd891.tar.gz
picostream-20faf71815922e6e79ef81fbee4e3c28c75fd891.zip
add live-only mode with configurable buffer size limit
Diffstat (limited to 'README.md')
-rw-r--r--README.md35
1 files changed, 34 insertions, 1 deletions
diff --git a/README.md b/README.md
index 2bcca2e..d21e84b 100644
--- a/README.md
+++ b/README.md
@@ -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.