mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-04-22 03:40:04 +02:00
138 lines
4.5 KiB
C
Executable File
138 lines
4.5 KiB
C
Executable File
#ifndef RECEIVER_DEFS_H
|
|
#define RECEIVER_DEFS_H
|
|
|
|
#include "sls_receiver_defs.h"
|
|
|
|
#include <stdint.h>
|
|
|
|
#define GOODBYE -200
|
|
|
|
#define DO_NOTHING 0
|
|
#define CREATE_FILES 1
|
|
#define DO_EVERYTHING 2
|
|
|
|
#define BUF_SIZE (16*1024*1024) //16mb
|
|
#define SAMPLE_TIME_IN_NS 100000000//100ms
|
|
#define MAX_JOBS_PER_THREAD 1000
|
|
#define HEADER_SIZE_NUM_TOT_PACKETS 4
|
|
#define HEADER_SIZE_NUM_FRAMES 2
|
|
#define HEADER_SIZE_NUM_PACKETS 1
|
|
|
|
|
|
//all max frames defined in sls_receiver_defs.h. 20000 gotthard, 100000 for short gotthard, 1000 for moench, eiger 20000
|
|
|
|
|
|
|
|
#define GOTTHARD_FIFO_SIZE 25000 //cannot be less than max jobs per thread = 1000
|
|
/*#define GOTTHARD_ALIGNED_FRAME_SIZE 4096*/
|
|
#define GOTTHARD_PACKETS_PER_FRAME 2
|
|
#define GOTTHARD_ONE_PACKET_SIZE 1286
|
|
#define GOTTHARD_ONE_DATA_SIZE 1280
|
|
#define GOTTHARD_BUFFER_SIZE (GOTTHARD_ONE_PACKET_SIZE*GOTTHARD_PACKETS_PER_FRAME) //1286*2
|
|
#define GOTTHARD_DATA_BYTES (GOTTHARD_ONE_DATA_SIZE*GOTTHARD_PACKETS_PER_FRAME) //1280*2
|
|
|
|
#define GOTTHARD_FRAME_INDEX_MASK 0xFFFFFFFE
|
|
#define GOTTHARD_FRAME_INDEX_OFFSET 1
|
|
#define GOTTHARD_PACKET_INDEX_MASK 0x1
|
|
|
|
#define GOTTHARD_PIXELS_IN_ROW 1280
|
|
#define GOTTHARD_PIXELS_IN_COL 1
|
|
|
|
|
|
#define GOTTHARD_SHORT_PACKETS_PER_FRAME 1
|
|
#define GOTTHARD_SHORT_ONE_PACKET_SIZE 518
|
|
#define GOTTHARD_SHORT_BUFFER_SIZE 518
|
|
#define GOTTHARD_SHORT_DATABYTES 512
|
|
#define GOTTHARD_SHORT_FRAME_INDEX_MASK 0xFFFFFFFF
|
|
#define GOTTHARD_SHORT_FRAME_INDEX_OFFSET 0
|
|
#define GOTTHARD_SHORT_PACKET_INDEX_MASK 0
|
|
#define GOTTHARD_SHORT_PIXELS_IN_ROW 256
|
|
#define GOTTHARD_SHORT_PIXELS_IN_COL 1
|
|
|
|
|
|
|
|
|
|
|
|
#define PROPIX_PIXELS_IN_ROW 22
|
|
#define PROPIX_PIXELS_IN_COL 22
|
|
#define PROPIX_DATABYTES_PER_PIXEL 2
|
|
|
|
#define PROPIX_FIFO_SIZE 25000 //cannot be less than max jobs per thread = 1000
|
|
#define PROPIX_PACKETS_PER_FRAME 2
|
|
#define PROPIX_ONE_PACKET_SIZE 1286
|
|
#define PROPIX_BUFFER_SIZE (PROPIX_ONE_PACKET_SIZE*PROPIX_PACKETS_PER_FRAME) //1286*2
|
|
//#define PROPIX_DATA_BYTES (1280*PROPIX_PACKETS_PER_FRAME) //1280*2
|
|
#define PROPIX_DATA_BYTES (PROPIX_PIXELS_IN_ROW * PROPIX_PIXELS_IN_COL * PROPIX_DATABYTES_PER_PIXEL) //22 * 22 * 2
|
|
|
|
#define PROPIX_FRAME_INDEX_MASK 0xFFFFFFFE
|
|
#define PROPIX_FRAME_INDEX_OFFSET 1
|
|
#define PROPIX_PACKET_INDEX_MASK 0x1
|
|
|
|
|
|
|
|
|
|
|
|
#define MOENCH_FIFO_SIZE 2500 //cannot be less than max jobs per thread = 1000
|
|
/*#define MOENCH_ALIGNED_FRAME_SIZE 65536*/
|
|
#define MOENCH_PACKETS_PER_FRAME 40
|
|
#define MOENCH_ONE_PACKET_SIZE 1286
|
|
#define MOENCH_ONE_DATA_SIZE 1280
|
|
#define MOENCH_BUFFER_SIZE (MOENCH_ONE_PACKET_SIZE*MOENCH_PACKETS_PER_FRAME) //1286*40
|
|
#define MOENCH_DATA_BYTES (MOENCH_ONE_DATA_SIZE*MOENCH_PACKETS_PER_FRAME) //1280*40
|
|
|
|
#define MOENCH_FRAME_INDEX_MASK 0xFFFFFF00
|
|
#define MOENCH_FRAME_INDEX_OFFSET 8
|
|
#define MOENCH_PACKET_INDEX_MASK 0xFF
|
|
|
|
#define MOENCH_BYTES_PER_ADC (40*2)
|
|
#define MOENCH_PIXELS_IN_ONE_ROW 160
|
|
#define MOENCH_BYTES_IN_ONE_ROW (MOENCH_PIXELS_IN_ONE_ROW*2)
|
|
|
|
|
|
|
|
#define JCTB_FIFO_SIZE 2500 //cannot be less than max jobs per thread = 1000
|
|
/*#define MOENCH_ALIGNED_FRAME_SIZE 65536*/
|
|
#define JCTB_PACKETS_PER_FRAME 50
|
|
#define JCTB_ONE_PACKET_SIZE 8214
|
|
#define JCTB_BUFFER_SIZE (MOENCH_ONE_PACKET_SIZE*MOENCH_PACKETS_PER_FRAME)
|
|
#define JCTB_DATA_BYTES (JCTB_BUFFER_PER_FRAME)
|
|
|
|
#define JCTB_FRAME_INDEX_MASK 0xFFFFFF00
|
|
#define JCTB_FRAME_INDEX_OFFSET 8
|
|
#define JCTB_PACKET_INDEX_MASK 0xFF
|
|
|
|
#define JCTB_BYTES_PER_ADC (2)
|
|
#define JCTB_PIXELS_IN_ONE_ROW 32
|
|
#define JCTB_BYTES_IN_ONE_ROW (JCTB_PIXELS_IN_ONE_ROW*2)
|
|
|
|
|
|
|
|
|
|
#define EIGER_MAX_PORTS 2
|
|
#define EIGER_HEADER_LENGTH 48
|
|
|
|
#define EIGER_FIFO_SIZE 100
|
|
/*#define EIGER_ALIGNED_FRAME_SIZE 65536*/
|
|
#define EIGER_ONE_GIGA_CONSTANT 16
|
|
#define EIGER_TEN_GIGA_CONSTANT 4
|
|
//#define EIGER_PACKETS_PER_FRAME_COSTANT (16*EIGER_MAX_PORTS)//*bit mode 4*16=64, 8*16=128, 16*16=256, 32*16=512
|
|
#define EIGER_ONE_GIGA_ONE_PACKET_SIZE 1040
|
|
#define EIGER_ONE_GIGA_ONE_DATA_SIZE 1024
|
|
#define EIGER_TEN_GIGA_ONE_PACKET_SIZE 4112
|
|
#define EIGER_TEN_GIGA_ONE_DATA_SIZE 4096
|
|
#define EIGER_PACKET_HEADER_SIZE 8
|
|
//#define EIGER_BUFFER_SIZE_CONSTANT (EIGER_ONE_PACKET_SIZE*EIGER_PACKETS_PER_FRAME_COSTANT)//1040*16*2//*bit mode
|
|
//#define EIGER_DATA_BYTES_CONSTANT (EIGER_ONE_DATA_SIZE*EIGER_PACKETS_PER_FRAME_COSTANT) //1024*16*2//*bit mode
|
|
|
|
#define EIGER_FRAME_INDEX_MASK 0xFFFFFFFF //32 bit for now
|
|
#define EIGER_FRAME_INDEX_OFFSET 0
|
|
#define EIGER_PACKET_INDEX_MASK 0x0
|
|
|
|
#define EIGER_IMAGE_HEADER_SIZE 48
|
|
|
|
#define EIGER_PIXELS_IN_ONE_ROW (256*4)
|
|
#define EIGER_PIXELS_IN_ONE_COL (256)
|
|
|
|
|
|
#endif
|