Add ANT Neuro EDX support and propagate new board IDs across bindings#803
Add ANT Neuro EDX support and propagate new board IDs across bindings#803Andrey1994 wants to merge 5 commits intomasterfrom
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 37a64fe042
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| {"resistance_channels", {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24}}, | ||
| {"ref_resistance_channels", {29}}, | ||
| {"gnd_resistance_channels", {30}}, |
There was a problem hiding this comment.
Preserve EE-511 ref/gnd impedance channels
Board 51’s descriptor now limits resistance_channels to EEG indices and moves ref/ground into separate keys, but the legacy ANT implementation (AntNeuroBoard::read_thread) still consumes only resistance_channels when mapping impedance data. As a result, reference/ground impedance values are no longer written or returned via get_resistance_channels for ANT_NEURO_EE_511_BOARD, which is a regression for existing non-EDX EE-511 workflows.
Useful? React with 👍 / 👎.
| ${CMAKE_CURRENT_SOURCE_DIR}/src/board_controller/ant_neuro_edx/inc | ||
| ${ANT_EDX_GENERATED_DIR} | ||
| ) | ||
| target_link_libraries (AntNeuroEdxLib PRIVATE ${BOARD_CONTROLLER_NAME} gRPC::grpc++ protobuf::libprotobuf) |
There was a problem hiding this comment.
Avoid linking EDX plugin to hidden BoardController internals
Linking AntNeuroEdxLib directly to ${BOARD_CONTROLLER_NAME} makes the new plugin depend on C++ internals (e.g., Board/DynLibBoard) while this project globally compiles with hidden visibility, so those symbols are not exported as a stable shared-library ABI. In BUILD_ANT_EDX=ON builds this can leave unresolved C++ symbols in the EDX plugin and surface as undefined-symbol failures when EDX entry points are called.
Useful? React with 👍 / 👎.
Motivation
-DBUILD_ANT_EDX=ON.Description
src/board_controller/ant_neuro_edx/includingant_neuro_edx_impl.cpp,ant_neuro_edx.cpp,ant_neuro_edx_main.cpp, headers and aproto/EdigRPC.protofor gRPC/protobuf integration, plus a dynamic library targetAntNeuroEdxLibenabled whenBUILD_ANT_EDXis ON.Protobuf/gRPClibs, build the EDX shared lib, and install/copy artifacts whenBUILD_ANT_EDXis enabled; addsoption(BUILD_ANT_EDX ...)to the top-levelCMakeLists.txt.brainflow_boards.cpp, and updatesboard_controller.cppto constructAntNeuroEdxBoardwhen built or emitUNSUPPORTED_BOARD_ERRORotherwise.BoardShimimplementations to validatemaster_boardfor streaming/playback boards and to use the correctmaster_boardwhen computing row counts.python_package/examples/tests/(edx_full_lifecycle.py,edx_impedance.py,edx_mode_transitions.py) and documentation updates indocs/BuildBrainFlow.rstanddocs/SupportedBoards.rstdescribing how to build with-DBUILD_ANT_EDX=ONand usage notes.Testing
Codex Task