We wanted to use the P300 speller to do some simple tasks with a robot arm so I wrote an algorithm to read an xml file which specified a list of commands for a number of tasks. Depending on the chosen P300 speller character, these commands are then written to the serial port, which connects the pc to the robot arm.
However it takes a while, e.g. 18 seconds, to complete the task. Then I get the warning that openvibe can not reach realtime which is off course not surprising. So here are my questions:
- All the EEG signals present during the completion of the task are off course irrelevant as the speller visualisation is also halted. But when I want to spell the next character does openvibe then first read the very old buffered EEG signals or does it only look at the most recent data when the P300 speller visualization resumes? I ask this because openvibe reports something like: 18 seconds late, 17 seconds late and so forth. So it seems openvibe still tries to process the passed 18 seconds of data?
- If that is the case, can I do something to throw away the old buffered data?
- Maybe a cleaner solution: The task could be completed while the user is already focussing on the next character. This would require a thread that executes the robot arm movement in parallel to the P300 speller visualization. Is this possible and how should I do that?
Thanks in advance,
Dieter