feat: pairing mode and RX frame logging

The dongle beacon carries a pairing flag in the Microsoft OUI IE; with
it clear, controllers ignore the beacon. Port xone_dongle_toggle_pairing:
xone_set_pairing() rewrites the beacon with the flag set and blinks the
LED, the GUI button triggers it, EVT_BUTTON (dongle button) does too, and
the LED follows upstream state (blink while pairing, on when a controller
is connected, off otherwise). The CLI gains a pair command.
Log every inbound frame (info word + first 16 bytes) so the RX path can
be traced against hardware.

Co-Authored-By: qwen3.8-27b@q2_k_xl: pairing mode and RX logging
This commit is contained in:
portersky
2026-08-17 20:53:40 +02:00
parent dae51f085b
commit 5fd1b3a11f
5 changed files with 78 additions and 11 deletions
+4 -2
View File
@@ -58,9 +58,11 @@ struct ContentView: View {
HStack {
Button("Pair Controller") {
// TODO(phase 5): pairing UI (LED blink + controller press)
if let s = session {
xone_set_pairing(s, true)
}
}
.disabled(!donglePresent)
.disabled(radioState != XONE_STATE_READY)
Spacer()