From 4caf4cced26cb85712669e49a299ec22e9b15192 Mon Sep 17 00:00:00 2001 From: Erik Frojdh Date: Tue, 26 Jan 2021 18:11:18 +0100 Subject: [PATCH] replacing dac values that are out of range after interpolation --- slsDetectorSoftware/src/Module.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/slsDetectorSoftware/src/Module.cpp b/slsDetectorSoftware/src/Module.cpp index 771fa23d0..6499066ca 100644 --- a/slsDetectorSoftware/src/Module.cpp +++ b/slsDetectorSoftware/src/Module.cpp @@ -367,6 +367,21 @@ void Module::setAllThresholdEnergy(std::array e_eV, LOG(logWARNING) << "Some trimbits were out of range after interpolation, these have been replaced with 0 or 63."; } + //check dacs + out_of_range = false; + for (auto dac : {M_VTRIM,M_VTH1,M_VTH2, M_VTH3}){ + if (myMod.dacs[dac] < 600){ + myMod.dacs[dac] = 600; + out_of_range = true; + }else if(myMod.dacs[dac] > 2400){ + myMod.dacs[dac] = 2400; + out_of_range = true; + } + } + if (out_of_range){ + LOG(logWARNING) << "Some dacs were out of range after interpolation, these have been replaced with 600 or 2400."; + } + setModule(myMod, trimbits); if (getSettings() != isettings) {