Jump to content

Contributions:FlexEEG

From BCI2000 Wiki

Synopsis

This source module supports the FlexEEG system made by NeuroCONCISE Ltd. Its key component is the ADC called NC_flexXADC.

Location

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

Versioning

Authors

Tony Moore, Jeremy Hill

Version History

  • Revision r7860 2024-02-23 jhill: first debugged commit

Source Code Revisions

  • Initial development: 7855--7860
  • Tested under: 7860 (Windows)
  • Known to compile under: 7860
  • Broken since: --
  • Known issues: (as at 7860) The API freezes if you press Set Config more than once per session. Then you have to physically power-cycle the device before you can connect again.

Functional Description

This source module supports the FlexEEG systems made by NeuroCONCISE Ltd.

For best results, set the FlexEEGPort environment variable to specify the default serial port address for the computer you are using (e.g. COM9 on Windows). On Windows 11, the dialog that allows you to create or edit environment variables is at: Control Panel->System and Security->System->Advanced system settings->Environment Variables

Installation

The FlexEEG source module requires the flexX64.dll dynamic library. This is part of the manufacturer's API. The file must be placed in the prog directory. A compiled version of the dynamic library for 64-bit Windows is supplied in the lib subdirectory, and will be copied to prog during the build process.

Parameters

SampleBlockSize, SamplingRate, SourceCh, SourceChGain, SourceChOffset, TransmitChList

These parameters are the same as for other BCI2000 source modules. For current devices (as at Feb 2024), the SamplingRate should always be either 125 or 250. The SampleBlockSize must be at least 24 (a value of 25 at 250Hz gives you 100ms blocks). The SourceChOffset values should be all 0 and the SourceChGain values should be all 1 (or both can be left at "auto").

PortName

This is the port on which the headset connects, e.g. COM9 on Windows. You may lastingly set the default value on a particular computer by configuring a system environment variable called FlexEEGPort.

AcquisitionMode

This allows you to switch between normal signal acquisition (code 0), acquiring a square-wave test signal (code 1), or shorting the inputs for purposes of offset or noise measurement (code 2).

DCfilter

This turns on (1) or off (0) the device's built-in DC filter.

Resolution

This sets the device's digitization precision to 16-bit (code 1) or 24-bit (code 0).

States

TODO

Need a state that reflects the device's current battery level, and code for periodically querying the device and updating this state.

Streams

Trigger

Streams the digital trigger channels from the device (this device feature is still under development as at Feb 2024).

See also

Contributions:ADCs