TOBI SignalServer  0.1
tobiss::GMobilab Class Reference

This class is used to gain access to g.tec g.Mobilab. More...

#include <g_mobilab.h>

+ Inheritance diagram for tobiss::GMobilab:
+ Collaboration diagram for tobiss::GMobilab:

Public Member Functions

 GMobilab (boost::asio::io_service &io, ticpp::Iterator< ticpp::Element > hw)
 Destructor.
virtual ~GMobilab ()
 Destructor.
virtual SampleBlock< double > getSyncData ()
 Abstract method to achieve synchronous data acquisition (method is blocking).
virtual SampleBlock< double > getAsyncData ()
 Abstract method to achieve asynchronous data acquisition (method is non-blocking).
virtual void run ()
 Method to start data acquisition.
virtual void stop ()
 Method to stop data acquisition.

Private Types

enum  device_types_ { MOBILAB_EEG, MOBILAB_MULTI }

Private Member Functions

virtual void setDeviceSettings (ticpp::Iterator< ticpp::Element >const &father)
 Set configuration defined in the device settings xml section.
virtual void setChannelSettings (ticpp::Iterator< ticpp::Element >const &father)
 Set configuration defined in the channel settings xml section.
void setHardware (ticpp::Iterator< ticpp::Element >const &hw)
 Initialize the g.Mobilab device.
void setScalingValues ()
 Set scaling values dependent on the g.Mobilab type defined int the XML config (multi or EEG).
unsigned char getChannelCode ()
 Get a code to access a channel of the g.Mobilab.
void checkNrOfChannels ()
 Check if the number of channels is correct.
void acquireData ()
 Get data from the g.Mobilab and store it into samples_.

Private Attributes

device_types_ mobilab_type_
std::map< unsigned int,
unsigned char > 
channel_coding_
std::vector< double > scaling_factors_
std::vector< boost::int16_t > raw_data_
std::vector< double > samples_
boost::thread * async_acqu_thread_

Static Private Attributes

static const
HWThreadBuilderTemplateRegistrator
< GMobilab
factory_registrator_
static const std::string hw_mobilab_serial_port_
static const std::string hw_mobilab_type_
static const std::string hw_mobilab_eeg_
static const std::string hw_mobilab_multi_

Detailed Description

This class is used to gain access to g.tec g.Mobilab.

This class is NOT using the official g.tec API, thus not all functionallity provided with this API is not supported within this implementation.

Bug:
Problems during initialization of the serial port using boost::asio under Linux (no problems with Qt framework). Now compensated by directly modifying the termios structure.

Definition at line 66 of file g_mobilab.h.


The documentation for this class was generated from the following files:
All Data Structures Files Functions Variables