This commit is contained in:
Erik Frojdh 2019-08-08 13:49:28 +02:00
parent 1bdff2b681
commit f0e106f94f
3 changed files with 40 additions and 10 deletions

View File

@ -210,6 +210,18 @@ class Detector {
Result<std::string> getDetectorTypeAsString(Positions pos = {}) const; Result<std::string> getDetectorTypeAsString(Positions pos = {}) const;
// Erik // Erik
Result<bool> getReceiverSilentMode(Positions pos = {}) const;
void setReceiverSilentMode(bool value, Positions pos = {});
/** [CTB] */
void setPattern(const std::string &fname, Positions pos = {});
/** [CTB] */
void setPatternIOControl(uint64_t word, Positions pos = {});
/** [CTB] */
Result<uint64_t> getPatternIOControl(Positions pos = {}) const;
/** [CTB] */ /** [CTB] */
void setPatternClockControl(uint64_t word, Positions pos = {}); void setPatternClockControl(uint64_t word, Positions pos = {});

View File

@ -2028,7 +2028,7 @@ class multiSlsDetector : public virtual slsDetectorDefs {
* @param detPos -1 for all detectors in list or specific detector position * @param detPos -1 for all detectors in list or specific detector position
* @returns the receiver silent mode enable * @returns the receiver silent mode enable
*/ */
int setReceiverSilentMode(int i = -1, int detPos = -1); int setReceiverSilentMode(int i = -1, int detPos = -1); //
/** /**
* Opens pattern file and sends pattern (CTB/ Moench) * Opens pattern file and sends pattern (CTB/ Moench)
@ -2036,7 +2036,7 @@ class multiSlsDetector : public virtual slsDetectorDefs {
* @param detPos -1 for all detectors in list or specific detector position * @param detPos -1 for all detectors in list or specific detector position
* @returns OK/FAIL * @returns OK/FAIL
*/ */
int setPattern(const std::string &fname, int detPos = -1); int setPattern(const std::string &fname, int detPos = -1); //
/** /**
* Sets pattern IO control (CTB/ Moench) * Sets pattern IO control (CTB/ Moench)
@ -2044,7 +2044,7 @@ class multiSlsDetector : public virtual slsDetectorDefs {
* @param detPos -1 for all detectors in list or specific detector position * @param detPos -1 for all detectors in list or specific detector position
* @returns actual value * @returns actual value
*/ */
uint64_t setPatternIOControl(uint64_t word = -1, int detPos = -1); uint64_t setPatternIOControl(uint64_t word = -1, int detPos = -1);//
/** /**
* Sets pattern clock control (CTB/ Moench) * Sets pattern clock control (CTB/ Moench)

View File

@ -171,6 +171,26 @@ Result<std::string> Detector::getDetectorTypeAsString(Positions pos) const {
// Erik // Erik
Result<bool> Detector::getReceiverSilentMode(Positions pos){
return pimpl->Parallel(&slsDetector::setReceiverSilentMode, pos, -1);
}
void Detector::setReceiverSilentMode(bool value, Positions pos) {
pimpl->Parallel(&slsDetector::setReceiverSilentMode, pos,
static_cast<int>(value));
}
void Detector::setPattern(const std::string &fname, Positions pos) {
pimpl->Parallel(&slsDetector::setPattern, pos, fname);
}
void Detector::setPatternIOControl(uint64_t word, Positions pos) {
pimpl->Parallel(&slsDetector::setPatternIOControl, pos, word);
}
Result<uint64_t> Detector::getPatternIOControl(Positions pos) const {
return pimpl->Parallel(&slsDetector::setPatternIOControl, pos, -1);
}
void Detector::setPatternClockControl(uint64_t word, Positions pos) { void Detector::setPatternClockControl(uint64_t word, Positions pos) {
pimpl->Parallel(&slsDetector::setPatternClockControl, pos, word); pimpl->Parallel(&slsDetector::setPatternClockControl, pos, word);
@ -184,11 +204,9 @@ void Detector::setPatternWord(int addr, uint64_t word, Positions pos){
pimpl->Parallel(&slsDetector::setPatternWord, pos, addr, word); pimpl->Parallel(&slsDetector::setPatternWord, pos, addr, word);
} }
void Detector::setPatternLoops(int level, int start, int stop, int n,
Positions pos) {
void Detector::setPatternLoops(int level, int start, int stop, int n, Positions pos){
pimpl->Parallel(&slsDetector::setPatternLoops, pos, level, start, stop, n); pimpl->Parallel(&slsDetector::setPatternLoops, pos, level, start, stop, n);
} }
Result<std::array<int, 3>> Detector::getPatternLoops(int level, Result<std::array<int, 3>> Detector::getPatternLoops(int level,