Bootstrap OpenBitdo clean-room SDK and reliability milestone

This commit is contained in:
2026-02-27 20:43:34 -05:00
commit d5afadf560
46 changed files with 3652 additions and 0 deletions

View File

@@ -0,0 +1,34 @@
use bitdo_proto::{
DeviceSession, MockTransport, RetryPolicy, SessionConfig, TimeoutProfile, VidPid,
};
#[test]
fn set_mode_reads_back_latest_mode() {
let mut transport = MockTransport::default();
transport.push_read_data(vec![0x02, 0x01, 0x00, 0x00]);
let mut mode = vec![0u8; 64];
mode[0] = 0x02;
mode[1] = 0x05;
mode[5] = 3;
transport.push_read_data(mode);
let config = SessionConfig {
retry_policy: RetryPolicy {
max_attempts: 2,
backoff_ms: 0,
},
timeout_profile: TimeoutProfile {
probe_ms: 10,
io_ms: 10,
firmware_ms: 10,
},
..SessionConfig::default()
};
let mut session =
DeviceSession::new(transport, VidPid::new(0x2dc8, 24585), config).expect("session init");
let mode_state = session.set_mode(3).expect("set mode");
assert_eq!(mode_state.mode, 3);
}