Skip to content

Commit

Permalink
add support for enophone headphones (#320)
Browse files Browse the repository at this point in the history
* add enophone

Signed-off-by: Andrey Parfenov <[email protected]>
  • Loading branch information
Andrey1994 authored Aug 16, 2021
1 parent f353a12 commit 7e5d3db
Show file tree
Hide file tree
Showing 47 changed files with 3,209 additions and 36 deletions.
1 change: 1 addition & 0 deletions .clang-format-ignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,4 @@ src/board_controller/muse/muse_bglib/cmd_def.cpp
src/board_controller/muse/muse_bglib/inc/cmd_def.h
# third party
third_party/*
src/utils/bluetooth/macos_third_party/*
10 changes: 5 additions & 5 deletions .github/workflows/deploy_cpp_libs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ jobs:
run: |
mkdir %GITHUB_WORKSPACE%\%BUILD%_%RUNTIME%_%ARCH%
cd %GITHUB_WORKSPACE%\%BUILD%_%RUNTIME%_%ARCH%
cmake -DBUILD_OYMOTION_SDK=ON -DWARNINGS_AS_ERRORS=ON -G "Visual Studio 16 2019" -A %ARCH% -DCMAKE_SYSTEM_VERSION=8.1 -DMSVC_RUNTIME=%RUNTIME% -DCMAKE_INSTALL_PREFIX=..\artifacts\%ARCH%_%BUILD%_%RUNTIME%\ ..
cmake -DBUILD_BLUETOOTH=ON -DBUILD_OYMOTION_SDK=ON -DWARNINGS_AS_ERRORS=ON -G "Visual Studio 16 2019" -A %ARCH% -DCMAKE_SYSTEM_VERSION=8.1 -DMSVC_RUNTIME=%RUNTIME% -DCMAKE_INSTALL_PREFIX=..\artifacts\%ARCH%_%BUILD%_%RUNTIME%\ ..
cmake --build . --target install --config %BUILD% -j 2 --parallel 2
shell: cmd
env:
Expand All @@ -47,7 +47,7 @@ jobs:
max-parallel: 16
matrix:
build_type: [Release, Debug]
os: [ubuntu-18.04, macos-11.0]
os: [ubuntu-latest, macos-11.0]

steps:
- name: Clone Repository
Expand All @@ -67,16 +67,16 @@ jobs:
run: |
mkdir $GITHUB_WORKSPACE/build
cd $GITHUB_WORKSPACE/build
cmake -G Ninja -DWARNINGS_AS_ERRORS=ON -DCMAKE_OSX_ARCHITECTURES="arm64;x86_64" -DCMAKE_OSX_DEPLOYMENT_TARGET=10.13 -DCMAKE_INSTALL_PREFIX=$GITHUB_WORKSPACE/artifacts/macos_$BUILD -DCMAKE_BUILD_TYPE=$BUILD ..
cmake -G Ninja -DBUILD_BLUETOOTH=ON -DWARNINGS_AS_ERRORS=ON -DCMAKE_OSX_ARCHITECTURES="arm64;x86_64" -DCMAKE_OSX_DEPLOYMENT_TARGET=10.13 -DCMAKE_INSTALL_PREFIX=$GITHUB_WORKSPACE/artifacts/macos_$BUILD -DCMAKE_BUILD_TYPE=$BUILD ..
ninja
ninja install
env:
BUILD: ${{ matrix.build_type }}
- name: Compile BrainFlow in ManyLinux
if: (matrix.os == 'ubuntu-18.04')
if: (matrix.os == 'ubuntu-latest')
run: |
docker pull dockcross/manylinux2014-x64:20210708-94745ff
docker run -e GITHUB_WORKSPACE=$GITHUB_WORKSPACE -e BUILD=$BUILD -v $GITHUB_WORKSPACE:$GITHUB_WORKSPACE dockcross/manylinux2014-x64:20210708-94745ff /bin/bash -c "/opt/python/cp36-cp36m/bin/pip3.6 install cmake==3.13.3 && cd $GITHUB_WORKSPACE && mkdir build_docker && cd build_docker && cmake -DCMAKE_INSTALL_PREFIX=$GITHUB_WORKSPACE/artifacts/linux_${BUILD} -DCMAKE_BUILD_TYPE=$BUILD .. && make && make install"
docker run -e GITHUB_WORKSPACE=$GITHUB_WORKSPACE -e BUILD=$BUILD -v $GITHUB_WORKSPACE:$GITHUB_WORKSPACE dockcross/manylinux2014-x64:20210708-94745ff /bin/bash -c "yum install -y bluez-libs-devel && /opt/python/cp36-cp36m/bin/pip3.6 install cmake==3.13.3 && cd $GITHUB_WORKSPACE && mkdir build_docker && cd build_docker && cmake -DBUILD_BLUETOOTH=ON -DCMAKE_INSTALL_PREFIX=$GITHUB_WORKSPACE/artifacts/linux_${BUILD} -DCMAKE_BUILD_TYPE=$BUILD .. && make && make install"
env:
BUILD: ${{ matrix.build_type }}
- name: Upload Artifacts
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/dockerhub.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ on:

jobs:
Upload:
runs-on: ubuntu-20.04
runs-on: ubuntu-latest

steps:
# check users permission
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/greetings.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ on: [issues]

jobs:
greeting:
runs-on: ubuntu-18.04
runs-on: ubuntu-latest
steps:
- uses: actions/first-interaction@v1
with:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/run_alpine.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ jobs:
fail-fast: false
max-parallel: 4
matrix:
os: [ubuntu-18.04]
os: [ubuntu-latest]

steps:
# compile and prepare env
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/run_android.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ jobs:
fail-fast: false
max-parallel: 4
matrix:
os: [ubuntu-18.04]
os: [ubuntu-latest]

env:
ANDROID_NDK_VERSION: 21.4.7075529
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/run_libftdi.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ jobs:
fail-fast: false
max-parallel: 4
matrix:
os: [ubuntu-18.04, macos-10.15]
os: [ubuntu-latest, macos-10.15]

steps:
# compile and prepare env
Expand All @@ -22,7 +22,7 @@ jobs:
python-version: '3.7.7'
architecture: 'x64'
- name: Install Ubuntu Dependencies
if: (matrix.os == 'ubuntu-18.04')
if: (matrix.os == 'ubuntu-latest')
run: |
sudo -H apt-get update -y
sudo -H apt-get install -y python3-setuptools python3-pygments libftdi1-dev
Expand Down
20 changes: 9 additions & 11 deletions .github/workflows/run_unix.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ jobs:
fail-fast: false
max-parallel: 4
matrix:
os: [ubuntu-18.04, macos-11.0]
os: [ubuntu-latest, macos-11.0]

steps:
# compile and prepare env
Expand All @@ -22,10 +22,10 @@ jobs:
python-version: '3.7.7'
architecture: 'x64'
- name: Install Python Dependencies
if: (matrix.os == 'ubuntu-18.04')
if: (matrix.os == 'ubuntu-latest')
run: |
sudo -H apt-get update -y
sudo -H apt-get install -y python3-setuptools python3-pygments
sudo -H apt-get install -y python3-setuptools python3-pygments libbluetooth-dev
env:
DEBIAN_FRONTEND: noninteractive
- name: Install Ninja
Expand All @@ -50,23 +50,23 @@ jobs:
run: |
mkdir $GITHUB_WORKSPACE/build
cd $GITHUB_WORKSPACE/build
cmake -G Ninja -DWARNINGS_AS_ERRORS=ON -DCMAKE_OSX_ARCHITECTURES="arm64;x86_64" -DCMAKE_OSX_DEPLOYMENT_TARGET=10.13 -DCMAKE_INSTALL_PREFIX=$GITHUB_WORKSPACE/installed -DCMAKE_BUILD_TYPE=Release ..
cmake -G Ninja -DBUILD_BLUETOOTH=ON -DWARNINGS_AS_ERRORS=ON -DCMAKE_OSX_ARCHITECTURES="arm64;x86_64" -DCMAKE_OSX_DEPLOYMENT_TARGET=10.13 -DCMAKE_INSTALL_PREFIX=$GITHUB_WORKSPACE/installed -DCMAKE_BUILD_TYPE=Release ..
ninja
ninja install
- name: Compile BrainFlow Ubuntu
if: (matrix.os == 'ubuntu-18.04')
if: (matrix.os == 'ubuntu-latest')
run: |
mkdir $GITHUB_WORKSPACE/build
cd $GITHUB_WORKSPACE/build
cmake -DWARNINGS_AS_ERRORS=ON -DCMAKE_INSTALL_PREFIX=$GITHUB_WORKSPACE/installed -DCMAKE_BUILD_TYPE=Release ..
cmake -DBUILD_BLUETOOTH=ON -DWARNINGS_AS_ERRORS=ON -DCMAKE_INSTALL_PREFIX=$GITHUB_WORKSPACE/installed -DCMAKE_BUILD_TYPE=Release ..
make
make install
- name: Compile BrainFlow in ManyLinux
# bindings in production have to use libraries compiled inside this image!
if: (matrix.os == 'ubuntu-18.04')
if: (matrix.os == 'ubuntu-latest')
run: |
docker pull dockcross/manylinux2014-x64:20210708-94745ff
docker run -e GITHUB_WORKSPACE=$GITHUB_WORKSPACE -v $GITHUB_WORKSPACE:$GITHUB_WORKSPACE dockcross/manylinux2014-x64:20210708-94745ff /bin/bash -c "/opt/python/cp36-cp36m/bin/pip3.6 install cmake==3.13.3 && cd $GITHUB_WORKSPACE && mkdir build_docker && cd build_docker && cmake -DCMAKE_INSTALL_PREFIX=$GITHUB_WORKSPACE/installed_docker -DCMAKE_BUILD_TYPE=Release .. && make && make install"
docker run -e GITHUB_WORKSPACE=$GITHUB_WORKSPACE -v $GITHUB_WORKSPACE:$GITHUB_WORKSPACE dockcross/manylinux2014-x64:20210708-94745ff /bin/bash -c "yum install -y bluez-libs-devel && /opt/python/cp36-cp36m/bin/pip3.6 install cmake==3.13.3 && cd $GITHUB_WORKSPACE && mkdir build_docker && cd build_docker && cmake -DBUILD_BLUETOOTH=ON -DCMAKE_INSTALL_PREFIX=$GITHUB_WORKSPACE/installed_docker -DCMAKE_BUILD_TYPE=Release .. && make && make install"
- name: Setup Python Package
run: |
cd $GITHUB_WORKSPACE/python-package
Expand Down Expand Up @@ -278,7 +278,7 @@ jobs:
- name: Install AWS CLI
run: sudo -H python3 -m pip install awscli
- name: Push Libraries Linux Docker
if: ${{ github.event_name == 'push' && matrix.os == 'ubuntu-18.04' && github.repository == 'brainflow-dev/brainflow' }}
if: ${{ github.event_name == 'push' && matrix.os == 'ubuntu-latest' && github.repository == 'brainflow-dev/brainflow' }}
run: |
aws s3 cp $GITHUB_WORKSPACE/installed_docker/lib/ s3://brainflow/$GITHUB_SHA/linux --recursive
env:
Expand All @@ -291,5 +291,3 @@ jobs:
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}


2 changes: 1 addition & 1 deletion .github/workflows/run_windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ jobs:
run: |
mkdir %GITHUB_WORKSPACE%\build32
cd %GITHUB_WORKSPACE%\build32
cmake -DBUILD_OYMOTION_SDK=ON -DWARNINGS_AS_ERRORS=ON -G "Visual Studio 16 2019" -A Win32 -DCMAKE_SYSTEM_VERSION=8.1 -DCMAKE_INSTALL_PREFIX=..\installed32\ ..
cmake -DBUILD_OYMOTION_SDK=ON -DBUILD_BLUETOOTH=ON -DWARNINGS_AS_ERRORS=ON -G "Visual Studio 16 2019" -A Win32 -DCMAKE_SYSTEM_VERSION=8.1 -DCMAKE_INSTALL_PREFIX=..\installed32\ ..
cmake --build . --target install --config Release -j 2 --parallel 2
shell: cmd
- name: Compile x64
Expand Down
13 changes: 10 additions & 3 deletions .github/workflows/valgrind.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ jobs:
fail-fast: false
max-parallel: 4
matrix:
os: [ubuntu-18.04]
os: [ubuntu-latest]

steps:
# compile and prepare env
Expand All @@ -20,11 +20,18 @@ jobs:
uses: jwlawson/[email protected]
with:
cmake-version: '3.16.x'
- name: Install Dependencies
if: (matrix.os == 'ubuntu-latest')
run: |
sudo -H apt-get update -y
sudo -H apt-get install -y libbluetooth-dev
env:
DEBIAN_FRONTEND: noninteractive
- name: Compile BrainFlow
run: |
mkdir $GITHUB_WORKSPACE/build
cd $GITHUB_WORKSPACE/build
cmake -DCMAKE_INSTALL_PREFIX=$GITHUB_WORKSPACE/installed -DCMAKE_BUILD_TYPE=Debug ..
cmake -DBUILD_BLUETOOTH=ON -DCMAKE_INSTALL_PREFIX=$GITHUB_WORKSPACE/installed -DCMAKE_BUILD_TYPE=Debug ..
make
make install
- name: Build Get Data Test
Expand Down Expand Up @@ -60,7 +67,7 @@ jobs:
python-version: '3.7.7'
architecture: 'x64'
- name: Install Python Dependencies
if: (matrix.os == 'ubuntu-18.04')
if: (matrix.os == 'ubuntu-latest')
run: |
sudo -H apt-get update -y
sudo -H apt-get install -y python3-setuptools python3-pygments
Expand Down
1 change: 1 addition & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ option (USE_LIBFTDI "USE_LIBFTDI" OFF)
option (USE_OPENMP "USE_OPENMP" OFF)
option (WARNINGS_AS_ERRORS "WARNINGS_AS_ERRORS" OFF)
option (BUILD_OYMOTION_SDK "BUILD_OYMOTION_SDK" OFF)
option (BUILD_BLUETOOTH "BUILD_BLUETOOTH" OFF)

include (${CMAKE_HOME_DIRECTORY}/cmake/macros.cmake)
configure_msvc_runtime ()
Expand Down
4 changes: 2 additions & 2 deletions Docker/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ echo debconf apt-fast/dlflag boolean true | debconf-set-selections && \
echo debconf apt-fast/aptmanager string apt-get | debconf-set-selections && \
apt-fast -yqq upgrade
# Installing Dependencies
RUN apt-fast -yqq install python3 python3-pip python3-venv openjdk-13-jdk git curl wget build-essential cmake python3-jira r-base nuget nuget mono-devel mono-complete monodevelop libxml2-dev
RUN apt-fast -yqq install python3 python3-pip python3-venv openjdk-13-jdk git curl wget build-essential cmake python3-jira r-base nuget nuget mono-devel mono-complete monodevelop libxml2-dev libbluetooth-dev
RUN mkdir -p /root/local/bin

WORKDIR /root/local/bin
Expand All @@ -40,7 +40,7 @@ ARG checkout_id
RUN git clone "https://github.com/brainflow-dev/brainflow.git"
WORKDIR /root/brainflow
RUN if [ -z "${checkout_id}" ]; then git checkout "${checkout_id}"; fi
RUN python3 ./tools/build.py --use-openmp
RUN python3 ./tools/build.py --use-openmp --bluetooth
ENV LD_LIBRARY_PATH=/root/brainflow/installed_linux/lib/

# Python Binding
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,8 @@ public enum BoardIds
ANT_NEURO_EE_222_BOARD = 33,
ANT_NEURO_EE_223_BOARD = 34,
ANT_NEURO_EE_224_BOARD = 35,
ANT_NEURO_EE_225_BOARD = 36
ANT_NEURO_EE_225_BOARD = 36,
ENOPHONE_BOARD = 37
};


Expand Down
2 changes: 1 addition & 1 deletion docs/Examples.rst
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ Python EEG Metrics
Python Real Time Plot
~~~~~~~~~~~~~~~~~~~~~~~~

.. literalinclude:: ../python-package/examples/plot_real_time_min.py
.. literalinclude:: ../python-package/examples/plot_real_time/plot_real_time_min.py
:language: py

Java
Expand Down
40 changes: 39 additions & 1 deletion docs/SupportedBoards.rst
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ To create an instance of BoardShim class for your board check required inputs in
"AntNeuroBoardEE410", "BoardIds.ANT_NEURO_EE_410_BOARD (24)", "-", "-", "-", "-", "-", "-", "-", "-", "-"
"AntNeuroBoardEE411", "BoardIds.ANT_NEURO_EE_411_BOARD (25)", "-", "-", "-", "-", "-", "-", "-", "-", "-"
"AntNeuroBoardEE430", "BoardIds.ANT_NEURO_EE_430_BOARD (26)", "-", "-", "-", "-", "-", "-", "-", "-", "-"

"Enophone", "BoardIds.ENOPHONE_BOARD (37)", "-", "MAC adress", "-", "-", "-", "-", "-", "-", "-"

Playback File Board
---------------------
Expand Down Expand Up @@ -796,3 +796,41 @@ Board Spec:

- num eeg channels: 8
- sampling rate: 512

Enophone
---------

Enophone Headphones
~~~~~~~~~~~~~~~~~~~~~

.. image:: https://live.staticflickr.com/65535/51374388843_f60c07991e.jpg
:width: 401px
:height: 500px

`Enophone website <https://enophone.com/enophones/>`_

To choose this board in BoardShim constructor please specify:

- board_id: 37
- mac address field of BrainFlowInputParams structure

Supported platforms:

- Windows
- Linux
- MacOS

Steps to find MAC address:

- On Windows: open device manager, navigate to enophone device, click properties and select Bluetooth Address
- On Linux: install bluez-utils and run :code:`bluetoothctl paired-devices`
- On MacOS: run :code:`system_profiler SPBluetoothDataType`

**On Linux in order to compile and use it you may need to install :code:`libbluetooth-dev` for Debian like systems and :code:`bluez-libs-devel` for Fedora like.**


Board Spec:

- num emg channels: 4
- sampling rate: 250
- communication: Bluetooth
3 changes: 3 additions & 0 deletions java-package/brainflow/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,9 @@
<include>eego-SDK.dll</include>
<include>libeego-SDK.so</include>
<include>libeego-SDK32.so</include>
<include>BrainFlowBluetooth.dll</include>
<include>libBrainFlowBluetooth.so</include>
<include>libBrainFlowBluetooth.dylib</include>
</includes>
</resource>
</resources>
Expand Down
3 changes: 2 additions & 1 deletion java-package/brainflow/src/main/java/brainflow/BoardIds.java
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,8 @@ public enum BoardIds
ANT_NEURO_EE_222_BOARD (33),
ANT_NEURO_EE_223_BOARD (34),
ANT_NEURO_EE_224_BOARD (35),
ANT_NEURO_EE_225_BOARD (36);
ANT_NEURO_EE_225_BOARD (36),
ENOPHONE_BOARD (37);

private final int board_id;
private static final Map<Integer, BoardIds> bi_map = new HashMap<Integer, BoardIds> ();
Expand Down
1 change: 1 addition & 0 deletions julia-package/brainflow/src/board_shim.jl
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ export BrainFlowInputParams
ANT_NEURO_EE_223_BOARD = 34
ANT_NEURO_EE_224_BOARD = 35
ANT_NEURO_EE_225_BOARD = 36
ENOPHONE_BOARD = 37

end

Expand Down
1 change: 1 addition & 0 deletions matlab-package/brainflow/BoardIDs.m
Original file line number Diff line number Diff line change
Expand Up @@ -41,5 +41,6 @@
ANT_NEURO_EE_223_BOARD(34)
ANT_NEURO_EE_224_BOARD(35)
ANT_NEURO_EE_225_BOARD(36)
ENOPHONE_BOARD(37)
end
end
1 change: 1 addition & 0 deletions python-package/brainflow/board_shim.py
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,7 @@ class BoardIds(enum.IntEnum):
ANT_NEURO_EE_223_BOARD = 34 #:
ANT_NEURO_EE_224_BOARD = 35 #:
ANT_NEURO_EE_225_BOARD = 36 #:
ENOPHONE_BOARD = 37 #:


class LogLevels(enum.IntEnum):
Expand Down
File renamed without changes.
File renamed without changes.
6 changes: 5 additions & 1 deletion python-package/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,11 @@
os.path.join('lib', 'eego-SDK32.dll'),
os.path.join('lib', 'eego-SDK.dll'),
os.path.join('lib', 'libeego-SDK.so'),
os.path.join('lib', 'libeego-SDK32.so')
os.path.join('lib', 'libeego-SDK32.so'),
os.path.join('lib', 'BrainFlowBluetooth.dll'),
os.path.join('lib', 'BrainFlowBluetooth32.dll'),
os.path.join('lib', 'libBrainFlowBluetooth.so'),
os.path.join('lib', 'libBrainFlowBluetooth.dylib')
]
},
zip_safe=True,
Expand Down
4 changes: 4 additions & 0 deletions src/board_controller/board_controller.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
#include "cyton_daisy.h"
#include "cyton_daisy_wifi.h"
#include "cyton_wifi.h"
#include "enophone.h"
#include "fascia.h"
#include "freeeeg32.h"
#include "galea.h"
Expand Down Expand Up @@ -219,6 +220,9 @@ int prepare_session (int board_id, char *json_brainflow_input_params)
board = std::shared_ptr<Board> (
new AntNeuroBoard ((int)BoardIds::ANT_NEURO_EE_225_BOARD, params));
break;
case BoardIds::ENOPHONE_BOARD:
board = std::shared_ptr<Board> (new Enophone (params));
break;
default:
return (int)BrainFlowExitCodes::UNSUPPORTED_BOARD_ERROR;
}
Expand Down
10 changes: 10 additions & 0 deletions src/board_controller/brainflow_boards.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -481,6 +481,16 @@ json brainflow_boards_json = {
32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64}},
{"emg_channels", {65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88}},
{"other_channels", {89}}
}},
{"37",
{{"name", "Enophone"},
{"sampling_rate", 250},
{"timestamp_channel", 5},
{"marker_channel", 6},
{"package_num_channel", 0},
{"num_rows", 7},
{"eeg_channels", {1, 2, 3, 4}},
{"eeg_names", "A2,A1,C4,C3"}
}}
}
}};
Expand Down
Loading

0 comments on commit 7e5d3db

Please sign in to comment.