From e35867227f7fed34610dbfe70c8f517e0d57289d Mon Sep 17 00:00:00 2001 From: Dhanya Maliakal Date: Mon, 30 Mar 2015 17:16:31 +0200 Subject: [PATCH] writing frame number to the file for eiger --- slsReceiverSoftware/include/UDPBaseImplementation.h | 3 ++- slsReceiverSoftware/src/UDPStandardImplementation.cpp | 7 ++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/slsReceiverSoftware/include/UDPBaseImplementation.h b/slsReceiverSoftware/include/UDPBaseImplementation.h index 6450f85f0..779827778 100644 --- a/slsReceiverSoftware/include/UDPBaseImplementation.h +++ b/slsReceiverSoftware/include/UDPBaseImplementation.h @@ -499,7 +499,8 @@ protected: typedef struct { unsigned char num1[4]; - unsigned char num2[4]; + unsigned char num2[3]; + unsigned char num3[1]; } eiger_packet_header; /** max number of listening threads */ diff --git a/slsReceiverSoftware/src/UDPStandardImplementation.cpp b/slsReceiverSoftware/src/UDPStandardImplementation.cpp index f44ed6017..012d675a5 100644 --- a/slsReceiverSoftware/src/UDPStandardImplementation.cpp +++ b/slsReceiverSoftware/src/UDPStandardImplementation.cpp @@ -2306,8 +2306,13 @@ void UDPStandardImplementation::writeToFile_withoutCompression(char* buf,int num if((enableFileWrite) && (sfilefd)){ offset = HEADER_SIZE_NUM_TOT_PACKETS; - if(myDetectorType == EIGER) + if(myDetectorType == EIGER){ offset += EIGER_HEADER_LENGTH; + (*(uint32_t*)(((eiger_packet_header *)((char*)(buf + offset)))->num1)) = framenum; + //cprintf(RED, "framenum:0x%x\n", (*(unsigned int*)(((eiger_packet_header *)((char*)(buf + offset)))->num1))); + //cprintf(RED, "2packetnumber:0x%x\n", (*(uint16_t*)(((eiger_packet_header *)((char*)(buf + offset)))->num3))); + //cprintf(RED, "22packetnumber:0x%x\n",(*(uint16_t*)(((eiger_packet_header *)((char*)(buf + offset +1040)))->num3))); + } while(numpackets > 0){ //for progress and packet loss calculation(new files)