Emokit driver

Making & changing hardware drivers in Acquisition Server
Post Reply
antoche
Posts: 1
Joined: Sat Jun 16, 2012 4:17 am

Emokit driver

Post by antoche »

Hi,

I've written an OpenVibe driver for the Emotiv EPOC using the emokit library (https://github.com/qdot/emokit). This driver has the advantage of working with any EPOC headset (not requiring the research SDK) and works on UNIX (haven't tried on Windows but it should work too).

For simplicity I've pushed it on github, but it would probably be nice to see it added to the existing drivers in the openvice repo. The github repo is there: https://github.com/antoche/openvibe

Cheers,
A.

toncho11
Posts: 124
Joined: Tue Apr 19, 2011 7:58 pm

Re: Emokit driver

Post by toncho11 »

Hi Antoche,

Good job! You did it before me.

I went quickly through the code and it looks good. The gyro channels will always be visible I suppose, but not a big deal - this can be adjusted later, "channel selector box" can be used.

I would prefer a way to integrate your driver on any OpenVibe code instance. Can you make a package only with the cmake, c++ code in the acquisition server and documentation.

You can also put it on:
http://openvibe.inria.fr/community/
But you will need some time though to wait until you post is approved.

lbonnet
Site Admin
Posts: 417
Joined: Wed Oct 07, 2009 12:11 pm

Re: Emokit driver

Post by lbonnet »

Hi Antoche & Anton,

From what I understood the last time I checked it, Emokit is a hack of the EPOC headset in order to have access to the raw EEG without buying the Research Edition SDK.
The developer basically cracked the encryption key, after some retro-engineering of the data packets.
I am not a specialist in this field but I don't think this is totally legal. And I'm pretty sure that Emotiv has been "fighting" this hack from start.

The Emotiv Driver provided with OpenViBE has been developed after some discussion with the people from Emotiv company.
They agreed we put the driver as open-source code, without of course providing their DLL with it.
This is why it only works with the Research SDK.

As the official development team of the OpenViBE software, we at Inria cannot include this contribution in the official release.
I hope you both understand what is the problem, and why our lab must choose this policy.

Featuring this contribution in the Community Forge is in my opinion very border line. We don't host the contribution itself but we still promote it.
I'll discuss it with my co-workers but I doubt we can take that risk either.

Best regards,

Laurent-
Follow us on twitter >> openvibebci

Checkout my (old) blog for some OpenViBE tips & tricks : here !

toncho11
Posts: 124
Joined: Tue Apr 19, 2011 7:58 pm

Re: Emokit driver

Post by toncho11 »

Hi Laurent,

I was afraid this will be your answer. I had a conversation with Yann a year ago on the same topic.

But I have a proposal. See below:

First we should promote Antoche's code as a "Linux driver" only.

Second if it ever go into OpenVibe then it should compile only on Linux.

Third thing is that you (OpenVibe team) can contact Emotiv and ask them for some Linux code that checks the serial number of the user. This way you will distribute it only to licensed Linux users (Windows uses the official). If someone wants something else then he needs to do it himself and then braking license terms or whatever. Also this Emokit "Emotiv Linux driver" can be distributed with OpenVibe in compiled form, so that the user has a hard time making any modifications such as skipping the license check code. License key can be requested in the driver's properties in OpenVibe or during installation.

How about that?

Cheers,
Anton

jlegeny
Posts: 239
Joined: Tue Nov 02, 2010 8:51 am
Location: Mensia Technologies Paris FR
Contact:

Re: Emokit driver

Post by jlegeny »

Hello,

Emotiv has been working on a Linux API on their own. As far as I know it is currently in beta stage (and has been for a long while actually). OpenViBE project, albeit open source, is still associated with Inria laboratory and our partners. Although we can not and will not limit any usage of the software, we will not redistribute and/or promote any drivers which break legislation (US legislation in this case) in any country in which we distribute our software.

Some open source projects distribute different packages for different countries, but there is not nearly enough staff on our team to maintain two separate versions.

As for the community website, since we are promoting and filtering the software distributed by this channel. We are still partly responsible for its content, namely, we are obliged to remove any software if a third party claims intellectual property infringement.

Emotiv has been fighting the Emokit driver ever since it has been released, and it is very unlikely they would like to build a solution on top of it. Newer versions of the EMOTIV headset do not even work with this hack. Although we would love to see our Linux users be able to use the headset, we will not be able to distribute a solution until an official version of the driver exists.

I hope you understand our position on this issue.

Regards
Jozef

toncho11
Posts: 124
Joined: Tue Apr 19, 2011 7:58 pm

Re: Emokit driver

Post by toncho11 »

Hi Jozef,

These are some new details for me. OK, in this situation I can not advocate this driver any more. It's a pity indeed.
I have a research license and I can not understand why Emtoiv did not release a Linux driver for so long.

Anton

toncho11
Posts: 124
Joined: Tue Apr 19, 2011 7:58 pm

Re: Emokit driver

Post by toncho11 »

There is an official Linux research kit from Emotiv now!

http://emotiv.com/forum/forum3/topic2295/#message13452

I was able to download it. I will try it today!

We need to write a OpenVibe driver for it though.

It works. I could acquire raw signal on Linux. It also comes with some code samples that can be used for building a driver I believe.

-Anton

Post Reply