Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CNBI advancements on eegdev plugin APIv5. master branch #2

Open
wants to merge 23 commits into
base: master
Choose a base branch
from

Conversation

serafperd
Copy link

This pull request reflects additional implementations in the CNBI lab of EPFL, and regards the following progress on the master branch of eegdev:

A) Bug fixes
A1) The patch as workaround for the bison bug from ubuntu 13.04 has been implemented for the master branch (which supports plugin version 5), following the example of the same patch applied in the devel branch of nbourdeau.
A2) Small bug fixes in various plugins (biosemi, gtecnet, gtec), as described in the relevant commits.

B) Addition of 3 plugins
B1) The barv plugin allows eegdev to record data flowing on the network by the BrainProducts Recroder RDA. The RDA can be enabled by a specific dll in order to stream data from the RecView rather than the Recorder. This allows to receive data for fMRI+EEG experiments, where the EEG data are filtered from fMRI artifacts through RecView. Direct connection to the recorder is also possible. This plugin has been tested in real experiments and is working, as well as against network delays (time difference between a hardware LPT trigger and a software event was foudn to be around 12 msec and only increasing by 1 msec or so every 5 minutes). The code is not so professional, as it reflects the author's (Serafeim Perdikis) first effort to make an eegdev plugin. It throws some warnings at compilation, but it is trustworthy and usable. No unit testing in /tests has been implemented for lack of time.

B2) The bbt plugin allows eegdev to record data flowing through bluetooth by a BitBrain dry electrode prototype system, manufactured by BitBrain (http://www.bitbrain.es/) and used for testing and in-car experiments by CNBI and NISSAN. This plugin has been tested in real experiments and is working. The code is not so professional, as it reflects the author's (Inaki Iturrate) first effort to make an eegdev plugin. It throws some warnings at compilation, but it is trustworthy and usable. No unit testing in /tests has been implemented for lack of time.

B3) The gtecnet plugin allows eegdev to record data flowing on the network from the gTec gNEEDaccess server. This server supports currently gUSBamp, gHIamp and gNautilus. Essentially, this plugin renders Linux gTec drivers unnecessary as long as the Windows drivers and the server software are available. It wraps a libgtecnalang C library implementing the gNEEDaccess server's API language for setting up the acquisition and configuration of the devices. This library has been also created in CNBI using C++ sample code from gTec. This dependency will be soon made available on Github. Currently, this plugin allows use of the gHIamp only. It has been tested in real experiments in CNBI. The plugin is made to also support gUSBamp and gNautilus but it is not yet working for these devices. Communication for issues found has been already launched with gTec support. The plugin will be updated accordingly once this communication concludes and all issues are resolved.

serafperd and others added 23 commits March 10, 2015 12:39
…at id not allow eegdev to compile as of Ubuntu 13.04.
…ending. gHIamp is usable with this plugin, despite a weird slow reading until the first buffer overflow. gNautilus (problem with XML configuration) an gUSBamp (unresolved) currently not working with this plugin
… addresses can be parsed for bbt and beurosky plugins
…ded by the eegdev datafile plugin, their type is correctly interpreted. Datafile (fileout.c) uses a regex interpretation of the labels, as there is no other way to transmit the information of the channel type. Labels should not be arithmetically enumerated
…ed wrong sampling rates for gNautilus in man doc
… is what it seems the current API can support, contrary to what advertised. It has to be changed to 16 once an updated net API supports it. Also, disabled data ready event threshold:
…a bug, because I thought that they are the same, but, apparently dResolutions is something else.
…el scale after all, the received value has to be multiplied with it). In the same plugin, I fixed the trigger channel label from Trigger to trigger. That is, because saved files would associate the trigger channel as amopther EEG channel, because type allocation is done with regex expressions and capital T is not among the ones accepted by the datafile plugin (fileout.c) --> Maybe we should make Trigger be acceptable?
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant