To configure the NeuroPawn Knight board with BrainFlow, pass the commands as strings into:
board_shim.config_board(<command>)
Purpose: Enables a specified channel with a specified gain, starting data acquisition on that channel. If the channel is already enabled, it will remain enabled, but will still update its gain.
f"chon_{channel}_{gain_value}"
-
channel: The channel number to start the data acquisition. Replace this with the actual number of the channel you want to configure. One-indexed.
-
gain: Specifies the gain value for the channel to be enabled. Allowable gain values are: [1, 2, 3, 4, 6, 8, 12 (recommended)]. The gain value controls the amplification level of the EEG signal on the specified channel.
Purpose: Disables a specified channel, stopping data acquisition on that channel.
f"choff_{channel_number}"
- channel_number: The channel number to stop the data acquisition. This is appended to 'choff' to construct the configuration command. One-indexed.
Purpose: Toogle on right leg drive for the specified channel.
f"rldadd_{channel_number}"
- channel_number: The channel number to toggle on the right leg drive. This number is converted to a string and appended to 'rldadd' to create the configuration command. One-indexed.
Purpose: Toogle off right leg drive for the specified channel.
f"rldremove_{channel}"
- channel_number: The channel number to toggle off the right leg drive. This number is converted to a string and appended to 'rldremove' to create the configuration command. One-indexed.
BrainFlow is a library intended to obtain, parse and analyze EEG, EMG, ECG, and other kinds of data from biosensors.
It provides a uniform SDK to work with biosensors with a primary focus on neurointerfaces, all features available for free and distributed under MIT license.
- powerful API with many features to simplify development
- Straightforward API for data acquisition
- Powerful API for signal filtering, denoising, downsampling...
- Development tools like Synthetic board, Streaming board, logging API
- easy to use
- BrainFlow has many bindings, you can choose programming language you like
- All programming languages provide the same API, so it's simple to switch
- API is uniform for all boards, it makes applications on top of BrainFlow almost board agnostic
- easy to support and extend
- Code to read data and to perform signal processing is implemented only once in C/C++, bindings just call C/C++ methods
- Powerful CI/CD system which runs integrations tests for each commit automatically using BrainFlow's Emulator
- Simplified process to add new boards and methods
- BrainFlow Docs, Dev and User guides and other information
- BrainFlow's slack workspace, use this link to join
- For BrainFlow Developers
If you want to contribute to BrainFlow, be sure to review the contribution guidelines. This project adheres to BrainFlow's code of conduct. By participating, you are expected to uphold this code.
We use GitHub issues for tracking requests and bugs, please use BrainFlow's slack for general discussions.
The BrainFlow project strives to abide by generally accepted best practices in open-source software development.
Build Type | Status |
---|---|
Windows Tests | |
Unix(Linix and MacOS) Tests | |
Android Tests | |
Alpine Tests | |
Valgrind Tests | |
CppCheck | |
Clang-Format |
We support bindings for: