Contributions:RipplePyADC: Difference between revisions
| Line 40: | Line 40: | ||
==How to set up with BCPy2000== | ==How to set up with BCPy2000== | ||
Now we will set up the research PC. First, follow the BCPy2000 installation guide found [[BCPy2000|here]] to install BCPy2000 and compile the solution on your PC. | Now we will set up the research PC. First, follow the BCPy2000 installation guide found '''[[BCPy2000|here]]''' to install BCPy2000 and compile the solution on your PC. | ||
===Creating a Batch File=== | ===Creating a Batch File=== | ||
Revision as of 22:19, 22 September 2023
Introduction
RipplePyADC is a source module that allows for utilization of the Ripple Grapevine and other Ripple devices within BCI2000 through BCPy2000.
Video Overview
Versioning
Authors
- Dhruva Mehta (mehta@neurotechcenter.org)
Version History
- 9/22/2023 Initial Creation and Setup
Source Code Revisions
- Initial development:
- Tested under:
- Known to compile under:
- Broken since: --
Known Issues
Using the RipplePyADC
To use the Ripple Python ADC, you will need to have a Ripple device that works with Trellis and Ripple's Python API. You will also need a computer set up with both BCI2000 and BCPy2000, which we will go over later.
Initial Setup
For the initial setup of your device, please follow the Ripple user manual for your specific device.
Trellis
Trellis is a user interface program that has been included with your device. Please use Trellis to test your connection with the device, such as stimulating and recording, as a means of debugging any connection issues or errors.
Python API
Ripple has developed a Python interface to Trellis and the Grapevine Neural Interface Processor (NIP) called Xipppy, which is being used in this source module. If there is a functionality that is not implemented, please first check the Python API to see if Ripple has it implemented themselves. If it is missing from this source module but implemented in their API, please contact us to update the source module.
Verifying Device Properties
How to set up with BCPy2000
Now we will set up the research PC. First, follow the BCPy2000 installation guide found here to install BCPy2000 and compile the solution on your PC.
Creating a Batch File
Debugging
Parameters
SourceCh
The total number of digitized and stored channels.
SampleBlockSize
Samples per channel per digitized block. Together with the sampling rate, this parameter determines how often per second data are collected, processed, and feedback is updated. For example, at 1000 Hz sampling and a SampleBlockSize of 20, the system (e.g., source signal display, signal processing, and stimulus presentation) will be updated 50 times per second.
SamplingRate
The sample rate of the system. This parameter can be changed, however it will be overridden by the source module depending on the data stream type that you choose.
SourceChOffset
Offset for each channel.
SourceChGain
Gain for each channel.
ChannelNames
Names of each channel.
ReferenceCh
This list defines what channels will be used as reference. This list is uploaded to the device and set in hardware, effecting the raw bio-signal data that is recorded by BCI2000. If you do not want to effect the raw bio-signal data that is recorded, you can use the spatial filter. If this parameter is set to auto, no reference channels are used.
DataStream
The type of data stream you would like to use for acquisition. There are six types of data streams you can use, each with different frequencies:
| Stream | Frequency (kHz) |
|---|---|
| raw | 30 |
| lfp | 1 |
| hires | 2 |
| hifreq | 15 |
| emg | 15 |
| status | 2 |
SpecificChannels
Here, you can choose which channels you want to actually acquire data from, just put the number of the channel you would like in a corresponding list section. Channel numbers start with 0. You can choose any number of channels by readjusting the list matrix size. Numbers do not need to be in ascending order, however the channels will appear in order they are put in the list from top to bottom.