From 2d8c6d23fde5bdb23801508de25f16abec01db38 Mon Sep 17 00:00:00 2001 From: Hubald Verzijl Date: Wed, 6 Aug 2025 15:45:06 +0200 Subject: [PATCH] Included impedance topic. --- src/client.rs | 13 ++++++------- src/main.rs | 39 +++++++++++---------------------------- 2 files changed, 17 insertions(+), 35 deletions(-) diff --git a/src/client.rs b/src/client.rs index 8ee1757..b614775 100644 --- a/src/client.rs +++ b/src/client.rs @@ -5,8 +5,8 @@ use postcard_rpc::{ }; use std::convert::Infallible; use bioz_icd_rs::{ - AccelRange, PingEndpoint, GetUniqueIdEndpoint, SetGreenLedEndpoint, StartAccel, StartAccelerationEndpoint, - StopAccelerationEndpoint, + PingEndpoint, GetUniqueIdEndpoint, SetGreenLedEndpoint, StartImpedance, StartImpedanceEndpoint, + StopImpedanceEndpoint, }; #[derive(Debug)] @@ -80,22 +80,21 @@ impl WorkbookClient { Ok(()) } - pub async fn start_accelerometer( + pub async fn start_impedancemeter( &self, interval_ms: u32, - range: AccelRange, ) -> Result<(), WorkbookError> { self.client - .send_resp::(&StartAccel { interval_ms, range }) + .send_resp::(&StartImpedance { interval_ms }) .await?; Ok(()) } - pub async fn stop_accelerometer(&self) -> Result> { + pub async fn stop_impedancemeter(&self) -> Result> { let res = self .client - .send_resp::(&()) + .send_resp::(&()) .await?; Ok(res) diff --git a/src/main.rs b/src/main.rs index 722451a..551ee5a 100644 --- a/src/main.rs +++ b/src/main.rs @@ -57,7 +57,7 @@ async fn main() { client.set_green_led(freq).await.unwrap(); } - ["accel", "listen", ms, range, dur] => { + ["imp", "listen", ms, dur] => { let Ok(ms) = ms.parse::() else { println!("Bad ms: {ms}"); continue; @@ -66,23 +66,13 @@ async fn main() { println!("Bad dur: {dur}"); continue; }; - let range = match *range { - "2" => icd::AccelRange::G2, - "4" => icd::AccelRange::G4, - "8" => icd::AccelRange::G8, - "16" => icd::AccelRange::G16, - _ => { - println!("Bad range: {range}"); - continue; - } - }; let mut sub = client .client - .subscribe_multi::(8) + .subscribe_multi::(8) .await .unwrap(); - client.start_accelerometer(ms, range).await.unwrap(); + client.start_impedancemeter(ms).await.unwrap(); println!("Started!"); let dur = Duration::from_millis(dur.into()); let start = Instant::now(); @@ -90,30 +80,23 @@ async fn main() { let val = sub.recv().await.unwrap(); println!("acc: {val:?}"); } - client.stop_accelerometer().await.unwrap(); + client.stop_impedancemeter().await.unwrap(); println!("Stopped!"); } - ["accel", "start", ms, range] => { + ["imp", "start", ms] => { let Ok(ms) = ms.parse::() else { println!("Bad ms: {ms}"); continue; }; - let range = match *range { - "2" => icd::AccelRange::G2, - "4" => icd::AccelRange::G4, - "8" => icd::AccelRange::G8, - "16" => icd::AccelRange::G16, - _ => { - println!("Bad range: {range}"); - continue; - } + + match client.start_impedancemeter(ms).await { + Ok(_) => println!("Started!"), + Err(e) => println!("Error starting impedancemeter: {:?}", e), }; - client.start_accelerometer(ms, range).await.unwrap(); - println!("Started!"); } - ["accel", "stop"] => { - let res = client.stop_accelerometer().await.unwrap(); + ["imp", "stop"] => { + let res = client.stop_impedancemeter().await.unwrap(); println!("Stopped: {res}"); } ["schema"] => {