From 490b8af585820e68a9cdf5f2aae4ff1576a2e6e4 Mon Sep 17 00:00:00 2001 From: portersky Date: Sat, 29 Aug 2026 15:19:45 +0200 Subject: [PATCH] docs: mark rumble TX as implemented Update PLAN.md and README.md current status: host to controller TX (rumble) is implemented and pending hardware confirmation; the dongle LED is driven at chip level, so no data path LED work remains. Co-Authored-By: qwen3.8-27b@q3_k_xl: updated status docs --- PLAN.md | 10 ++++++---- README.md | 7 ++++--- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/PLAN.md b/PLAN.md index a44fb78..c66aab4 100644 --- a/PLAN.md +++ b/PLAN.md @@ -47,11 +47,13 @@ and exposes connected controllers as HID gamepads. hardware: live controller input is shown in the app (RX data path). - 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. + live input monitor, battery level, and a rumble test button. -Remaining for Phase 3: host to controller TX over the data path (rumble, -LED). Then Phase 4 (HID) and Phase 5 (app polish); exposing the controller -as a macOS HID gamepad is the main user-visible gap. +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. ## Directory Layout diff --git a/README.md b/README.md index 9ebe5ba..5845563 100644 --- a/README.md +++ b/README.md @@ -91,7 +91,8 @@ Strike through or check off as each is resolved. encryption-enable management frames verified against hardware. - [ ] **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, LED over the data path) is not implemented yet. + controller TX (rumble) is implemented via the app's Rumble button, + pending hardware verification. ### 5. AES-CCMP Encryption @@ -191,9 +192,9 @@ Working end-to-end on hardware: - EFUSE read, radio init, channel evaluation, beacon TX - Pairing mode, controller association, GIP handshake + auth - Live controller input (buttons, sticks, triggers) in the Swift app +- Rumble test button (host to controller TX over the GIP data path) -Not done yet: host to controller TX over the data path (rumble, LED), -virtual HID gamepad (Phase 4), headset audio (Phase 5). +Not done yet: virtual HID gamepad (Phase 4), headset audio (Phase 5). `xone_cli` exercises the stack manually in a single dongle session: