[feat](trx-rs): expose WFM stereo denoise toggle in UI

Wire the StereoDenoise processor through the full stack:
- Add SetWfmDenoise command variant and RigCat trait method (trx-core)
- Add wfm_denoise field to RigFilterState with default true
- Add protocol command and bidirectional mapping (trx-protocol)
- Add rig_task command handler (trx-server)
- Implement set_wfm_denoise in SoapySdrRig backend
- Add /set_wfm_denoise API endpoint (trx-frontend-http)
- Add denoise checkbox in WFM controls with SSE sync and
  localStorage persistence

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Stan Grams <sjg@haxx.space>
This commit is contained in:
2026-03-01 13:29:02 +01:00
parent 46bc96ddf2
commit 64bb9a0d42
12 changed files with 83 additions and 0 deletions
+2
View File
@@ -301,6 +301,7 @@ mod tests {
wfm_deemphasis_us: 75,
wfm_stereo: true,
wfm_stereo_detected: false,
wfm_denoise: true,
}),
..minimal_snapshot()
})
@@ -340,6 +341,7 @@ mod tests {
wfm_deemphasis_us: 50,
wfm_stereo: true,
wfm_stereo_detected: true,
wfm_denoise: true,
}),
..minimal_snapshot()
};
+2
View File
@@ -53,6 +53,7 @@ pub fn client_command_to_rig(cmd: ClientCommand) -> RigCommand {
RigCommand::SetWfmDeemphasis(deemphasis_us)
}
ClientCommand::SetWfmStereo { enabled } => RigCommand::SetWfmStereo(enabled),
ClientCommand::SetWfmDenoise { enabled } => RigCommand::SetWfmDenoise(enabled),
ClientCommand::GetSpectrum => RigCommand::GetSpectrum,
}
}
@@ -99,6 +100,7 @@ pub fn rig_command_to_client(cmd: RigCommand) -> ClientCommand {
ClientCommand::SetWfmDeemphasis { deemphasis_us }
}
RigCommand::SetWfmStereo(enabled) => ClientCommand::SetWfmStereo { enabled },
RigCommand::SetWfmDenoise(enabled) => ClientCommand::SetWfmDenoise { enabled },
RigCommand::GetSpectrum => ClientCommand::GetSpectrum,
}
}
+1
View File
@@ -41,6 +41,7 @@ pub enum ClientCommand {
SetSdrGain { gain_db: f64 },
SetWfmDeemphasis { deemphasis_us: u32 },
SetWfmStereo { enabled: bool },
SetWfmDenoise { enabled: bool },
GetSpectrum,
}