v0.8.0 — Listen / decode from a saved IQ capture
Phase B part 2 of "close the loop". Saved IQ captures become usable, not just viewable.
Listen to a capture
- A Listen button on IQ capture rows demodulates the recorded .iq to audio and streams it (real time) over the existing AudioWorklet path.
- A demod selector and an offset slider (+/- half the sample rate) tune to any signal within the captured band; retuning is live and does not drop audio.
- DSP: mix the offset to baseband, resample to the demod rate, reuse the proven radio demod chain. Clock-based pacing keeps it real time.
Decode a capture
- A Decode button runs rtl_433 over the saved capture: resample to 1 MSps, convert cs8 to cu8 (rtl_433 reads cu8/cs16/cf32, not cs8), then rtl_433 -r; events stream into the existing Decode panel.
- Chunked conversion bounds memory; the temp file is cleaned up.
- Note: the decode pipeline is verified end-to-end mechanically, but a live ISM decode was not demonstrated during testing (nothing transmitting at 433/915). To try it: capture a few seconds while a known 433 MHz device transmits, then Decode.
Both are device-free, mutually-exclusive jobs. New test suites test_iq_playback and test_decode_file (13 suites total). Everything from v0.7.0 carries forward.