feat: pair controllers and show them in the app
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
This commit is contained in:
@@ -65,6 +65,13 @@ const char *xone_mac_address(const xone_dongle *d);
|
||||
// Empty string if the firmware was not loaded. Valid until xone_close().
|
||||
const char *xone_firmware_build(const xone_dongle *d);
|
||||
|
||||
// Number of connected controllers.
|
||||
int xone_controller_count(xone_dongle const *d);
|
||||
|
||||
// Copy the controller at index into buf as "xx:xx:xx:xx:xx:xx". Returns 0 on
|
||||
// success, -1 if index is out of range.
|
||||
int xone_controller_mac(xone_dongle const *d, int index, char *buf, int len);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user