mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-04-22 14:38:14 +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:
parent
89ddfa9b51
commit
e4e46920cd
@ -3733,7 +3733,7 @@ int multiSlsDetector::resetFramesCaught(int index) {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
int* multiSlsDetector::readFrameFromReceiver(){
|
int* multiSlsDetector::readFrameFromReceiver(char* fName, int &fIndex){
|
||||||
int nel=(thisMultiDetector->dataBytes)/sizeof(int);
|
int nel=(thisMultiDetector->dataBytes)/sizeof(int);
|
||||||
int n;
|
int n;
|
||||||
int* retval=new int[nel];
|
int* retval=new int[nel];
|
||||||
@ -3741,7 +3741,7 @@ int* multiSlsDetector::readFrameFromReceiver(){
|
|||||||
|
|
||||||
for (int id=0; id<thisMultiDetector->numberOfDetectors; id++) {
|
for (int id=0; id<thisMultiDetector->numberOfDetectors; id++) {
|
||||||
if (detectors[id]) {
|
if (detectors[id]) {
|
||||||
retdet=detectors[id]->readFrameFromReceiver();
|
retdet=detectors[id]->readFrameFromReceiver(fName,fIndex);
|
||||||
if (retdet) {
|
if (retdet) {
|
||||||
n=detectors[id]->getDataBytes();
|
n=detectors[id]->getDataBytes();
|
||||||
memcpy(p,retdet,n);
|
memcpy(p,retdet,n);
|
||||||
|
@ -1094,9 +1094,12 @@ class multiSlsDetector : public slsDetectorUtils {
|
|||||||
int resetFramesCaught(int index=-1);
|
int resetFramesCaught(int index=-1);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* Reads a frame from receiver
|
||||||
|
* @param fName file name of current frame()
|
||||||
|
* @param fIndex current frame index
|
||||||
/returns a frame read from recever
|
/returns a frame read from recever
|
||||||
*/
|
*/
|
||||||
int* readFrameFromReceiver();
|
int* readFrameFromReceiver(char* fName, int &fIndex);
|
||||||
|
|
||||||
/** Locks/Unlocks the connection to the receiver
|
/** Locks/Unlocks the connection to the receiver
|
||||||
/param lock sets (1), usets (0), gets (-1) the lock
|
/param lock sets (1), usets (0), gets (-1) the lock
|
||||||
|
@ -5678,12 +5678,13 @@ int slsDetector::resetFramesCaught(int index){
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
int* slsDetector::readFrameFromReceiver(){
|
int* slsDetector::readFrameFromReceiver(char* fName, int &fIndex){
|
||||||
//cout<<"databytes:"<<thisDetector->dataBytes<<" headerlength:"<<HEADERLENGTH<<endl;
|
//cout<<"databytes:"<<thisDetector->dataBytes<<" headerlength:"<<HEADERLENGTH<<endl;
|
||||||
int fnum=F_READ_FRAME;
|
int fnum=F_READ_FRAME;
|
||||||
int nel=(thisDetector->dataBytes+HEADERLENGTH)/sizeof(int);//2572/
|
int nel=(thisDetector->dataBytes+HEADERLENGTH)/sizeof(int);//2572/
|
||||||
int* retval=new int[nel];
|
int* retval=new int[nel];
|
||||||
int* origVal=new int[nel];
|
int* origVal=new int[nel];
|
||||||
|
int arg[2];
|
||||||
int ret=FAIL;
|
int ret=FAIL;
|
||||||
int n;
|
int n;
|
||||||
char mess[100]="Nothing";
|
char mess[100]="Nothing";
|
||||||
@ -5705,6 +5706,8 @@ int* slsDetector::readFrameFromReceiver(){
|
|||||||
delete [] retval;
|
delete [] retval;
|
||||||
return NULL;
|
return NULL;
|
||||||
} else {
|
} else {
|
||||||
|
n=dataSocket->ReceiveDataOnly(fName,MAX_STR_LENGTH);
|
||||||
|
n=dataSocket->ReceiveDataOnly(arg,sizeof(arg));
|
||||||
n=dataSocket->ReceiveDataOnly(origVal,thisDetector->dataBytes+HEADERLENGTH);
|
n=dataSocket->ReceiveDataOnly(origVal,thisDetector->dataBytes+HEADERLENGTH);
|
||||||
#ifdef VERBOSE
|
#ifdef VERBOSE
|
||||||
std::cout<< "Received "<< n << " data bytes" << std::endl;
|
std::cout<< "Received "<< n << " data bytes" << std::endl;
|
||||||
@ -5717,9 +5720,16 @@ int* slsDetector::readFrameFromReceiver(){
|
|||||||
return NULL;
|
return NULL;
|
||||||
}//worked
|
}//worked
|
||||||
else{
|
else{
|
||||||
|
fIndex=arg[0];
|
||||||
|
if(arg[1]){
|
||||||
memcpy(retval,((char*) origVal)+2, getDataBytes()/2);
|
memcpy(retval,((char*) origVal)+2, getDataBytes()/2);
|
||||||
memcpy((((char*)retval)+getDataBytes()/2), ((char*) origVal)+8+getDataBytes()/2, getDataBytes()/2);
|
memcpy((((char*)retval)+getDataBytes()/2), ((char*) origVal)+8+getDataBytes()/2, getDataBytes()/2);
|
||||||
}
|
}
|
||||||
|
else{
|
||||||
|
memcpy((((char*)retval)+getDataBytes()/2),((char*) origVal)+2, getDataBytes()/2);
|
||||||
|
memcpy(retval, ((char*) origVal)+8+getDataBytes()/2, getDataBytes()/2);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
dataSocket->Disconnect();
|
dataSocket->Disconnect();
|
||||||
}
|
}
|
||||||
|
@ -1467,9 +1467,12 @@ class slsDetector : public slsDetectorUtils, public energyConversion {
|
|||||||
int resetFramesCaught(int index=-1);
|
int resetFramesCaught(int index=-1);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* Reads a frame from receiver
|
||||||
|
* @param fName file name of current frame()
|
||||||
|
* @param fIndex current frame index
|
||||||
/returns a frame read from recever
|
/returns a frame read from recever
|
||||||
*/
|
*/
|
||||||
int* readFrameFromReceiver();
|
int* readFrameFromReceiver(char* fName, int &fIndex);
|
||||||
|
|
||||||
/** Locks/Unlocks the connection to the receiver
|
/** Locks/Unlocks the connection to the receiver
|
||||||
/param lock sets (1), usets (0), gets (-1) the lock
|
/param lock sets (1), usets (0), gets (-1) the lock
|
||||||
|
@ -465,9 +465,12 @@ class slsDetectorBase : public virtual slsDetectorDefs {
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* Reads a frame from receiver
|
||||||
|
* @param fName file name of current frame()
|
||||||
|
* @param fIndex current frame index
|
||||||
/returns a frame read from recever
|
/returns a frame read from recever
|
||||||
*/
|
*/
|
||||||
virtual int* readFrameFromReceiver()=0;
|
virtual int* readFrameFromReceiver(char* fName, int &fIndex)=0;
|
||||||
|
|
||||||
/** returns detector type string from detector type index
|
/** returns detector type string from detector type index
|
||||||
\param t string can be Mythen, Pilatus, Eiger, Gotthard, Agipd, Unknown
|
\param t string can be Mythen, Pilatus, Eiger, Gotthard, Agipd, Unknown
|
||||||
|
@ -222,7 +222,7 @@ void slsDetectorUsers::finalizeDataset(double *a, double *v, double *e, int &np)
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
void slsDetectorUsers::registerDataCallback(int( *userCallback)(detectorData*, void*), void *pArg){
|
void slsDetectorUsers::registerDataCallback(int( *userCallback)(detectorData*, int, void*), void *pArg){
|
||||||
myDetector->registerDataCallback(userCallback,pArg);
|
myDetector->registerDataCallback(userCallback,pArg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -382,7 +382,7 @@ class slsDetectorUsers
|
|||||||
\param userCallback function for plotting/analyzing the data
|
\param userCallback function for plotting/analyzing the data
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void registerDataCallback(int( *userCallback)(detectorData*, void*), void *pArg);
|
void registerDataCallback(int( *userCallback)(detectorData*, int, void*), void *pArg);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@short register callback for accessing raw data - if the rawDataCallback is registered, no filewriting/postprocessing will be carried on automatically by the software - the raw data are deleted by the software
|
@short register callback for accessing raw data - if the rawDataCallback is registered, no filewriting/postprocessing will be carried on automatically by the software - the raw data are deleted by the software
|
||||||
|
@ -629,9 +629,12 @@ virtual int getCurrentFrameIndex()=0;
|
|||||||
virtual int resetFramesCaught(int index=-1)=0;
|
virtual int resetFramesCaught(int index=-1)=0;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* Reads a frame from receiver
|
||||||
|
* @param fName file name of current frame()
|
||||||
|
* @param fIndex current frame index
|
||||||
/returns a frame read from recever
|
/returns a frame read from recever
|
||||||
*/
|
*/
|
||||||
virtual int* readFrameFromReceiver()=0;
|
virtual int* readFrameFromReceiver(char* fName, int &fIndex)=0;
|
||||||
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
@ -131,7 +131,7 @@ void postProcessing::processFrame(int *myData, int delflag) {
|
|||||||
} else
|
} else
|
||||||
if (dataReady){
|
if (dataReady){
|
||||||
thisData=new detectorData(fdata,NULL,NULL,getCurrentProgress(),(fname+string(".raw")).c_str(),getTotalNumberOfChannels());
|
thisData=new detectorData(fdata,NULL,NULL,getCurrentProgress(),(fname+string(".raw")).c_str(),getTotalNumberOfChannels());
|
||||||
dataReady(thisData, pCallbackArg);
|
dataReady(thisData, -1, pCallbackArg);
|
||||||
delete thisData;
|
delete thisData;
|
||||||
fdata=NULL;
|
fdata=NULL;
|
||||||
}
|
}
|
||||||
@ -243,7 +243,7 @@ void postProcessing::doProcessing(double *lfdata, int delflag, string fname) {
|
|||||||
|
|
||||||
if (dataReady) {
|
if (dataReady) {
|
||||||
thisData=new detectorData(val,err,ang,getCurrentProgress(),(fname+ext).c_str(),np);
|
thisData=new detectorData(val,err,ang,getCurrentProgress(),(fname+ext).c_str(),np);
|
||||||
dataReady(thisData, pCallbackArg);
|
dataReady(thisData, -1, pCallbackArg);
|
||||||
delete thisData;
|
delete thisData;
|
||||||
ang=NULL;
|
ang=NULL;
|
||||||
val=NULL;
|
val=NULL;
|
||||||
@ -390,6 +390,10 @@ void* postProcessing::processData(int delflag) {
|
|||||||
pthread_mutex_unlock(&mg);
|
pthread_mutex_unlock(&mg);
|
||||||
|
|
||||||
int caught=0;
|
int caught=0;
|
||||||
|
bool newData=false;
|
||||||
|
char currentfName[MAX_STR_LENGTH];
|
||||||
|
int currentfIndex=0;
|
||||||
|
|
||||||
while(1){
|
while(1){
|
||||||
if (checkJoinThread()) break;
|
if (checkJoinThread()) break;
|
||||||
usleep(200000);
|
usleep(200000);
|
||||||
@ -399,12 +403,15 @@ void* postProcessing::processData(int delflag) {
|
|||||||
pthread_mutex_unlock(&mg);
|
pthread_mutex_unlock(&mg);
|
||||||
|
|
||||||
incrementProgress(caught-prevCaught);
|
incrementProgress(caught-prevCaught);
|
||||||
|
if(caught-prevCaught) newData=true;
|
||||||
|
else newData=false;
|
||||||
prevCaught=caught;
|
prevCaught=caught;
|
||||||
if (checkJoinThread()) break;
|
if (checkJoinThread()) break;
|
||||||
//if(progress_call)
|
//if(progress_call)
|
||||||
// progress_call(getCurrentProgress(),pProgressCallArg);
|
// progress_call(getCurrentProgress(),pProgressCallArg);
|
||||||
|
if(newData){
|
||||||
pthread_mutex_lock(&mg);
|
pthread_mutex_lock(&mg);
|
||||||
int* receiverData = readFrameFromReceiver();
|
int* receiverData = readFrameFromReceiver(currentfName,currentfIndex);
|
||||||
pthread_mutex_unlock(&mg);
|
pthread_mutex_unlock(&mg);
|
||||||
|
|
||||||
if(!receiverData)
|
if(!receiverData)
|
||||||
@ -413,13 +420,13 @@ void* postProcessing::processData(int delflag) {
|
|||||||
delete [] receiverData;
|
delete [] receiverData;
|
||||||
if(fdata){
|
if(fdata){
|
||||||
if (dataReady) {
|
if (dataReady) {
|
||||||
thisData=new detectorData(fdata,NULL,NULL,getCurrentProgress(),(getCurrentFileName()+string(".raw")).c_str(),getTotalNumberOfChannels());
|
thisData=new detectorData(fdata,NULL,NULL,getCurrentProgress(),currentfName,getTotalNumberOfChannels());
|
||||||
dataReady(thisData, pCallbackArg);
|
dataReady(thisData, currentfIndex, pCallbackArg);
|
||||||
delete thisData;
|
delete thisData;
|
||||||
fdata=NULL;
|
fdata=NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -235,7 +235,7 @@ s
|
|||||||
void ResetPositionIndex(){pthread_mutex_lock(&mp); resetPositionIndex(); pthread_mutex_unlock(&mp);};
|
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;};
|
void registerRawDataCallback(int( *userCallback)(double*, int, void*), void *pArg) {rawDataReady = userCallback; pRawDataArg = pArg;};
|
||||||
@ -328,7 +328,7 @@ s
|
|||||||
private:
|
private:
|
||||||
double *fdata;
|
double *fdata;
|
||||||
|
|
||||||
int (*dataReady)(detectorData*,void*);
|
int (*dataReady)(detectorData*,int, void*);
|
||||||
void *pCallbackArg;
|
void *pCallbackArg;
|
||||||
|
|
||||||
int (*rawDataReady)(double*,int,void*);
|
int (*rawDataReady)(double*,int,void*);
|
||||||
|
@ -50,7 +50,7 @@ int sockfd;
|
|||||||
FILE *sfilefd;
|
FILE *sfilefd;
|
||||||
|
|
||||||
|
|
||||||
|
char savefilename[128];
|
||||||
char filePath[MAX_STR_LENGTH]="";
|
char filePath[MAX_STR_LENGTH]="";
|
||||||
char fileName[MAX_STR_LENGTH]="run";
|
char fileName[MAX_STR_LENGTH]="run";
|
||||||
int fileIndex=0;
|
int fileIndex=0;
|
||||||
@ -140,7 +140,9 @@ int setFileIndex(int index){
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
int getStartFrameIndex(){
|
||||||
|
return startFrameIndex;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -192,8 +194,6 @@ void* startListening(void *arg){
|
|||||||
sd = -1;
|
sd = -1;
|
||||||
int rc1, rc2, rc;
|
int rc1, rc2, rc;
|
||||||
int currframenum, prevframenum;
|
int currframenum, prevframenum;
|
||||||
// char buffer2[BUFFER_LENGTH];
|
|
||||||
char savefilename[128];
|
|
||||||
struct sockaddr_in serveraddr;
|
struct sockaddr_in serveraddr;
|
||||||
struct sockaddr_in clientaddr;
|
struct sockaddr_in clientaddr;
|
||||||
|
|
||||||
@ -212,9 +212,9 @@ void* startListening(void *arg){
|
|||||||
|
|
||||||
//create file name
|
//create file name
|
||||||
if(!frameIndexNeeded)
|
if(!frameIndexNeeded)
|
||||||
sprintf(savefilename, "%s/%s_%d.dat", filePath,fileName,fileIndex);
|
sprintf(savefilename, "%s/%s_%d.raw", filePath,fileName,fileIndex);
|
||||||
else
|
else
|
||||||
sprintf(savefilename, "%s/%s_f%012d_%d.dat", filePath,fileName,framesCaught,fileIndex);
|
sprintf(savefilename, "%s/%s_f%012d_%d.raw", filePath,fileName,framesCaught,fileIndex);
|
||||||
|
|
||||||
/***********************************************************************/
|
/***********************************************************************/
|
||||||
/* A do/while(FALSE) loop is used to make error cleanup easier. The */
|
/* A do/while(FALSE) loop is used to make error cleanup easier. The */
|
||||||
@ -270,9 +270,9 @@ void* startListening(void *arg){
|
|||||||
getFrameIndex();
|
getFrameIndex();
|
||||||
//create file name
|
//create file name
|
||||||
if(!frameIndexNeeded)
|
if(!frameIndexNeeded)
|
||||||
sprintf(savefilename, "%s/%s_%d.dat", filePath,fileName,fileIndex);
|
sprintf(savefilename, "%s/%s_%d.raw", filePath,fileName,fileIndex);
|
||||||
else
|
else
|
||||||
sprintf(savefilename, "%s/%s_f%012d_%d.dat", filePath,fileName,framesCaught,fileIndex);
|
sprintf(savefilename, "%s/%s_f%012d_%d.raw", filePath,fileName,framesCaught,fileIndex);
|
||||||
|
|
||||||
printf("saving to %s\t\tpacket loss %f %%\t\tframenum %d\n", savefilename,((currframenum-prevframenum-(2*framesInFile))/(double)(2*framesInFile))*100.000,currframenum);
|
printf("saving to %s\t\tpacket loss %f %%\t\tframenum %d\n", savefilename,((currframenum-prevframenum-(2*framesInFile))/(double)(2*framesInFile))*100.000,currframenum);
|
||||||
sfilefd = fopen((const char *) (savefilename), "w");
|
sfilefd = fopen((const char *) (savefilename), "w");
|
||||||
@ -390,15 +390,8 @@ int stopReceiver(){
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
char* readFrame(){
|
char* readFrame(char* fName){
|
||||||
int i;
|
strcpy(fName,savefilename);
|
||||||
for(i=0;i<20;i++){
|
|
||||||
if ((((int)*((int*)buffer))%2)!=0)
|
|
||||||
break;
|
|
||||||
else
|
|
||||||
usleep(20000);
|
|
||||||
}
|
|
||||||
//printf("freamenum%d\n",*((int*) sendbuffer));
|
|
||||||
return buffer;
|
return buffer;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -24,7 +24,9 @@ void* startListening(void *arg);
|
|||||||
int startReceiver();
|
int startReceiver();
|
||||||
int stopReceiver();
|
int stopReceiver();
|
||||||
|
|
||||||
char* readFrame();
|
char* readFrame(char *fName);
|
||||||
|
|
||||||
|
int getStartFrameIndex();
|
||||||
|
|
||||||
//int setUDPPortNumber(int p=-1); //sets/gets port number to listen to for data from the detector
|
//int setUDPPortNumber(int p=-1); //sets/gets port number to listen to for data from the detector
|
||||||
//int setTCPPortNumber(int p=-1); //sets/get port number for communication to client
|
//int setTCPPortNumber(int p=-1); //sets/get port number for communication to client
|
||||||
|
@ -527,32 +527,82 @@ int reset_frames_caught(int file_des) {
|
|||||||
|
|
||||||
int read_frame(int file_des) {
|
int read_frame(int file_des) {
|
||||||
int ret=OK;
|
int ret=OK;
|
||||||
int n=0;
|
int n=0,i,startIndex=-1;
|
||||||
|
|
||||||
char* retval=NULL;
|
char* retval=NULL;
|
||||||
char buffer[1286*2];
|
char buffer[1286*2];
|
||||||
|
char fName[MAX_STR_LENGTH];
|
||||||
|
int arg[2];
|
||||||
|
arg[1]=1;//do not flip
|
||||||
|
int index=-1,index2=-1,fIndex=-1;;
|
||||||
|
|
||||||
|
|
||||||
strcpy(mess,"Could not read frame\n");
|
strcpy(mess,"Could not read frame\n");
|
||||||
|
|
||||||
|
|
||||||
/* execute action if the arguments correctly arrived*/
|
/* execute action if the arguments correctly arrived*/
|
||||||
#ifdef SLS_RECEIVER_FUNCTION_LIST
|
#ifdef SLS_RECEIVER_FUNCTION_LIST
|
||||||
retval=readFrame();
|
//wait till you get first frame 1. to get index(from startindex 2. filename corresponds to buffer value
|
||||||
#endif
|
if(startIndex==-1){
|
||||||
|
ret=FAIL;
|
||||||
|
strcpy(mess,"did not start index\n");
|
||||||
|
for(i=0;i<10;i++){
|
||||||
|
startIndex=getStartFrameIndex();
|
||||||
|
if(startIndex==-1)
|
||||||
|
usleep(1000000);
|
||||||
|
else {
|
||||||
|
ret=OK;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//got atleast first frame, read buffer
|
||||||
|
if(ret==OK){
|
||||||
|
int count=0;
|
||||||
|
do{
|
||||||
|
if(count>0){ printf("\nunmatching: index:%d index2:%d\n",index,index2);fflush(stdout);}
|
||||||
|
retval=readFrame(fName);
|
||||||
|
index=(int)(*((int*)retval));
|
||||||
|
char* retval2= retval+1286;
|
||||||
|
index2= (int)(*((int*)retval2));
|
||||||
|
count++;
|
||||||
|
|
||||||
|
}while((index%2)==(index2%2));
|
||||||
|
|
||||||
|
fIndex=((int)(*((int*)retval)) - startIndex)/2;
|
||||||
|
arg[0]=fIndex;
|
||||||
|
arg[1]=(index%2);
|
||||||
|
|
||||||
|
#ifdef VERBOSE
|
||||||
|
printf("\nstartIndex:%d\n",startIndex);
|
||||||
|
printf("fName:%s\n",fName);
|
||||||
|
if((index%2)==0){
|
||||||
|
printf("\nEven Index, must flip:%d\n",index);
|
||||||
|
fflush(stdout);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
if(ret==OK && differentClients){
|
if(ret==OK && differentClients){
|
||||||
printf("Force update\n");
|
printf("Force update\n");
|
||||||
ret=FORCE_UPDATE;
|
ret=FORCE_UPDATE;
|
||||||
}
|
}
|
||||||
if(getReceiverStatus==IDLE){
|
/*if(getReceiverStatus()==IDLE){
|
||||||
ret=FAIL;
|
ret=FAIL;
|
||||||
printf("*************STOPPPED***\n");
|
printf("*************STOPPPED***\n");
|
||||||
}
|
}*/
|
||||||
/* send answer */
|
/* send answer */
|
||||||
n = sendDataOnly(file_des,&ret,sizeof(ret));
|
n = sendDataOnly(file_des,&ret,sizeof(ret));
|
||||||
if(ret==FAIL)
|
if(ret==FAIL)
|
||||||
n = sendDataOnly(file_des,mess,sizeof(mess));
|
n = sendDataOnly(file_des,mess,sizeof(mess));
|
||||||
|
else{
|
||||||
|
n = sendDataOnly(file_des,fName,MAX_STR_LENGTH);
|
||||||
|
n = sendDataOnly(file_des,arg,sizeof(arg));
|
||||||
n = sendDataOnly(file_des,retval,sizeof(buffer));
|
n = sendDataOnly(file_des,retval,sizeof(buffer));
|
||||||
|
}
|
||||||
/*return ok/fail*/
|
/*return ok/fail*/
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
@ -304,7 +304,7 @@ int defaultDisconnectChannels(void *d) {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
int defaultDataReadyFunc(detectorData* d, void* p) {
|
int defaultDataReadyFunc(detectorData* d, int i, void* p) {
|
||||||
#ifdef VERBOSE
|
#ifdef VERBOSE
|
||||||
printf("UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU Data received \n");
|
printf("UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU Data received \n");
|
||||||
printf("Filename %s\n",d->fileName);
|
printf("Filename %s\n",d->fileName);
|
||||||
|
@ -37,7 +37,7 @@ extern "C" {
|
|||||||
int defaultDisconnectChannels(void *d);
|
int defaultDisconnectChannels(void *d);
|
||||||
double defaultGetI0(int t,void *d);
|
double defaultGetI0(int t,void *d);
|
||||||
|
|
||||||
int defaultDataReadyFunc(detectorData* d, void* p);
|
int defaultDataReadyFunc(detectorData* d, int i, void* p);
|
||||||
int defaultRawDataReadyFunc(double* d, int np, void* p);
|
int defaultRawDataReadyFunc(double* d, int np, void* p);
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user