diff --git a/README.md b/README.md index b3aac1d..b0b7a4f 100644 --- a/README.md +++ b/README.md @@ -68,6 +68,8 @@ Edit `config.yaml`: - `iq_balance`: enable basic IQ imbalance correction - `detector.threshold_db`: power threshold in dB - `detector.min_duration_ms`, `detector.hold_ms`: debounce/merge +- `recorder.*`: enable IQ/audio recording, preroll, output_dir +- `decoder.*`: external decode commands (use `{iq}` and `{sr}` placeholders) ## Web UI The UI is served from `web/` and connects to `/ws` for spectrum frames. @@ -105,3 +107,6 @@ go test ./... - If you see `sdrplay support not built`, rebuild with `-tags sdrplay`. - If the SDRplay library is not found, ensure `CGO_CFLAGS` and `CGO_LDFLAGS` point to the API headers and library. - Use `--mock` to run without hardware. +lay`. +- If the SDRplay library is not found, ensure `CGO_CFLAGS` and `CGO_LDFLAGS` point to the API headers and library. +- Use `--mock` to run without hardware. diff --git a/config.yaml b/config.yaml index 5b1b982..8b27392 100644 --- a/config.yaml +++ b/config.yaml @@ -15,6 +15,26 @@ detector: threshold_db: -20 min_duration_ms: 250 hold_ms: 500 +recorder: + enabled: true + min_snr_db: 10 + min_duration: 1s + max_duration: 300s + preroll_ms: 500 + record_iq: true + record_audio: true + auto_demod: true + auto_decode: false + output_dir: "data/recordings" + class_filter: [] + ring_seconds: 8 +decoder: + ft8_cmd: "tools/ft8/ft8_decoder --iq {iq} --sample-rate {sr}" + wspr_cmd: "tools/wspr/wspr_decoder --iq {iq} --sample-rate {sr}" + dmr_cmd: "tools/dmr/dmr_decoder --iq {iq} --sample-rate {sr}" + dstar_cmd: "tools/dstar/dstar_decoder --iq {iq} --sample-rate {sr}" + fsk_cmd: "tools/fsk/fsk_decoder --iq {iq} --sample-rate {sr}" + psk_cmd: "tools/psk/psk_decoder --iq {iq} --sample-rate {sr}" web_addr: ":8080" event_path: "data/events.jsonl" frame_rate: 15