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
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
Replace em dashes with colons throughout, wrap prose and list lines at
80 columns (Goal, Phase 4 options, Known Challenges), refresh the
current status section now that pairing and the RX data path are done,
and add src/cli to the directory layout. Table alignment was also
normalized as a side effect of the file rewrite.
Co-Authored-By: qwen3.8-27b@q3_k_xl: reformatted PLAN.md per style guide
Use the common xow_dongle.bin image from the upstream driver for the
GUI session instead of selecting the older 02E6-specific image. Update
the firmware download script and plan to document the same upstream flow.
Keep the extended RX diagnostics used to inspect controller discovery.
Co-Authored-By: openai/gpt-5.6-luna: traced firmware and pairing behavior
Port the MT76 client functions (send_wlan, associate_client,
pair_client, set_client_key, remove_client) and wire the RX dispatch
into the session: EP IN frames are parsed, ASSOC_REQ associates a
controller (WCID plus chip programming), PAIR_REQ replies with
PAIR_RESP, and DISASSOC or client-lost removes it. The C API exposes
connected controllers and the app lists them by MAC. Bumps
xone_cli/xone_app to C++23: they were falling back to the default
standard once mt76.hpp started using std::span. Adds a unit test pinning
the WCID regions, the 32-byte rxwi, and the new frame control values.
Co-Authored-By: qwen3.8-27b@q2_k_xl: client functions, RX dispatch, GUI list
Adapt the refix AGENTS.md to this project: build commands, module
layout, C++/Swift/C-bridge style rules, and commit guidelines. C++
headers use .hpp and C headers use .h; the PLAN.md port table is
updated to match.
Co-Authored-By: qwen (qwen/qwen3.8-27b@q2_k_xl): wrote coding conventions