compression extended to client side with r_compression

git-svn-id: file:///afs/psi.ch/project/sls_det_software/svn/slsDetectorSoftware@742 951219d9-93cf-4727-9268-0efd64621fa3
This commit is contained in:
l_maliakal_d
2014-02-24 14:58:36 +00:00
parent 792e0f3845
commit a892a8854c
12 changed files with 262 additions and 98 deletions

View File

@ -6486,3 +6486,21 @@ int slsDetector::setReadReceiverFrequency(int getFromReceiver,int i){
}
int slsDetector::enableReceiverCompression(int i){
int fnum=F_ENABLE_COMPRESSION;
int ret = FAIL;
int retval=-1;
if(setReceiverOnline(ONLINE_FLAG)==ONLINE_FLAG){
#ifdef VERBOSE
std::cout << "Getting/Enabling/Disabling Receiver Compression with argument " << i << std::endl;
#endif
if (connectData() == OK)
ret=thisReceiver->sendInt(fnum,retval,i);
if(ret==FAIL)
setErrorMask((getErrorMask())|(COULDNOT_ENABLE_COMPRESSION));
}
return retval;
}

View File

@ -1609,6 +1609,12 @@ class slsDetector : public slsDetectorUtils, public energyConversion {
*/
int setReadReceiverFrequency(int getFromReceiver, int i=-1);
/** enable/disable or get data compression in receiver
* @param i is -1 to get, 0 to disable and 1 to enable
/returns data compression in receiver
*/
int enableReceiverCompression(int i = -1);
protected:

View File

@ -847,6 +847,11 @@ slsDetectorCommand::slsDetectorCommand(slsDetectorUtils *det) {
descrToFuncMap[i].m_pFuncPtr=&slsDetectorCommand::cmdReceiver;
i++;
descrToFuncMap[i].m_pFuncName="r_compression"; //
descrToFuncMap[i].m_pFuncPtr=&slsDetectorCommand::cmdReceiver;
i++;
numberOfCommands=i;
// #ifdef VERBOSE
@ -4005,6 +4010,17 @@ string slsDetectorCommand::cmdReceiver(int narg, char *args[], int action) {
sprintf(answer,"%d",myDet->setReadReceiverFrequency(1));
return string(answer);
}
else if(cmd=="r_compression"){
if (action==PUT_ACTION){
if (!sscanf(args[1],"%d",&ival))
return string("Could not scan receiver compression input ")+string(args[1]);
if(ival>=0)
sprintf(answer,"%d",myDet->enableReceiverCompression(ival));
}else
sprintf(answer,"%d",myDet->enableReceiverCompression());
return string(answer);
}

View File

@ -683,7 +683,11 @@ virtual ROI* getROI(int &n)=0;
virtual int setReadReceiverFrequency(int getFromReceiver, int i=-1)=0;
/** enable/disable or get data compression in receiver
* @param i is -1 to get, 0 to disable and 1 to enable
/returns data compression in receiver
*/
virtual int enableReceiverCompression(int i = -1)=0;
protected: