parallel3 fix, software version check

This commit is contained in:
maliakal_d 2020-04-21 18:27:52 +02:00
parent 1185f1ea17
commit 94103a05b1
4 changed files with 20 additions and 5 deletions

View File

@ -150,7 +150,7 @@ Result<int64_t> Detector::getSerialNumber(Positions pos) const {
} }
Result<int64_t> Detector::getReceiverVersion(Positions pos) const { Result<int64_t> Detector::getReceiverVersion(Positions pos) const {
return pimpl->Parallel(&Module::getReceiverSoftwareVersion, pos); return pimpl->Parallel3(&Receiver::getSoftwareVersion); //FIXME
} }
Result<defs::detectorType> Detector::getDetectorType(Positions pos) const { Result<defs::detectorType> Detector::getDetectorType(Positions pos) const {

View File

@ -519,10 +519,12 @@ class DetectorImpl : public virtual slsDetectorDefs {
for (size_t j : rxPositions) { for (size_t j : rxPositions) {
futures.push_back(std::async(std::launch::async, somefunc, futures.push_back(std::async(std::launch::async, somefunc,
receivers[i][j].get(), Args...)); receivers[i][j].get(), Args...));
if (receivers2.size()) {
futures.push_back(std::async(std::launch::async, somefunc, futures.push_back(std::async(std::launch::async, somefunc,
receivers2[i][j].get(), Args...)); receivers2[i][j].get(), Args...));
} }
} }
}
sls::Result<RT> result; sls::Result<RT> result;
result.reserve(futureSize); result.reserve(futureSize);
for (auto &i : futures) { for (auto &i : futures) {
@ -553,10 +555,12 @@ class DetectorImpl : public virtual slsDetectorDefs {
for (size_t j : rxPositions) { for (size_t j : rxPositions) {
futures.push_back(std::async(std::launch::async, somefunc, futures.push_back(std::async(std::launch::async, somefunc,
receivers[i][j].get(), Args...)); receivers[i][j].get(), Args...));
if (receivers2.size()) {
futures.push_back(std::async(std::launch::async, somefunc, futures.push_back(std::async(std::launch::async, somefunc,
receivers2[i][j].get(), Args...)); receivers2[i][j].get(), Args...));
} }
} }
}
sls::Result<RT> result; sls::Result<RT> result;
result.reserve(futureSize); result.reserve(futureSize);
for (auto &i : futures) { for (auto &i : futures) {
@ -587,10 +591,12 @@ class DetectorImpl : public virtual slsDetectorDefs {
for (size_t j : rxPositions) { for (size_t j : rxPositions) {
futures.push_back(std::async(std::launch::async, somefunc, futures.push_back(std::async(std::launch::async, somefunc,
receivers[i][j].get(), Args...)); receivers[i][j].get(), Args...));
if (receivers2.size()) {
futures.push_back(std::async(std::launch::async, somefunc, futures.push_back(std::async(std::launch::async, somefunc,
receivers2[i][j].get(), Args...)); receivers2[i][j].get(), Args...));
} }
} }
}
for (auto &i : futures) { for (auto &i : futures) {
i.get(); i.get();
} }
@ -618,10 +624,12 @@ class DetectorImpl : public virtual slsDetectorDefs {
for (size_t j : rxPositions) { for (size_t j : rxPositions) {
futures.push_back(std::async(std::launch::async, somefunc, futures.push_back(std::async(std::launch::async, somefunc,
receivers[i][j].get(), Args...)); receivers[i][j].get(), Args...));
if (receivers2.size()) {
futures.push_back(std::async(std::launch::async, somefunc, futures.push_back(std::async(std::launch::async, somefunc,
receivers2[i][j].get(), Args...)); receivers2[i][j].get(), Args...));
} }
} }
}
for (auto &i : futures) { for (auto &i : futures) {
i.get(); i.get();
} }

View File

@ -317,6 +317,11 @@ std::string Receiver::printConfiguration() {
return oss.str(); return oss.str();
} }
int64_t Receiver::getSoftwareVersion() const {
LOG(logDEBUG1) << "Getting receiver software version";
return sendToReceiver<int64_t>(F_GET_RECEIVER_VERSION);
}
/** Acquisition */ /** Acquisition */
void Receiver::start() { void Receiver::start() {

View File

@ -57,6 +57,8 @@ namespace sls {
int getTCPPort() const; int getTCPPort() const;
void setTCPPort(const int port); void setTCPPort(const int port);
std::string printConfiguration(); std::string printConfiguration();
int64_t getSoftwareVersion() const;
/************************************************** /**************************************************
* * * *