appconnector

Forum for software developers to discuss BCI2000 software development
Locked
nadoona
Posts: 14
Joined: 10 Aug 2007, 15:31

appconnector

Post by nadoona » 07 Oct 2007, 13:29

hi,
I want to read about developing applications and connecting them to BCI2000, but I can't find a detailed tutorial to help me in this subject. I've read the app_connection.pdf. do you have any detailed tutorial that talks about the appconnector?
thank you.

mellinger
Posts: 1341
Joined: 12 Feb 2003, 11:06

Post by mellinger » 08 Oct 2007, 09:53

Nadoona,

there are two demo applications that use the app connector:

src/AppConnectorApplications/ParallelSwitch
is a simple command line program that translates a BCI2000 state into hardware output

src/AppConnectorApplications/AppConnectorExample
is a GUI application that allows manipulation of BCI2000 state values (requires the qt framework which is available for download at http://trolltech.com/).

HTH,
Juergen

nadoona
Posts: 14
Joined: 10 Aug 2007, 15:31

Post by nadoona » 08 Oct 2007, 13:32

thanks I saw those two applications, but I need to ask about two things. first, Do I need to open any application (like the screen.exe) in order to open the config window and work with app conector? because the operator window doesn't allow opening the configuration window without opening any application. second, if you can tell me about any tutorial that explains the app connector in more details rather than those two applications it would be great. thanks alot.

nadoona
Posts: 14
Joined: 10 Aug 2007, 15:31

Post by nadoona » 08 Oct 2007, 14:46

to clarify more what I want. I want to make an application using C# and make it communicate with BCI2000 through AppConnector. can you tell me exactly what do I need to do because I can't find any information to help me in the documents. thanks a lot for ur help.

mellinger
Posts: 1341
Joined: 12 Feb 2003, 11:06

Post by mellinger » 09 Oct 2007, 08:56

Nadoona,

the AppConnector interface is part of the application modules.
To communicate over the AppConnector protocol, BCI2000 must be configured ("SetConfig") and running ("Run").

Further details are available in the AppConnector protocol description at

http://www.bci2000.org/downloads/doc/app_connection.pdf

which is also in the wiki at

http://www.bci2000.org/wiki/index.php/App_Connector

HTH,
Juergen

nadoona
Posts: 14
Joined: 10 Aug 2007, 15:31

Post by nadoona » 09 Oct 2007, 18:52

hi,
thanks a lot for your reply. I Just want to make sure that I got it correct. so, I need to make an empty application module to run inside BCI2000 just to be able to use the AppConnector and connect to my external application. is this correct??

Nadoona

mellinger
Posts: 1341
Joined: 12 Feb 2003, 11:06

Post by mellinger » 10 Oct 2007, 08:24

Nadoona,

if you are going to use the AppConnector, then your application module needs to contain ConnectorInput and ConnectorOutput filter as a minimum configuration.

--Juergen

gsudre
Posts: 22
Joined: 05 Mar 2008, 17:03

Post by gsudre » 06 Mar 2008, 09:10

From reading the documentation, I think the Appconnector can only be used to write to and read from the Application core module. Is that right? If so, is there any way to write to the core chain as an input to the Signal Processing core module? In other words, it would replace the source core module with an external program. Or is a source module the only way to write to the signal processing module?

Thanks,

Gus

gschalk
Posts: 615
Joined: 28 Jan 2003, 12:37

AppConnector ...

Post by gschalk » 07 Mar 2008, 15:25

Gus,

The AppConnector protocol technically receives/sends data before/after the Application modules, respectively. However, please note that BCI2000 states are communicated through the system, so they will be available to all modules.

This can be used in many ways, but is best suited to send/receive 'passive' information, e.g., position of a joystick/mouse/eye tracker, etc. Please note that you can use the ExpressionFilter to combine these states (e.g., joystick position) with output produced by the classifier (so that you could control the output application using a combination of brain signals and external inputs, and that without any programming!). If you want to acquire raw data that are to be processed substantially (features extracted/classified, etc.), conceptually the cleanest way is to acquire them in the Source module.

Gerv


Gerv

Locked

Who is online

Users browsing this forum: No registered users and 0 guests