The SignalServer is a simple program, acquiring data from various hardware devices (mainly biosignal amplifiers) and distributing the acquired data via network connections using the TiA library. It has been implemented to provide a cross-platform data acquisition system with a standardized data delivery method. Thus it is possible to mask the actual hardware and retrieve acquired data in a standardized and manufacturer independent way.
Features and supported hardware
- g.tec: g.USBamp (Windows only), g.Mobilab, g.BSamp
- Generic joysticks and generic mice
- Software sine generator
- National Instruments DAQ cards
- LifeTool IntegraMouse
- BrainProducts amplifiers
- Tunable EEG simulator
- TiD integration
- Data storage to .gdf
Documentation and User Manual
User manual (howto run and configure the SignalServer): online, pdf
Doxygen doku (for SignalServer development)
The SignalServer is written in C++, using git as version management tool. The Code is available here. To get r/w access to the SignalServer repository, please get in touch with: Christian Breitwieser -- c.breitwieser(at)tugraz(dot)at
Building the SignalServer
Linux & Co.
Under a Linux or Unix based distribution, the SignalServer utilizes the qmake build system from the Qt library. The respective '.pro' and '.pri' files (qmake config files) are included in the SignalServer repo. It is suggested to use the Qt Creater as an IDE under Linux, as it fully supports qmake. Simply press the build button in Qt Creator or run 'qmake SignalServer.pro' and 'make' afterwards in the command line.
Important: Don't use shadow-builds (Qt Creator - "Projects" button - Shadow Build checkbox) unless you know what you're doing (the external folder is not copied during a shadow build, leading to likner errors)!
The SignalServer source is shipped with a Microsoft Visual C++ 2010 solution file (.sln) and the required project files (.vcxproj) to build the SignalServer. These solution files are also suitable for the Visual C++ Express Edition.
Important: To successfully start the SignalServer under Windows, the appropriate Microsoft Visual C++ 2010 Redistributable Package has to be installed (not needed if Microsoft Visual C++ 2010 is already installed on the system): 32 bit Windows(x86), 64 bit Windows(x64)
Required libraries: boost-libs (pre-compiled libs available here): system, thread, filesystem, program_options, date_time, regex SDL (simple direct media layer), libusb, comedi Remark: The SignalServer utilizes TinyXML for C++ aka. TiCPP (for xml parsing), SDL, and libsub, which are statically linked against the SignalServer. For convenience, pre-built library files are uploaded to the git repository. The respective files are located in the 'external' subfolder. In case of linker errors, please rebuild the respective library by yourself and replace the respective files in the 'external' folder.
Using Linux, those libraries are usually included in the repositories of the respective distributions.
General Remark: Changes in the Linux build environment are currently added to the Windows environment manually and vice versa. Thus, potential compile errors might happen, as a result of missing files in the configuration files. In this case, please submit a ticket or get in touch with one of the developers.
The signalServer is dual-licenced under the GPL version 3.0 and under the Graz University of Technology Commercial License Agreement provided with the Software or, alternatively, in accordance with the terms contained in a written agreement between you and Graz University of Technology.