[feat](trx-rs): add VDES hard-decision FEC stage

Improve the VDES decoder with sync/rotation metadata and a first hard-decision rate-1/2 Viterbi stage after deinterleaving, then surface the extra lock state in the VDES frontend. Also fix the strict clippy findings in AIS, frontend bookmarks, and the server audio stack signature.

Co-authored-by: OpenAI Codex <codex@openai.com>
Signed-off-by: Stanislaw Grams <stanislawgrams@gmail.com>
This commit is contained in:
2026-03-03 00:39:41 +01:00
parent 6e558303a7
commit 5e84fe2a82
6 changed files with 271 additions and 52 deletions
+3 -6
View File
@@ -432,12 +432,9 @@ fn spawn_rig_audio_stack(
latitude: Option<f64>,
longitude: Option<f64>,
listen_override: Option<IpAddr>,
sdr_pcm_rx: Option<broadcast::Receiver<Vec<f32>>>,
sdr_ais_pcm_rx: Option<(
broadcast::Receiver<Vec<f32>>,
broadcast::Receiver<Vec<f32>>,
)>,
sdr_vdes_iq_rx: Option<broadcast::Receiver<Vec<num_complex::Complex<f32>>>>,
sdr_pcm_rx: OptionalSdrPcmRx,
sdr_ais_pcm_rx: OptionalSdrAisPcmRx,
sdr_vdes_iq_rx: OptionalSdrVdesIqRx,
) -> Vec<JoinHandle<()>> {
let mut handles: Vec<JoinHandle<()>> = Vec::new();