From a3a2db1f73d6a22fa9ad87745d4132e4317c1331 Mon Sep 17 00:00:00 2001 From: Dhanya Maliakal Date: Tue, 30 Jun 2015 17:20:23 +0200 Subject: [PATCH] fixed 32 progress problem, and increased debugging --- .../bin/eigerDetectorServer | Bin 242191 -> 242191 bytes .../slsDetectorFunctionList.c | 10 +++++++--- .../slsDetector/slsDetector.cpp | 12 ++++++------ .../slsDetector/slsDetectorUtils.cpp | 5 +++++ .../slsDetectorAnalysis/postProcessing.cpp | 12 ++++++++++-- .../slsDetectorAnalysis/postProcessing.h | 2 ++ .../slsDetectorServer_funcs.c | 4 ++-- 7 files changed, 32 insertions(+), 13 deletions(-) diff --git a/slsDetectorSoftware/eigerDetectorServer/bin/eigerDetectorServer b/slsDetectorSoftware/eigerDetectorServer/bin/eigerDetectorServer index ef98c4c4d06090f0302ac101e44b7d271fc659cc..48451f357ac2c000eee71ade7616cceff9b992dc 100755 GIT binary patch delta 20667 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 E00tj$!TdynamicRange=retval; - //#ifdef VERBOSE +#ifdef VERBOSE std::cout<< "Dynamic range set to "<< thisDetector->dynamicRange << std::endl; std::cout<< "Data bytes "<< thisDetector->dataBytes << std::endl; - //#endif +#endif } @@ -4211,11 +4211,11 @@ int slsDetector::setDynamicRange(int n){ if(ret != FAIL){ if(setReceiverOnline(ONLINE_FLAG)==ONLINE_FLAG){ #ifdef VERBOSE - std::cout << "Sending/Getting dynamic range to/from receiver " << retval << std::endl; + std::cout << "Sending/Getting dynamic range to/from receiver " << n << std::endl; #endif if (connectData() == OK) - ret=thisReceiver->sendInt(fnum2,retval1,retval); - if((retval1 != retval)|| (ret==FAIL)){ + ret=thisReceiver->sendInt(fnum2,retval1,n); + if ((ret==FAIL) || (retval1 != retval)){ ret = FAIL; cout << "ERROR:Dynamic range in receiver set incorrectly to " << retval1 << " instead of " << retval << endl; setErrorMask((getErrorMask())|(RECEIVER_DYNAMIC_RANGE)); diff --git a/slsDetectorSoftware/slsDetector/slsDetectorUtils.cpp b/slsDetectorSoftware/slsDetector/slsDetectorUtils.cpp index 8acfbb8e1..f98a68bee 100644 --- a/slsDetectorSoftware/slsDetector/slsDetectorUtils.cpp +++ b/slsDetectorSoftware/slsDetector/slsDetectorUtils.cpp @@ -53,6 +53,11 @@ void slsDetectorUtils::acquire(int delflag){ int multiframe = nc*nf; + // + if(setDynamicRange() == 32) subframe = 1; + else subframe = 0; + + // setTotalProgress(); //moved these 2 here for measurement change progressIndex=0; diff --git a/slsDetectorSoftware/slsDetectorAnalysis/postProcessing.cpp b/slsDetectorSoftware/slsDetectorAnalysis/postProcessing.cpp index 9a2bd6f0b..73e7a3e7c 100644 --- a/slsDetectorSoftware/slsDetectorAnalysis/postProcessing.cpp +++ b/slsDetectorSoftware/slsDetectorAnalysis/postProcessing.cpp @@ -501,6 +501,8 @@ void* postProcessing::processData(int delflag) { int currentFrameIndex = -1; bool newData = false; int nthframe = setReadReceiverFrequency(0); + + #ifdef VERBOSE std::cout << "receiver read freq:" << nthframe << std::endl; #endif @@ -531,8 +533,14 @@ void* postProcessing::processData(int delflag) { pthread_mutex_unlock(&mg); //updating progress - if(currentAcquisitionIndex != -1) - setCurrentProgress(currentAcquisitionIndex+1); + if(currentAcquisitionIndex != -1){ + if(subframe){ + pthread_mutex_lock(&mg); + setCurrentProgress(getFramesCaughtByReceiver()); + pthread_mutex_unlock(&mg); + }else + setCurrentProgress(currentAcquisitionIndex+1); + } #ifdef VERY_VERY_DEBUG cout << "currentAcquisitionIndex:" << currentAcquisitionIndex << endl; #endif diff --git a/slsDetectorSoftware/slsDetectorAnalysis/postProcessing.h b/slsDetectorSoftware/slsDetectorAnalysis/postProcessing.h index 1472af732..effa175e7 100644 --- a/slsDetectorSoftware/slsDetectorAnalysis/postProcessing.h +++ b/slsDetectorSoftware/slsDetectorAnalysis/postProcessing.h @@ -302,6 +302,8 @@ s /** set when detector finishes acquiring */ int acquiringDone; + /**sub frame*/ + int subframe; /** diff --git a/slsDetectorSoftware/slsDetectorServer/slsDetectorServer_funcs.c b/slsDetectorSoftware/slsDetectorServer/slsDetectorServer_funcs.c index ad749c248..81df1d4f6 100755 --- a/slsDetectorSoftware/slsDetectorServer/slsDetectorServer_funcs.c +++ b/slsDetectorSoftware/slsDetectorServer/slsDetectorServer_funcs.c @@ -85,7 +85,7 @@ int decode_function(int file_des) { fnum=255; ret=(*flist[fnum])(file_des); if (ret==FAIL) - printf( "Error executing the function = %d \n",fnum); + cprintf( RED, "Error executing the function = %d \n",fnum); return ret; } @@ -2603,7 +2603,7 @@ int set_dynamic_range(int file_des) { ret=FORCE_UPDATE; #ifdef SLS_DETECTOR_FUNCTION_LIST - dataBytes=calculateDataBytes(); + if (dr>=0) dataBytes=calculateDataBytes(); #endif //ret could be swapped during sendData