ChrisVeigl / BrainBay

Open Source Biofeedback Software
http://brainbay.lo-res.org
Other
163 stars 52 forks source link

Can't connect Emotiv EPOC (consider LSL?) #19

Open Tolsi opened 5 years ago

Tolsi commented 5 years ago

There is a message about the successful emotiv sdk libraries loading in the logs, but in the settings everything is empty and there is no signal and any information about the device: wireless quality and battery life. Also, I can see the device data in the Emotiv Control Panel.


21.04.19 - 11:36:12 now trying to open C:\Program Files (x86)\Emotiv Research Edition SDK v2.0.0.20\dll\32 bit\edk_utils.dll
21.04.19 - 11:36:12 open was successful
21.04.19 - 11:36:12 LOADING EDK_UTILS.DLL succeeded.
21.04.19 - 11:36:12 LOADING EDK.DLL succeeded.
21.04.19 - 11:36:12 INFO: Sucessfully loaded Emotiv EDK dll from C:\Program Files (x86)\Emotiv Research Edition SDK v2.0.0.20\dll\32 bit```
ChrisVeigl commented 5 years ago

hi, the Emotiv EPOC support was added many years ago, and i currently do not have access to the EPOC hardware, so this could be difficult ... it would be great to have Brainbay working with the current EPOC SDK - but it will be challenging to find the problem.

I can confirm it worked with Emotiv Development Kit_v1.0.0.3-PREMIUM\edk_utils.dll to read the raw EEG channel data. The Brainbay element works similar to what is described in the Community SDK documentation https://github.com/Emotiv/community-sdk/blob/master/Getting_started_with_Emotiv_SDK_v3.5.pdf under 4.5 (Example 5- IEEG Logger Demo, page 18). Do you have the Premium license activated as outlined there ?

Tolsi commented 5 years ago

There is a lot of confusion in the Emotiv Research SDK versions. Versions 1.x.x and 2.x.x are available to Emotic EPOC owners, while both EPOC+ and Insight are exactly available in 3.x.x (I’m unsure about earlier versions). Research SDK version 1.x.x cannot be officially obtained through the support or the Emotiv website now, only 2.0.0.20 is available on archive page. The SDK version 3.3.0+ I found only Community version in the public repository. I could not find Emotiv Research SDK 3+ package anywhere on the Internet.

So yes, I have a "premium" developer license, but I haven't 3.x.x Research SDK.

Also you can see the sources of openvibe acquisition server v1.3.0 (you can find it here), it works for me with Research SDK version 2.0.0.20.

ps Today I found Research SDK packages v 1.0.0.4-1.0.0.5 and I will try with them.

ChrisVeigl commented 5 years ago

okay .... https://gitlab.inria.fr/openvibe/extras/blob/master/applications/platform/acquisition-server/src/drivers/emotiv-epoc/ovasCDriverEmotivEPOC.cpp is a good hint! unfortunately I cannot test it with the hardware ... I'm curious if the older SDK packages will work! - i could send you v1.0.0.3 if needed.

Tolsi commented 5 years ago

I can't install 1.0.0.5 SDK using my 2.x license :< Can you send me the serial key and order number for 1.x sdk? 😅You can find my email in the profile. Or just share the edl.dll and other dlls.

Tolsi commented 5 years ago

I unpacked the 1.0.0.4 and 1.0.0.5 packages without a license and pointing BrainBay to them, but an SDK dlls connection error appears (they are present in this path). It may be that there is no license, but the Emotiv Control Panel from these versions sees the device and works.

ChrisVeigl commented 5 years ago

hmmm .. actually i have no idea what is wrong... i can just send you my 1.0.0.3 version and we give it a try.... however - best approach would be to test it with a recent version of SDK + hardware! if we do not find a way for me to get hands on an EPOC device i could just offer to add some debug messages to the connection process for you to test....

Tolsi commented 5 years ago

i can just send you my 1.0.0.3 version and we give it a try

Okay, send it to me.

best approach would be to test it with a recent version of SDK + hardware

I don't have last research SDK and I don't know where to find it :<

i could just offer to add some debug messages to the connection process for you to test....

I think this is the easiest and most effective step for now.

Also, did you think to add data acquisition through the openvibe acquisition server? This may be a simpler and more universal way to add support for new devices not even with your hands :) It works for me, maybe it would just be to read the data through it.

ChrisVeigl commented 5 years ago

ok i will add the debug output and send you an updated version for testing.

using the openvibe acquistion server is a great idea! but it will take some time - i don't have much spare time ... is there a good documentation of the connection process / data protocol ?

ChrisVeigl commented 5 years ago

Regarding connection of OpenVibe supported devices (including the Emotiv EPOC and many others), William Croft just pointed me to a great alternative: https://github.com/sccn/labstreaminglayer/wiki

Integration of LSL support would allow connection to Emotiv EPOC (via the OpenVibe Acquisition server or the LSL-app for emotiv) and others.