Frame serialization
Choice of serialization method
To communicate between FPGA-equipped receiver system and writers, Jungfraujoch is using binary CBOR encoding with tinycbor library (Intel). The protocol is compatible with DECTRIS Stream2. There are minor differences at the moment:
- Pixel mask can be only sent uncompressed
- Only single channel is allowed for images (this only matters for deserialization)
- LZ4 compression is not allowed; Bitshuffle Zstandard is possible
- Few fields are currently absent
- Few extra fields are present - for start image these are inside user_data.
TODO:
- Zero copy deserialization
- Full Stream2 compatibility
- Cleaner structure for image (compressed/uncompressed)