To exchange data between processes without the overhead of locking/syscall, shared memory can be used. libshdata/telemetry offers a lock free circular buffer with timestamped data chunks to handle some typical uses cases found in drones:

  •  One process for flying stack, and one a more processes for video computing.
  •  Video processing can access drone attitude precisely with the frame
  • Logging of all the telemetry exchanged in shared memory is easily written in a file or to a remote ground station
  • Also work in AMP configurations

Yves-Marie Morgan, Parrot