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
This commit is contained in:
@@ -47,11 +47,13 @@ and exposes connected controllers as HID gamepads.
|
|||||||
hardware: live controller input is shown in the app (RX data path).
|
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
|
- C API + Swift app: async session (fast probe; firmware + radio on a worker
|
||||||
thread), state display (idle/starting/ready/error), controller list with
|
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,
|
Host to controller TX over the data path (rumble) is implemented; the dongle
|
||||||
LED). Then Phase 4 (HID) and Phase 5 (app polish); exposing the controller
|
LED is driven at chip level for pairing and client lifecycle. Phase 3 is
|
||||||
as a macOS HID gamepad is the main user-visible gap.
|
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
|
## Directory Layout
|
||||||
|
|
||||||
|
|||||||
@@ -91,7 +91,8 @@ Strike through or check off as each is resolved.
|
|||||||
encryption-enable management frames verified against hardware.
|
encryption-enable management frames verified against hardware.
|
||||||
- [ ] **QoS data frames**: RX path verified: controller input QoS frames are
|
- [ ] **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
|
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
|
### 5. AES-CCMP Encryption
|
||||||
|
|
||||||
@@ -191,9 +192,9 @@ Working end-to-end on hardware:
|
|||||||
- EFUSE read, radio init, channel evaluation, beacon TX
|
- EFUSE read, radio init, channel evaluation, beacon TX
|
||||||
- Pairing mode, controller association, GIP handshake + auth
|
- Pairing mode, controller association, GIP handshake + auth
|
||||||
- Live controller input (buttons, sticks, triggers) in the Swift app
|
- 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),
|
Not done yet: virtual HID gamepad (Phase 4), headset audio (Phase 5).
|
||||||
virtual HID gamepad (Phase 4), headset audio (Phase 5).
|
|
||||||
|
|
||||||
`xone_cli` exercises the stack manually in a single dongle session:
|
`xone_cli` exercises the stack manually in a single dongle session:
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user