Anleitung zur Installation des EEG Frameworks


1. Systemvorraussetzungen

    - Windows 7, Vista, oder XP
    - Visual Studio 2008

Das Framework kann auch mit Hilfe einer virtuellen Maschine, z. B. Virtual Box , auf einer anderen Plattform (Linux, Mac OSX) installiert werden.
Eine Testinstallation auf einem Mac lief einwandfrei.

Visual Studio 2008 kann auf den Microsoft Seiten als Trial Version für 90 Tage heruntergeladen werden.
Das HRZ bietet es ebenfalls an. Die Express Edition ist nicht ausreichend.

2. Installation des Treibers/ Herstellersoftware

Die Software des Herstellers findet sich im lokalen Netz der Techfak unter
            /vol/bci/gUSBamp/g.USBamp_v3/     (bitte unbedingt die Versionsnummer beachten)
   oder unter
            /vol/pgbci/eeg/gUSBamp

Zunächst sollte der Treiber, dann die C API installiert werden. Die Dokumentation ist ebenfalls unter o.g. Pfad zu finden.

Nach der Installation finden sich die zum Entwickeln nenötigten Dateien (gUSBamp.h, gUSBamp.lib, gUSBamp.dll) in
dem Installationsordner unter dem Pfad   3.09/gUSBampCAPI/API

3. Einrichtung der Entwicklungsumgebung

Benötigt werden:

        Qt 4
            Qt ist eine API für C++ die jede Menge Funktionen mitbringt. Sie stammt ursprünglich aus der Linux Welt, wo sie zunächst
            fast ausschliesslich für die GUI Programmierung entwickelt wurde. Seit Version 4 ist sie auch für Windows und Mac verfügbar.
            Qt bringt den sogenannten Signal-Slot Mechnismus mit, einen speziellen, Qt exklusiven Mechanismus, der die Kommunikation
            zwischen Objekten regelt. Dieses ist zunächst gewöhnungsbedürftig, hat man sich jedoch einmal an die Vorzüge gewöhnt,
            möchte man sie nicht mehr missen. Infos speziell zu Signal und Slots finden sich hier.
            Die API Dokumentation zu Qt  ist gut und ausführlich. Ausserdem gibt es jede Menge Beispiele und Tutorials.

            Download:  http://get.qt.nokia.com/qt/source/qt-win-opensource-4.6.2-vs2008.exe
            Bitte beachten: Qt für Windows gibt es für 2 unterschiedliche Compiler, einmal für den MinGW (Port der gcc Tools für Windows)
            und eben für Visual Studio. Hier wird die letztere Version benötigt. Dieses Paket ist bereits kompiliert und muss nur noch einfach installiert werden.

        Qt Plugin für Visual Studio
           
Das Plugin sorgt dafür, dass man unter Visual Studio direkt Qt Projekte anlegen kann, so dass der Grossteil der benötigten Pfade
            bereits gesetzt ist. Dazu muss VS unter
            Startmenu-->Programme-->Qt v4.6.2 (Visual Studio 2008 Open Source)-->Visual Studio with Qt 4.6.2 gestartet werden.
           
           
Download: http://get.qt.nokia.com/vsaddin/qt-vs-addin-1.1.4.exe
      
        QWT
            QWT ist eine Library speziell für Qt, mit der man Kurven, Spektogramme, Histogramme usw. plotten kann, insbesondere
            im technischen Kontext. In unserem EEG Framework wird QWT für den Live-Plot der EEG Signale während einer
            Messung verwendet.
            Die Libary ist nur als Sourcecode vefügbar und muss zunächst aus dem svn Repository ausgecheckt werden.
            Infos und svn Adresse finden sich unter: http://qwt.sourceforge.net/ .

            Zum Compilieren sollte die Qt Command Prompt benutzt werden, die zusammen mit Qt installiert wird
            (findet sich im Startmenu unter Programme). Dort sind bereits alle benötigten Pfade gesetzt.
            Vor dem Compilieren bitte die Konfigurationsdatei qwtconfig.pri durch diese ersetzen. Dann durch die Aufrufe
            > qmake               
            >  nmake
            compilieren.
            Anschliessend sollten sich im lib Ordner der QWT Installation die Dateien qwt5.lib, qwt5.dll, qwtd5.lib und qwtd5.dll finden.
            Dabei steht das d im Namen für die Debug-Version, die anderen sind die Release-Versionen.
            Windows verträgt es nicht, wenn man ein Projekt nach Release bzw. Debug compilieren möchte und dabei eine nicht ebenso
            erstellte Library einbindet.

4. MinBCI

Unser Sourcecode kann aus folgendem svn Repository ausgecheckt werden:
        https://svn.techfak.uni-bielefeld.de/cor-lab/projects/bci/CoR-BCI/eeg

Ausserdem wird zusätzlich unsere Library fü die Netzwerkkommunikation benötigt:
        https://svn.techfak.uni-bielefeld.de/cor-lab/projects/bci/CoR-BCI/Netlib_BCI

Zum Login ins svn entweder das gewohnte techfak Login benutzen (fuer Leute mit Unix-Gruppe bci)
oder aber als  Namen und Passwort anonsvn benutzen. Das CoR-BCI Repository ist welt lesbar.

Um das Projekt nach VS zu importieren reicht es, die  .pro Datei des Qt Projektes in VS zu öffnen (unter Menu-->Qt).
Das Netlib_BCI modul muss ebenfalls eingebunden werden, dass eeg Paket hängt davon ab. Dies kann man in VS einstellen,
dann wird es einfach mitcompiliert.

Folgende externe Header und Libraries müssen noch eingebunden werden, um das Projekt compilieren zu können.
Die entsprechenden include und lib Pfade müssen in den Projekteinstellungen von VS angepasst werden. Die Libraries (.lib)
müssen explizit angegeben werden (ebenfalls in den Projekteigenschaften).

               gUSBamp.h / gUSBamp.lib  (Die EEG API des Herstellers, s.o.)
               die qwt header / qwt(d)5.lib
               Winmm.lib (Lib für Windows Multimedia Timer, muss explizit eingebunden werden).
               netlibbci.lib