using the Emotiv with openvibe

Obtaining data from various hardware devices
d ancau
Posts: 6
Joined: Mon Jan 08, 2018 3:15 pm

Re: using the Emotiv with openvibe

Post by d ancau »

Hi,

I've downloaded Thierry's fix attempt (acquisition-server-emotivtest) and run it with Willux's fix (replacing UserID with 4096 in the config file).
This way, the "Timed out after 5000ms error" did not occur any more. However, the execution of the test acquisition server stops with another error:

[ INF ] Created kernel loader, trying to load kernel module
[ INF ] Kernel module loaded, trying to get kernel descriptor
[ INF ] Got kernel descriptor, trying to create kernel
[ INF ] Adding kernel configuration file [C:/Users/Administrator/Desktop/acquisition-server-emotivtest/acquisition-server-emotivtest//share/openvibe/kernel/openvibe.conf]
[ INF ] Logging to 'C:/Users/Administrator/AppData/Roaming/OpenVIBE/log/openvibe-acquisition-server.log'
[ INF ] Adding plugins from [C:/Users/Administrator/Desktop/acquisition-server-emotivtest/acquisition-server-emotivtest//bin/openvibe-plugins-*-stream-codecs*.dll]
[ INF ] Added 19 plugin object descriptor(s) from [C:/Users/Administrator/Desktop/acquisition-server-emotivtest/acquisition-server-emotivtest//bin/openvibe-plugins-sdk-stream-codecs.dll]
WSAStartup() is OK, Winsock lib loaded!
[WARNING] Registery key Software\VB and VBA Program Settings\Brain Quick - System 98\EEG_Settings is not initialized
[ INF ] Loading plugin: ExternalStimulations (deprecated)
[ INF ] Loading plugin: TCP Tagging
[ INF ] Loading plugin: LSL Output
[ INF ] Connecting to device [Emotiv EPOC]...
[ INF ] Connection succeeded !
----- Log message started at: Sun May 13 12:20:55 2018 -----
12:20:55.062 D DataAcqThread | Get index channel couter EEG 1
12:20:55.064 D DataAcqThread post ADDED NewInputStream with available device: 0
12:20:55.064 D MarkerControlDetection::init() : marker channel is not available
12:20:55.064 I NTExpressivDetectionManager : Loading classifier...
12:20:55.065 I CognitivDetectionManagerG2 : Loading classifier...
12:20:55.065 E CognitivDetectionManagerG2 : Error in loading classifier!
12:20:55.065 I CognitivDetectionManagerG2 : Building classifier...
12:20:55.065 I CognitivDetectionManagerG2 : Searching cached classifier...
12:20:55.065 I CognitivDetectionManagerG2 : Target classifier not found in cache.
12:20:55.065 I CognitivDetectionManagerG2 : Loading existing training data...
12:20:55.065 D CognitivGaussianDatabase::loadClassesData() : loadClassesData
12:20:55.065 I CognitivDetectionManagerG2 : Existing training data loaded.
12:20:55.065 I CognitivDetectionManagerG2 : Error in training: type 1 has no training data, aborting training...
12:20:55.065 I CognitivDetectionManagerG2 : Classifier cannot be built.
12:20:55.066 I Real detections initialized
[ INF ] Starting the acquisition...
[ INF ] Now acquiring...
[ ERROR ] [LOOP] Emotiv Driver: An error occurred while updating the DataHandle. EDK Error Code [8211]
[WARNING] Something bad happened in the loop callback, stopping the acquisition
[ ERROR ] [WARNING] Something bad happened in the loop callback, stopping the acquisition
[ INF ] Stopping the acquisition.
[ INF ] Stats after 0.251953 seconds of 128hz sampling,
[ INF ] Received : 32 samples
[ INF ] Expected : 33 samples
[ INF ] Returned : 33 samples (after drift correction)
[ INF ] Added : 1 samples (0.030303%)
[ INF ] Removed : 0 samples (0%)
[ INF ] Estimated drift (tolerance = 2ms),
[WARNING] Slow peak : -1.05469 samples (8.23975ms late, 411.987% of tol.)
[ INF ] Fast peak : 0 samples (0ms early, 0% of tol.)
[ INF ] Last estim : -0.148438 samples (-1.15967ms, -57.9834% of tol.), after corr.
[ INF ] Remaining : 0 samples (0ms, 0% of tol.), after corr.
[ INF ] Disconnecting.

I've checked the code of the ovasCDriverEmotivEPOC.cpp and it seems that the lines giving the error are the following:

Code: Select all

uint32 l_ui32nSamplesTaken=0;
m_ui32EDK_LastErrorCode = IEE_DataUpdateHandle(m_ui32UserID, m_tDataHandle);
if(m_ui32EDK_LastErrorCode != EDK_OK)
{
	m_rDriverContext.getLogManager() << LogLevel_Error << "[LOOP] Emotiv Driver: An error occurred while updating the DataHandle. EDK Error Code [" << m_ui32EDK_LastErrorCode << "]\n";
	return false;
}
Does anyone have an idea what error occured?
Another problem is that even though I managed to compile openvibe 1.3.0, 2.0.0 and 2.1.0 from sources on Win10 and during the build process the feedback Found Emotiv API, Found edk.lib appeared, the dropdown list from the acquisition server does not contain the Emotiv driver. Therefore, I can only work with acquisition server test, which I cannot really debug, because the .zip file does not contain ovasCDriverEmotivEPOC.cpp. Any ideas how to work around this as well?

Best regards,
D Ancau

AYDLINN
Posts: 16
Joined: Thu Mar 29, 2018 6:28 am
Location: Bask Country
Contact:

Re: using the Emotiv with openvibe

Post by AYDLINN »


d ancau
Posts: 6
Joined: Mon Jan 08, 2018 3:15 pm

Re: using the Emotiv with openvibe

Post by d ancau »

Thank you for the suggestion. I've installed CyKitv2 and ran it, being able to record an EEG from my EPOC+. However, it would seem the functionality does not surpass that of EmotivPRO. Did you mean to connect / stream to Openvibe via CyKitv2? If so, how is this done?
Best,
d ancau

AYDLINN
Posts: 16
Joined: Thu Mar 29, 2018 6:28 am
Location: Bask Country
Contact:

Re: using the Emotiv with openvibe

Post by AYDLINN »

d ancau wrote:
Thank you for the suggestion. I've installed CyKitv2 and ran it, being able to record an EEG from my EPOC+. However, it would seem the functionality does not surpass that of EmotivPRO. Did you mean to connect / stream to Openvibe via CyKitv2? If so, how is this done?
Best,
d ancau
follow the instructions go "open vibe instruction"

jtlindgren
Posts: 775
Joined: Tue Dec 04, 2012 3:53 pm
Location: INRIA Rennes, FRANCE

Re: using the Emotiv with openvibe

Post by jtlindgren »

d ancau wrote: Another problem is that even though I managed to compile openvibe 1.3.0, 2.0.0 and 2.1.0 from sources on Win10 and during the build process the feedback Found Emotiv API, Found edk.lib appeared, the dropdown list from the acquisition server does not contain the Emotiv driver. Therefore, I can only work with acquisition server test, which I cannot really debug, because the .zip file does not contain ovasCDriverEmotivEPOC.cpp. Any ideas how to work around this as well?
Hi, you can try to make the visual studio IDE build and open the emotiv-related .cpp files in the VS editor from the solution sidebar. Is the code grayed out (wait for intellisense to complete to know)? If yes, then the file FindThirdPartyEmotivAPI.cmake is not detecting and/or declaring your emotiv sdk properly. In this case the task is to investigate why that cmake file fails - it can be edited with a text editor. Sometimes making a clean build or deleting CmakeCache.txt may help. If on the other hand the code is not grayed out, this is more weird. In this case I'd expect the driver to appear in the pulldown menu or the compilation to fail.

Hope this helps,
Jussi

ps. thanks Aydlinn for the CyKIT tip!

dragouns
Posts: 8
Joined: Thu Jun 28, 2018 11:23 am

Re: using the Emotiv with openvibe

Post by dragouns »

hello,

Just, have you seen the new from the emotive gitub, they say the skd will be close by December 2018.
It seems that the sdk will change again, so it will again be necessary to change the openvibe driver...
This is really the worst investment I have made this emotiv epoc+...
https://github.com/Emotiv/community-sdk look the README.md

tchabin
Posts: 6
Joined: Tue Dec 18, 2018 4:16 pm

Re: using the Emotiv with openvibe

Post by tchabin »

Hi everyone,

Did someone finally solved the problem of the loss connexion with the driver after 5000 ms?

I can connect the Emotiv EPOC (model 1.1) with Openvibe using the AS of OV.2.2.0 and configure the path of the AS to Emotiv SDK 3.5.1.
I also have an annual Pro licence.
The headset is well turned on and appears connected in the control panel but I still get the message :

[ INF ] Connecting to device [Emotiv EPOC]...
[ INF ] Connection succeeded !
[ INF ] Starting the acquisition...
[WARNING] Fiddler is enableb! Only use for debug purposes. Set strength=0 to disable.
[ INF ] Now acquiring...
[WARNING] After 5000 milliseconds, did not receive anything from the driver - Timed out
[WARNING] After 5000 milliseconds, did not receive anything from the driver - Timed out
[WARNING] After 5000 milliseconds, did not receive anything from the driver - Timed out



Can someone help me?

Thank you!

Thibault.

tchabin
Posts: 6
Joined: Tue Dec 18, 2018 4:16 pm

Re: using the Emotiv with openvibe

Post by tchabin »

Hi everyone,

I asked to Emotiv support if the latest version of cortex is currently compatible with Openvibe, here is their answer :

"EPOC+ headset cannot connect directly to a third party software like Openvibe. Our Cortex and data is currently not compatible with Openvibe."

Disappointing!

Thibault.

Post Reply