ctb moench: feature to set digital io pin delay, changed print from unsuccessful to failed, maxpatternlength in server is inclusive

This commit is contained in:
2019-03-01 10:45:01 +01:00
parent bb81613900
commit 35b1ad39f7
12 changed files with 173 additions and 32 deletions

View File

@ -3606,6 +3606,17 @@ int multiSlsDetector::setLEDEnable(int enable, int detPos) {
return sls::minusOneIfDifferent(r);
}
int multiSlsDetector::setDigitalIODelay(uint64_t pinMask, int delay, int detPos) {
// single
if (detPos >= 0) {
return detectors[detPos]->setDigitalIODelay(pinMask, delay);
}
// multi
auto r = parallelCall(&slsDetector::setDigitalIODelay, pinMask, delay);
return sls::allEqualTo(r, static_cast<int>(OK)) ? OK : FAIL;
}
int multiSlsDetector::retrieveDetectorSetup(const std::string &fname1,
int level) {

View File

@ -1743,6 +1743,15 @@ class multiSlsDetector : public virtual slsDetectorDefs,
*/
int setLEDEnable(int enable = -1, int detPos = -1);
/**
* Set Digital IO Delay (Moench, CTB only)
* @param digital IO mask to select the pins
* @param delay delay in ps(1 bit=25ps, max of 775 ps)
* @param detPos -1 for all detectors in list or specific detector position
* @returns OK or FAIL
*/
int setDigitalIODelay(uint64_t pinMask, int delay, int detPos = -1);
/**
* Loads the detector setup from file
* @param fname file to read from