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,30 @@
use bitdo_proto::{DeviceSession, MockTransport, SessionConfig, VidPid};
#[test]
fn firmware_transfer_chunks_and_commit() {
let mut transport = MockTransport::default();
for _ in 0..4 {
transport.push_read_data(vec![0x02, 0x10, 0x00, 0x00]);
}
let mut session = DeviceSession::new(
transport,
VidPid::new(0x2dc8, 24585),
SessionConfig {
allow_unsafe: true,
brick_risk_ack: true,
experimental: true,
..SessionConfig::default()
},
)
.expect("session init");
let image = vec![0xAB; 120];
let report = session
.firmware_transfer(&image, 50, false)
.expect("fw transfer");
assert_eq!(report.chunks_sent, 3);
let transport = session.into_transport();
assert_eq!(transport.writes().len(), 4);
}