From 5b2a896ed3b815162f4a54f9bd1b81f582e42064 Mon Sep 17 00:00:00 2001 From: Maliakal Dhanya Date: Fri, 28 Nov 2014 14:28:56 +0100 Subject: [PATCH] to return if it catches only 16 bytes or less than expected, but compensates for first frame being only 266240 for eiger --- slsReceiverSoftware/src/UDPStandardImplementation.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/slsReceiverSoftware/src/UDPStandardImplementation.cpp b/slsReceiverSoftware/src/UDPStandardImplementation.cpp index 6c92bf98e..5822a11ca 100644 --- a/slsReceiverSoftware/src/UDPStandardImplementation.cpp +++ b/slsReceiverSoftware/src/UDPStandardImplementation.cpp @@ -1647,6 +1647,7 @@ int UDPStandardImplementation::startListening(){ stopListening(ithread,rc,packetcount,total); continue; } + /* //start indices for each start of scan/acquisition - eiger does it before if((!measurementStarted) && (rc > 0) && (!ithread)) @@ -2004,7 +2005,7 @@ void UDPStandardImplementation::startFrameIndices(int ithread){ -void UDPStandardImplementation::stopListening(int ithread, int rc, int &pc, int &t){ +void UDPStandardImplementation::stopListening(int ithread, int rc, int &pc, int &t){cout << "Stop Listening" << endl; FILE_LOG(logDEBUG) << __AT__ << " called"; @@ -2019,7 +2020,9 @@ int i; exit(-1); } //push the last buffer into fifo - if((myDetectorType != EIGER) && (rc > 0)){ //for eiger throw away incomplete frames + if((myDetectorType == EIGER) && (rc < 266240) )//for eiger throw away incomplete frames + fifoFree[ithread]->push(buffer[ithread]); + else if(rc > 0){cout<< ithread << " last rc:"<push(buffer[ithread]);//for all detectors too. why was this not there? for rc=0? + } //push dummy buffer to all writer threads