Inluded frequency selector at start.

This commit is contained in:
2025-08-18 14:50:50 +02:00
parent dba4d652f3
commit 9d6625e8fa
6 changed files with 33 additions and 22 deletions

View File

@@ -13,11 +13,11 @@ use crate::client::WorkbookClient;
use crate::plot::TimeSeriesPlot;
use crate::signals::FrequencySignal;
use crate::signals::SingleFrequencySignal;
pub async fn communicate_with_hardware(
mut run_impedancemeter_rx: Receiver<FrequencySignal>,
run_impedancemeter_tx: Sender<FrequencySignal>,
mut run_impedancemeter_rx: Receiver<SingleFrequencySignal>,
run_impedancemeter_tx: Sender<SingleFrequencySignal>,
magnitude: Arc<Mutex<f32>>,
phase: Arc<Mutex<f32>>,
magnitude_series: Arc<Mutex<TimeSeriesPlot>>,
@@ -37,7 +37,7 @@ pub async fn communicate_with_hardware(
#[derive(Default)]
struct Settings {
frequency: Option<FrequencySignal>,
frequency: Option<SingleFrequencySignal>,
}
let mut settings = Settings::default();
@@ -90,19 +90,19 @@ pub async fn communicate_with_hardware(
select! {
Some(frequency) = run_impedancemeter_rx.recv() => {
match frequency {
FrequencySignal::Start(freq) => {
SingleFrequencySignal::Start(freq) => {
if let Err(e) = workbook_client.start_impedancemeter(freq).await {
error!("Failed to start impedancemeter: {:?}", e);
} else {
settings.frequency = Some(FrequencySignal::Start(freq));
settings.frequency = Some(SingleFrequencySignal::Start(freq));
info!("Impedancemeter started at frequency: {}", freq);
}
},
FrequencySignal::Stop => {
SingleFrequencySignal::Stop => {
if let Err(e) = workbook_client.stop_impedancemeter().await {
error!("Failed to stop impedancemeter: {:?}", e);
} else {
settings.frequency = Some(FrequencySignal::Stop);
settings.frequency = Some(SingleFrequencySignal::Stop);
info!("Impedancemeter stopped.");
}
},