bcierr and bciout

Known Issues and Problems with BCI2000
Posts: 2
Joined: 10 Feb 2006, 09:02

bcierr and bciout

Post by flaurent » 24 Feb 2006, 18:18


I experienced some problems with the RDAClient module. The bcierr message was :
RDAClientADC::Preflight: The SourceChGain values for the first 7 channels must match the channel resolutions settings in the recording software (0.0488281)
The error still occured with the mentionned value provided in SourceChGain.

I wrote a small program with RDAQueue.* in order to play again the preflight phase, using cout instead of bcierr. The reported values (both the value in Parameter and the value from the RDA server) were the same. Eventually, I used printf and I got a different value, with many decimal digits (0.04882812731921149 with a V-Amp16).

Hence cout and cerr (as well as bciout and bcierr) seem to limit the number of decimal places when displaying floatting point numbers, and the problem I encountered may not be limited to the RDAClient module.

If you are in the same situation, you could compile again the EEG source module after removing the test in the Preflight method (the introduced error is neglectible), or query the acquisition program as I did.

I hope this could help.

Posts: 1064
Joined: 12 Feb 2003, 11:06

Post by mellinger » 27 Feb 2006, 10:34

Thank you for the bug report, and for your examination of the problem that made it easy to fix.

Testing for identity in this context definitely constituted a bug, so the current version will now check for a relative error below 1e-3 which should be more appropriate.

I wouldn't recommend to entirely remove the test in RDAClient::Preflight().
It is intended as a sanity check, to prevent users from running the source module without configuring it properly, or with a wrong parameter file.



Who is online

Users browsing this forum: No registered users and 1 guest