FFT output to ZMQ socket proof of concept #1199
Draft
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
When the waterfall is updated with a new fft line, the fft output for that line is copied to a ZMQ ipc socket /tmp/gqrx_zmq_fft.sock. Each message has 2 parts. The first is JSON formatted metadata, containing timestamp, frequency, rate and fftsize.
Sample programs to use this data are included in the scripts directory. There is a recorder program that creates meta and data files in /tmp, and a numpy-based plotter program (a certain, constant fftsize is assumed).
ZMQ development files are required, CMake files now look for ZMQ.
For C++ JSON, nlohmann/json (single file) has been copied in.
This branch is based on another branch currently, to make development easier. It can be rebased elsewhere when needed.