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
+2
-4
@@ -12,10 +12,8 @@ import sys
|
||||
import time
|
||||
from cobs import cobs
|
||||
|
||||
# TODO: switch to custom VID:PID 1209:5741 (open-source VID, "WA" PID)
|
||||
# once USB OTG CDC-ACM is implemented. For now, ESP32-S3's built-in
|
||||
# USB-Serial-JTAG always presents as the Espressif VID:PID.
|
||||
USB_VID_PID = "303a:1001"
|
||||
# Open-source VID 1209, PID "WA" (0x5741)
|
||||
USB_VID_PID = "1209:5741"
|
||||
|
||||
|
||||
def find_serial_port() -> str | None:
|
||||
|
||||
Reference in new issue
Block a user