Difference between revisions of "Programming Reference:SignalSharingDemo Signal Processing"

From BCI2000 Wiki
Jump to: navigation, search
(Created page with "==Location== <tt>src/contrib/SignalProcessing/SignalSharingDemo</tt> ==Synopsis== The ''SignalSharingDemo'' signal processing module demonstrates how to share signal data wit...")
 
(Function)
Line 14: Line 14:
  
 
The client application visualizes signal data by plotting normalized signals on a circle.
 
The client application visualizes signal data by plotting normalized signals on a circle.
 +
 +
<gallery>
 +
File:SignalSharingDemo1.PNG|Client application waiting for data
 +
File:SignalSharingDemo2.PNG|Client application displayiing data
 +
</gallery>
  
 
==Parameters==
 
==Parameters==

Revision as of 14:06, 7 February 2019

Location

src/contrib/SignalProcessing/SignalSharingDemo

Synopsis

The SignalSharingDemo signal processing module demonstrates how to share signal data with an external application, using shared memory.

Inheritance

The SignalSharingDemoFilter signal processing filter derives from GenericFilter.

Function

The SignalSharingDemoFilter shares its input signal through a GenericSignal object which has been linked to a shared memory block using GenericSignal::ShareAcrossModules(). A dedicated thread waits for signal updates, and sends signal data out to a separate application waiting on a TCP/IP connection.

When the client application is running on a separate machine, full signal data are sent over the network. When the client is running on the same machine, only a reference to a shared memory block is sent. On the application side, unserializing the signal will transparently bind it to the shared memory block if available.

The client application visualizes signal data by plotting normalized signals on a circle.

Parameters

SignalSharingDemoClientAddress

IP address and port number of the client application.

See also

Programming Reference:GenericSignal Class