diff options
-rw-r--r-- | firmware/os/algos/calibration/over_temp/over_temp_cal.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/firmware/os/algos/calibration/over_temp/over_temp_cal.c b/firmware/os/algos/calibration/over_temp/over_temp_cal.c index 04a9c924..84d7411f 100644 --- a/firmware/os/algos/calibration/over_temp/over_temp_cal.c +++ b/firmware/os/algos/calibration/over_temp/over_temp_cal.c @@ -1444,10 +1444,13 @@ bool isValidOtcLinearModel(const struct OverTempCal *over_temp_cal, float temp_sensitivity, float sensor_intercept) { ASSERT_NOT_NULL(over_temp_cal); + // Simple check to ensure that the linear model parameters are: + // 1. Within the valid range, AND + // 2. At least one model parameter is considered non-zero. return NANO_ABS(temp_sensitivity) < over_temp_cal->temp_sensitivity_limit && NANO_ABS(sensor_intercept) < over_temp_cal->sensor_intercept_limit && - NANO_ABS(temp_sensitivity) > OTC_MODELDATA_NEAR_ZERO_TOL && - NANO_ABS(sensor_intercept) > OTC_MODELDATA_NEAR_ZERO_TOL; + (NANO_ABS(temp_sensitivity) > OTC_MODELDATA_NEAR_ZERO_TOL || + NANO_ABS(sensor_intercept) > OTC_MODELDATA_NEAR_ZERO_TOL); } bool isValidOtcOffset(const float *offset, float offset_temp_celsius) { |