Emotiv Epoc with Emokit on Linux

Obtaining data from various hardware devices
Post Reply
csmik
Posts: 4
Joined: Sat Nov 10, 2012 8:09 pm

Emotiv Epoc with Emokit on Linux

Post by csmik »

Hi everyone,

I am writing here because I am trying to make openvibe working with the emotiv epoc headset on linux (ubuntu 12.04 32bits).

I can't use the official SDK because I only have the eductional version of the SDK (which is apparently not supported by openvibe), so I decided to use the alternative emokit.

I used this version of openvibe https://github.com/antoche/openvibe (patched for emokit usage) and this version of emokit https://github.com/qdot/emokit .
I had quite a lot of problems during the installation, had to copy manually the include and library files (wrong path in the cmake files).
After a while, it started to build openvibe with the driver but failed because of the structure "emokit_device" which wasn't recognised, so I moved it inside the emokit header file.

But now, there is a new problem, and I have no clue about where I should look at:

Code: Select all

Linking CXX executable OpenViBE-acquisition-server-dynamic
/usr/local/lib/libemokit.a(emokit.c.o): In function `emokit_create':
emokit.c:(.text+0x30): undefined reference to `hid_init'
/usr/local/lib/libemokit.a(emokit.c.o): In function `emokit_get_count':
emokit.c:(.text+0x7b): undefined reference to `hid_enumerate'
emokit.c:(.text+0xa4): undefined reference to `hid_free_enumeration'
/usr/local/lib/libemokit.a(emokit.c.o): In function `emokit_identify_device':
emokit.c:(.text+0x109): undefined reference to `hid_get_feature_report'
/usr/local/lib/libemokit.a(emokit.c.o): In function `emokit_open':
emokit.c:(.text+0x24f): undefined reference to `hid_enumerate'
emokit.c:(.text+0x26f): undefined reference to `hid_open_path'
emokit.c:(.text+0x294): undefined reference to `hid_free_enumeration'
emokit.c:(.text+0x2e0): undefined reference to `hid_get_serial_number_string'
/usr/local/lib/libemokit.a(emokit.c.o): In function `emokit_close':
emokit.c:(.text+0x320): undefined reference to `hid_close'
/usr/local/lib/libemokit.a(emokit.c.o): In function `emokit_read_data':
emokit.c:(.text+0x35c): undefined reference to `hid_read'
collect2: ld returned 1 exit status
make[2]: *** [OpenViBE-acquisition-server-dynamic] Error 1
make[1]: *** [CMakeFiles/OpenViBE-acquisition-server-dynamic.dir/all] Error 2
make: *** [all] Error 2
Thanks a lot for your help,
Regards,

csmik
Posts: 4
Joined: Sat Nov 10, 2012 8:09 pm

Re: Emotiv Epoc with Emokit on Linux

Post by csmik »

I succeed to compile it by modifying the cmake file concerning the emokit in the cmake-modules folder, adding the libhidapi library.
I had to modify the vendor and product ids in the emokit.h file.
The driver is now compiled into openvibe and the headset is recognised by the driver, but openvibes crashes when I try to record the scenario.
I'm trying to investigate this but it might take a while ...
I'm trying to compile the official driver with the Educational SDK on linux, and I have to write a new driver for this. Will see if it works.
Cheers,

FelipeG
Posts: 2
Joined: Wed Dec 19, 2012 8:14 pm

Re: Emotiv Epoc with Emokit on Linux

Post by FelipeG »

Hi csmik

I was wondering if you had somewhere written the steps to setup the emokit In ubuntu 12.04 I haven't been able to do it I could use some help

Thanks in advance

Felipe

csmik
Posts: 4
Joined: Sat Nov 10, 2012 8:09 pm

Re: Emotiv Epoc with Emokit on Linux

Post by csmik »

Hi!

Funny fact, I'm currently working on it.
I actually succeed to make it working with the education SDK (which should be the same with the research).
Hasn't succeed with emokit but it might be possible rewriting all the signals (or I don't remember which problem I had).
I will post the patch here for the official SDK soon.

Regards,

FelipeG
Posts: 2
Joined: Wed Dec 19, 2012 8:14 pm

Re: Emotiv Epoc with Emokit on Linux

Post by FelipeG »

Thanks :) That would be very nice.

IOnlyThink
Posts: 4
Joined: Sun Jul 15, 2012 12:35 pm

Re: Emotiv Epoc with Emokit on Linux

Post by IOnlyThink »

Hi guys,

We finally made it, here is the topic address: viewtopic.php?f=5&t=4277

Best regards,
The IOT Team.
I Only Think - http://eip.epitech.eu/2013/iot/
A Brain-Computer Interface System

tooms
Posts: 1
Joined: Sun Jan 12, 2014 7:40 pm

Re: Emotiv Epoc with Emokit on Linux

Post by tooms »

hi

i'm new on this forum, i register here because i need your help installing openvibe with emokit.
basiclly i'm a video and graphic artist, and i work on a dance performance using BCI to control video and sound. that why i had absoluly no clue about code, linux or whatever. bofore starting work on this
and i really want to thank to everyone who wrote some topic on this forum or on the github issues, that help me a lot !

so i past the entire last week trying to instal the open vibe antoche version including emokit, after hours and hours of documenting and brainstorming myseflf,

but i finally get stuck at the error describe by csmik in the first post...

maybe someone could take time to explain a bit more what csmik does before :
csmik wrote:I succeed to compile it by modifying the cmake file concerning the emokit in the cmake-modules folder, adding the libhidapi library.
I had to modify the vendor and product ids in the emokit.h file.
or mauy be the process explained here : https://github.com/thibaultbronchain/openemo

precision : i try to build on ubuntu 12.10

any kind of help and explanation will really help us !!

yneveu
Posts: 4
Joined: Tue May 13, 2014 10:07 am

Re: Emotiv Epoc with Emokit on Linux

Post by yneveu »

Hi tooms,

I worked on a project with openVibe and the Emotiv Epoc Headset.
For this project I modified OpenVibe0.14 and the last version of Emokit to install OpenVibe with Emokit.
I can give you my folders with emokit and OpenVibe but I don't know if it's legal.
My Version works on Ubuntu14.

Post Reply