conflict resolution with developer

This commit is contained in:
Dhanya Maliakal
2017-10-03 15:12:49 +02:00
11 changed files with 135 additions and 29 deletions

View File

@ -80,8 +80,11 @@ using namespace std;
#define RECEIVER_FLIPPED_DATA_NOT_SET 0x0000000020000000ULL #define RECEIVER_FLIPPED_DATA_NOT_SET 0x0000000020000000ULL
#define THRESHOLD_NOT_SET 0x0000000040000000ULL #define THRESHOLD_NOT_SET 0x0000000040000000ULL
#define RECEIVER_FILE_FORMAT 0x0000000080000000ULL #define RECEIVER_FILE_FORMAT 0x0000000080000000ULL
#define RECEIVER_TIMER_NOT_SET 0x0000000100000000ULL #define RECEIVER_SUBF_TIME_NOT_SET 0x0000000100000000ULL
#define RECEIVER_ENABLE_GAPPIXELS_NOT_SET 0x0000000200000000ULL #define RECEIVER_SILENT_MODE_NOT_SET 0x0000000200000000ULL
#define RECEIVER_TIMER_NOT_SET 0x0000000400000000ULL
#define RECEIVER_ENABLE_GAPPIXELS_NOT_SET 0x0000000800000000ULL
// 0x0000000FFFFFFFFFULL // 0x0000000FFFFFFFFFULL
/** @short class returning all error messages for error mask */ /** @short class returning all error messages for error mask */
@ -266,6 +269,12 @@ public:
if(slsErrorMask&RECEIVER_ENABLE_GAPPIXELS_NOT_SET) if(slsErrorMask&RECEIVER_ENABLE_GAPPIXELS_NOT_SET)
retval.append("Could not enable/disable gap pixels in receiver.\n"); retval.append("Could not enable/disable gap pixels in receiver.\n");
if(slsErrorMask&RECEIVER_SUBF_TIME_NOT_SET)
retval.append("Could not set sub exposure time in receiver.\n");
if(slsErrorMask&RECEIVER_SILENT_MODE_NOT_SET)
retval.append("Could not set silent mode in receiver.\n");
//------------------------------------------------------ length of message //------------------------------------------------------ length of message

View File

@ -1,9 +1,9 @@
Path: slsDetectorsPackage/slsDetectorSoftware Path: slsDetectorsPackage/slsDetectorSoftware
URL: origin git@git.psi.ch:sls_detectors_software/sls_detector_software.git URL: origin git@git.psi.ch:sls_detectors_software/sls_detector_software.git
Repository Root: origin git@git.psi.ch:sls_detectors_software/sls_detector_software.git Repository Root: origin git@git.psi.ch:sls_detectors_software/sls_detector_software.git
Repsitory UUID: 0fb1ff01209ad1aa975f39285814c2cc42db2678 Repsitory UUID: 1fd03e9cdd01efd75e3ab8641be71d61b2e1aa10
Revision: 1556 Revision: 1566
Branch: 3.0.1 Branch: 3.0.1
Last Changed Author: Dhanya_Maliakal Last Changed Author: Dhanya_Maliakal
Last Changed Rev: 1561 Last Changed Rev: 1571
Last Changed Date: 2017-09-20 18:27:25.000000002 +0200 ./slsDetectorAnalysis/postProcessing.cpp Last Changed Date: 2017-10-03 14:12:22.000000002 +0200 ./slsDetector/slsDetector.cpp

View File

@ -6292,6 +6292,20 @@ int multiSlsDetector::setReceiverFifoDepth(int i){
} }
int multiSlsDetector::setReceiverSilentMode(int i){
int ret=-100,ret1;
for (int idet=0; idet<thisMultiDetector->numberOfDetectors; ++idet)
if (detectors[idet]){
ret1=detectors[idet]->setReceiverSilentMode(i);
if(detectors[idet]->getErrorMask())
setErrorMask(getErrorMask()|(1<<idet));
if(ret==-100)
ret=ret1;
else if (ret!=ret1)
ret=-1;
}
return ret;
}

View File

