conflict resolution with developer

This commit is contained in:
Dhanya Maliakal 2017-10-03 15:12:49 +02:00
commit 812606a7b4
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 THRESHOLD_NOT_SET 0x0000000040000000ULL
#define RECEIVER_FILE_FORMAT 0x0000000080000000ULL
#define RECEIVER_TIMER_NOT_SET 0x0000000100000000ULL
#define RECEIVER_ENABLE_GAPPIXELS_NOT_SET 0x0000000200000000ULL
#define RECEIVER_SUBF_TIME_NOT_SET 0x0000000100000000ULL
#define RECEIVER_SILENT_MODE_NOT_SET 0x0000000200000000ULL
#define RECEIVER_TIMER_NOT_SET 0x0000000400000000ULL
#define RECEIVER_ENABLE_GAPPIXELS_NOT_SET 0x0000000800000000ULL
// 0x0000000FFFFFFFFFULL
/** @short class returning all error messages for error mask */
@ -266,6 +269,12 @@ public:
if(slsErrorMask&RECEIVER_ENABLE_GAPPIXELS_NOT_SET)
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

View File

@ -1,9 +1,9 @@
Path: slsDetectorsPackage/slsDetectorSoftware
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
Repsitory UUID: 0fb1ff01209ad1aa975f39285814c2cc42db2678
Revision: 1556
Repsitory UUID: 1fd03e9cdd01efd75e3ab8641be71d61b2e1aa10
Revision: 1566
Branch: 3.0.1
Last Changed Author: Dhanya_Maliakal
Last Changed Rev: 1561
Last Changed Date: 2017-09-20 18:27:25.000000002 +0200 ./slsDetectorAnalysis/postProcessing.cpp
Last Changed Rev: 1571
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);
/** 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 */

View File

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

View File

@ -6111,6 +6111,14 @@ string slsDetector::setDetectorIP(string detectorIP){
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){
cprintf(RED,"Acquisition already running, Stopping it.\n");
stopAcquisition();
@ -7728,23 +7736,23 @@ slsDetectorDefs::synchronizationMode slsDetector::setSynchronization(synchroniza
/*receiver*/
int slsDetector::setReceiverOnline(int off) {
if (off!=GET_ONLINE_FLAG) {
// setting flag to offline
if (off == OFFLINE_FLAG)
thisDetector->receiverOnlineFlag = off;
// set flag to online only if hostname not none
else if(strcmp(thisDetector->receiver_hostname,"none")){
thisDetector->receiverOnlineFlag=off;
}
if (thisDetector->receiverOnlineFlag==ONLINE_FLAG){
setReceiverTCPSocket();
// error in connecting
if(thisDetector->receiverOnlineFlag==OFFLINE_FLAG){
std::cout << "cannot connect to receiver" << endl;
setErrorMask((getErrorMask())|(CANNOT_CONNECT_TO_RECEIVER));
}
}
}
if (off!=GET_ONLINE_FLAG) {
// no receiver
if(!strcmp(thisDetector->receiver_hostname,"none"))
thisDetector->receiverOnlineFlag = OFFLINE_FLAG;
else
thisDetector->receiverOnlineFlag = off;
// check receiver online
if (thisDetector->receiverOnlineFlag==ONLINE_FLAG){
setReceiverTCPSocket();
// error in connecting
if(thisDetector->receiverOnlineFlag==OFFLINE_FLAG){
std::cout << "cannot connect to receiver" << endl;
setErrorMask((getErrorMask())|(CANNOT_CONNECT_TO_RECEIVER));
}
}
}
return thisDetector->receiverOnlineFlag;
}
@ -8797,9 +8805,9 @@ int slsDetector::enableTenGigabitEthernet(int i){
//must also configuremac
if((i != -1)&&(retval == i))
if(configureMAC() != FAIL){
ret = FAIL;
retval=-1;
if(thisDetector->receiverOnlineFlag==ONLINE_FLAG){
ret = FAIL;
retval=-1;
#ifdef VERBOSE
std::cout << "Enabling / Disabling 10Gbe in receiver: " << i << std::endl;
#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 */

View File

@ -1840,6 +1840,12 @@ class slsDetector : public slsDetectorUtils, public energyConversion {
*/
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 */
/** opens pattern file and sends pattern to CTB

View File

@ -2049,6 +2049,14 @@ slsDetectorCommand::slsDetectorCommand(slsDetectorUtils *det) {
descrToFuncMap[i].m_pFuncPtr=&slsDetectorCommand::cmdReceiver;
++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 */
@ -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");
}
@ -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 << "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 << "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){
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 << "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 << "r_silent \t returns receiver silent mode enable. 1 is silent, 0 not silent." << std::endl;
}
return os.str();

View File

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

View File

@ -603,6 +603,13 @@ class slsDetectorUsers
*/
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

View File

@ -785,6 +785,12 @@ virtual int enableTenGigabitEthernet(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 */
/** opens pattern file and sends pattern to CTB