Hi !
should we really get Emotiv Epoc in the list of servers? Coz I didn't and started with the 1st in the list, changing some configurations...
First in the list is the Generic Oscillator if I remember well. As its name suggests, it generate an oscillatory signal.
It's a good start, in order to play some times with the acquisition server and see how it works and how you can read the data generated in the Designer.
But if you don't select the driver you're supposed to connect with, you obviously can't get the data coming from the device.
The Emotiv EPOC driver should definitely be in the list of drivers.
In case you really don't know if you're driver has been built or not, here is what you should have seen when executing
win32-build.cmd:
At some point you are building the Acquisition Server:
Code: Select all
_______________________________________________________________________________
Configuring and building openvibe-applications\acquisition-server\trunc ...
-- The C compiler identification is MSVC
-- The CXX compiler identification is MSVC
-- Check for CL compiler version
-- Check for CL compiler version - 1600
-- Check if this is a free VC compiler
-- Check if this is a free VC compiler - no
-- Check for working C compiler: c:/Program Files (x86)/Microsoft Visual Studio 10.0/VC/bin/cl.exe
-- Check for working C compiler: c:/Program Files (x86)/Microsoft Visual Studio 10.0/VC/bin/cl.exe -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: c:/Program Files (x86)/Microsoft Visual Studio 10.0/VC/bin/cl.exe
-- Check for working CXX compiler: c:/Program Files (x86)/Microsoft Visual Studio 10.0/VC/bin/cl.exe -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
As you can see I am using Visual Studio 2010.
Next comes the dependency checking :
Code: Select all
-- Found OpenViBE...
-- [ OK ] lib C:/lbonnet/openvibe-repo/openvibe/trunc/lib/OpenViBE-dynamic.lib
-- Found OpenViBE-toolkit...
-- [ OK ] lib C:/lbonnet/openvibe-repo/openvibe-toolkit/trunc/lib/OpenViBE-toolkit-dynamic.lib
-- Found OpenViBE module EBML...
-- [ OK ] lib C:/lbonnet/openvibe-repo/openvibe-modules/ebml/trunc/lib/OpenViBE-module-EBML-dynamic.lib
-- Found OpenViBE module Socket...
-- [ OK ] lib C:/lbonnet/openvibe-repo/openvibe-modules/socket/trunc/lib/OpenViBE-module-Socket-dynamic.lib
-- Found OpenViBE module System...
-- [ OK ] lib C:/lbonnet/openvibe-repo/openvibe-modules/system/trunc/lib/OpenViBE-module-System-dynamic.lib
-- Found OpenViBE plugins global defines...
-- Found boost...
-- Found GTK+...
-- [ OK ] Third party lib C:/lbonnet/openvibe-repo/dependencies/gtk/lib/gtk-win32-2.0.lib
-- [ OK ] Third party lib C:/lbonnet/openvibe-repo/dependencies/gtk/lib/gdk-win32-2.0.lib
-- [ OK ] Third party lib C:/lbonnet/openvibe-repo/dependencies/gtk/lib/atk-1.0.lib
-- [ OK ] Third party lib C:/lbonnet/openvibe-repo/dependencies/gtk/lib/gio-2.0.lib
-- [ OK ] Third party lib C:/lbonnet/openvibe-repo/dependencies/gtk/lib/gdk_pixbuf-2.0.lib
-- [ OK ] Third party lib C:/lbonnet/openvibe-repo/dependencies/gtk/lib/pangowin32-1.0.lib
-- [ OK ] Third party lib C:/Program Files/Microsoft SDKs/Windows/v6.0A/Lib/Gdi32.Lib
-- [ OK ] Third party lib C:/lbonnet/openvibe-repo/dependencies/gtk/lib/pangocairo-1.0.lib
-- [ OK ] Third party lib C:/lbonnet/openvibe-repo/dependencies/gtk/lib/pango-1.0.lib
-- [ OK ] Third party lib C:/lbonnet/openvibe-repo/dependencies/gtk/lib/cairo.lib
-- [ OK ] Third party lib C:/lbonnet/openvibe-repo/dependencies/gtk/lib/gobject-2.0.lib
-- [ OK ] Third party lib C:/lbonnet/openvibe-repo/dependencies/gtk/lib/gmodule-2.0.lib
-- [ OK ] Third party lib C:/lbonnet/openvibe-repo/dependencies/gtk/lib/gthread-2.0.lib
-- [ OK ] Third party lib C:/lbonnet/openvibe-repo/dependencies/gtk/lib/glib-2.0.lib
-- [ OK ] Third party lib C:/lbonnet/openvibe-repo/dependencies/gtk/lib/intl.lib
-- [ OK ] Third party lib C:/lbonnet/openvibe-repo/dependencies/gtk/lib/gthread-2.0.lib
-- [ OK ] Third party lib C:/lbonnet/openvibe-repo/dependencies/gtk/lib/glib-2.0.lib
-- [ OK ] Third party lib C:/lbonnet/openvibe-repo/dependencies/gtk/lib/intl.lib
-- [ OK ] Third party lib C:/lbonnet/openvibe-repo/dependencies/gtk/lib/zdll.lib
-- FAILED to find gUSBampCAPI
-- FAILED to find FirstAmp API - cmake looked in 'C:/Program Files/FaSDK' and ''
-- Found ThinkGear API...
-- [ OK ] lib C:/Program Files (x86)/MindSet Development Tools/ThinkGear Communications Driver/win32/thinkgear.lib
-- Found Emotiv API...
-- [ OK ] lib C:/Program Files (x86)/Emotiv/Emotiv Development Kit_v1.0.0.3-PREMIUM/doc/examples/lib/edk.lib
-- Configuring done
-- Generating done
-- Build files have been written to: C:/lbonnet/openvibe-repo/local-tmp/openvibe-applications/acquisition-server/trunc
For example I don't have the
gUSBampCAPI ("FAILED to find gUSBampCAPI"), so I won't build the g.Tec driver.
However I have the
Emotiv API.
The build can now actually begin :
Code: Select all
Microsoft (R) Program Maintenance Utility Version 10.00.30319.01
Copyright (C) Microsoft Corporation. Tous droits réservés.
Scanning dependencies of target OpenViBE-acquisition-server-dynamic
[ 2%] Building CXX object CMakeFiles/OpenViBE-acquisition-server-dynamic.dir/src/brainproducts-brainampseries/ovasCConfigurationBrainProductsBrainampSeries.obj
cl : Ligne de commande warning D9002 : option '-mms-bitfields' inconnue ignorée
cl : Ligne de commande warning D9002 : option '-mms-bitfields' inconnue ignorée
ovasCConfigurationBrainProductsBrainampSeries.cpp
[ 5%] Building CXX object CMakeFiles/OpenViBE-acquisition-server-dynamic.dir/src/brainproducts-brainampseries/ovasCDriverBrainProductsBrainampSeries.obj
cl : Ligne de commande warning D9002 : option '-mms-bitfields' inconnue ignorée
cl : Ligne de commande warning D9002 : option '-mms-bitfields' inconnue ignorée
ovasCDriverBrainProductsBrainampSeries.cpp
...
The script compiles each file, one by one. At some point you should have :
Code: Select all
[ 30%] Building CXX object CMakeFiles/OpenViBE-acquisition-server-dynamic.dir/src/emotiv-epoc/ovasCConfigurationEmotivEPOC.obj
cl : Ligne de commande warning D9002 : option '-mms-bitfields' inconnue ignorée
cl : Ligne de commande warning D9002 : option '-mms-bitfields' inconnue ignorée
ovasCConfigurationEmotivEPOC.cpp
[ 33%] Building CXX object CMakeFiles/OpenViBE-acquisition-server-dynamic.dir/src/emotiv-epoc/ovasCDriverEmotivEPOC.obj
cl : Ligne de commande warning D9002 : option '-mms-bitfields' inconnue ignorée
cl : Ligne de commande warning D9002 : option '-mms-bitfields' inconnue ignorée
ovasCDriverEmotivEPOC.cpp
Emotiv related files are compiled.
When reaching 100%, all files are compiled, and the acquisition-server executable is generated :
Code: Select all
Linking CXX executable OpenViBE-acquisition-server-dynamic.exe
---> Copying dll file C:/Program Files (x86)/MindSet Development Tools/ThinkGear Communications Driver/win32/thinkgear.dll for the Neurosky MindSet driver.
---> Copying dll file C:/Program Files (x86)/Emotiv/Emotiv Development Kit_v1.0.0.3-PREMIUM/doc/examples/include/../bin/edk.dll for the Emotiv EPOC driver.
---> Copying dll file C:/Program Files (x86)/Emotiv/Emotiv Development Kit_v1.0.0.3-PREMIUM/doc/examples/include/../bin/edk_utils.dll for the Emotiv EPOC driver.
[100%] Built target OpenViBE-acquisition-server-dynamic
As you can see the Emotiv DLL files are copied (in
dist/bin) for you.
Finally at some point the install is complete.
Go in the generated
dist folder, and execute
test-acquisition-server.cmd. You should have in the driver list the Emotiv one, as you can see on the attached snapshot.
If you didn't see all these steps, then you may have a problem. The most common mistakes are :
- No Emotiv SDK installed, or not a Research Edition.
Solution : no solution sorry. Openvibe is only compatible with Research Edition or higher.
- The Emotiv SDK is present, but CMake can't find it.
Solution : modify the file
FindThirdPartyEmotivAPI.cmake in
cmake-modules folder, around line 8 (point to the right path).
I hope this helps !
Laurent