SharedMemoryWriter

Summary

Doc_BoxAlgorithm_SharedMemoryWriter.png
  • Plugin name : SharedMemoryWriter
  • Version : 1.0
  • Author : Dieter Devlaminck
  • Company : INRIA
  • Short description : Stream input to shared memory
  • Documentation template generation date : Dec 30 2016
  • WARNING : this box has been marked as UNSTABLE by the developer. It means that its implementation may be incomplete or that the box can only work under well known conditions. It may possibly crash or cause data loss. Use this box at your own risk, you've been warned.

Description

The box writes input to shared memory so that it can be read by another process. Stimuli and streamed matrices are supported, and transformed into a format that can be written into shared memory. Based on the input types, a metainfo variable will be created in shared memory that will specify which variables have which type. This way the client can know what it will be reading.

The box creates (via boost interprocess library) a shared memory and within it uniquely named variables for each input. When receiving chunks on its inputs, the box will write them to shared memory so that they can be read by another process. The box can write stimuli and streamed matrices, which are transformed in a format that can be written into shared memory. Based on the input types, a metainfo variable will be created in shared memory that will specify which variables have which type in shared memory. This way the client knows what it will be reading.

Inputs

The supported input stream types are StreamedMatrix and Stimulations. The stream type of the input can be changed by the user and additional inputs can be added.

1. prediction1

Default streamed matrix input.

  • Type identifier : Streamed matrix (0x544a003e, 0x6dcba5f6)

Settings

1. SharedMemoryName

Name of the shared memory to be created. Default to 'SharedMemory_P300Stimulator'

  • Type identifier : String (0x79a9edeb, 0x245d83fc)
  • Default value : [ SharedMemory_P300Stimulator ]

Examples

Miscellaneous

    You can see how to read the shared memory from another application in the CoAdapt p300 stimulator code. 

    You can also use the test_sharedmemory application to test the shared memory.