diff --git a/src/trx-server/src/audio.rs b/src/trx-server/src/audio.rs index 40520be..e375c5b 100644 --- a/src/trx-server/src/audio.rs +++ b/src/trx-server/src/audio.rs @@ -282,6 +282,10 @@ impl DecoderHistories { h.iter().map(|(_, evt)| evt.clone()).collect() } + pub fn clear_cw_history(&self) { + self.cw.lock().expect("cw history mutex poisoned").clear(); + } + // --- FT8 --- fn prune_ft8(history: &mut VecDeque<(Instant, Ft8Message)>) { diff --git a/src/trx-server/src/rig_task.rs b/src/trx-server/src/rig_task.rs index 8078713..0324b71 100644 --- a/src/trx-server/src/rig_task.rs +++ b/src/trx-server/src/rig_task.rs @@ -437,6 +437,7 @@ async fn process_command( return snapshot_from(ctx.state); } RigCommand::ResetCwDecoder => { + ctx.histories.clear_cw_history(); ctx.state.cw_decode_reset_seq += 1; let _ = ctx.state_tx.send(ctx.state.clone()); return snapshot_from(ctx.state);