Joystick in version 2

Forum for discussion on different signal processing algorithms
Locked
gsudre
Posts: 22
Joined: 05 Mar 2008, 17:03

Joystick in version 2

Post by gsudre » 28 Mar 2008, 15:43

Hello,

I'm having a few problems to set up a joystick in BCI2000 version 2. What I'm trying to do is very simple: use a joystick to control the cursor in the cursor task.

In version 1 I had the binaries and a tab used to show up where I could set up the joystick. I downloaded the source for version 2 but it seems like this tab is not coming up when I compile the code with the default options...

Am I missing something?

Thanks,

Gus

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

joystick

Post by gschalk » 28 Mar 2008, 19:27

Gus,

The joystick functionality in v2.0 does not come with a particular paradigm, but rather is implemented in a much more generic (and powerful) fashion. What you need to do is to simply add the JoystickFilter to the application module you want to use:

http://www.bci2000.org/wiki/index.php/U ... tickFilter

When you turn on the JoystickEnable parameter, you will find the x and y joystick position in appropriate states.

The second step is to add the ExpressionFilter to the signal processing module, and put it before the LinearClassifier in PipeDefinition.cpp.

http://www.bci2000.org/wiki/index.php/U ... sionFilter

This filter can produce an output that is some combination of brain signals and states. This way, you could have the cursor be controlled by either the joystick alone, the brain signals alone, or some combination of joystick and brain, and all you need to do is to change the expression. Check out the documentation above for details.

Hope this helps.

Gerv

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

Post by gsudre » 28 Mar 2008, 19:37

Gerv,

I had found this documentation before, but I was wondering if I needed to recompile code to add the functionality, and it looks like I do.

I don't have problems doing it, but I thought it was weird that this functionality was present in the binaries for version 1 but not 2.

I'll let you know if I run into problems adding the filters.

Thanks.

Gus

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

joystick ...

Post by gschalk » 28 Mar 2008, 20:13

Gus,

I guess you are right. Perhaps we should include it in the default configuration for at least the CursorTask/ARSignalPRocessing.

How do you like v2.0?

Gerv

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

Post by gsudre » 29 Mar 2008, 10:41

Gerv,

Yes, I think it would make sense to do so.

I didn't use version 1 too much, so I don't have much to compare with. Version 2 has been working fine. We managed to convert the DAQmx module to version 2, so that part is done. Now I just need to implement the joystick control and then I'll be able to switch back and forth between inputs.

Now, with that in mind, I have 2 voltage inputs (2 channels) coming from the DAC, one for X and one for Y. Is there a quick way to tell BCI2000 to take these inputs as a position signal (e.g. as a joystick)?

Best,

Gus

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

v2 ...

Post by gschalk » 29 Mar 2008, 15:15

Gus,

Yes, this is easy. Just put in the ExpressionFilter as mentioned above, and remove the ARFilter.cpp from the PipeDefinition.cpp. This way, the signal will go from the ADC into the spatial filter and then right into the ExpressionFilter. If you configure the expression correctly (see the examples on the Wiki), you can switch from ADC input to joystick input or to any combination of the two.

Gerv

Locked

Who is online

Users browsing this forum: No registered users and 6 guests