Contributions:TBSIStimulator

From BCI2000 Wiki
Jump to: navigation, search

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.

See also

User Reference:Filters, Contributions:SignalProcessing