From be625dc771273289d2d9681c02e8e767c3ffbc2f Mon Sep 17 00:00:00 2001 From: jamie Date: Sun, 16 Aug 2026 21:20:57 +0100 Subject: chore: init --- src/protocol.rs | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 src/protocol.rs (limited to 'src/protocol.rs') diff --git a/src/protocol.rs b/src/protocol.rs new file mode 100644 index 0000000..5402e16 --- /dev/null +++ b/src/protocol.rs @@ -0,0 +1,23 @@ +//! Status protocol for the MMX 150 wireless dongle (reverse-engineered). +//! +//! Placeholder: the dongle rejects `GET_FEATURE`/`GET_INPUT` control +//! transfers, so the status query is a write-then-read exchange over the +//! vendor output/feature reports. The exact command bytes and the response +//! layout for battery level and headset link state are being determined in +//! Phase 1 (see `src/bin/probe.rs`). + +/// Vendor output report IDs available on the dongle. +pub mod reports { + /// 60-byte output/feature report. + pub const OUT_60_A: u8 = 0x2a; + /// 60-byte feature report. + pub const FEAT_60_B: u8 = 0x2b; + /// 60-byte output/feature report. + pub const OUT_60_C: u8 = 0x3a; + /// 60-byte feature report. + pub const FEAT_60_D: u8 = 0x3b; + /// 16-byte output report. + pub const OUT_16_A: u8 = 0x2d; + /// 16-byte output report. + pub const OUT_16_B: u8 = 0x3d; +} -- cgit v1.3.1