From 1c683c68f270093d92ecf9cc18e0294358acbc69 Mon Sep 17 00:00:00 2001 From: Gabriel Fedel <gabriel.fedel@ess.eu> Date: Wed, 3 Nov 2021 14:08:12 +0100 Subject: [PATCH] If the read values are Nan set them to 0 (SP w/ cav) This could happen when during the calibration the W is negative. --- src/sis8300llrfSPWithCavityChannel.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/sis8300llrfSPWithCavityChannel.cpp b/src/sis8300llrfSPWithCavityChannel.cpp index cc462222..2ac24621 100644 --- a/src/sis8300llrfSPWithCavityChannel.cpp +++ b/src/sis8300llrfSPWithCavityChannel.cpp @@ -80,6 +80,8 @@ ndsStatus sis8300llrfSPWithCavityChannel::updateMagAngRBV() { // if gradient calibration is enabled if (m_CavChannel->isGradCalibrated()) { _MagRBV = m_CavChannel->calibrateGrad(calibratorRaw2EGU->calibrate(_MagRaw)); + if (_MagRBV != _MagRBV) // Nan + _MagRBV = 0; } else if (calibratorRaw2EGU->isEnabled()) @@ -226,6 +228,8 @@ ndsStatus sis8300llrfSPWithCavityChannel::getMagTable( if (m_CavChannel->isGradCalibrated()) { for (int i = 0; i < _MagTableCount; i++){ value[i] = m_CavChannel->calibrateGrad(calibratorRaw2EGU->calibrate(_MagTable[i])); + if (value[i] != value[i]) // Nan + value[i] = 0; } } else -- GitLab