From BCI2000 Wiki
Revision as of 16:33, 4 June 2008 by Jfialkoff (talk | contribs) (Parameters)
Jump to: navigation, search


The AmpServerProADC component implements the client side of EGI's TCP/IP-based Amp Server Pro (ASP) protocol. Thus, it may be used to interface BCI2000 with an EGI amplifier managed by an ASP server.




Joshua Fialkoff, (c) 2008 Wadsworth Center, New York State Department of Health.

Version History

  • V1.00 - 06/04/2008 - First working version

Source Code Revisions

  • Initial development: 268
  • Tested under: 1110
  • Known to compile under: 1528
  • Broken since: --

Functional Description

This document describes the source module (AmpServerPro.exe) that enables BCI2000 to utilize EGI's Amp Server for data acquisition. This component has been tested with Amp Server Pro v1.0 beta running on an Intel-based Mac and with BCI2000 running on Windows XP. There is a known issue running both Amp Server and BCI2000 on the same computer via Parallels. That particular configuration is not recommended.

Starting Amp Server Pro

Amp Server Pro is capable of working with many amplifiers concurrently. To begin using Amp Server Pro with BCI2000, ensure that at least one amplifier is connected to the server. If no amplifier is connected, the Amp Server software emulates an amplifier. If you choose to use the emulated amplifier, you should expect to see a smooth sine wave signal for all channels. When your amplifiers are connected, start the Amp Server by double clicking "Amp Server".

Compiling the Amp Server Pro Source Module

Using Amp Server Pro with BCI2000

Once you have started the Amp Server and compiled the Amp Server Pro module, you can begin collecting data with BCI2000 by following the steps below:

  1. Download the batch file available here and save it to BCI2000/batch/CursorTask_AmpServerPro.bat.
  2. To run the cursor task in BCI2000, double click BCI2000/batch/CursorTask_AmpServerPro.bat. If you prefer to operate under a different paradigm, you can edit either of the last two lines of CursorTask_AmpServerPro.bat to load the appropriate modules.
  3. Click the "Configure" button.
  4. Set the appropriate parameters. The Amp Server Pro module is initialized with a number of parameters which can be configured from the "Source" tab. A summary and description of these parameters follows.
  5. Click "Set Config". If the operator reports any errors, you must handle these.
  6. Click "Start" to begin your experiment.



IP address of the computer running the Amp Server software (e.g.,'


The port number of the port used for command layer communication. Unless you have explicitly set the port number via Amp Server's configuration, the default of 9877 should be correct.


The port number of the port used for notification layer communication. Unless you have explicitly set the port number via Amp Server's configuration, the default of 9878 should be correct.


The port number of the port used for data streaming. Unless you have explicitly set the port number via Amp Server's configuration, the default of 9879 should be correct.


Amp Server Pro is capable of managing many amplifiers concurrently. BCI2000, however, operates with a single amplifier. If only a single amplifier is connected, you may enter the value "auto" here and allow BCI2000 to automatically determine the Amplifier ID. If multiple amplifiers are connected, however, you must enter a valid ID from 0 to N where N is the number of amplifiers connected.


In the case that BCI2000 loses its connection to the Amp Server, a given read request may hang indefinitely. In order to avoid this issue, set the timeout to a value greater than 0. Note the value is interpreted as milliseconds and that 0 disables the timeout.


The Amp Server Pro source module introduces no additional states.

The neurogetparams Command Line Tool

This command line tool reads system settings from the Neuroscan Acquire server, displays them on a screen and creates a BCI2000 parameter file fragment if desired. It can be used as follows: neurogetparams -address localhost:3999 -paramfile test.prm. (The Acquire server has to be enabled before using this tool.) Once BCI2000 is configured correctly, this parameter file fragment needs to be loaded on top of the existing configuration to make sure that the settings match. You only need to repeat this procedure if you change settings in Acquire (e.g., such as the number of channels or the amplification).

BCI2000 Parameter Tool for Neuroscan Acquire V4.3
(C)2004 Gerwin Schalk and Juergen Mellinger
        Wadsworth Center, New York State Dept of Health, Albany, NY
        Eberhardt-Karls University of Tuebingen, Germany
Signal Channels: 32
Event Channels:  1
Block Size:      40
Sampling Rate:   1000
Bits/Sample:     16
Resolution:      0.168uV/LSB
Parameter file test.prm successfully written

See also

User Reference:Filters, Contributions:ADCs