From 73c026218d136358cf473e362678ba0d9c00aa23 Mon Sep 17 00:00:00 2001 From: portersky Date: Sat, 29 Aug 2026 15:22:16 +0200 Subject: [PATCH] docs: mark rumble TX verified on hardware Rumble works from the Rumble button in the app; Phase 3 is complete. Next up is Phase 4 (virtual HID gamepad). Co-Authored-By: qwen3.8-27b@q3_k_xl: marked rumble verified --- PLAN.md | 12 ++++++------ README.md | 6 +++--- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/PLAN.md b/PLAN.md index c66aab4..9cec7d4 100644 --- a/PLAN.md +++ b/PLAN.md @@ -44,16 +44,16 @@ and exposes connected controllers as HID gamepads. - Phase 3 (MT76 chip): register/EFUSE access, firmware load, radio init (registers, crystal, MAC/BSSID, channel eval, beacon), pairing mode, controller association, GIP handshake + auth. Verified end-to-end on - hardware: live controller input is shown in the app (RX data path). + hardware: live controller input is shown in the app (RX data path) and + rumble TX works from the app's Rumble button. - C API + Swift app: async session (fast probe; firmware + radio on a worker thread), state display (idle/starting/ready/error), controller list with live input monitor, battery level, and a rumble test button. -Host to controller TX over the data path (rumble) is implemented; the dongle -LED is driven at chip level for pairing and client lifecycle. Phase 3 is -complete pending hardware confirmation of rumble. Next: Phase 4 (HID) and -Phase 5 (app polish); exposing the controller as a macOS HID gamepad is the -main user-visible gap. +The dongle LED is driven at chip level for pairing and client lifecycle. +Phase 3 is complete. Next: Phase 4 (virtual HID gamepad) and Phase 5 (app +polish); exposing the controller as a macOS HID gamepad is the main +user-visible gap. ## Directory Layout diff --git a/README.md b/README.md index 5845563..6d9a295 100644 --- a/README.md +++ b/README.md @@ -89,10 +89,10 @@ Strike through or check off as each is resolved. - [x] **Frame encapsulation**: Resolved: TX/RX chip headers handled per the Linux driver (`send_wlan` / `process_wlan`). Association, pairing, and encryption-enable management frames verified against hardware. -- [ ] **QoS data frames**: RX path verified: controller input QoS frames are +- [x] **QoS data frames**: RX path verified: controller input QoS frames are decrypted, fed to the GIP layer, and shown live in the app. Host to - controller TX (rumble) is implemented via the app's Rumble button, - pending hardware verification. + controller TX (rumble) verified on hardware via the app's Rumble + button. ### 5. AES-CCMP Encryption