From 7f189629fba3475b918b14a88137429b193f6ef6 Mon Sep 17 00:00:00 2001 From: Dhanya Thattil Date: Thu, 8 Oct 2020 14:31:18 +0200 Subject: [PATCH] commands, set multi level but get module level enabled --- slsDetectorSoftware/src/CmdProxy.cpp | 33 ---------------------------- slsDetectorSoftware/src/CmdProxy.h | 25 ++++++++++++++------- 2 files changed, 17 insertions(+), 41 deletions(-) diff --git a/slsDetectorSoftware/src/CmdProxy.cpp b/slsDetectorSoftware/src/CmdProxy.cpp index 1cb2bb015..e2d62a033 100644 --- a/slsDetectorSoftware/src/CmdProxy.cpp +++ b/slsDetectorSoftware/src/CmdProxy.cpp @@ -486,39 +486,6 @@ std::string CmdProxy::Exptime(int action) { 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{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(args[0])); - os << args.front() << '\n'; - } else { - throw sls::RuntimeError("Unknown action"); - } - return os.str(); -} - std::string CmdProxy::Speed(int action) { std::ostringstream os; os << cmd << ' '; diff --git a/slsDetectorSoftware/src/CmdProxy.h b/slsDetectorSoftware/src/CmdProxy.h index 97f1e636a..816b80475 100644 --- a/slsDetectorSoftware/src/CmdProxy.h +++ b/slsDetectorSoftware/src/CmdProxy.h @@ -784,7 +784,7 @@ class CmdProxy { {"triggersl", &CmdProxy::triggersl}, {"delayl", &CmdProxy::delayl}, {"periodl", &CmdProxy::periodl}, - {"dr", &CmdProxy::DynamicRange}, + {"dr", &CmdProxy::dr}, {"drlist", &CmdProxy::drlist}, {"timing", &CmdProxy::timing}, {"timinglist", &CmdProxy::timinglist}, @@ -1219,17 +1219,17 @@ class CmdProxy { /* acquisition parameters */ - INTEGER_COMMAND_NOID( + INTEGER_COMMAND_SET_NOID_GET_ID( frames, getNumberOfFrames, setNumberOfFrames, StringTo, "[n_frames]\n\tNumber of frames per acquisition. 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 " "steps.\n\t[Gotthard2] Burst mode has a maximum of 2720 frames."); - INTEGER_COMMAND_NOID(triggers, getNumberOfTriggers, setNumberOfTriggers, - StringTo, - "[n_triggers]\n\tNumber of triggers per aquire. Set " - "timing mode to use triggers."); + INTEGER_COMMAND_SET_NOID_GET_ID( + triggers, getNumberOfTriggers, setNumberOfTriggers, StringTo, + "[n_triggers]\n\tNumber of triggers per aquire. Set " + "timing mode to use triggers."); TIME_COMMAND( period, getPeriod, setPeriod, @@ -1260,6 +1260,15 @@ class CmdProxy { " Period left for current frame." "\n\t[Gotthard2] only in continuous mode."); + INTEGER_COMMAND_SET_NOID_GET_ID( + dr, getDynamicRange, setDynamicRange, StringTo, + "[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, "\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 " "mode. 0 disables mode. "); - INTEGER_COMMAND_NOID( + INTEGER_COMMAND_SET_NOID_GET_ID( storagecells, getNumberOfAdditionalStorageCells, setNumberOfAdditionalStorageCells, StringTo, "[0-15]\n\t[Jungfrau] Number of additional storage cells. Default is " @@ -1845,7 +1854,7 @@ class CmdProxy { "left for current frame. "); /* Gotthard2 Specific */ - INTEGER_COMMAND_NOID( + INTEGER_COMMAND_SET_NOID_GET_ID( bursts, getNumberOfBursts, setNumberOfBursts, StringTo, "[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 "