Page 1 of 1

Module based on ApplicationBase: "Unexpected VisSignal

Posted: 09 Feb 2010, 09:04
by OliverHfmn
Hi everyone,

I'm trying to create a new application module which sends data via TCP/IP to a Java application. The connection itself seems to work but immediately after pressing "Start" in the operator I get a
"CoreModule::HandleVisSignal: Unexpected VisSignal message."
before the first Process() gets executed.

My Module directly extends ApplicationBase because the other tasks (FeedbackTask and StimulusTask) don't fit to my purpose.

In case I missed something: I've declared the following methods and I use the default constructor of ApplicationBase( i.e. inDisplay is null because I dont' want any visualisation):

Code: Select all

	virtual void Preflight(const SignalProperties& Input, SignalProperties& Output) const;
	virtual void Initialize(const SignalProperties& Input, const SignalProperties& Output);
	virtual void Process(const GenericSignal& Input, GenericSignal& Output);
	virtual void Halt();

Posted: 09 Feb 2010, 10:38
by mellinger
Hi,

I created a dummy application task as you described, and cannot reproduce your problem with BCI2000 V2.0.

Which version of BCB are you using?

--Juergen

Posted: 09 Feb 2010, 10:48
by OliverHfmn
I'm using trunk revision 2658 for all modules, but the BCI 2000 and the operator executables are from the BCI2000Setup_091110.exe

Posted: 09 Feb 2010, 11:01
by OliverHfmn
I now tried with revision 2606 which should be the one from 11/10/09 (so modules and operator executable are from the same revision) but it didn't change anything.

Posted: 09 Feb 2010, 11:09
by mellinger
Which of the modules is reporting the "Unexpected VisSignal" error message?
Can you reproduce the problem when using the SignalGenerator, the ARSignalProcessing, and your dummy application module?

Posted: 09 Feb 2010, 11:12
by OliverHfmn
Seems it has nothing to do with the application module.

I detected that if I set a parameter file in the launcher and then start the operator I get some errors in the operator's log window (which are ok because my parameter file was invalid) but the "Start" button is enabled and can be pressed (despite the Initial() phase has never been run).

If I start the operator from the launcher without a parameter file and load the file via "Config - Load Parameters" and "Set Config", the "Start" button is disabled (as it probably should be because of the errors in the log).

Posted: 09 Feb 2010, 11:17
by mellinger
Oops, this looks like a bug.
Thanks for reporting!

--Juergen

Posted: 09 Feb 2010, 11:29
by OliverHfmn
I didn't get this problem with a combination of
SignalGenerator -> ARSignalProcssing -> MyAppModule

but if I use
SignalGenerator -> DummySignalProcessing -> MyAppModule

I'm again able to press "Start" even when my log entry has an error from the Initialize phase.

I've tested it with a simple

Code: Select all

bcierr << "Foo" << endl;
in the Initialize() method - all other methods are empty.

Posted: 09 Feb 2010, 11:30
by OliverHfmn
I'm glad I could help you to improve the application :)

Posted: 05 Mar 2010, 10:51
by mellinger
This bug has been fixed in rev. 2691 (http://www.bci2000.org/tracproj/changeset/2691).