diff --git a/slsDetectorSoftware/include/Detector.h b/slsDetectorSoftware/include/Detector.h index 9fc251fb4..80f46a536 100644 --- a/slsDetectorSoftware/include/Detector.h +++ b/slsDetectorSoftware/include/Detector.h @@ -210,6 +210,18 @@ class Detector { Result getDetectorTypeAsString(Positions pos = {}) const; // Erik + Result 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 getPatternIOControl(Positions pos = {}) const; /** [CTB] */ void setPatternClockControl(uint64_t word, Positions pos = {}); diff --git a/slsDetectorSoftware/include/multiSlsDetector.h b/slsDetectorSoftware/include/multiSlsDetector.h index e421915e9..b103a4b99 100755 --- a/slsDetectorSoftware/include/multiSlsDetector.h +++ b/slsDetectorSoftware/include/multiSlsDetector.h @@ -2028,7 +2028,7 @@ class multiSlsDetector : public virtual slsDetectorDefs { * @param detPos -1 for all detectors in list or specific detector position * @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) @@ -2036,7 +2036,7 @@ class multiSlsDetector : public virtual slsDetectorDefs { * @param detPos -1 for all detectors in list or specific detector position * @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) @@ -2044,7 +2044,7 @@ class multiSlsDetector : public virtual slsDetectorDefs { * @param detPos -1 for all detectors in list or specific detector position * @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) diff --git a/slsDetectorSoftware/src/Detector.cpp b/slsDetectorSoftware/src/Detector.cpp index 6903e572c..b691bacdc 100644 --- a/slsDetectorSoftware/src/Detector.cpp +++ b/slsDetectorSoftware/src/Detector.cpp @@ -171,24 +171,42 @@ Result Detector::getDetectorTypeAsString(Positions pos) const { // Erik +Result Detector::getReceiverSilentMode(Positions pos){ + return pimpl->Parallel(&slsDetector::setReceiverSilentMode, pos, -1); +} -void Detector::setPatternClockControl(uint64_t word, Positions pos){ +void Detector::setReceiverSilentMode(bool value, Positions pos) { + pimpl->Parallel(&slsDetector::setReceiverSilentMode, pos, + static_cast(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 Detector::getPatternIOControl(Positions pos) const { + return pimpl->Parallel(&slsDetector::setPatternIOControl, pos, -1); +} + +void Detector::setPatternClockControl(uint64_t word, Positions pos) { pimpl->Parallel(&slsDetector::setPatternClockControl, pos, word); } -Result Detector::getPatternClockControl(Positions pos) const{ +Result Detector::getPatternClockControl(Positions pos) const { return pimpl->Parallel(&slsDetector::setPatternClockControl, pos, -1); } -void Detector::setPatternWord(int addr, uint64_t word, Positions pos){ +void Detector::setPatternWord(int addr, uint64_t word, Positions pos) { 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); - } Result> Detector::getPatternLoops(int level,