mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-06-13 05:17:13 +02:00
commands, set multi level but get module level enabled
This commit is contained in:
@ -486,39 +486,6 @@ std::string CmdProxy::Exptime(int action) {
|
|||||||
return os.str();
|
return os.str();
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string CmdProxy::DynamicRange(int action) {
|
|
||||||
std::ostringstream os;
|
|
||||||
os << cmd << ' ';
|
|
||||||
if (action == defs::HELP_ACTION) {
|
|
||||||
os << "[value]\n\tDynamic Range or number of bits per "
|
|
||||||
"pixel in detector.\n\t"
|
|
||||||
"[Eiger] Options: 4, 8, 16, 32. If set to 32, also sets "
|
|
||||||
"clkdivider to 2, else to 0.\n\t"
|
|
||||||
"[Mythen3] Options: 8, 16, 32\n\t"
|
|
||||||
"[Jungfrau][Gotthard][Ctb][Moench][Mythen3][Gotthard2] 16"
|
|
||||||
<< '\n';
|
|
||||||
} else if (action == defs::GET_ACTION) {
|
|
||||||
if (!args.empty()) {
|
|
||||||
WrongNumberOfParameters(0);
|
|
||||||
}
|
|
||||||
auto t = det->getDynamicRange(std::vector<int>{det_id});
|
|
||||||
os << OutString(t) << '\n';
|
|
||||||
} else if (action == defs::PUT_ACTION) {
|
|
||||||
if (det_id != -1) {
|
|
||||||
throw sls::RuntimeError(
|
|
||||||
"Cannot execute dynamic range at module level");
|
|
||||||
}
|
|
||||||
if (args.size() != 1) {
|
|
||||||
WrongNumberOfParameters(1);
|
|
||||||
}
|
|
||||||
det->setDynamicRange(StringTo<int>(args[0]));
|
|
||||||
os << args.front() << '\n';
|
|
||||||
} else {
|
|
||||||
throw sls::RuntimeError("Unknown action");
|
|
||||||
}
|
|
||||||
return os.str();
|
|
||||||
}
|
|
||||||
|
|
||||||
std::string CmdProxy::Speed(int action) {
|
std::string CmdProxy::Speed(int action) {
|
||||||
std::ostringstream os;
|
std::ostringstream os;
|
||||||
os << cmd << ' ';
|
os << cmd << ' ';
|
||||||
|
@ -784,7 +784,7 @@ class CmdProxy {
|
|||||||
{"triggersl", &CmdProxy::triggersl},
|
{"triggersl", &CmdProxy::triggersl},
|
||||||
{"delayl", &CmdProxy::delayl},
|
{"delayl", &CmdProxy::delayl},
|
||||||
{"periodl", &CmdProxy::periodl},
|
{"periodl", &CmdProxy::periodl},
|
||||||
{"dr", &CmdProxy::DynamicRange},
|
{"dr", &CmdProxy::dr},
|
||||||
{"drlist", &CmdProxy::drlist},
|
{"drlist", &CmdProxy::drlist},
|
||||||
{"timing", &CmdProxy::timing},
|
{"timing", &CmdProxy::timing},
|
||||||
{"timinglist", &CmdProxy::timinglist},
|
{"timinglist", &CmdProxy::timinglist},
|
||||||
@ -1219,17 +1219,17 @@ class CmdProxy {
|
|||||||
|
|
||||||
/* acquisition parameters */
|
/* acquisition parameters */
|
||||||
|
|
||||||
INTEGER_COMMAND_NOID(
|
INTEGER_COMMAND_SET_NOID_GET_ID(
|
||||||
frames, getNumberOfFrames, setNumberOfFrames, StringTo<int64_t>,
|
frames, getNumberOfFrames, setNumberOfFrames, StringTo<int64_t>,
|
||||||
"[n_frames]\n\tNumber of frames per acquisition. In "
|
"[n_frames]\n\tNumber of frames per acquisition. In "
|
||||||
"trigger mode, number of frames per trigger. \n\tCannot be set in "
|
"trigger mode, number of frames per trigger. \n\tCannot be set in "
|
||||||
"modular level. \n\tIn scan mode, number of frames is set to number of "
|
"modular level. \n\tIn scan mode, number of frames is set to number of "
|
||||||
"steps.\n\t[Gotthard2] Burst mode has a maximum of 2720 frames.");
|
"steps.\n\t[Gotthard2] Burst mode has a maximum of 2720 frames.");
|
||||||
|
|
||||||
INTEGER_COMMAND_NOID(triggers, getNumberOfTriggers, setNumberOfTriggers,
|
INTEGER_COMMAND_SET_NOID_GET_ID(
|
||||||
StringTo<int64_t>,
|
triggers, getNumberOfTriggers, setNumberOfTriggers, StringTo<int64_t>,
|
||||||
"[n_triggers]\n\tNumber of triggers per aquire. Set "
|
"[n_triggers]\n\tNumber of triggers per aquire. Set "
|
||||||
"timing mode to use triggers.");
|
"timing mode to use triggers.");
|
||||||
|
|
||||||
TIME_COMMAND(
|
TIME_COMMAND(
|
||||||
period, getPeriod, setPeriod,
|
period, getPeriod, setPeriod,
|
||||||
@ -1260,6 +1260,15 @@ class CmdProxy {
|
|||||||
" Period left for current frame."
|
" Period left for current frame."
|
||||||
"\n\t[Gotthard2] only in continuous mode.");
|
"\n\t[Gotthard2] only in continuous mode.");
|
||||||
|
|
||||||
|
INTEGER_COMMAND_SET_NOID_GET_ID(
|
||||||
|
dr, getDynamicRange, setDynamicRange, StringTo<int>,
|
||||||
|
"[value]\n\tDynamic Range or number of bits per "
|
||||||
|
"pixel in detector.\n\t"
|
||||||
|
"[Eiger] Options: 4, 8, 16, 32. If set to 32, also sets "
|
||||||
|
"clkdivider to 2, else to 0.\n\t"
|
||||||
|
"[Mythen3] Options: 8, 16, 32\n\t"
|
||||||
|
"[Jungfrau][Gotthard][Ctb][Moench][Mythen3][Gotthard2] 16");
|
||||||
|
|
||||||
GET_COMMAND_NOID(drlist, getDynamicRangeList,
|
GET_COMMAND_NOID(drlist, getDynamicRangeList,
|
||||||
"\n\tGets the list of dynamic ranges for this detector.");
|
"\n\tGets the list of dynamic ranges for this detector.");
|
||||||
|
|
||||||
@ -1820,7 +1829,7 @@ class CmdProxy {
|
|||||||
"0 or this mode disabled(comparator enabled throughout). 1 enables "
|
"0 or this mode disabled(comparator enabled throughout). 1 enables "
|
||||||
"mode. 0 disables mode. ");
|
"mode. 0 disables mode. ");
|
||||||
|
|
||||||
INTEGER_COMMAND_NOID(
|
INTEGER_COMMAND_SET_NOID_GET_ID(
|
||||||
storagecells, getNumberOfAdditionalStorageCells,
|
storagecells, getNumberOfAdditionalStorageCells,
|
||||||
setNumberOfAdditionalStorageCells, StringTo<int>,
|
setNumberOfAdditionalStorageCells, StringTo<int>,
|
||||||
"[0-15]\n\t[Jungfrau] Number of additional storage cells. Default is "
|
"[0-15]\n\t[Jungfrau] Number of additional storage cells. Default is "
|
||||||
@ -1845,7 +1854,7 @@ class CmdProxy {
|
|||||||
"left for current frame. ");
|
"left for current frame. ");
|
||||||
|
|
||||||
/* Gotthard2 Specific */
|
/* Gotthard2 Specific */
|
||||||
INTEGER_COMMAND_NOID(
|
INTEGER_COMMAND_SET_NOID_GET_ID(
|
||||||
bursts, getNumberOfBursts, setNumberOfBursts, StringTo<int64_t>,
|
bursts, getNumberOfBursts, setNumberOfBursts, StringTo<int64_t>,
|
||||||
"[n_bursts]\n\t[Gotthard2] Number of bursts per aquire. Only in auto "
|
"[n_bursts]\n\t[Gotthard2] Number of bursts per aquire. Only in auto "
|
||||||
"timing mode and burst mode. Use timing command to set timing mode and "
|
"timing mode and burst mode. Use timing command to set timing mode and "
|
||||||
|
Reference in New Issue
Block a user