Page 1 of 1
error - NIDAQ_mx_Source.exe
Posted: 07 Oct 2011, 08:28
by bcip3
Hello,
I am working with a National Instruments device, using NIDAQ_mx_Source.exe as a Signal Source. When I press on QUIT or SUSPEND, the tipical Windows XP error appears:
NIDAQ_mx_Source.exe has detected a problem and must be closed.
By the way, I would like to know if it is possible to create a communication between the application (module 3) and MATLAB in an easily way. I have been reading about it, but it is the first time I am working with two programs at the same time and I don't know if it is possible to add a new filter in the module 3 to start the communication with MATLAB.
Thanks in advance.
Re: error - NIDAQ_mx_Source.exe
Posted: 11 Oct 2011, 11:33
by mellinger
I am working with a National Instruments device, using NIDAQ_mx_Source.exe as a Signal Source. When I press on QUIT or SUSPEND, the tipical Windows XP error appears:
NIDAQ_mx_Source.exe has detected a problem and must be closed.
Unfortunately, I don't have a NI board available, so I cannot test the source module myself. In case you are compiling BCI2000 from source, you might try commenting out the files from the NIDAQ-Logging subdirectory from the CMakeLists.txt, run CMake, recompile the source module, and see whether the error persists.
By the way, I would like to know if it is possible to create a communication between the application (module 3) and MATLAB in an easily way. I have been reading about it, but it is the first time I am working with two programs at the same time and I don't know if it is possible to add a new filter in the module 3 to start the communication with MATLAB.
Before writing your own filter, you might try adding the Matlab filter from core/SignalProcessing/Matlab to the dummy application module. This way, you can execute Matlab code from within the BCI2000 processing pipeline. Then, there is the AppConnector protocol that lets you read and write BCI2000 states and signal over a UDP network connection (
http://www.bci2000.org/wiki/index.php/T ... _Connector).
Regards,
Juergen
Re: error - NIDAQ_mx_Source.exe
Posted: 14 Oct 2011, 04:18
by bcip3
Hi Juergen,
Thanks for your help one more time.
The first issue, it is already fixed following your instructions: "Commenting the files from the NIDAQ-Logging subdirectory from the CMakeList.txt, running CMake and recompiling the source module".
About my second question, I have included the Matlab filter in the third module as you mentioned. I followed the instructions from the wiki to add two filters and I have created a new PipeDefinition.cpp file with the filter's order:
Filter( P3SpellerTask, 3.B );
Filter( MatlabFilter, 3.C );
When I run the application, I receive the following error after few seconds:
DataIOFilter::EvaluateTiming: Roundtrip time consistently exceeds block duration (currently 113.75%).
I know it is a MatlabFilter issue because if I remove this filter everything works but I don't understand why it (MatlabFilter) takes too much time to process the information (even if nothing is processed), therefore, the system is not able to process the data as fast as they are coming in.
My computer:
Pentium Dual-Core 3Ghz
3,50 GB RAM
Matlab R2009a
Let me know if I should open a new post in BCI Systems - User Applications for this issue.
KR.
Re: error - NIDAQ_mx_Source.exe
Posted: 14 Oct 2011, 08:25
by mellinger
Hi,
I fixed an issue in the NIDAQ-Logging components, so you should not get that error any more when re-enabling them.
Regarding the Matlab filter problem: Do you have the same timing issue when running the MatlabFilter within the MatlabSignalProcessing module rather than in the Application module? Also note that you shouldn't run Matlab in the background when starting up BCI2000 -- the MatlabFilter will open its own instance of Matlab. For good timing, you should not have any other applications open when running BCI2000, and you should not run BCI2000 in a virtual machine.
Regards,
Juergen