- AirPlay mirroring receiver ported from UxPlay (src/airplay/, GPL-3.0): mDNS, RTSP, pairing, FairPlay, AES-CTR
- Own Wi-Fi hotspot with a random per-board password in NVS (optional STA mode for testing)
- BLE GATT link (NimBLE-Arduino): commands, status, H.264 video forwarded from a PSRAM GOP buffer
- USB HID unchanged in spirit; adds the consumer Home key
- Host tests (bplist, GOP buffer) and a Mac BLE test harness (tools/)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- a task watchdog restarts the board if its loop stops responding
- retry the server every 200 ms so the board shows up right after it joins Wi-Fi
- when the phone's USB is suspended, try to wake it and otherwise answer 'err phone usb asleep'
- greet the server with the last reset reason and uptime
- README (EN/ZH): protocol hello, automatic calibration, motion switch, XIAO antenna, landscape limitation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The board enumerates as a USB mouse and keyboard on the phone and executes
line commands from the server over Wi-Fi TCP. Buttons are released whenever
the link drops.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>