From eea2809136e1c1e5c0d9fdc9d06a1b86d5a89a89 Mon Sep 17 00:00:00 2001 From: Dhanya Maliakal Date: Thu, 1 Sep 2016 11:22:28 +0200 Subject: [PATCH] in between --- .../src/UDPStandardImplementation.cpp | 36 ++++++++---------- .../src/slsReceiverTCPIPInterface.cpp | 38 ++++++++++--------- 2 files changed, 36 insertions(+), 38 deletions(-) diff --git a/slsReceiverSoftware/src/UDPStandardImplementation.cpp b/slsReceiverSoftware/src/UDPStandardImplementation.cpp index db81cbd61..df0b7ccf9 100644 --- a/slsReceiverSoftware/src/UDPStandardImplementation.cpp +++ b/slsReceiverSoftware/src/UDPStandardImplementation.cpp @@ -727,7 +727,7 @@ int UDPStandardImplementation::setDetectorType(const detectorType d){ frameIndexMask = EIGER_FRAME_INDEX_MASK; frameIndexOffset = EIGER_FRAME_INDEX_OFFSET; packetIndexMask = EIGER_PACKET_INDEX_MASK; - maxFramesPerFile = 5;//EIGER_MAX_FRAMES_PER_FILE; + maxFramesPerFile = EIGER_MAX_FRAMES_PER_FILE; fifoSize = EIGER_FIFO_SIZE; fifoDepth = EIGER_FIFO_SIZE; footerOffset = EIGER_PACKET_HEADER_SIZE + oneDataSize; @@ -1655,7 +1655,7 @@ int UDPStandardImplementation::prepareAndListenBuffer(int ithread, int cSize, ch if(status != TRANSMITTING) receivedSize = udpSocket[ithread]->ReceiveDataOnly(buffer[ithread] + HEADER_SIZE_NUM_TOT_PACKETS + cSize, (bufferSize * numberofJobsPerBuffer) - cSize); //eiger returns 0 when header packet caught - if(!receivedSize && status != TRANSMITTING) + while(receivedSize < onePacketSize && status != TRANSMITTING) receivedSize = udpSocket[ithread]->ReceiveDataOnly(buffer[ithread] + HEADER_SIZE_NUM_TOT_PACKETS + cSize, (bufferSize * numberofJobsPerBuffer) - cSize); totalListeningPacketCount[ithread] += (receivedSize/onePacketSize); @@ -2206,28 +2206,24 @@ void UDPStandardImplementation::stopWriting(int ithread, char* wbuffer){ cprintf(RED, "Total Missing Packets: %lld\n",(long long int)numberOfFrames*packetsPerFrame*numberofListeningThreads-totalPacketsCaught); cprintf(RED, "Total Packets Caught: %lld\n",(long long int)totalPacketsCaught); cprintf(RED, "Total Frames Caught: %lld\n",(long long int)(totalPacketsCaught/(packetsPerFrame*numberofListeningThreads))); - cprintf(RED, "Last Frame Number Caught: "); int64_t lastFrameNumber = 0; for(int i=0;i=0)){ //get start frame (required to create new file at the right juncture) uint64_t startframe =-1; + //cout<<"getting start frame number"<push(wbuffer)); return; } - + //cout<<"done getting start frame number"<push(wbuffer)); @@ -2752,7 +2748,7 @@ int UDPStandardImplementation::writeUptoFrameNumber(int ithread, char* wbuffer, while(tempframenumber>=nextFrameNumber){ offset -= bigIncrements; if(offsetpush(wbuffer)); @@ -2760,7 +2756,7 @@ int UDPStandardImplementation::writeUptoFrameNumber(int ithread, char* wbuffer, } } if(offsetpush(wbuffer)); @@ -2768,7 +2764,7 @@ int UDPStandardImplementation::writeUptoFrameNumber(int ithread, char* wbuffer, } } while(tempframenumberpush(wbuffer)); @@ -2782,7 +2778,7 @@ int UDPStandardImplementation::writeUptoFrameNumber(int ithread, char* wbuffer, while(tempframenumberendoffset) - break; + break;//cout<<"frame number at going forwards fast"<push(wbuffer)); @@ -2790,7 +2786,7 @@ int UDPStandardImplementation::writeUptoFrameNumber(int ithread, char* wbuffer, } } if(offset>endoffset){ - offset = endoffset; + offset = endoffset;//cout<<"frame number at offset>endoffset"<push(wbuffer)); @@ -2798,7 +2794,7 @@ int UDPStandardImplementation::writeUptoFrameNumber(int ithread, char* wbuffer, } } while(tempframenumber>nextFrameNumber){ - offset -= onePacketSize; + offset -= onePacketSize;//cout<<"frame number at going bacckwards slow"<push(wbuffer)); @@ -2814,7 +2810,7 @@ int UDPStandardImplementation::writeUptoFrameNumber(int ithread, char* wbuffer, fwrite(wbuffer + startoffset, 1, offset-startoffset, sfilefd[ithread]); numPacketsWritten += ((offset-startoffset)/onePacketSize); lastFrameNumberInFile[ithread] = frameNumberWritten; - + //cout<<"done with writeUptoFrameNumber" << endl; return OK; } diff --git a/slsReceiverSoftware/src/slsReceiverTCPIPInterface.cpp b/slsReceiverSoftware/src/slsReceiverTCPIPInterface.cpp index 6c8092c4c..abb1308e8 100644 --- a/slsReceiverSoftware/src/slsReceiverTCPIPInterface.cpp +++ b/slsReceiverSoftware/src/slsReceiverTCPIPInterface.cpp @@ -1685,9 +1685,25 @@ int slsReceiverTCPIPInterface::eiger_read_frame(){ startAcquisitionIndex = -1; #ifdef VERYVERBOSE cout<<"data not ready for gui yet"<subFrameNumber); + } +#ifdef VERYVERBOSE + cout << "index:" << dec << index << endl; + if(index>10000) exit(-1); + cout << "subframenumber:" << dec << subframenumber << endl; +#endif + memcpy(((char*)origVal)+(i*onePacketSize*packetsPerFrame),raw,(frameSize/EIGER_MAX_PORTS)); raw=NULL; } @@ -1696,20 +1712,6 @@ int slsReceiverTCPIPInterface::eiger_read_frame(){ if(startAcquisitionIndex != -1){ //cout<<"**** got proper frame ******"<subFrameNumber); - } - -//#ifdef VERYVERBOSE - cout << "index:" << dec << index << endl; - cout << "subframenumber:" << dec << subframenumber << endl; -//#endif @@ -1824,18 +1826,18 @@ int slsReceiverTCPIPInterface::eiger_read_frame(){ startFrameIndex = -1; else frameIndex = index-startFrameIndex; -//#ifdef VERY_VERY_DEBUG +#ifdef VERY_VERY_DEBUG cout << "acquisitionIndex calculated is:" << acquisitionIndex << endl; cout << "frameIndex calculated is:" << frameIndex << endl; cout << "index:" << index << endl; cout << "startAcquisitionIndex:" << startAcquisitionIndex << endl; cout << "startFrameIndex:" << startFrameIndex << endl; cout << "subframenumber:" << subframenumber << endl; -//#endif +#endif } } -//#ifdef VERYVERBOSE +#ifdef VERYVERBOSE if(frameIndex!=-1){ cout << "fName:" << fName << endl; cout << "acquisitionIndex:" << acquisitionIndex << endl; @@ -1844,7 +1846,7 @@ int slsReceiverTCPIPInterface::eiger_read_frame(){ cout << "startFrameIndex:" << startFrameIndex << endl; cout << "subframenumber:" << subframenumber << endl; } -//#endif +#endif