From 97ef1d40ad3ed26fc0eaae7626c1545d146f5d65 Mon Sep 17 00:00:00 2001 From: Lennard Kittner Date: Wed, 17 Sep 2025 12:23:10 +0200 Subject: [PATCH] Add some debug stuff --- src/bin/hyper_headset_cli.rs | 8 ++++++++ src/devices/cloud_ii_wireless.rs | 21 +++++++++++++++------ src/devices/mod.rs | 5 ++++- 3 files changed, 27 insertions(+), 7 deletions(-) diff --git a/src/bin/hyper_headset_cli.rs b/src/bin/hyper_headset_cli.rs index 5699b72..831b1e8 100644 --- a/src/bin/hyper_headset_cli.rs +++ b/src/bin/hyper_headset_cli.rs @@ -62,6 +62,13 @@ fn main() { } }; + println!("State before doing anything"); + if let Err(error) = device.active_refresh_state() { + eprintln!("{error}"); + std::process::exit(1); + }; + println!("{}", device.get_device_state()); + if let Some(delay) = matches.get_one::("automatic_shutdown") { let delay = *delay as u64; if let Some(packet) = @@ -127,6 +134,7 @@ fn main() { std::thread::sleep(Duration::from_secs_f64(0.5)); + println!("State after potentially setting some stuff"); if let Err(error) = device.active_refresh_state() { eprintln!("{error}"); std::process::exit(1); diff --git a/src/devices/cloud_ii_wireless.rs b/src/devices/cloud_ii_wireless.rs index 284fa4e..ed29feb 100644 --- a/src/devices/cloud_ii_wireless.rs +++ b/src/devices/cloud_ii_wireless.rs @@ -155,20 +155,28 @@ impl Device for CloudIIWireless { } println!("Received packet: {:?}", response); match (response[3], response[7], response[12], response[14]) { - (GET_BATTERY_CMD_ID, level, _, _) => Some(vec![DeviceEvent::BatterLevel(level)]), + (GET_BATTERY_CMD_ID, level, _, _) => { + println!("Battery Level {level}"); + Some(vec![DeviceEvent::BatterLevel(level)]) + } (GET_CHARGING_CMD_ID, status, _, _) => { + println!("Charging {status} {:?}", ChargingStatus::from(status)); Some(vec![DeviceEvent::Charging(ChargingStatus::from(status))]) } (GET_AUTO_SHUTDOWN_CMD_ID, shutdown, _, _) => { + println!("Shutdown time {shutdown}"); Some(vec![DeviceEvent::AutomaticShutdownAfter( Duration::from_secs(shutdown as u64 * 60), )]) } - (GET_MUTE_CMD_ID, _, surround, other) => Some(vec![ - DeviceEvent::SideToneOn((other & 16) != 0), - DeviceEvent::Muted((other & 2) != 0), - DeviceEvent::SurroundSound((surround & 2) != 0), - ]), + (GET_MUTE_CMD_ID, _, surround, other) => { + println!("More info {} {}", surround, other); + Some(vec![ + DeviceEvent::SideToneOn((other & 16) != 0), + DeviceEvent::Muted((other & 2) != 0), + DeviceEvent::SurroundSound((surround & 2) != 0), + ]) + } _ => { println!("Unknown device event: {:?}", response); None @@ -185,6 +193,7 @@ impl Device for CloudIIWireless { } fn prepare_write(&mut self) { + println!("Setting input report"); let mut input_report_buffer = [0u8; 64]; input_report_buffer[0] = 6; self.state diff --git a/src/devices/mod.rs b/src/devices/mod.rs index c12514e..ecd9576 100644 --- a/src/devices/mod.rs +++ b/src/devices/mod.rs @@ -341,7 +341,7 @@ pub trait Device { return None; } - self.get_event_from_device_response(&buf[0..res]) + self.get_event_from_device_response(&buf) } /// Refreshes the state by querying all available information @@ -364,6 +364,7 @@ pub trait Device { let mut responded = false; for packet in packets.into_iter().flatten() { self.prepare_write(); + println!("writing Packet {packet:?}"); self.get_device_state().hid_device.write(&packet)?; if let Some(events) = self.wait_for_updates(Duration::from_secs(1)) { for event in events { @@ -374,6 +375,8 @@ pub trait Device { if !self.get_device_state().connected.map_or(true, |c| c) { break; } + std::thread::sleep(Duration::from_secs_f64(2.)); + println!("waiting 2s before sending the next packet ..."); } if responded {