Contributions:TBSIStimulator
Synopsis
The TBSIStimulatorFilter interacts with TBSI's USB-SPI wireless stimulator and dongle. The TBSI stimulator and dongle work in conjunction to administer pulses to different output channels on the stimulator. The type of pulses and interval at which these pulses are administered is customizable via the filter's parameters.
To use this filter, a TBSI dongle must be connected to the computer via USB and the stimulator must be within range and charged.
Tested with StimWare V1.7.22B67, dongle V0.25.0, and stimulator UID: FD, Type: E, Version: V0.40.10. Custom PI1 and PD1 parameters reverse engineered to work with these resources.
Location
http://www.bci2000.org/svn/trunk/src/private/SignalProcessing/TBSIStimulator
Versioning
Authors
Alex Belsten, Yichuan Wang
Source Code Revisions
- Initial development: 5799
- Tested under: 5800
- Known to compile under: 5802
- Broken since: --
Known Issues
Connection to the dongle will sometimes stall during startup or the first few commands. Effort has been done to minimize this issue, but it's not completely solved. In case of a program stall, replug the dongle and rerun the program.
Parameters
StimPattern
An encoded string that represents the type of pulse that is going to be administered. Currently, encoded strings obtained from TBSI's StimWare software are the only way to edit the pulse. To set a custom pulse,
1. Install TBSI Stimware (install LabView if needed)
2. Go to Stimware installation directory and search for "Dongle.ini"
3. Open "Dongle.ini", change the value "Verbosity" from 0 to 1.
4. Play with various button and observe the SPI command exchange happening in the bottom window.
5. Copy the exact SPI message from the Stimware's bottom window into TBSIStimulator StimPattern parameter if you want to perform that exact same action.
The default string is represented by the following settings in StimWare:
| Mux SubCh | ID | PI1 | PD1 | PI2 | PD2 | Invert | Train (Multiple Pulses) | Stimulus (Multiple Trains) |
|---|---|---|---|---|---|---|---|---|
| 1 | 50 μs | 500 μA | 2,000 μs | 100 μA | 10,000 μs | Off | Off | Off |
PI1
Custom initial stimulation value in μA.
PD1
Custom PI1 duration in μs.
EditStimPattern
Allows for the editing of StimPattern based on the provided PI1 and PD1 values. If disabled, StimPattern will not be changed.
StimInterval
The interval in time in which the stimulus is administered. Reliability of connection with dongle and stimulator is compromised at values less than 3 seconds.
ExternalHWTrigger
Option to enable or disable external hardware triggers on TBSI dongle. Only enable if using external hardware triggers.
States
StimState
Binary state that is set to 1 when a trigger command is sent. Otherwise, the state takes the value of 0. Useful for measuring the latency of software trigger commands.