// Copyright (2019-2023) Paul Scherrer Institute #ifndef JUNGFRAUJOCH_COMPLETION_H #define JUNGFRAUJOCH_COMPLETION_H #include struct WorkRequest { uint16_t *ptr; uint32_t handle; }; struct Completion { enum class Type {Start, End, Image} type; uint64_t frame_number; uint64_t packet_mask[2]; uint64_t bunchid; uint64_t timestamp; uint32_t exptime; uint32_t debug; uint32_t handle; uint16_t packet_count; uint16_t data_collection_id; uint16_t status; uint16_t module_number; }; Completion parse_hw_completion(uint32_t hw_input[16]); #endif //JUNGFRAUJOCH_COMPLETION_H