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:
+3
-1
@@ -6,7 +6,7 @@ if(NOT CMAKE_GENERATOR MATCHES "^(Ninja|Xcode)$")
|
||||
endif()
|
||||
|
||||
cmake_minimum_required(VERSION 3.21)
|
||||
project(xone_macos VERSION 0.1.9 LANGUAGES CXX Swift)
|
||||
project(xone_macos VERSION 0.1.10 LANGUAGES CXX Swift)
|
||||
|
||||
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
||||
|
||||
@@ -96,6 +96,7 @@ add_executable(xone_app
|
||||
)
|
||||
target_include_directories(xone_app PRIVATE "${CMAKE_SOURCE_DIR}/include")
|
||||
target_compile_definitions(xone_app PRIVATE ${BASE_DEFINITIONS})
|
||||
target_compile_features(xone_app PRIVATE cxx_std_23)
|
||||
target_link_libraries(xone_app PRIVATE xone_api ${BASE_LIBRARIES})
|
||||
|
||||
# Swift sees the C ABI via a bridging header (no module map required)
|
||||
@@ -111,6 +112,7 @@ add_executable(xone_cli
|
||||
)
|
||||
target_include_directories(xone_cli PRIVATE "${CMAKE_SOURCE_DIR}/include")
|
||||
target_compile_definitions(xone_cli PRIVATE ${BASE_DEFINITIONS})
|
||||
target_compile_features(xone_cli PRIVATE cxx_std_23)
|
||||
target_link_libraries(xone_cli PRIVATE xone_mt76)
|
||||
|
||||
# ==============================================================================
|
||||
|
||||
Reference in New Issue
Block a user