Contributions:MicromedADC: Difference between revisions
Eaarnoutse (talk | contribs) |
|||
| Line 30: | Line 30: | ||
==Functional Description== | ==Functional Description== | ||
The BCI source module that receives the data from the acquisition is the server so it must be in listening mode before the acquisition unit starts to save data (data is sent only during recording). Micromed sends 64 data packets per second. The connection is reset if the computer running BCI2000 is too slow to read all packets. | The BCI source module that receives the data from the acquisition is the server so it must be in listening mode before the acquisition unit starts to save data (data is sent only during recording). Micromed sends 64 data packets per second for SD, 32 for LTM. The connection is reset if the computer running BCI2000 is too slow to read all packets. This happens gracefully in version 2.0. Make sure you have SystemPlus 1.02.1091 or higher, in this version Micromed also gracefully closes the TCP/IP connection at BCI2000 errors. | ||
A packet of data is structured in 2 sections the first is the header and the second is information data. The first packet sent from the client is the header of an EEG Micromed trace and is read for condition checking. If a note is added in SystemPLUS it is sent as a note packet to the source module | A packet of data is structured in 2 sections the first is the header and the second is information data. The first packet sent from the client is the header of an EEG Micromed trace and is read for condition checking. If a note is added in SystemPLUS it is sent as a note packet to the source module. If a digital trigger is sent the trigger code is sent to the source module in two ways: the complete code and a bitmasked code. This allows to send information on a condition (eg in SIGFRIED) and extra information for offline analysis. | ||
The header packet and the data packets are in the same format as in a Micromed trace file. The note packet sends the complete note buffer, | The header packet and the data packets are in the same format as in a Micromed trace file. The note packet sends the complete note buffer, and written in a textfile with the Micromed Samplenummer. | ||
==Installation== | ==Installation== | ||
Revision as of 22:16, 29 June 2008
Synopsis
This module can be used to read data sent over TCP/IP from a Micromed acquisition unit running SystemPLUS Rev. 1.02.1056.
Location
http://www.bci2000.org/svn/trunk/src/contrib/SignalSource/Micromed
Versioning
Author
Erik J. Aarnoutse Rudolf Magnus Institute, UMC Dept. Psychiatry, Utrecht, The Netherlands May 19, 2006
Version History
V0.01 - 19/04/2006 - First working version, based on Neusoscan.exe
V0.02 - 08/05/2006 - Added condition testing, 22bit mode and downsampling
V0.03 - 17/05/2006 - Added notchfilter
Source Code Revisions
(In this section, indicate the BCI2000 source code revisions (changesets) that you used when developing your contribution, and information about testing/compilation. Adapt the list to your own needs. Hint: You obtain the revision of a source code repository by right-clicking its top level directory, and choosing "show log" from the TortoiseSVN submenu.)
- Initial development: 1126
- Tested under: 1126
- Known to compile under: 1528
- Broken since: --
Functional Description
The BCI source module that receives the data from the acquisition is the server so it must be in listening mode before the acquisition unit starts to save data (data is sent only during recording). Micromed sends 64 data packets per second for SD, 32 for LTM. The connection is reset if the computer running BCI2000 is too slow to read all packets. This happens gracefully in version 2.0. Make sure you have SystemPlus 1.02.1091 or higher, in this version Micromed also gracefully closes the TCP/IP connection at BCI2000 errors. A packet of data is structured in 2 sections the first is the header and the second is information data. The first packet sent from the client is the header of an EEG Micromed trace and is read for condition checking. If a note is added in SystemPLUS it is sent as a note packet to the source module. If a digital trigger is sent the trigger code is sent to the source module in two ways: the complete code and a bitmasked code. This allows to send information on a condition (eg in SIGFRIED) and extra information for offline analysis. The header packet and the data packets are in the same format as in a Micromed trace file. The note packet sends the complete note buffer, and written in a textfile with the Micromed Samplenummer.
Installation
To active this function is necessary to add 3 registry keys on the acquisition unit under HKEY_CURRENT_USER\Software\VB and VBA Program Settings\Brain Quick - System 98\EEG_Settings:
- "tcpSendAcq" that is a string type. Set "1" to active the eeg sending data via tcp function otherwise "0".
- "tcpServerName" that is a string type that represent the server name of the computer that receive the eeg trace data.
- "tcpPortNumber" that is a string type that represent the port number. (e.g. 5000)
Parameters
NotchFilter
Power line notch filter.
- 0: disabled,
- 1: at 50 Hz,
- 2: at 60 Hz
SampleBlockSize
The number of samples transmitted at a time in the BCI2000 system. If SampleBlockSize is a multiple of SamplingRate/64, data packets are merged. This way the BCI system can run on less than 64 sampleblocks per second, which saves CPU power.
SamplingRate
The sample rate set by the acquisition unit.
ServerAddress
Address and port of the Micromed BCI Server. The port number can be set in the acquisition unit by changing the registry setting "tcpPortNumber".
SignalType
Numeric type of output signal:
- 0: int16,
- 3: int32.
Other values are not allowed. Use 0 for Micromeds 16 bit mode, 3 for 22 bit mode: only the first 22 bits are used, but data packets are filled with 32 bit integers.
SourceCh
The number of digitized and stored channels, must match the number of channels in the acquisition unit.
States
None.