diff --git a/slsReceiverSoftware/include/sls_receiver_defs.h b/slsReceiverSoftware/include/sls_receiver_defs.h index c11f6f8c0..7c500ece1 100755 --- a/slsReceiverSoftware/include/sls_receiver_defs.h +++ b/slsReceiverSoftware/include/sls_receiver_defs.h @@ -24,7 +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 JFRAU_MAX_FRAMES_PER_FILE 5 #define JFCTB_MAX_FRAMES_PER_FILE 100000 diff --git a/slsReceiverSoftware/src/UDPStandardImplementation.cpp b/slsReceiverSoftware/src/UDPStandardImplementation.cpp index fe86efd51..cd94e2e52 100644 --- a/slsReceiverSoftware/src/UDPStandardImplementation.cpp +++ b/slsReceiverSoftware/src/UDPStandardImplementation.cpp @@ -1393,12 +1393,15 @@ int UDPStandardImplementation::createNewFile(){ previousFrameNumber = -1; cout << "File: " << completeFileName << endl; }else{ + if (previousFrameNumber == -1) + previousFrameNumber = startFrameIndex-1; + cout << completeFileName << "\tPacket Loss: " << setw(4)<= (uint32_t)maxPacketsPerFile){ //for packet loss, because currframenum is the latest one for eiger + //get frame number (eiger already gets it when it does packet to packet processing) if(myDetectorType != EIGER){ lastpacket = (((packetsToSave - 1) * onePacketSize) + offset); + if(myDetectorType == JUNGFRAU){ + jfrau_packet_header_t* header = (jfrau_packet_header_t*) (wbuffer[0] + lastpacket); + currentFrameNumber = (*( (uint64_t*) header->frameNumber)); + }else{ + tempframenumber = ((uint32_t)(*((uint32_t*)(wbuffer[0] + lastpacket)))); + //for gotthard and normal frame, increment frame number to separate fnum and pnum + if (myDetectorType == PROPIX ||(myDetectorType == GOTTHARD && shortFrameEnable == -1)) + tempframenumber++; + //get frame number + currentFrameNumber = (tempframenumber & frameIndexMask) >> frameIndexOffset; + } + + - //get frame number (eiger already gets it when it does packet to packet processing) - tempframenumber = ((uint32_t)(*((uint32_t*)(wbuffer[0] + lastpacket)))); - //for gotthard and normal frame, increment frame number to separate fnum and pnum - if (myDetectorType == PROPIX ||(myDetectorType == GOTTHARD && shortFrameEnable == -1)) - tempframenumber++; - //get frame number - currentFrameNumber = (tempframenumber & frameIndexMask) >> frameIndexOffset; //set indices acquisitionIndex = currentFrameNumber - startAcquisitionIndex; frameIndex = currentFrameNumber - startFrameIndex;