// WebUSB configuration channel: a vendor interface present in EVERY mode so the browser config panel can // read/set runtime tunables. Binary framed protocol: // host->dev: 0x01 GET -> reply status blob // 0x02 SET one byte field (see the switch in webusb_config.cpp) // 0x03 switch USB mode (0..6): persist + reboot // 0x0B reboot into serial DFU (adafruit-nrfutil) // 0x0C reboot into UF2 bootloader (USB mass storage) // dev->host: 0xA5 status blob (mode/tunables/link state/rates) // No setLandingPage() on purpose -- it would pop a Chrome "open ?" notification on every plug-in. #pragma once #include extern Adafruit_USBD_WebUSB usb_web; void webusbPoll(); // drain host commands + reply; call every loop()