diff options
author | tcmal <me@aria.rip> | 2024-10-11 23:57:20 +0100 |
---|---|---|
committer | tcmal <me@aria.rip> | 2024-10-12 00:33:15 +0100 |
commit | 84d836a6da185feef27bb44d0814eda0737c7445 (patch) | |
tree | 3108b0267616b3225cbc840587c039c8b68d7bd4 /crates/windlass/examples/usb_test.rs | |
parent | 34572a8f3839e37063641fa693029ad52265730a (diff) |
Diffstat (limited to 'crates/windlass/examples/usb_test.rs')
-rw-r--r-- | crates/windlass/examples/usb_test.rs | 60 |
1 files changed, 0 insertions, 60 deletions
diff --git a/crates/windlass/examples/usb_test.rs b/crates/windlass/examples/usb_test.rs deleted file mode 100644 index 1977258..0000000 --- a/crates/windlass/examples/usb_test.rs +++ /dev/null @@ -1,60 +0,0 @@ -use tokio::time::Duration; -use windlass::{mcu_command, mcu_reply, Connection}; - -mcu_command!(DebugNop, "debug_nop"); -mcu_command!(GetClock, "get_clock"); -mcu_reply!(Clock, "clock", clock: u32); -mcu_command!(GetUptime, "get_uptime"); -mcu_reply!(Uptime, "uptime", high: u32, clock: u32); -mcu_reply!( - AdxlStatus, - "adxl345_status", - oid: u8, - sequence: u16, - data: Vec<u8>, -); -mcu_reply!(Stats, "stats", count: u32, sum: u32, sumsq: u32); - -mcu_command!( - ConfigEndstop, - "config_endstop", - oid: u8, - pin: u8, - pull_up: u8 -); - -#[tokio::main] -async fn main() { - tracing_subscriber::fmt::init(); - - let target = std::env::args().nth(1).expect("Missing path"); - let builder = tokio_serial::new(target, 96_000); - let port = tokio_serial::SerialStream::open(&builder).expect("USB open"); - - let mut mcu = Connection::connect(port).await.expect("MCU connect"); - - let mut resp = mcu.register_response(Stats).expect("Register"); - - let clock = mcu.send_receive(GetClock::encode(), Clock); - let uptime = mcu.send_receive(GetUptime::encode(), Uptime).await; - println!("Uptime: {uptime:?}"); - let clock = clock.await; - println!("Clock: {clock:?}"); - - let timeout = tokio::time::sleep(Duration::from_secs(10)); - tokio::pin!(timeout); - - loop { - tokio::select! { - _ = &mut timeout => break, - s = resp.recv() => { - println!("Stats: {s:?}"); - } - err = mcu.closed() => { - println!("MCU connection lost: {err:?}"); - break; - } - } - } - mcu.close().await; -} |