From 7fdc12735652a95c01972a917980ceeeadd42c8e Mon Sep 17 00:00:00 2001 From: Dhanya Maliakal Date: Thu, 3 Nov 2016 12:31:53 +0100 Subject: [PATCH] included bunch id in jungfrau header --- slsReceiverSoftware/include/receiver_defs.h | 1 + .../src/UDPStandardImplementation.cpp | 13 +++++++------ 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/slsReceiverSoftware/include/receiver_defs.h b/slsReceiverSoftware/include/receiver_defs.h index 29c3f4994..77a3623d2 100755 --- a/slsReceiverSoftware/include/receiver_defs.h +++ b/slsReceiverSoftware/include/receiver_defs.h @@ -130,6 +130,7 @@ typedef struct { #define JFRAU_FILE_FRAME_HEADER_LENGTH 16 +#define JFRAU_FILE_HEADER_BUNCHID_OFFSET 8 #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 diff --git a/slsReceiverSoftware/src/UDPStandardImplementation.cpp b/slsReceiverSoftware/src/UDPStandardImplementation.cpp index 0d1d5b995..fd65b4260 100644 --- a/slsReceiverSoftware/src/UDPStandardImplementation.cpp +++ b/slsReceiverSoftware/src/UDPStandardImplementation.cpp @@ -835,7 +835,7 @@ int UDPStandardImplementation::setDetectorType(const detectorType d){ maxFramesPerFile = JFRAU_MAX_FRAMES_PER_FILE; fifoDepth = JFRAU_FIFO_SIZE; fifoSize = JFRAU_FIFO_SIZE; - fifoBufferHeaderSize= JFRAU_FILE_FRAME_HEADER_LENGTH; + fifoBufferHeaderSize= (HEADER_SIZE_NUM_TOT_PACKETS + JFRAU_FILE_FRAME_HEADER_LENGTH); //footerOffset = Not applicable; break; default: @@ -1535,7 +1535,7 @@ int UDPStandardImplementation::setupWriter(){ -int UDPStandardImplementation::createNewFile(int ithread){cprintf(BLUE,"Creating new file\n"); +int UDPStandardImplementation::createNewFile(int ithread){ FILE_LOG(logDEBUG) << __AT__ << " called"; //create file name @@ -2143,7 +2143,8 @@ int UDPStandardImplementation::prepareAndListenBuffer(int ithread, int cSize, ch if(currentpnum == pnum){ //cout<<"correct packet"<frameNumber))&frameIndexMask); + (*((uint32_t*)(buffer[ithread]+HEADER_SIZE_NUM_TOT_PACKETS))) = ((*( (uint32_t*) header->frameNumber))&frameIndexMask); + (*((uint64_t*)(buffer[ithread]+HEADER_SIZE_NUM_TOT_PACKETS+JFRAU_FILE_HEADER_BUNCHID_OFFSET))) = (*( (uint64_t*) header->bunchid)); //cout<<"current fnum:"<<(*((uint32_t*)(buffer[ithread]+8)))< DO_NOTHING) && missingPacketinFile){ + if(myDetectorType == EIGER && fileWriteEnable && (cbAction > DO_NOTHING) && missingPacketinFile){ updateFileHeader(ithread); fseek(sfilefd[ithread],0,0); fwrite((void*)fileHeader[ithread], 1, FILE_HEADER_SIZE, sfilefd[ithread]); @@ -2894,7 +2895,7 @@ void UDPStandardImplementation::handleWithoutMissingPackets(int ithread, char* w cout<<"going to create new file: frame number:"<