Using Brain Vision Actichamp EEG Amplifier

This forum deals with BCI2000 configuration issues.
Locked
sumits
Posts: 18
Joined: 15 Nov 2011, 06:25

Using Brain Vision Actichamp EEG Amplifier

Post by sumits » 04 Jun 2013, 05:51

I understand that for using the BrainVision ActiChamp EEG amplifier, we need to build BCI2000 from source and then compile the ActiChamp contributed module. I've been running into a lot of issues in compiling BCI2000 from the source repository.

On a 64-bit Windows 7 machine, which version of BCI2000 needs to be built in order to use the ActiChamp module?

What version of Visual Studio is required for building the project file (2008/2010 Express)? Is it required to install only Visual C++ or Visual Studio as a whole? There are separate batch files for both, but both of these give errors when the .sln file is built in Visual C++, even though the batch files for making the project files seem to run successfully.

Do we need to install Qt separately for the build scripts to run? If yes, which version is required to be installed?

While building the Visual Studio project, are build errors expected or should the solution build without any errors? Despite this, executables are found in \BCI2000\3.0.0\BCI2000\prog. Is this expected?

mellinger
Posts: 1210
Joined: 12 Feb 2003, 11:06

Re: Using Brain Vision Actichamp EEG Amplifier

Post by mellinger » 05 Jun 2013, 01:12

Hi,

for the ActiChamp, you should use the most recent version from SVN, which in principle compiles fine with Microsoft compilers.
When building for a 64-bit target, you will need to install Qt separately on your machine.

Unfortunately, the latest CMake release seems to be buggy, resulting in illegal VS2010 project files, or in problems finding Qt even if it is present on your machine. As I am currently attending a conference, and cannot investigate the issue, the only thing I can suggest to you is to use an older CMake release (2.8.10 works for me). If you have the choice between VS2008 and 2010, 2008 is currently the safer option. In case of illegal project files in VS2010, a workaround is to open the problematic vcproj files, and remove all lines beginning with <none .../>

HTH,
Juergen

sumits
Posts: 18
Joined: 15 Nov 2011, 06:25

Re: Using Brain Vision Actichamp EEG Amplifier

Post by sumits » 05 Jun 2013, 04:52

Thank you for the reply, I started from scratch again, and details are given below.

Installation Configuration:
OS: 64 bit Windows 7
Cmake version 2.8.11 (32 bit version installed)
Visual Studio 2010
Qt version 4.8.4 for VS 2010

Added C:\Qt\4.8.4\bin to environment variable PATH.

1. Checking out source code.

BCI2000 current release checkout from http_nospam_www.bci2000.org/svn/tags/releases/current. SVN completes the checkout with the following error:

Code: Select all

External failed: C:\Users\lenovo\Documents\BCI2000_Current\BCI2000  
Error: REPORT of '/svn/!svn/vcc/default': Could not read chunk size: connection was  
Error:  closed by server (http_nospam_www.bci2000.org)  
On Running Make VS10 Project Files, the following errors appear:

Code: Select all

Please answer some questions to choose compilation options, and which project fi
les should be generated.
BCI2000 core modules will always be built.
Use SSE2 instructions -- when answering yes, BCI2000 may not run on older machin
es? (y/n)y
Build BCI2000 tools (y/n)?y
Build contrib modules (y/n)?y
Build BCPy2000 modules (y/n)?y
Do you want to use any contributed framework extensions (y/n)?n
Build modules that use MFC (y/n)? (Choose "n" if you are using Visual Studio Exp
ress)n

C:\Users\lenovo\Documents\BCI2000_Current\BCI2000\build>cmake  -DUSE_SSE2:BOOL=T
RUE  -DBUILD_TOOLS:BOOL=TRUE  -DBUILD_CONTRIB:BOOL=TRUE  -DBUILD_BCPY2000:BOOL=T
RUE  -G "Visual Studio 10"
-- The C compiler identification is MSVC 16.0.30319.1
-- The CXX compiler identification is MSVC 16.0.30319.1
-- Check for working C compiler using: Visual Studio 10
-- Check for working C compiler using: Visual Studio 10 -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler using: Visual Studio 10
-- Check for working CXX compiler using: Visual Studio 10 -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
Qt QTGUI library not found.
Qt QTCORE library not found.
-- Creating Project files for BCI2000 Version 3.0.5
-- Skipping custom extension DataGloveLogger
---- (to enable, set the BUILD_DATAGLOVELOGGER setting to TRUE)
-- Skipping custom extension WebcamLogger
---- (to enable, set the BUILD_WEBCAMLOGGER setting to TRUE)
-- Skipping custom extension EyetrackerLogger
---- (to enable, set the BUILD_EYETRACKERLOGGER setting to TRUE)
-- Skipping custom extension WiimoteLogger
---- (to enable, set the BUILD_WIIMOTELOGGER setting to TRUE)
-- Skipping custom extension GazeMonitorFilter
---- (to enable, set the BUILD_GAZEMONITORFILTER setting to TRUE)
-- Skipping custom extension AudioExtension
---- (to enable, set the BUILD_AUDIOEXTENSION setting to TRUE)
---Adding Framework Library: BCI2000FrameworkCore
---Adding Framework Library: BCI2000FrameworkSigSrcModule
---Adding Framework Library: BCI2000FrameworkSigProcModule
---Adding Framework Library: BCI2000FrameworkAppModule
Qt QTOPENGL library not found.
Qt QTGUI library not found.
Qt QTCORE library not found.
-- Found OpenGL: opengl32
Qt QTOPENGL library not found.
Qt QTGUI library not found.
Qt QTCORE library not found.
CMake Error at C:/Users/lenovo/Documents/BCI2000_Current/BCI2000/src/extlib/3DAPI/Demo/CMakeLists.txt:31 (QT4_WRAP_CPP):
  Unknown CMake command "QT4_WRAP_CPP".


