Jump to content

Contributions:gSTIMbox: Difference between revisions

From BCI2000 Wiki
Ignatp (talk | contribs)
No edit summary
Ignatp (talk | contribs)
 
(7 intermediate revisions by the same user not shown)
Line 26: Line 26:
The output trigger list is a matrix, where each row is an entry binding an output channel to a trigger. All fields in this matrix are required. The channel corresponds to output channels on the gSTIMbox. The table below describes the function of the other matrix parameters.
The output trigger list is a matrix, where each row is an entry binding an output channel to a trigger. All fields in this matrix are required. The channel corresponds to output channels on the gSTIMbox. The table below describes the function of the other matrix parameters.
* Channel -- output channel of gSTIMbox (1-16)
* Channel -- output channel of gSTIMbox (1-16)
* TriggerType -- 1, 2 or 3 corresponding to gSTIMbox input, EEG input, or State Respectively
* TriggerType -- The type of trigger, see table below.
* TriggerName -- Values dependent on TriggerType see table below.
* TriggerName -- The identifier of the trigger. Values dependent on TriggerType, see table below.
* Threshold -- Threshold to quantify if a output is in the triggered state. Values dependent on TriggerType see table below.
* Threshold -- Threshold to quantify if a output is in the triggered state. Values dependent on TriggerType, see table below.




{| class="wikitable"
{| class="wikitable"
| '''Allowed of TriggerTypes ''' || '''Meaning''' || '''Allowable TriggerName for TriggerType''' || '''Allowable Threshold for TriggerType'''
| '''Allowed of TriggerTypes ''' || '''Meaning''' || '''Allowable TriggerName for TriggerType''' || '''Allowable Threshold for TriggerType''' || '''Triggered When'''
|-
|-
| 0 || gSTIMbox Input Channel || 1-14 corresponding to gSTIMbox Inputs || 1 or 0; triggered when channel value == threshold value
| 0 || gSTIMbox Input Channel || 1-14 corresponding to gSTIMbox Inputs || 1 or 0 || channel value == threshold value
|-
|-
| 1 || EEG Input Channel || 1 - Signal Channel Size, corresponding to EEG channels || a BCI2000 recognized voltage (e.g. 125mV); triggered when channel value >= threshold value
| 1 || EEG Input Channel || 1 - Signal Channel Size, corresponding to EEG channels || a BCI2000 recognized voltage (e.g. 125mV) || channel value >= threshold value
|-
|-
| 2 || State || Valid State Name || any integer value; triggered when state value == threshold value
| 2 || State With Equality Threshold || Valid State Name || any integer value || state value == threshold value
|-
| 3 || State With Inequality Threshold || Valid State Name || any integer value || state value >= threshold value
|}
|}


An example OutputTriggerList which triggers the first output channel on the first input channel of the gSTIMbox when the value is 1, the second output channel on the first EEG channel when the value is greater than or equal to 125 mV, and the third output channel when the space bar is pressed.
Below is an example OutputTriggerList which triggers the first output channel on the first input channel of the gSTIMbox when the value is 1, the second output channel on the first EEG channel when the value is greater than or equal to 125 mV, the third output channel when the space bar is pressed, the fourth output channel when the value of SomeState is greater than or equal to 13.
{| class="wikitable"
{| class="wikitable"
| '''Channel''' || '''TriggerType''' || '''TriggerName''' || '''Threshold'''
| '''Channel''' || '''TriggerType''' || '''TriggerName''' || '''Threshold'''
Line 50: Line 52:
|-
|-
| 3 || 2 || KeyDown || 20
| 3 || 2 || KeyDown || 20
|-
| 4 || 3 || SomeState || 13
|}
|}


The channel corresponds to the output channel of the gSTIMbox (1-16).
===OutputList===


The table below describes the other parameters.
A matrix that describes output port states, and how they react to being triggered.


* Channel -- Output Channel of the gSTIMbox
* State -- 0 or 1 meaning port disabled or port enabled respectively
* Mode -- 0 or 1 meaning on off mode or frequency modulation mode respectively
* Freq -- 1-50, integer number of Hz port is modulated on if mode is 1.


