advanced down

This commit is contained in:
2019-05-08 16:44:08 +02:00
parent 2a1c89f712
commit c30485a65b
18 changed files with 1766 additions and 1648 deletions

View File

@ -410,6 +410,12 @@ class multiSlsDetector : public virtual slsDetectorDefs {
*/
int setOnline(int value = GET_ONLINE_FLAG, int detPos = -1);
/**
* Get detector online status
* @param detPos -1 for all detectors in list or specific detector position
*/
int getOnlineFlag(int detPos = -1);
/**
* Checks if each of the detectors are online/offline
* @param detPos -1 for all detectors in list or specific detector position
@ -444,9 +450,10 @@ class multiSlsDetector : public virtual slsDetectorDefs {
/**
* Get Receiver port
* @param detPos -1 for all detectors in list or specific detector position
* @returns vector of receiver port
*/
std::vector<int> getReceiverPort() const;
int getReceiverPort(int detPos = -1) const;
/**
* Lock server for this client IP
@ -1613,6 +1620,12 @@ class multiSlsDetector : public virtual slsDetectorDefs {
*/
int setReceiverOnline(int value = GET_ONLINE_FLAG, int detPos = -1);
/**
* Get receiver online status
* @param detPos -1 for all detectors in list or specific detector position
*/
int getReceiverOnlineFlag(int detPos = -1);
/**
* Checks if the receiver is really online
* @param detPos -1 for all detectors in list or specific detector position

View File

@ -1519,7 +1519,7 @@ class slsDetector : public virtual slsDetectorDefs{
*/
int setReceiverOnline(int value = GET_ONLINE_FLAG);
int getReceiverOnline() const;
int getReceiverOnlineFlag() const;
/**
* Checks if the receiver is really online

View File

@ -674,6 +674,15 @@ int multiSlsDetector::setOnline(int value, int detPos) {
return multi_shm()->onlineFlag;
}
int multiSlsDetector::getOnlineFlag(int detPos) {
if (detPos >= 0) {
return detectors[detPos]->getOnlineFlag();
}
auto r = serialCall(&slsDetector::getOnlineFlag);
return sls::minusOneIfDifferent(r);
}
std::string multiSlsDetector::checkOnline(int detPos) {
if (detPos >= 0) {
return detectors[detPos]->checkOnline();
@ -710,8 +719,13 @@ int multiSlsDetector::setReceiverPort(int port_number, int detPos) {
return sls::minusOneIfDifferent(r);
}
std::vector<int> multiSlsDetector::getReceiverPort() const {
return parallelCall(&slsDetector::getReceiverPort);
int multiSlsDetector::getReceiverPort(int detPos) const {
if (detPos >= 0) {
return detectors[detPos]->getReceiverPort();
}
auto r = serialCall(&slsDetector::getReceiverPort);
return sls::minusOneIfDifferent(r);
}
int multiSlsDetector::lockServer(int p, int detPos) {
@ -2887,6 +2901,17 @@ int multiSlsDetector::setReceiverOnline(int value, int detPos) {
return multi_shm()->receiverOnlineFlag;
}
int multiSlsDetector::getReceiverOnlineFlag(int detPos) {
// single
if (detPos >= 0) {
return detectors[detPos]->getReceiverOnlineFlag();
}
// multi
auto r = parallelCall(&slsDetector::getReceiverOnlineFlag);
return sls::minusOneIfDifferent(r);
}
std::string multiSlsDetector::checkReceiverOnline(int detPos) {
// single
if (detPos >= 0) {

View File

@ -3270,7 +3270,7 @@ int slsDetector::setReceiverOnline(int value) {
return shm()->rxOnlineFlag;
}
int slsDetector::getReceiverOnline() const { return shm()->rxOnlineFlag; }
int slsDetector::getReceiverOnlineFlag() const { return shm()->rxOnlineFlag; }
std::string slsDetector::checkReceiverOnline() {
try {