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