diff --git a/slsDetectorSoftware/src/Detector.cpp b/slsDetectorSoftware/src/Detector.cpp index fb33c9cf2..39fc128fe 100644 --- a/slsDetectorSoftware/src/Detector.cpp +++ b/slsDetectorSoftware/src/Detector.cpp @@ -150,7 +150,7 @@ Result Detector::getSerialNumber(Positions pos) const { } Result Detector::getReceiverVersion(Positions pos) const { - return pimpl->Parallel(&Module::getReceiverSoftwareVersion, pos); + return pimpl->Parallel3(&Receiver::getSoftwareVersion); //FIXME } Result Detector::getDetectorType(Positions pos) const { diff --git a/slsDetectorSoftware/src/DetectorImpl.h b/slsDetectorSoftware/src/DetectorImpl.h index 7895b24a7..2b77915bf 100755 --- a/slsDetectorSoftware/src/DetectorImpl.h +++ b/slsDetectorSoftware/src/DetectorImpl.h @@ -519,8 +519,10 @@ class DetectorImpl : public virtual slsDetectorDefs { for (size_t j : rxPositions) { futures.push_back(std::async(std::launch::async, somefunc, receivers[i][j].get(), Args...)); - futures.push_back(std::async(std::launch::async, somefunc, + if (receivers2.size()) { + futures.push_back(std::async(std::launch::async, somefunc, receivers2[i][j].get(), Args...)); + } } } sls::Result result; @@ -553,8 +555,10 @@ class DetectorImpl : public virtual slsDetectorDefs { for (size_t j : rxPositions) { futures.push_back(std::async(std::launch::async, somefunc, receivers[i][j].get(), Args...)); - futures.push_back(std::async(std::launch::async, somefunc, + if (receivers2.size()) { + futures.push_back(std::async(std::launch::async, somefunc, receivers2[i][j].get(), Args...)); + } } } sls::Result result; @@ -587,8 +591,10 @@ class DetectorImpl : public virtual slsDetectorDefs { for (size_t j : rxPositions) { futures.push_back(std::async(std::launch::async, somefunc, receivers[i][j].get(), Args...)); - futures.push_back(std::async(std::launch::async, somefunc, + if (receivers2.size()) { + futures.push_back(std::async(std::launch::async, somefunc, receivers2[i][j].get(), Args...)); + } } } for (auto &i : futures) { @@ -618,8 +624,10 @@ class DetectorImpl : public virtual slsDetectorDefs { for (size_t j : rxPositions) { futures.push_back(std::async(std::launch::async, somefunc, receivers[i][j].get(), Args...)); - futures.push_back(std::async(std::launch::async, somefunc, + if (receivers2.size()) { + futures.push_back(std::async(std::launch::async, somefunc, receivers2[i][j].get(), Args...)); + } } } for (auto &i : futures) { diff --git a/slsDetectorSoftware/src/Receiver.cpp b/slsDetectorSoftware/src/Receiver.cpp index 5918b4774..b62fe775d 100755 --- a/slsDetectorSoftware/src/Receiver.cpp +++ b/slsDetectorSoftware/src/Receiver.cpp @@ -317,6 +317,11 @@ std::string Receiver::printConfiguration() { return oss.str(); } +int64_t Receiver::getSoftwareVersion() const { + LOG(logDEBUG1) << "Getting receiver software version"; + return sendToReceiver(F_GET_RECEIVER_VERSION); +} + /** Acquisition */ void Receiver::start() { diff --git a/slsDetectorSoftware/src/Receiver.h b/slsDetectorSoftware/src/Receiver.h index 34c377e93..9fe7b9c58 100755 --- a/slsDetectorSoftware/src/Receiver.h +++ b/slsDetectorSoftware/src/Receiver.h @@ -57,6 +57,8 @@ namespace sls { int getTCPPort() const; void setTCPPort(const int port); std::string printConfiguration(); + int64_t getSoftwareVersion() const; + /************************************************** * *