-
Notifications
You must be signed in to change notification settings - Fork 22
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
2 changed files
with
74 additions
and
38 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,39 +1,52 @@ | ||
CereLink | ||
======== | ||
# CereLink | ||
|
||
Blackrock Microsystems Cerebus Link | ||
|
||
The software develoment kit for Blackrock Microsystems neural signal processing hardware includes: | ||
* c++ library (cbsdk): cross platform library for two-way communication with hardware | ||
* MATLAB/Octave wrapper (cbmex/cboct): MATLAB executable (mex) to configure and pull data using cbsdk | ||
* Python wrapper (cerebus.cbpy): Python binding for cbsdk to configure, pull data, and receive callbacks | ||
* File conversion utility (n2h5): Converts nsx and nev files to hdf5 format | ||
|
||
c++ library (cbsdk): cross platform library for two-way communication with hardware | ||
Downloads are on the [releases page](https://github.com/CerebusOSS/CereLink/releases). | ||
|
||
MATLAB/Octave wrapper (cbmex/cboct): MATLAB executable (mex) to configure and pull data using cbsdk | ||
## Build | ||
|
||
Python wrapper (cerebus.cbpy): Python binding for cbsdk to configure, pull data, and receive callbacks | ||
The BUILD.md document has the most up-to-date build instructions. | ||
|
||
File conversion utility (n2h5): Converts nsx and nev files to hdf5 format | ||
## Usage | ||
|
||
Downloads are on the [releases page](https://github.com/CerebusOSS/CereLink/releases). | ||
### Testing with nPlayServer | ||
|
||
# Project wiki | ||
On Windows, download and install the latest version of Cerebus Central Suite from the [Blackrock Neurotech support website (scroll down)](https://blackrockneurotech.com/support/). | ||
|
||
https://github.com/CerebusOSS/CereLink/wiki | ||
#### Testing with a localhost client | ||
|
||
# Build | ||
After installing, navigate an explorer Window to `C:\Program Files\Blackrock Microsystems\Cerebus Central Suite\` and run `runNPlayAndCentral.bat`. This will run a device simulator (nPlayServer) and Central on the localhost loopback. cbsdk / cerebus / cbmex should be able to connect as a Slave (Central is the Master) to the nPlay instance. | ||
|
||
The BUILD.md document has the most up-to-date build instructions. | ||
#### Testing with a networked client | ||
|
||
# Usage | ||
If you want to test using nPlayServer on one computer with CereLink on a secondary computer, then you will have to run nPlayServer with special settings. It will also make your life easier if you change the IP address of the network adapter of your Windows machine to mimic that of a Cerebus device (192.168.137.128 for NSP or 192.168.137.200 for Gemini Hub). | ||
|
||
## Testing on nPlayServer | ||
> Run `nPlayServer --help` to get a list of available options. | ||
On Windows, download and install the latest version of Cerebus Central Suite from the [Blackrock Neurotech research/support/software](https://blackrockneurotech.com/research/support/#manuals-and-software-downloads) website. | ||
After installing, navigate an explorer Window to `C:\Program Files\Blackrock Microsystems\Cerebus Central Suite\` and run `runNPlayAndCentral.bat`. This will run a device simulator (nPlayServer) and Central on the localhost loopback. cbsdk / cerebus / cbmex should be able to connect as a Slave (Central is the Master) to the nPlay instance. | ||
* Emulating Legacy NSP: `nPlayServer -L --network inst=192.168.137.128:51001 --network bcast=192.168.137.255:51002` | ||
* Emulating Gemini Hub: `nPlayServer -L --network inst=192.168.137.200:51002 --network bcast=192.168.137.255:51002` | ||
|
||
### cerebus.cbpy | ||
|
||
* Download a wheel from the releases page or [build it yourself](BUILD.md#cerebuscbpy-python-lib-build-instructions). | ||
* Activate a Python environment with pip, Cython, and numpy | ||
* Install the wheel: `pip install path\to\filename.whl` | ||
* Test with `python -c "from cerebus import cbpy; cbpy.open(parameter=cbpy.defaultConParams())"` | ||
* You might get `RuntimeError: -30, Instrument is offline.`. That's OK, depending on your device and network settings. | ||
|
||
## Getting Help | ||
|
||
## cerebus.cbpy | ||
First, read the frequently asked questions and answers in the [project wiki](https://github.com/CerebusOSS/CereLink/wiki). | ||
|
||
To install the package, activate your Python environment and install the wheel downloaded from the release page that matches your NSP firmware version, your target platform, and Python version. If there is not a matching wheel on the Releases page then you will have to [build](BUILD.md) it yourself. | ||
Second, search the [issues on GitHub](https://github.com/CerebusOSS/CereLink/issues). | ||
|
||
When installing cerebus.cbpy, the main numpy and Cython dependencies should install automatically. | ||
Finally, open an issue. | ||
|
||
At runtime, the Qt libraries are also required. On Linux and Mac, it is usually sufficient to install Qt6 at the system level with apt or homebrew. In Windows, it _should_ be sufficient to have Qt6Core.dll on the path somewhere, but I've found this to be unreliable depending on the Python environment manager. The most reliable approach is to copy Qt6Core.dll into the same folder as your .pyd file, which should be in `path/to/python/env/Lib/site-packages/cerebus`. | ||
This is a community project and is not officially supported by Blackrock Neurotech. |