* Default(State/Mode/Freq) -- When a port is not triggered this sets its (State/Mode/Freq)
* Triggered(State/Mode/Freq) -- When a port is triggered by the OutputTriggerList this sets its (State/Mode/Freq)




Example:


===OutputMatrix===


The output matrix describes output states, and how they react to being triggered. For example
{| class="wikitable"
{| class="wikitable"
| '''Channel''' || '''Default State''' || '''Default Mode''' ||  
| '''Channel''' || '''DefaultState''' || '''DefaultMode''' || '''DefaultFreq''' || '''TriggeredState''' || '''TriggeredMode''' ||  '''TriggeredFreq''' ||
|-
| 1 || 1 || 0 || 0 || 0 || 0 || 0
|-
| 2 || 0 || 0 || 0 || 1 || 0 || 0
|-
| 3 || 1 || 1 || 30 || 1 || 1 || 50
|-
| 4 || 1 || 0 || 0 || 1 || 1 || 15
|}
|}


==See also==
==See also==

Latest revision as of 23:11, 21 May 2013

Synopsis

The gSTIMbox is a digital signal acquisition device with 14 digital inputs and 16 digital outputs. This page currently serves as a technical specification to a future module.

Location

Unreleased

~~http://www.bci2000.org/svn/trunk/src/contrib/SignalSource/gSTIMbox~~


Versioning

Authors

Paul Ignatenko (paul dot ignatenko at gmail dot com)

Functional Description

Allows the gSTIMbox to run as a co-Source module, allowing you to monitor inputs, and trigger outputs.

Installation

Compile the gSTIMbox module using CMake and your compiler.

Parameters

OutputTriggerList

The output trigger list is a matrix, where each row is an entry binding an output channel to a trigger. All fields in this matrix are required. The channel corresponds to output channels on the gSTIMbox. The table below describes the function of the other matrix parameters.

  • Channel -- output channel of gSTIMbox (1-16)
  • TriggerType -- The type of trigger, see table below.
  • TriggerName -- The identifier of the trigger. Values dependent on TriggerType, see table below.
  • Threshold -- Threshold to quantify if a output is in the triggered state. Values dependent on TriggerType, see table below.


Allowed of TriggerTypes Meaning Allowable TriggerName for TriggerType Allowable Threshold for TriggerType Triggered When
0 gSTIMbox Input Channel 1-14 corresponding to gSTIMbox Inputs 1 or 0 channel value == threshold value
1 EEG Input Channel 1 - Signal Channel Size, corresponding to EEG channels a BCI2000 recognized voltage (e.g. 125mV) channel value >= threshold value
2 State With Equality Threshold Valid State Name any integer value state value == threshold value
3 State With Inequality Threshold Valid State Name any integer value state value >= threshold value

Below is an example OutputTriggerList which triggers the first output channel on the first input channel of the gSTIMbox when the value is 1, the second output channel on the first EEG channel when the value is greater than or equal to 125 mV, the third output channel when the space bar is pressed, the fourth output channel when the value of SomeState is greater than or equal to 13.

Channel TriggerType TriggerName Threshold
1 0 1 1
2 1 1 125mV
3 2 KeyDown 20
4 3 SomeState 13

OutputList

A matrix that describes output port states, and how they react to being triggered.

  • Channel -- Output Channel of the gSTIMbox
  • State -- 0 or 1 meaning port disabled or port enabled respectively
  • Mode -- 0 or 1 meaning on off mode or frequency modulation mode respectively
  • Freq -- 1-50, integer number of Hz port is modulated on if mode is 1.
  • Default(State/Mode/Freq) -- When a port is not triggered this sets its (State/Mode/Freq)
  • Triggered(State/Mode/Freq) -- When a port is triggered by the OutputTriggerList this sets its (State/Mode/Freq)


Example:


Channel DefaultState DefaultMode DefaultFreq TriggeredState TriggeredMode TriggeredFreq
1 1 0 0 0 0 0
2 0 0 0 1 0 0
3 1 1 30 1 1 50
4 1 0 0 1 1 15

See also

User Reference:Filters, Contributions:ADCs