mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-06-19 00:07:13 +02:00
mythen3: virtual server, connected timing mode, row and col in header, included pattern bit and mask
This commit is contained in:
@ -1475,7 +1475,7 @@ std::string CmdProxy::PatternWord(int action) {
|
||||
std::ostringstream os;
|
||||
os << cmd << ' ';
|
||||
if (action == defs::HELP_ACTION) {
|
||||
os << "[step or address] [64 bit mask]\n\t[Ctb] 64 bit pattern at "
|
||||
os << "[step or address] [64 bit mask]\n\t[Ctb][Mythen3] 64 bit pattern at "
|
||||
"address of pattern memory."
|
||||
<< '\n';
|
||||
} else if (action == defs::GET_ACTION) {
|
||||
@ -1501,17 +1501,17 @@ std::string CmdProxy::PatternLoopAddresses(int action) {
|
||||
os << cmd << ' ';
|
||||
if (action == defs::HELP_ACTION) {
|
||||
if (cmd == "patlimits") {
|
||||
os << "[start addr] [stop addr] \n\t[Ctb] Limits of complete "
|
||||
os << "[start addr] [stop addr] \n\t[Ctb][Mythen3] Limits of complete "
|
||||
"pattern."
|
||||
<< '\n';
|
||||
} else if (cmd == "patloop0") {
|
||||
os << "[start addr] [stop addr] \n\t[Ctb] Limits of loop 0."
|
||||
os << "[start addr] [stop addr] \n\t[Ctb][Mythen3] Limits of loop 0."
|
||||
<< '\n';
|
||||
} else if (cmd == "patloop1") {
|
||||
os << "[start addr] [stop addr] \n\t[Ctb] Limits of loop 1."
|
||||
os << "[start addr] [stop addr] \n\t[Ctb][Mythen3] Limits of loop 1."
|
||||
<< '\n';
|
||||
} else if (cmd == "patloop2") {
|
||||
os << "[start addr] [stop addr] \n\t[Ctb] Limits of loop 2."
|
||||
os << "[start addr] [stop addr] \n\t[Ctb][Mythen3] Limits of loop 2."
|
||||
<< '\n';
|
||||
} else {
|
||||
throw sls::RuntimeError(
|
||||
@ -1556,11 +1556,11 @@ std::string CmdProxy::PatternLoopCycles(int action) {
|
||||
os << cmd << ' ';
|
||||
if (action == defs::HELP_ACTION) {
|
||||
if (cmd == "patnloop0") {
|
||||
os << "[n_cycles] \n\t[Ctb] Number of cycles of loop 0." << '\n';
|
||||
os << "[n_cycles] \n\t[Ctb][Mythen3] Number of cycles of loop 0." << '\n';
|
||||
} else if (cmd == "patnloop1") {
|
||||
os << "[n_cycles] \n\t[Ctb] Number of cycles of loop 1." << '\n';
|
||||
os << "[n_cycles] \n\t[Ctb][Mythen3] Number of cycles of loop 1." << '\n';
|
||||
} else if (cmd == "patnloop2") {
|
||||
os << "[n_cycles] \n\t[Ctb] Number of cycles of loop 2." << '\n';
|
||||
os << "[n_cycles] \n\t[Ctb][Mythen3] Number of cycles of loop 2." << '\n';
|
||||
} else {
|
||||
throw sls::RuntimeError(
|
||||
"Unknown command, use list to list all commands");
|
||||
@ -1601,11 +1601,11 @@ std::string CmdProxy::PatternWaitAddress(int action) {
|
||||
os << cmd << ' ';
|
||||
if (action == defs::HELP_ACTION) {
|
||||
if (cmd == "patwait0") {
|
||||
os << "[addr] \n\t[Ctb] Wait 0 address." << '\n';
|
||||
os << "[addr] \n\t[Ctb][Mythen3] Wait 0 address." << '\n';
|
||||
} else if (cmd == "patwait1") {
|
||||
os << "[addr] \n\t[Ctb] Wait 1 address." << '\n';
|
||||
os << "[addr] \n\t[Ctb][Mythen3] Wait 1 address." << '\n';
|
||||
} else if (cmd == "patwait2") {
|
||||
os << "[addr] \n\t[Ctb] Wait 2 address." << '\n';
|
||||
os << "[addr] \n\t[Ctb][Mythen3] Wait 2 address." << '\n';
|
||||
} else {
|
||||
throw sls::RuntimeError(
|
||||
"Unknown command, use list to list all commands");
|
||||
@ -1646,11 +1646,11 @@ std::string CmdProxy::PatternWaitTime(int action) {
|
||||
os << cmd << ' ';
|
||||
if (action == defs::HELP_ACTION) {
|
||||
if (cmd == "patwaittime0") {
|
||||
os << "[n_clk] \n\t[Ctb] Wait 0 time in clock cycles." << '\n';
|
||||
os << "[n_clk] \n\t[Ctb][Mythen3] Wait 0 time in clock cycles." << '\n';
|
||||
} else if (cmd == "patwaittime1") {
|
||||
os << "[n_clk] \n\t[Ctb] Wait 1 time in clock cycles." << '\n';
|
||||
os << "[n_clk] \n\t[Ctb][Mythen3] Wait 1 time in clock cycles." << '\n';
|
||||
} else if (cmd == "patwaittime2") {
|
||||
os << "[n_clk] \n\t[Ctb] Wait 2 time in clock cycles." << '\n';
|
||||
os << "[n_clk] \n\t[Ctb][Mythen3] Wait 2 time in clock cycles." << '\n';
|
||||
} else {
|
||||
throw sls::RuntimeError(
|
||||
"Unknown command, use list to list all commands");
|
||||
|
@ -1651,10 +1651,10 @@ class CmdProxy {
|
||||
"[64 bit mask]\n\t[Ctb] 64 bit mask defining output clock enable.");
|
||||
|
||||
INTEGER_COMMAND_HEX(patmask, getPatternMask, setPatternMask, stoulHex,
|
||||
"[64 bit mask]\n\t[Ctb] 64 bit mask applied to every pattern. Only these bits for each pattern will be masked against.");
|
||||
"[64 bit mask]\n\t[Ctb][Mythen3] 64 bit mask applied to every pattern. Only these bits for each pattern will be masked against.");
|
||||
|
||||
INTEGER_COMMAND_HEX(patsetbit, getPatternBitMask, setPatternBitMask, stoulHex,
|
||||
"[64 bit mask]\n\t[Ctb] 64 bit values applied to the selected patmask for every pattern.");
|
||||
"[64 bit mask]\n\t[Ctb][Mythen3] 64 bit values applied to the selected patmask for every pattern.");
|
||||
|
||||
/* Moench */
|
||||
|
||||
|
@ -1753,16 +1753,16 @@ class slsDetector : public virtual slsDetectorDefs {
|
||||
uint64_t setPatternClockControl(uint64_t word = -1);
|
||||
|
||||
/**
|
||||
* Writes a pattern word (CTB/ Moench)
|
||||
* Writes a pattern word (CTB/ Moench/ Mythen3)
|
||||
* @param addr address of the word
|
||||
* @param word 64bit word to be written, -1 reads the addr (same as
|
||||
* executing the pattern)
|
||||
* executing the pattern for ctb)
|
||||
* @returns actual value
|
||||
*/
|
||||
uint64_t setPatternWord(int addr, uint64_t word);
|
||||
|
||||
/**
|
||||
* Sets the pattern or loop limits (CTB/ Moench)
|
||||
* Sets the pattern or loop limits (CTB/ Moench/ Mythen3)
|
||||
* @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
|
||||
@ -1772,7 +1772,7 @@ class slsDetector : public virtual slsDetectorDefs {
|
||||
int stop = -1);
|
||||
|
||||
/**
|
||||
* Sets the pattern or loop limits (CTB/ Moench)
|
||||
* Sets the pattern or loop limits (CTB/ Moench/ Mythen3)
|
||||
* @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
|
||||
@ -1781,7 +1781,7 @@ class slsDetector : public virtual slsDetectorDefs {
|
||||
|
||||
|
||||
/**
|
||||
* Sets the wait address (CTB/ Moench)
|
||||
* Sets the wait address (CTB/ Moench/ Mythen3)
|
||||
* @param level 0,1,2, wait level
|
||||
* @param addr wait address, -1 gets
|
||||
* @returns actual value
|
||||
@ -1789,7 +1789,7 @@ class slsDetector : public virtual slsDetectorDefs {
|
||||
int setPatternWaitAddr(int level, int addr = -1);
|
||||
|
||||
/**
|
||||
* Sets the wait time (CTB/ Moench)
|
||||
* Sets the wait time (CTB/ Moench/ Mythen3)
|
||||
* @param level 0,1,2, wait level
|
||||
* @param t wait time, -1 gets
|
||||
* @returns actual value
|
||||
@ -1797,27 +1797,27 @@ class slsDetector : public virtual slsDetectorDefs {
|
||||
uint64_t setPatternWaitTime(int level, uint64_t t = -1);
|
||||
|
||||
/**
|
||||
* Sets the mask applied to every pattern (CTB/ Moench)
|
||||
* Sets the mask applied to every pattern (CTB/ Moench/ Mythen3)
|
||||
* @param mask mask to be applied
|
||||
*/
|
||||
void setPatternMask(uint64_t mask);
|
||||
|
||||
/**
|
||||
* Gets the mask applied to every pattern (CTB/ Moench)
|
||||
* Gets the mask applied to every pattern (CTB/ Moench/ Mythen3)
|
||||
* @returns mask set
|
||||
*/
|
||||
uint64_t getPatternMask();
|
||||
|
||||
/**
|
||||
* Selects the bits that the mask will be applied to for every pattern (CTB/
|
||||
* Moench)
|
||||
* Moench/ Mythen3)
|
||||
* @param mask mask to select bits
|
||||
*/
|
||||
void setPatternBitMask(uint64_t mask);
|
||||
|
||||
/**
|
||||
* Gets the bits that the mask will be applied to for every pattern (CTB/
|
||||
* Moench)
|
||||
* Moench/ Mythen3)
|
||||
* @returns mask of bits selected
|
||||
*/
|
||||
uint64_t getPatternBitMask();
|
||||
|
Reference in New Issue
Block a user