feat: USB OTG CDC-ACM with custom VID:PID, disconnect UX
Switch all ESP32-S3 boards from UsbSerialJtag to USB OTG CDC-ACM via embassy-usb. The USB device stack is now shared code — boards only provide the platform-specific embassy-usb Driver. - Custom VID:PID 1209:5741 (open-source VID, "WA" PID) - CDC-ACM class with proper device enumeration - COBS+postcard protocol over CDC-ACM packet read/write - Concurrent USB device loop + protocol loop via join() - On disconnect: sends DisplayCommand::Reset to show "Waiting for host..." - Justfile: espflash no longer uses --monitor (OTG steals PHY) - Test script updated to detect by new VID:PID Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
9 files changed
+113
-46
No files matched your search
@@ -120,6 +120,13 @@ pub async fn display_task(
|
||||
state.display_on = true;
|
||||
render_and_flush(&mut display, &state).await;
|
||||
}
|
||||
DisplayCommand::Reset => {
|
||||
state.last_status = RadioStatus::default();
|
||||
state.rssi_history = [NO_SIGNAL; RSSI_HISTORY_LEN];
|
||||
state.rssi_count = 0;
|
||||
state.current_slot_rssi = NO_SIGNAL;
|
||||
render_and_flush(&mut display, &state).await;
|
||||
}
|
||||
},
|
||||
Either3::Third(()) => {
|
||||
// Timer tick: advance sparkline slot
|
||||
|
||||
Reference in new issue
Block a user