fix: BatteryStatus-Mapping empirisch korrigiert

Byte-Zuordnung am echten HS80 verifiziert (Kabel ein/aus):
  0x01 = Charging, 0x02 = Discharging, 0x03 = Low, 0x04 = Full
Weicht vom ckb-next-Mapping ab. Verbose-Flag zeigt jetzt auch
Property-Queries für weitere Diagnose.
This commit is contained in:
2026-03-27 22:16:50 +01:00
parent 812d14b81a
commit 488c4c2631
4 changed files with 34 additions and 23 deletions
+9 -11
View File
@@ -4,25 +4,23 @@
use corsairctl::bragi::properties::{battery_promille_to_percent, BatteryStatus, Property};
#[test]
fn battery_status_from_byte_discharging() {
assert_eq!(BatteryStatus::from_byte(0x01), BatteryStatus::Discharging);
fn battery_status_from_byte_charging() {
assert_eq!(BatteryStatus::from_byte(0x01), BatteryStatus::Charging);
}
#[test]
fn battery_status_from_byte_charging_both_values() {
// Sowohl 0x03 als auch 0x04 bedeuten "Charging"
assert_eq!(BatteryStatus::from_byte(0x03), BatteryStatus::Charging);
assert_eq!(BatteryStatus::from_byte(0x04), BatteryStatus::Charging);
fn battery_status_from_byte_discharging() {
assert_eq!(BatteryStatus::from_byte(0x02), BatteryStatus::Discharging);
}
#[test]
fn battery_status_from_byte_all_known_values() {
// Empirisch ermittelt am HS80 RGB Wireless
assert_eq!(BatteryStatus::from_byte(0x00), BatteryStatus::Offline);
assert_eq!(BatteryStatus::from_byte(0x01), BatteryStatus::Discharging);
assert_eq!(BatteryStatus::from_byte(0x02), BatteryStatus::Low);
assert_eq!(BatteryStatus::from_byte(0x03), BatteryStatus::Charging);
assert_eq!(BatteryStatus::from_byte(0x04), BatteryStatus::Charging);
assert_eq!(BatteryStatus::from_byte(0x05), BatteryStatus::FullyCharged);
assert_eq!(BatteryStatus::from_byte(0x01), BatteryStatus::Charging);
assert_eq!(BatteryStatus::from_byte(0x02), BatteryStatus::Discharging);
assert_eq!(BatteryStatus::from_byte(0x03), BatteryStatus::Low);
assert_eq!(BatteryStatus::from_byte(0x04), BatteryStatus::FullyCharged);
}
#[test]