@ -1399,6 +1399,12 @@ class multiSlsDetector : public slsDetectorUtils {
*/ */
int setReceiverFifoDepth(int i = -1); int setReceiverFifoDepth(int i = -1);
/** set/get receiver silent mode
* @param i is -1 to get, 0 unsets silent mode, 1 sets silent mode
/returns the receiver silent mode enable
*/
int setReceiverSilentMode(int i = -1);
/******** CTB funcs */ /******** CTB funcs */

View File

@ -1,11 +1,11 @@
//#define SVNPATH "" //#define SVNPATH ""
#define SVNURLLIB "git@git.psi.ch:sls_detectors_software/sls_detector_software.git" #define SVNURLLIB "git@git.psi.ch:sls_detectors_software/sls_detector_software.git"
//#define SVNREPPATH "" //#define SVNREPPATH ""
#define SVNREPUUIDLIB "0fb1ff01209ad1aa975f39285814c2cc42db2678" #define SVNREPUUIDLIB "1fd03e9cdd01efd75e3ab8641be71d61b2e1aa10"
//#define SVNREV 0x1561 //#define SVNREV 0x1571
//#define SVNKIND "" //#define SVNKIND ""
//#define SVNSCHED "" //#define SVNSCHED ""
#define SVNAUTHLIB "Dhanya_Maliakal" #define SVNAUTHLIB "Dhanya_Maliakal"
#define SVNREVLIB 0x1561 #define SVNREVLIB 0x1571
#define SVNDATELIB 0x20170920 #define SVNDATELIB 0x20171003
// //

View File

@ -6111,6 +6111,14 @@ string slsDetector::setDetectorIP(string detectorIP){
string slsDetector::setReceiver(string receiverIP){ string slsDetector::setReceiver(string receiverIP){
if(receiverIP == "none") {
memset(thisDetector->receiver_hostname, 0, MAX_STR_LENGTH);
strcpy(thisDetector->receiver_hostname,"none");
thisDetector->receiverOnlineFlag = OFFLINE_FLAG;
return string(thisDetector->receiver_hostname);
}
if(getRunStatus()==RUNNING){ if(getRunStatus()==RUNNING){
cprintf(RED,"Acquisition already running, Stopping it.\n"); cprintf(RED,"Acquisition already running, Stopping it.\n");
stopAcquisition(); stopAcquisition();
@ -7728,23 +7736,23 @@ slsDetectorDefs::synchronizationMode slsDetector::setSynchronization(synchroniza
/*receiver*/ /*receiver*/
int slsDetector::setReceiverOnline(int off) { int slsDetector::setReceiverOnline(int off) {
if (off!=GET_ONLINE_FLAG) { if (off!=GET_ONLINE_FLAG) {
// setting flag to offline // no receiver
if (off == OFFLINE_FLAG) if(!strcmp(thisDetector->receiver_hostname,"none"))
thisDetector->receiverOnlineFlag = off; thisDetector->receiverOnlineFlag = OFFLINE_FLAG;
// set flag to online only if hostname not none else
else if(strcmp(thisDetector->receiver_hostname,"none")){ thisDetector->receiverOnlineFlag = off;
thisDetector->receiverOnlineFlag=off; // check receiver online
} if (thisDetector->receiverOnlineFlag==ONLINE_FLAG){
if (thisDetector->receiverOnlineFlag==ONLINE_FLAG){ setReceiverTCPSocket();
setReceiverTCPSocket(); // error in connecting
// error in connecting if(thisDetector->receiverOnlineFlag==OFFLINE_FLAG){
if(thisDetector->receiverOnlineFlag==OFFLINE_FLAG){ std::cout << "cannot connect to receiver" << endl;
std::cout << "cannot connect to receiver" << endl; setErrorMask((getErrorMask())|(CANNOT_CONNECT_TO_RECEIVER));
setErrorMask((getErrorMask())|(CANNOT_CONNECT_TO_RECEIVER)); }
} }
}
} }
return thisDetector->receiverOnlineFlag; return thisDetector->receiverOnlineFlag;
} }
@ -8797,9 +8805,9 @@ int slsDetector::enableTenGigabitEthernet(int i){
//must also configuremac //must also configuremac
if((i != -1)&&(retval == i)) if((i != -1)&&(retval == i))
if(configureMAC() != FAIL){ if(configureMAC() != FAIL){
ret = FAIL;
retval=-1;
if(thisDetector->receiverOnlineFlag==ONLINE_FLAG){ if(thisDetector->receiverOnlineFlag==ONLINE_FLAG){
ret = FAIL;
retval=-1;
#ifdef VERBOSE #ifdef VERBOSE
std::cout << "Enabling / Disabling 10Gbe in receiver: " << i << std::endl; std::cout << "Enabling / Disabling 10Gbe in receiver: " << i << std::endl;
#endif #endif
@ -8846,6 +8854,29 @@ int slsDetector::setReceiverFifoDepth(int i){
int slsDetector::setReceiverSilentMode(int i){
int fnum=F_SET_RECEIVER_SILENT_MODE;
int ret = FAIL;
int retval=-1;
if(thisDetector->receiverOnlineFlag==ONLINE_FLAG){
#ifdef VERBOSE
if(i ==-1)
std::cout<< "Getting Receiver Silent Mode" << endl;
else
std::cout<< "Setting Receiver Silent Mode to " << i << endl;
#endif
if (connectData() == OK){
ret=thisReceiver->sendInt(fnum,retval,i);
disconnectData();
}
if(ret==FAIL)
setErrorMask((getErrorMask())|(RECEIVER_SILENT_MODE_NOT_SET));
}
return retval;
}
/******** CTB funcs */ /******** CTB funcs */

View File

@ -1840,6 +1840,12 @@ class slsDetector : public slsDetectorUtils, public energyConversion {
*/ */
int setReceiverFifoDepth(int i = -1); int setReceiverFifoDepth(int i = -1);
/** set/get receiver silent mode
* @param i is -1 to get, 0 unsets silent mode, 1 sets silent mode
/returns the receiver silent mode enable
*/
int setReceiverSilentMode(int i = -1);
/******** CTB funcs */ /******** CTB funcs */
/** opens pattern file and sends pattern to CTB /** opens pattern file and sends pattern to CTB

View File

@ -2049,6 +2049,14 @@ slsDetectorCommand::slsDetectorCommand(slsDetectorUtils *det) {
descrToFuncMap[i].m_pFuncPtr=&slsDetectorCommand::cmdReceiver; descrToFuncMap[i].m_pFuncPtr=&slsDetectorCommand::cmdReceiver;
++i; ++i;
/*! \page receiver
- <b>r_silent [i]</b> sets/gets receiver in silent mode, ie. it will not print anything during real time acquisition. 1 sets, 0 unsets. \c Returns \c (int)
*/
descrToFuncMap[i].m_pFuncName="r_silent"; //
descrToFuncMap[i].m_pFuncPtr=&slsDetectorCommand::cmdReceiver;
++i;
/* pattern generator */ /* pattern generator */
@ -6019,6 +6027,19 @@ string slsDetectorCommand::cmdReceiver(int narg, char *args[], int action) {
} }
else if(cmd=="r_silent"){
if (action==PUT_ACTION){
if (!sscanf(args[1],"%d",&ival))
return string("Could not scan r_online input ")+string(args[1]);
if(ival>=0)
sprintf(answer,"%d",myDet->setReceiverSilentMode(ival));
}else
sprintf(answer,"%d",myDet->setReceiverSilentMode());
return string(answer);
}
return string("could not decode command"); return string("could not decode command");
} }
@ -6034,6 +6055,7 @@ string slsDetectorCommand::helpReceiver(int narg, char *args[], int action) {
os << "r_readfreq \t sets the gui read frequency of the receiver, 0 if gui requests frame, >0 if receiver sends every nth frame to gui" << std::endl; os << "r_readfreq \t sets the gui read frequency of the receiver, 0 if gui requests frame, >0 if receiver sends every nth frame to gui" << std::endl;
os << "tengiga \t sets system to be configure for 10Gbe if set to 1, else 1Gbe if set to 0" << std::endl; os << "tengiga \t sets system to be configure for 10Gbe if set to 1, else 1Gbe if set to 0" << std::endl;
os << "rx_fifodepth [val]\t sets receiver fifo depth to val" << std::endl; os << "rx_fifodepth [val]\t sets receiver fifo depth to val" << std::endl;
os << "r_silent [i]\t sets receiver in silent mode, ie. it will not print anything during real time acquisition. 1 sets, 0 unsets." << std::endl;
} }
if (action==GET_ACTION || action==HELP_ACTION){ if (action==GET_ACTION || action==HELP_ACTION){
os << "receiver \t returns the status of receiver - can be running or idle" << std::endl; os << "receiver \t returns the status of receiver - can be running or idle" << std::endl;
@ -6042,6 +6064,7 @@ string slsDetectorCommand::helpReceiver(int narg, char *args[], int action) {
os << "r_readfreq \t returns the gui read frequency of the receiver" << std::endl; os << "r_readfreq \t returns the gui read frequency of the receiver" << std::endl;
os << "tengiga \t returns 1 if the system is configured for 10Gbe else 0 for 1Gbe" << std::endl; os << "tengiga \t returns 1 if the system is configured for 10Gbe else 0 for 1Gbe" << std::endl;
os << "rx_fifodepth \t returns receiver fifo depth" << std::endl; os << "rx_fifodepth \t returns receiver fifo depth" << std::endl;
os << "r_silent \t returns receiver silent mode enable. 1 is silent, 0 not silent." << std::endl;
} }
return os.str(); return os.str();

View File

@ -345,3 +345,7 @@ int slsDetectorUsers::stopReceiver() {
int slsDetectorUsers::startAcquisition() { int slsDetectorUsers::startAcquisition() {
return myDetector->startAcquisition(); return myDetector->startAcquisition();
} }
int slsDetectorUsers::setReceiverSilentMode(int i) {
return myDetector->setReceiverSilentMode(i);
}

View File

@ -603,6 +603,13 @@ class slsDetectorUsers
*/ */
int startAcquisition(); int startAcquisition();
/**
* set receiver in silent mode
* @param i 1 sets, 0 unsets (-1 gets)
* @return silent mode of receiver
*/
int setReceiverSilentMode(int i);
/************************************************************************ /************************************************************************
STATIC FUNCTIONS STATIC FUNCTIONS

View File

@ -785,6 +785,12 @@ virtual int enableTenGigabitEthernet(int i = -1)=0;
*/ */
virtual int setReceiverFifoDepth(int i = -1)=0; virtual int setReceiverFifoDepth(int i = -1)=0;
/** set/get receiver silent mode
* @param i is -1 to get, 0 unsets silent mode, 1 sets silent mode
/returns the receiver silent mode enable
*/
virtual int setReceiverSilentMode(int i = -1)=0;
/******** CTB funcs */ /******** CTB funcs */
/** opens pattern file and sends pattern to CTB /** opens pattern file and sends pattern to CTB