mirror of
https://github.com/paulscherrerinstitute/sf_daq_buffer.git
synced 2026-06-06 20:58:41 +02:00
:impl of cmake flags and usage of different detector packets.
This commit is contained in:
@@ -3,17 +3,15 @@
|
||||
|
||||
#include <cstdint>
|
||||
|
||||
#define N_MODULES 1
|
||||
#define BYTES_PER_PACKET 1072
|
||||
#define DATA_BYTES_PER_PACKET 1024
|
||||
#define N_PACKETS_PER_FRAME 128
|
||||
#define DATA_BYTES_PER_FRAME 131072
|
||||
|
||||
#define EIGER_N_MODULES 1
|
||||
#define EIGER_BYTES_PER_PACKET 1072
|
||||
#define EIGER_DATA_BYTES_PER_PACKET 1024
|
||||
#define EIGER_N_PACKETS_PER_FRAME 128
|
||||
#define EIGER_DATA_BYTES_PER_FRAME 131072
|
||||
|
||||
// 48 bytes + 8192 bytes = 8240 bytes
|
||||
#pragma pack(push)
|
||||
#pragma pack(2)
|
||||
struct eiger_packet {
|
||||
struct det_packet {
|
||||
uint64_t framenum;
|
||||
uint32_t exptime;
|
||||
uint32_t packetnum;
|
||||
@@ -30,7 +28,7 @@ struct eiger_packet {
|
||||
uint16_t roundRobin;
|
||||
uint8_t detectortype;
|
||||
uint8_t headerVersion;
|
||||
char data[EIGER_DATA_BYTES_PER_PACKET];
|
||||
char data[DATA_BYTES_PER_PACKET];
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
|
||||
@@ -2,7 +2,17 @@
|
||||
#define SF_DAQ_BUFFER_FORMATS_HPP
|
||||
|
||||
#include "buffer_config.hpp"
|
||||
|
||||
#ifndef USE_EIGER
|
||||
#include "jungfrau.hpp"
|
||||
#else
|
||||
#include "eiger.hpp"
|
||||
#endif
|
||||
|
||||
#ifdef DEBUG_OUTPUT
|
||||
#define EIGER_DATA_BYTES_PER_PACKET_VALIDATION 131072
|
||||
#define JUNGFRAU_DATA_BYTES_PER_PACKET_VALIDATION 1048576
|
||||
#endif
|
||||
|
||||
#pragma pack(push)
|
||||
#pragma pack(1)
|
||||
@@ -27,7 +37,7 @@ struct ImageMetadata {
|
||||
#pragma pack(pop)
|
||||
|
||||
struct ModuleFrameBuffer {
|
||||
ModuleFrame module[EIGER_N_MODULES];
|
||||
ModuleFrame module[N_MODULES];
|
||||
};
|
||||
|
||||
#pragma pack(push)
|
||||
|
||||
@@ -3,16 +3,16 @@
|
||||
|
||||
#include <cstdint>
|
||||
|
||||
#define JUNGFRAU_N_MODULES 32
|
||||
#define JUNGFRAU_BYTES_PER_PACKET 8240
|
||||
#define JUNGFRAU_DATA_BYTES_PER_PACKET 8192
|
||||
#define JF_N_PACKETS_PER_FRAME 128
|
||||
#define JUNGFRAU_DATA_BYTES_PER_FRAME 1048576
|
||||
#define N_MODULES 32
|
||||
#define BYTES_PER_PACKET 8240
|
||||
#define DATA_BYTES_PER_PACKET 8192
|
||||
#define N_PACKETS_PER_FRAME 128
|
||||
#define DATA_BYTES_PER_FRAME 1048576
|
||||
|
||||
// 48 bytes + 8192 bytes = 8240 bytes
|
||||
#pragma pack(push)
|
||||
#pragma pack(2)
|
||||
struct jungfrau_packet {
|
||||
struct det_packet {
|
||||
uint64_t framenum;
|
||||
uint32_t exptime;
|
||||
uint32_t packetnum;
|
||||
@@ -29,7 +29,7 @@ struct jungfrau_packet {
|
||||
uint16_t roundRobin;
|
||||
uint8_t detectortype;
|
||||
uint8_t headerVersion;
|
||||
char data[JUNGFRAU_DATA_BYTES_PER_PACKET];
|
||||
char data[DATA_BYTES_PER_PACKET];
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user