partial frames

This commit is contained in:
Erik Frojdh
2019-04-11 12:14:52 +02:00
parent d00fd70d6d
commit dce7dcbfd4
12 changed files with 1269 additions and 904 deletions
+10 -7
View File
@@ -2912,14 +2912,17 @@ multiSlsDetector::setReceiverFramesDiscardPolicy(frameDiscardPolicy f, int detPo
return sls::minusOneIfDifferent(r);
}
int multiSlsDetector::setReceiverPartialFramesPadding(int f, int detPos) {
// single
if (detPos >= 0) {
return detectors[detPos]->setReceiverPartialFramesPadding(f);
}
int multiSlsDetector::setPartialFramesPadding(bool padding, int detPos) {
if (detPos >= 0)
return detectors[detPos]->setPartialFramesPadding(padding);
auto r = parallelCall(&slsDetector::setPartialFramesPadding, padding);
return sls::minusOneIfDifferent(r);
}
// multi
auto r = parallelCall(&slsDetector::setReceiverPartialFramesPadding, f);
int multiSlsDetector::getPartialFramesPadding(int detPos) const {
if (detPos >= 0)
return detectors[detPos]->getPartialFramesPadding();
auto r = parallelCall(&slsDetector::getPartialFramesPadding);
return sls::minusOneIfDifferent(r);
}
File diff suppressed because it is too large Load Diff
@@ -5086,12 +5086,12 @@ std::string slsDetectorCommand::cmdReceiver(int narg, char *args[], int action,
else if (cmd == "r_padding") {
if (action == PUT_ACTION) {
if (sscanf(args[1], "%d", &ival)) {
myDet->setReceiverPartialFramesPadding(ival, detPos);
myDet->setPartialFramesPadding(ival, detPos);
} else
return std::string("could not scan receiver padding enable\n");
}
memset(answer, 0, 100);
sprintf(answer, "%d", myDet->setReceiverPartialFramesPadding(-1, detPos));
sprintf(answer, "%d", myDet->getPartialFramesPadding(detPos));
return std::string(answer);
}
+4 -1
View File
@@ -359,7 +359,10 @@ int slsDetectorUsers::setReceiverFramesDiscardPolicy(int f, int detPos) {
}
int slsDetectorUsers::setReceiverPartialFramesPadding(int f, int detPos) {
return detector.setReceiverPartialFramesPadding(f, detPos);
if (f>=0)
return detector.setPartialFramesPadding(f, detPos);
else
return detector.getPartialFramesPadding(detPos);
}
int slsDetectorUsers::setReceiverFramesPerFile(int f, int detPos) {