mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2026-01-16 07:01:33 +01:00
jungfrau works
This commit is contained in:
@@ -461,29 +461,6 @@ private:
|
||||
*************************************************************************/
|
||||
|
||||
//**detector parameters***
|
||||
/**
|
||||
* structure of an eiger packet header
|
||||
* subframenum subframe number for 32 bit mode (already written by firmware)
|
||||
* missingpacket explicitly put to 0xFF to recognize it in file read (written by software)
|
||||
* portnum 0 for the first port and 1 for the second port (written by software to file)
|
||||
* dynamicrange dynamic range or bits per pixel (written by software to file)
|
||||
*/
|
||||
typedef struct {
|
||||
unsigned char subFameNumber[4];
|
||||
unsigned char missingPacket[2];
|
||||
unsigned char portIndex[1];
|
||||
unsigned char dynamicRange[1];
|
||||
} eiger_packet_header_t;
|
||||
/**
|
||||
* structure of an eiger packet footer
|
||||
* framenum 48 bit frame number (already written by firmware)
|
||||
* packetnum packet number (already written by firmware)
|
||||
*/
|
||||
typedef struct {
|
||||
unsigned char frameNumber[6];
|
||||
unsigned char packetNumber[2];
|
||||
} eiger_packet_footer_t;
|
||||
|
||||
/** Size of 1 Frame including headers */
|
||||
int frameSize;
|
||||
|
||||
|
||||
@@ -75,7 +75,8 @@ class sockaddr_in;
|
||||
using namespace std;
|
||||
|
||||
#define DEFAULT_PACKET_SIZE 1286
|
||||
#define SOCKET_BUFFER_SIZE (100*1024*1024) //100MB
|
||||
/*#define SOCKET_BUFFER_SIZE (100*1024*1024) //100MB*/
|
||||
#define SOCKET_BUFFER_SIZE (2000*1024*1024) //100MB
|
||||
#define DEFAULT_PORTNO 1952
|
||||
#define DEFAULT_BACKLOG 5
|
||||
#define DEFAULT_UDP_PORTNO 50001
|
||||
@@ -578,7 +579,6 @@ enum communicationProtocol{
|
||||
|
||||
int ReceiveDataOnly(void* buf,int length=0){
|
||||
|
||||
|
||||
if (buf==NULL) return -1;
|
||||
|
||||
|
||||
|
||||
@@ -5,6 +5,43 @@
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
|
||||
/**
|
||||
* structure of an eiger packet header
|
||||
* subframenum subframe number for 32 bit mode (already written by firmware)
|
||||
* missingpacket explicitly put to 0xFF to recognize it in file read (written by software)
|
||||
* portnum 0 for the first port and 1 for the second port (written by software to file)
|
||||
* dynamicrange dynamic range or bits per pixel (written by software to file)
|
||||
*/
|
||||
typedef struct {
|
||||
unsigned char subFrameNumber[4];
|
||||
unsigned char missingPacket[2];
|
||||
unsigned char portIndex[1];
|
||||
unsigned char dynamicRange[1];
|
||||
} eiger_packet_header_t;
|
||||
/**
|
||||
* structure of an eiger packet footer
|
||||
* framenum 48 bit frame number (already written by firmware)
|
||||
* packetnum packet number (already written by firmware)
|
||||
*/
|
||||
typedef struct {
|
||||
unsigned char frameNumber[6];
|
||||
unsigned char packetNumber[2];
|
||||
} eiger_packet_footer_t;
|
||||
|
||||
/**
|
||||
* structure of an jungfrau packet header
|
||||
* empty header
|
||||
* framenumber
|
||||
* packetnumber
|
||||
*/
|
||||
typedef struct {
|
||||
unsigned char emptyHeader[6];
|
||||
unsigned char frameNumber[8];
|
||||
unsigned char packetNumber[8];
|
||||
} jfrau_packet_header_t;
|
||||
|
||||
|
||||
#define GOODBYE -200
|
||||
|
||||
#define DO_NOTHING 0
|
||||
@@ -90,6 +127,26 @@
|
||||
|
||||
|
||||
|
||||
|
||||
#define JFRAU_FIFO_SIZE 2500 //cannot be less than max jobs per thread = 1000
|
||||
#define JFRAU_PACKETS_PER_FRAME 128
|
||||
#define JFRAU_HEADER_LENGTH 22
|
||||
#define JFRAU_ONE_DATA_SIZE 8192
|
||||
#define JFRAU_ONE_PACKET_SIZE (JFRAU_HEADER_LENGTH+JFRAU_ONE_DATA_SIZE) //8214
|
||||
#define JFRAU_DATA_BYTES (JFRAU_ONE_DATA_SIZE*JFRAU_PACKETS_PER_FRAME) //8192*128
|
||||
#define JFRAU_BUFFER_SIZE (JFRAU_ONE_PACKET_SIZE*JFRAU_PACKETS_PER_FRAME) //8214*128
|
||||
|
||||
|
||||
#define JFRAU_FRAME_INDEX_MASK 0x0 //Not Applicable, use struct
|
||||
#define JFRAU_FRAME_INDEX_OFFSET 0x0 //Not Applicable, use struct
|
||||
#define JFRAU_PACKET_INDEX_MASK 0x0//Not Applicable, use struct
|
||||
|
||||
#define JFRAU_PIXELS_IN_ONE_ROW (256*4)
|
||||
#define JFRAU_PIXELS_IN_ONE_COL (256*2)
|
||||
#define JFRAU_BYTES_IN_ONE_ROW (JFRAU_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
|
||||
|
||||
@@ -176,6 +176,9 @@ private:
|
||||
/** eiger specific read frame */
|
||||
int eiger_read_frame();
|
||||
|
||||
/** jungfrau specific read frame */
|
||||
int jungfrau_read_frame();
|
||||
|
||||
/** Sets the receiver to send every nth frame to gui, or only upon gui request */
|
||||
int set_read_frequency();
|
||||
|
||||
|
||||
@@ -24,6 +24,7 @@ typedef int int32_t;
|
||||
#define SHORT_MAX_FRAMES_PER_FILE 100000
|
||||
#define MOENCH_MAX_FRAMES_PER_FILE 1000
|
||||
#define EIGER_MAX_FRAMES_PER_FILE 2000
|
||||
#define JFRAU_MAX_FRAMES_PER_FILE 2000
|
||||
#define JFCTB_MAX_FRAMES_PER_FILE 100000
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user