-- Configuring incomplete, errors occurred!
Press any key to continue . . .

How can I proceed further? I tried with Visual Studio 2008 file and Qt for VS2008, but get the same errors.

mellinger
Posts: 1210
Joined: 12 Feb 2003, 11:06

Re: Using Brain Vision Actichamp EEG Amplifier

Post by mellinger » 05 Jun 2013, 20:16

Hi,

the SVN checkout error suggests that nothing was checked out at all, but still you seem to have retrieved the BCI2000 source code.
Either way, when referring to the latest SVN version, I was referring to the trunk. Releases/current refers to the most recent binary release, which is 3.0.5. With that version of the source code, Qt will not be found for 64 bit Windows builds, unless you edit build/CMake/FindQt.cmake, and set USE_EXTERNAL_QT to TRUE.

Regards,
Juergen

sumits
Posts: 18
Joined: 15 Nov 2011, 06:25

Re: Using Brain Vision Actichamp EEG Amplifier

Post by sumits » 06 Jun 2013, 04:54

I have got through compiling BCI2000 from sources. The issue is now with building the contributed ActiChamp signal acquisition module.

The steps followed are reiterated here:

1. Configuration
OS: Windows 7 64 bit
Qt version 4.6.3
Visual Studio 2008
Cmake version 2.8.11 (32 bit version installed)

2. Edit \BCI2000\build\cmake
FindQt.cmake line 10 SET( USE_STD_QT TRUE )

3. Run Make VS2008 Project Files.bat in \BCI2000\build. Responses to choices are shown below:

Code: Select all

Please answer some questions to choose compilation options, and which project files should be generated.
BCI2000 core modules will always be built.
Use SSE2 instructions -- when answering yes, BCI2000 may not run on older machines? (y/n)y
Build BCI2000 tools (y/n)?y
Build contrib modules (y/n)?y
Build BCPy2000 modules (y/n)?y
Do you want to use any contributed framework extensions (y/n)?n
Build modules that use MFC (y/n)? (Choose "n" if you are using Visual Studio Express)n
4. On completion, console displays following message.

Code: Select all

-- Build files have been written to: C:/Users/lenovo/Documents/BCI2000_Current/BCI2000/build
Press any key to continue . . .
5. This creates BCI2000.sln in folder \BCI2000\build. After Building, executables created in \BCI2000\prog and \BCI2000\tools\cmdline.

6. Build project file in Visual Studio 2008. This will create executables in \BCI2000\prog.

Steps followed to build Actichamp Signal Acquisition Contributed Module:

In order to build the ActiChamp contributed module, checkout code for Actichamp from http_nospam_www.bci2000.org/svn/trunk/s ... actiCHamp/.

1. Copy folder into \BCI2000\src\contrib\SignalSource.

2. Edit CMakeLists in \BCI2000\src\contrib\SignalSource and add ADD_SUBDIRECTORY( actiCHamp ) in the list after line 10, IF(WIN32).

3. Run Make VS2008 Project Files in \BCI2000\build. On building the Visual Studio solution file, following errors appear:

Code: Select all

