patloops done

This commit is contained in:
2019-10-24 18:59:23 +02:00
parent f73a15e786
commit f4a0780b51
21 changed files with 301 additions and 311 deletions

View File

@ -714,10 +714,17 @@ class CmdProxy {
{"patioctrl", &CmdProxy::patioctrl},
{"patclkctrl", &CmdProxy::patclkctrl},
{"patword", &CmdProxy::PatternWord},
{"patlimits", &CmdProxy::PatternLoopAddresses},
{"patloop0", &CmdProxy::PatternLoopAddresses},
{"patloop1", &CmdProxy::PatternLoopAddresses},
{"patloop2", &CmdProxy::PatternLoopAddresses},
{"patnloop0", &CmdProxy::PatternLoopCycles},
{"patnloop1", &CmdProxy::PatternLoopCycles},
{"patnloop2", &CmdProxy::PatternLoopCycles},
{"adcvpp", &CmdProxy::adcvpp},
{"adcvpp", &CmdProxy::adcvpp},//dac
{"lastclient", &CmdProxy::lastclient},
{"lock", &CmdProxy::lock}
};
@ -774,6 +781,10 @@ class CmdProxy {
/* Pattern */
std::string Pattern(int action);
std::string PatternWord(int action);
std::string PatternLoopAddresses(int action);
std::string PatternLoopCycles(int action);
/* configuration */
EXECUTE_SET_COMMAND_NOID_1ARG(config, loadConfig,

View File

@ -1016,15 +1016,21 @@ class Detector {
void setPatternWord(int addr, uint64_t word, Positions pos = {});
/**[CTB] Options: level: -1 (complete pattern) and 0-2 levels
* @returns array of start address, stop address and number of loops
* @returns array of start address and stop address
*/
Result<std::array<int, 3>> getPatternLoops(int level,
Result<std::array<int, 2>> getPatternLoopAddresses(int level,
Positions pos = {}) const;
/** [CTB] Options: start, stop, n : 0-2
* level: -1 (complete pattern) and 0-2 levels */
void setPatternLoops(int level, int start, int stop, int n,
Positions pos = {});
/** [CTB] Options: level: -1 (complete pattern) and 0-2 levels */
void setPatternLoopAddresses(int level, int start, int stop, Positions pos = {});
/**[CTB] Options: level: -1 (complete pattern) and 0-2 levels
* @returns number of loops
*/
Result<int> getPatternLoopCycles(int level, Positions pos = {}) const;
/** [CTB] n: 0-2, level: -1 (complete pattern) and 0-2 levels */
void setPatternLoopCycles(int level, int n, Positions pos = {});
/* [CTB] */
Result<int> getPatternWaitAddr(int level, Positions pos = {}) const;

View File

@ -1644,25 +1644,6 @@ class multiSlsDetector : public virtual slsDetectorDefs {
*/
uint64_t setPatternWord(int addr, uint64_t word, int detPos = -1); //
/**
* Sets the pattern or loop limits (CTB/ Moench)
* @param level -1 complete pattern, 0,1,2, loop level
* @param start start address for level 0-2, -1 gets
* @param stop stop address for level 0-2, -1 gets
* @param n number of loops for level 0-2, -1 gets
* @param detPos -1 for all detectors in list or specific detector position
*/
void setPatternLoops(int level, int start = -1, int stop = -1, int n = -1,
int detPos = -1); //
/**
* Gets the pattern loop limits (CTB/ Moench)
* @param level -1 complete pattern, 0,1,2, loop level
* @param detPos -1 for all detectors in list or specific detector position
* @returns array of start address, stop address and number of loops
*/
std::array<int, 3> getPatternLoops(int level, int detPos = -1); //
/**
* Sets the wait address (CTB/ Moench)
* @param level 0,1,2, wait level

View File

@ -1620,11 +1620,19 @@ class slsDetector : public virtual slsDetectorDefs {
* @param level -1 complete pattern, 0,1,2, loop level
* @param start start address for level 0-2, -1 gets
* @param stop stop address for level 0-2, -1 gets
* @param n number of loops for level 0-2, -1 gets
* @returns array of start addr, stop addr and number of loops
* @returns array of start addr and stop addr
*/
std::array<int, 3> setPatternLoops(int level = -1, int start = -1,
int stop = -1, int n = -1);
std::array<int, 2> setPatternLoopAddresses(int level = -1, int start = -1,
int stop = -1);
/**
* Sets the pattern or loop limits (CTB/ Moench)
* @param level -1 complete pattern, 0,1,2, loop level
* @param n number of loops for level 0-2, -1 gets
* @returns number of loops
*/
int setPatternLoopCycles(int level = -1, int n = -1);
/**
* Sets the wait address (CTB/ Moench)