moench receiver works most of the time

git-svn-id: file:///afs/psi.ch/project/sls_det_software/svn/slsDetectorSoftware@512 951219d9-93cf-4727-9268-0efd64621fa3
This commit is contained in:
l_maliakal_d 2013-04-12 15:51:33 +00:00
parent 27c91c36ff
commit c9cef8c12f
2 changed files with 15 additions and 16 deletions

View File

@ -415,7 +415,7 @@ void* postProcessing::processData(int delflag) {
while(1){
cout.flush();
cout<<flush;
if (checkJoinThread()) break;
//if (checkJoinThread()) break;
usleep(200000);
pthread_mutex_lock(&mg);
@ -432,8 +432,8 @@ void* postProcessing::processData(int delflag) {
int* receiverData = readFrameFromReceiver(currentfName,currentfIndex);
pthread_mutex_unlock(&mg);
if(!receiverData){
cout<<"****Detector returned NULL***"<<endl;
if(receiverData == NULL){
cout<<"****Detector Data returned is NULL***"<<endl;
return 0;
}

View File

@ -884,10 +884,9 @@ int slsReceiverFuncs::moench_read_frame(){
int rnel = bufferSize/(sizeof(int));
int* retval = new int[rnel];
int* origVal = new int[rnel];
//all initialized to 0
for(i=0;i<rnel;i++) retval[i]=0;
for(i=0;i<rnel;i++) origVal[i]=0;
int onebuffersize = bufferSize/MOENCH_PACKETS_PER_FRAME;
int onedatasize = MOENCH_DATA_BYTES/MOENCH_PACKETS_PER_FRAME;
@ -922,21 +921,20 @@ int slsReceiverFuncs::moench_read_frame(){
index = startIndex;
cout << "didnt get data. Gui will try again" << endl;
for(i=0;i<MOENCH_PACKETS_PER_FRAME/2;i++){
memcpy(retval + onedatasize*i, ((char*) origVal)+4+ onedatasize*i , onedatasize);
memcpy((((char*)retval)+onedatasize*(i+1)), ((char*) origVal)+10+ onedatasize*(i+1), onedatasize);
for(i=0;i<MOENCH_PACKETS_PER_FRAME;i=i+2){
memcpy((((char*)retval)+ onedatasize*i), (((char*) origVal)+4+ onebuffersize*i) , onedatasize);
memcpy((((char*)retval)+ onedatasize*(i+1)), (((char*) origVal)+10+onedatasize+ onebuffersize*i),onedatasize);
}
}else{
//upto 40 indices, look at just index1 and index2 for now
index=(int)(*(int*)raw);
//index2= (int)(*((int*)((char*)(raw+onebuffersize))));
memcpy(origVal,raw,bufferSize);
delete [] raw;/****?????????FOR GOTTHARD AS WELL?????**/
raw=NULL;
for(i=0;i<MOENCH_PACKETS_PER_FRAME/2;i++){
memcpy(retval + onedatasize*i, ((char*) origVal)+4+ onedatasize*i , onedatasize);
memcpy((((char*)retval)+onedatasize*(i+1)), ((char*) origVal)+10+ onedatasize*(i+1), onedatasize);
for(i=0;i<MOENCH_PACKETS_PER_FRAME;i=i+2){
memcpy((((char*)retval)+ onedatasize*i), (((char*) origVal)+4+ onebuffersize*i) , onedatasize);
memcpy((((char*)retval)+ onedatasize*(i+1)), (((char*) origVal)+10+onedatasize+ onebuffersize*i),onedatasize);
}
}
@ -970,10 +968,11 @@ int slsReceiverFuncs::moench_read_frame(){
}
//return ok/fail
/* ///ADDED BY ANNA?!?!?!? //?????????FOR GOTTHARD AS WELL?????
if(retval) delete [] retval;
if(origVal) delete [] origVal;
*/
///ADDED BY ANNA?!?!?!? //?????????FOR GOTTHARD AS WELL?????
delete [] origVal;
delete [] retval;
return ret;
}