From 6b15a77cb5f8eefb40f18da945e66e08eca894a7 Mon Sep 17 00:00:00 2001 From: Hubald Verzijl Date: Wed, 6 Aug 2025 18:26:28 +0200 Subject: [PATCH] Created basic sinus output via postcard rpc. --- src/communication.rs | 6 +++--- src/impedance_test.rs | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/communication.rs b/src/communication.rs index 2f3b88a..b33fcf5 100644 --- a/src/communication.rs +++ b/src/communication.rs @@ -163,7 +163,7 @@ static STOP: Mutex = Mutex::new(false); #[embassy_executor::task] pub async fn start_impedance_handler(context: SpawnCtx, header: VarHeader, rqst: StartImpedance, sender: Sender) { - info!("Start impedance measurement with interval {:?} ms.", rqst.interval_ms); + info!("Start impedance measurement with rate {:?} Hz.", rqst.update_frequency); let mut impedance = context.impedance.lock().await; @@ -176,12 +176,12 @@ pub async fn start_impedance_handler(context: SpawnCtx, header: VarHeader, rqst: return; } - let mut ticker = Ticker::every(Duration::from_millis(rqst.interval_ms.into())); + let mut ticker = Ticker::every(Duration::from_hz(rqst.update_frequency.into())); let mut seq: u8 = 0; while !*STOP.lock().await { ticker.next().await; - impedance.update(); + impedance.update(rqst.sinus_frequency); let msg = Impedance { magnitude: impedance.magnitude, diff --git a/src/impedance_test.rs b/src/impedance_test.rs index 3dad3da..8e0d3dc 100644 --- a/src/impedance_test.rs +++ b/src/impedance_test.rs @@ -23,8 +23,8 @@ impl ImpedanceTest { } } - pub fn update(&mut self) { - let frequency = 1.0; // Hz, adjust as needed + pub fn update(&mut self, frequency: f32) { + // let frequency = 1.0; // Hz, adjust as needed let current_time = self.time.elapsed().as_millis() as f32 / 1000.0; // Convert to seconds self.magnitude = cosf(2.0 * PI * frequency * current_time);