mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-06-12 12:57:13 +02:00
included enable write to file in receiver, changed the enablewritetofie function in postprocessing to be modified by slsDetector
git-svn-id: file:///afs/psi.ch/project/sls_det_software/svn/slsDetectorSoftware@387 951219d9-93cf-4727-9268-0efd64621fa3
This commit is contained in:
@ -126,7 +126,9 @@ enum {
|
|||||||
|
|
||||||
F_RESET_FRAMES_CAUGHT, /**< resets the frames caught */
|
F_RESET_FRAMES_CAUGHT, /**< resets the frames caught */
|
||||||
|
|
||||||
F_SETUP_UDP /**< sets the receiver udp connection and returns receiver mac address */
|
F_SETUP_UDP, /**< sets the receiver udp connection and returns receiver mac address */
|
||||||
|
|
||||||
|
F_ENABLE_FILE_WRITE /**< sets the receiver file write */
|
||||||
|
|
||||||
/* Always append functions hereafter!!! */
|
/* Always append functions hereafter!!! */
|
||||||
|
|
||||||
|
@ -20,7 +20,6 @@ public:
|
|||||||
char fName[100];
|
char fName[100];
|
||||||
strcpy(fName,path.c_str());
|
strcpy(fName,path.c_str());
|
||||||
strcat(fName,"/svnInfo.txt");
|
strcat(fName,"/svnInfo.txt");
|
||||||
cout<<"filepath:"<<fName<<endl;
|
|
||||||
//read from file and populate class
|
//read from file and populate class
|
||||||
string sLine,sArgName;
|
string sLine,sArgName;
|
||||||
ifstream inFile;
|
ifstream inFile;
|
||||||
|
@ -3825,4 +3825,18 @@ int multiSlsDetector::exitReceiver() {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
int multiSlsDetector::enableWriteToFile(int enable){
|
||||||
|
int ret=-100, ret1;
|
||||||
|
|
||||||
|
for (int idet=0; idet<thisMultiDetector->numberOfDetectors; idet++) {
|
||||||
|
if (detectors[idet]) {
|
||||||
|
ret1=detectors[idet]->enableWriteToFile(enable);
|
||||||
|
if (ret==-100)
|
||||||
|
ret=ret1;
|
||||||
|
else if (ret!=ret1)
|
||||||
|
ret=-1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
@ -1117,6 +1117,15 @@ class multiSlsDetector : public slsDetectorUtils {
|
|||||||
*/
|
*/
|
||||||
int exitReceiver();
|
int exitReceiver();
|
||||||
|
|
||||||
|
/**
|
||||||
|
Sets/Gets receiver file write enable
|
||||||
|
@param enable 1 or 0 to set/reset file write enable
|
||||||
|
/returns file write enable
|
||||||
|
*/
|
||||||
|
int enableWriteToFile(int enable=-1);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
int fillModuleMask(int *mM);
|
int fillModuleMask(int *mM);
|
||||||
protected:
|
protected:
|
||||||
|
@ -4534,6 +4534,7 @@ char* slsDetector::setReceiver(string receiverIP){
|
|||||||
setFilePath(fileIO::getFilePath());
|
setFilePath(fileIO::getFilePath());
|
||||||
setFileName(fileIO::getFileName());
|
setFileName(fileIO::getFileName());
|
||||||
setFileIndex(fileIO::getFileIndex());
|
setFileIndex(fileIO::getFileIndex());
|
||||||
|
enableWriteToFile(parentDet->enableWriteToFileMask());
|
||||||
setUDPConnection();
|
setUDPConnection();
|
||||||
}else
|
}else
|
||||||
std::cout << "cannot connect to receiver" << endl;
|
std::cout << "cannot connect to receiver" << endl;
|
||||||
@ -5955,6 +5956,34 @@ int slsDetector::exitReceiver(){
|
|||||||
}
|
}
|
||||||
return retval;
|
return retval;
|
||||||
|
|
||||||
};
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
int slsDetector::enableWriteToFile(int enable){
|
||||||
|
int fnum=F_ENABLE_FILE_WRITE;
|
||||||
|
int ret = FAIL;
|
||||||
|
int retval=-1;
|
||||||
|
int arg = enable;
|
||||||
|
|
||||||
|
|
||||||
|
if(thisDetector->receiverOnlineFlag==OFFLINE_FLAG){
|
||||||
|
if(enable>=0)
|
||||||
|
parentDet->enableWriteToFileMask(enable);
|
||||||
|
}
|
||||||
|
|
||||||
|
else if(setReceiverOnline(ONLINE_FLAG)==ONLINE_FLAG){
|
||||||
|
#ifdef VERBOSE
|
||||||
|
std::cout << "Sending enable file write to receiver " << arg << std::endl;
|
||||||
|
#endif
|
||||||
|
ret=thisReceiver->sendInt(fnum,retval,arg);
|
||||||
|
if(ret!=FAIL)
|
||||||
|
parentDet->enableWriteToFileMask(retval);
|
||||||
|
if(ret==FORCE_UPDATE)
|
||||||
|
updateReceiver();
|
||||||
|
}
|
||||||
|
|
||||||
|
return parentDet->enableWriteToFileMask();
|
||||||
|
}
|
||||||
|
@ -1506,6 +1506,13 @@ class slsDetector : public slsDetectorUtils, public energyConversion {
|
|||||||
*/
|
*/
|
||||||
int exitReceiver();
|
int exitReceiver();
|
||||||
|
|
||||||
|
/**
|
||||||
|
Sets/Gets receiver file write enable
|
||||||
|
@param enable 1 or 0 to set/reset file write enable
|
||||||
|
/returns file write enable
|
||||||
|
*/
|
||||||
|
int enableWriteToFile(int enable=-1);
|
||||||
|
|
||||||
|
|
||||||
int fillModuleMask(int *mM);
|
int fillModuleMask(int *mM);
|
||||||
protected:
|
protected:
|
||||||
|
@ -1413,7 +1413,7 @@ string slsDetectorCommand::cmdEnablefwrite(int narg, char *args[], int action){
|
|||||||
myDet->enableWriteToFile(i);
|
myDet->enableWriteToFile(i);
|
||||||
else
|
else
|
||||||
return string("could not decode enable file write");
|
return string("could not decode enable file write");
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
sprintf(ans,"%d",myDet->enableWriteToFile());
|
sprintf(ans,"%d",myDet->enableWriteToFile());
|
||||||
|
@ -643,6 +643,14 @@ virtual int* readFrameFromReceiver(char* fName, int &fIndex)=0;
|
|||||||
*/
|
*/
|
||||||
virtual int exitReceiver()=0;
|
virtual int exitReceiver()=0;
|
||||||
|
|
||||||
|
/**
|
||||||
|
Sets/Gets receiver file write enable
|
||||||
|
@param enable 1 or 0 to set/reset file write enable
|
||||||
|
/returns file write enable
|
||||||
|
*/
|
||||||
|
virtual int enableWriteToFile(int enable=-1)=0;
|
||||||
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
|
|
||||||
|
@ -100,7 +100,7 @@ class postProcessing : public angularConversion, public fileIO, public badChanne
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
int enableWriteToFile(int i=-1) {if (i>0) ((*correctionMask)|=(1<<WRITE_FILE)); else if (i==0) ((*correctionMask)&=~(1<< WRITE_FILE)); return (((*correctionMask)&(1<< WRITE_FILE ))>>WRITE_FILE) ;};
|
int enableWriteToFileMask(int i=-1) {if (i>0) ((*correctionMask)|=(1<<WRITE_FILE)); else if (i==0) ((*correctionMask)&=~(1<< WRITE_FILE)); return (((*correctionMask)&(1<< WRITE_FILE ))>>WRITE_FILE) ;};
|
||||||
|
|
||||||
|
|
||||||
int setAngularCorrectionMask(int i=-1){if (i==0) (*correctionMask)&=~(1<< ANGULAR_CONVERSION); if (i>0) (*correctionMask)|=(1<< ANGULAR_CONVERSION); return (((*correctionMask)&(1<< ANGULAR_CONVERSION))>>ANGULAR_CONVERSION);};
|
int setAngularCorrectionMask(int i=-1){if (i==0) (*correctionMask)&=~(1<< ANGULAR_CONVERSION); if (i>0) (*correctionMask)|=(1<< ANGULAR_CONVERSION); return (((*correctionMask)&(1<< ANGULAR_CONVERSION))>>ANGULAR_CONVERSION);};
|
||||||
|
Reference in New Issue
Block a user