diff --git a/slsDetectorSoftware/src/CmdProxy.cpp b/slsDetectorSoftware/src/CmdProxy.cpp index 58ce38c34..16c451705 100644 --- a/slsDetectorSoftware/src/CmdProxy.cpp +++ b/slsDetectorSoftware/src/CmdProxy.cpp @@ -1994,16 +1994,22 @@ std::string CmdProxy::GainCaps(int action){ auto tmp = det->getChipStatusRegister(); sls::Result csr; - for (auto val : tmp) - csr.push_back(static_cast(val)); + for (auto val : tmp){ + if (val) + csr.push_back(static_cast(val)); + } + os << OutString(csr) << '\n'; } else if (action == defs::PUT_ACTION) { if (args.size() < 1) { WrongNumberOfParameters(1); } int caps = 0; - for (const auto& arg:args) - caps |= sls::StringTo(arg); + for (const auto& arg:args){ + if (arg != "0") + caps |= sls::StringTo(arg); + } + det->setGainCaps(caps); os << OutString(args) << '\n'; } else {