20>------ Build started: Project: actiCHampSource, Configuration: Debug Win32 ------
20>Compiling...
17>CoreMain.cpp
19>CoreMain.cpp
20>CoreMain.cpp
18>ExpressionSource.cpp
17>Histogram.cpp
19>gHIampDevice.cpp
20>ActiChamp.imports.cpp
17>HistogramObserver.cpp
17>PowerSumObserver.cpp
18>DataSource.cpp
20>c:\users\lenovo\documents\bci2000_current\bci2000\src\contrib\signalsource\actichamp\lib\ActiChamp.imports.h(5) : fatal error C1083: Cannot open include file: 'Win32Defs.h': No such file or directory
20>ChannelRouter.cpp
19>gHIampADC.cpp
17>ObserverBase.cpp
20>actiCHampDevice.cpp
17>ObserverMemory.cpp
20>C:\Users\lenovo\Documents\BCI2000_Current\BCI2000\src\contrib\SignalSource\actiCHamp\lib\ActiChamp.imports.h(5) : fatal error C1083: Cannot open include file: 'Win32Defs.h': No such file or directory
20>actiCHampBufferedADC.cpp
18>ChannelSetSource.cpp
20>C:\Users\lenovo\Documents\BCI2000_Current\BCI2000\src\contrib\SignalSource\actiCHamp\lib\ActiChamp.imports.h(5) : fatal error C1083: Cannot open include file: 'Win32Defs.h': No such file or directory
17>Generating Code...
20>Generating Code...
20>Build log was saved at "file_nospam_c:\Users\lenovo\Documents\BCI2000_Current\BCI2000\build\contrib\SignalSource\actiCHamp\actiCHampSource.dir\Debug\BuildLog.htm"
20>actiCHampSource - 3 error(s), 0 warning(s)
19>Generating Code...
18>PipeDefinition.cpp
After building, there is no executable for actiChampSource in \BCI2000\prog. What has to be done in this situation to proceed further to build the ActiChamp contributed module? Is there any error in the steps followed?

I tried adding the file Win32Defs.h (from https_nospam_code.google.com/p/codename ... svn48&r=48) to the folder but this does not help.

mellinger
Posts: 1210
Joined: 12 Feb 2003, 11:06

Re: Using Brain Vision Actichamp EEG Amplifier

Post by mellinger » 06 Jun 2013, 18:51

Hi,

you cannot mix projects from an earlier version of BCI2000 with such from the current SVN trunk. If you want to stay with the 3.0.5 source code, then check the ActiChamp folder's SVN log for the first committed version, and possible following bug fixes. Then, checkout the most recent version that does not have the *.import.* files added. For this, chances are good that it compiles together with the 3.0.5 release source.

HTH,
Juergen

sumits
Posts: 18
Joined: 15 Nov 2011, 06:25

Re: Using Brain Vision Actichamp EEG Amplifier

Post by sumits » 07 Jun 2013, 02:04

Thanks for the help. As suggested, I checked the SVN log for the ActiChamp signal source contributed module at http://www.bci2000.org/svn/trunk/src/co ... actiCHamp/.

There are 14 revisions, the latest being 4447, which I checked out. However, I could not find any revision which did not have the line #include "Win32Defs.h" in the file ActiChamp.imports.h. The file has not been changed in revisions 4446, 4428, 4373 and the import is present in the revisions 4363, 4362, 4361, 4348, 4344, 4338, 4336, 4335. I'm assuming this is what you had meant by
the most recent version that does not have the *.import.* files added
.

How can I proceed? Also, release 4428 mentions building with Visual Studio 2010 Express. Can the ActiChamp module be compiled using VS 2010 only? I tried doing so but am getting the same error about Win32Defs.h.

mellinger
Posts: 1210
Joined: 12 Feb 2003, 11:06

Re: Using Brain Vision Actichamp EEG Amplifier

Post by mellinger » 10 Jun 2013, 11:51

The ActiChamp.imports.h has been added to the ActiChamp signal source after it already existed. So just check out the latest ActiChamp version _without_ that file.

HTH,
Juergen

sumits
Posts: 18
Joined: 15 Nov 2011, 06:25

Re: Using Brain Vision Actichamp EEG Amplifier

Post by sumits » 11 Jun 2013, 05:18

Thanks for the clarification, through with the build process!

Actichamp source revision 4363 does not contain ActiChamp.imports.h. Building with this revision creates the executable in \BCI2000\prog.

svaronamoya
Posts: 4
Joined: 15 May 2013, 06:58

Re: Using Brain Vision Actichamp EEG Amplifier

Post by svaronamoya » 20 Jun 2013, 10:35

Hello,

I have to thank you both for your thread! I have just began working with an actiCHamp system and we wanted to test it with a BCI2000-based P300 speller. I was getting the same errors as you and thanks to the convenient answers managed to build the actiCHampSource.exe.

mellinger
Posts: 1210
Joined: 12 Feb 2003, 11:06

Re: Using Brain Vision Actichamp EEG Amplifier

Post by mellinger » 24 Jun 2013, 11:58

Thanks for your feedback.
-Juergen

Locked

Who is online

Users browsing this forum: Google [Bot] and 14 guests