mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-06-22 01:27:59 +02:00
fixed frames from receiver to flip accordingly, also display frame index as not visible from filename
git-svn-id: file:///afs/psi.ch/project/sls_det_software/svn/slsDetectorSoftware@345 951219d9-93cf-4727-9268-0efd64621fa3
This commit is contained in:
@ -131,7 +131,7 @@ void postProcessing::processFrame(int *myData, int delflag) {
|
||||
} else
|
||||
if (dataReady){
|
||||
thisData=new detectorData(fdata,NULL,NULL,getCurrentProgress(),(fname+string(".raw")).c_str(),getTotalNumberOfChannels());
|
||||
dataReady(thisData, pCallbackArg);
|
||||
dataReady(thisData, -1, pCallbackArg);
|
||||
delete thisData;
|
||||
fdata=NULL;
|
||||
}
|
||||
@ -243,7 +243,7 @@ void postProcessing::doProcessing(double *lfdata, int delflag, string fname) {
|
||||
|
||||
if (dataReady) {
|
||||
thisData=new detectorData(val,err,ang,getCurrentProgress(),(fname+ext).c_str(),np);
|
||||
dataReady(thisData, pCallbackArg);
|
||||
dataReady(thisData, -1, pCallbackArg);
|
||||
delete thisData;
|
||||
ang=NULL;
|
||||
val=NULL;
|
||||
@ -390,36 +390,43 @@ void* postProcessing::processData(int delflag) {
|
||||
pthread_mutex_unlock(&mg);
|
||||
|
||||
int caught=0;
|
||||
bool newData=false;
|
||||
char currentfName[MAX_STR_LENGTH];
|
||||
int currentfIndex=0;
|
||||
|
||||
while(1){
|
||||
if (checkJoinThread()) break;
|
||||
usleep(200000);
|
||||
|
||||
pthread_mutex_lock(&mg);
|
||||
pthread_mutex_lock(&mg);
|
||||
caught=getCurrentFrameIndex();
|
||||
pthread_mutex_unlock(&mg);
|
||||
pthread_mutex_unlock(&mg);
|
||||
|
||||
incrementProgress(caught-prevCaught);
|
||||
if(caught-prevCaught) newData=true;
|
||||
else newData=false;
|
||||
prevCaught=caught;
|
||||
if (checkJoinThread()) break;
|
||||
//if(progress_call)
|
||||
// progress_call(getCurrentProgress(),pProgressCallArg);
|
||||
pthread_mutex_lock(&mg);
|
||||
int* receiverData = readFrameFromReceiver();
|
||||
pthread_mutex_unlock(&mg);
|
||||
if(newData){
|
||||
pthread_mutex_lock(&mg);
|
||||
int* receiverData = readFrameFromReceiver(currentfName,currentfIndex);
|
||||
pthread_mutex_unlock(&mg);
|
||||
|
||||
if(!receiverData)
|
||||
return 0;
|
||||
fdata=decodeData(receiverData);
|
||||
delete [] receiverData;
|
||||
if(fdata){
|
||||
if (dataReady) {
|
||||
thisData=new detectorData(fdata,NULL,NULL,getCurrentProgress(),(getCurrentFileName()+string(".raw")).c_str(),getTotalNumberOfChannels());
|
||||
dataReady(thisData, pCallbackArg);
|
||||
delete thisData;
|
||||
fdata=NULL;
|
||||
if(!receiverData)
|
||||
return 0;
|
||||
fdata=decodeData(receiverData);
|
||||
delete [] receiverData;
|
||||
if(fdata){
|
||||
if (dataReady) {
|
||||
thisData=new detectorData(fdata,NULL,NULL,getCurrentProgress(),currentfName,getTotalNumberOfChannels());
|
||||
dataReady(thisData, currentfIndex, pCallbackArg);
|
||||
delete thisData;
|
||||
fdata=NULL;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -235,7 +235,7 @@ s
|
||||
void ResetPositionIndex(){pthread_mutex_lock(&mp); resetPositionIndex(); pthread_mutex_unlock(&mp);};
|
||||
|
||||
|
||||
void registerDataCallback(int( *userCallback)(detectorData*, void*), void *pArg) {dataReady = userCallback; pCallbackArg = pArg;};
|
||||
void registerDataCallback(int( *userCallback)(detectorData*, int, void*), void *pArg) {dataReady = userCallback; pCallbackArg = pArg;};
|
||||
|
||||
|
||||
void registerRawDataCallback(int( *userCallback)(double*, int, void*), void *pArg) {rawDataReady = userCallback; pRawDataArg = pArg;};
|
||||
@ -328,7 +328,7 @@ s
|
||||
private:
|
||||
double *fdata;
|
||||
|
||||
int (*dataReady)(detectorData*,void*);
|
||||
int (*dataReady)(detectorData*,int, void*);
|
||||
void *pCallbackArg;
|
||||
|
||||
int (*rawDataReady)(double*,int,void*);
|
||||
|
Reference in New Issue
Block a user