From 12ab762adc0cf156e3a36b87791154501f0e21f2 Mon Sep 17 00:00:00 2001 From: Daniel Agar Date: Wed, 16 Sep 2020 09:49:30 -0400 Subject: [PATCH] sensor_calibration: silence error if priority is -1 (uninitialized parameter value) --- src/lib/sensor_calibration/Accelerometer.cpp | 16 +++++++++++----- src/lib/sensor_calibration/Gyroscope.cpp | 16 +++++++++++----- src/lib/sensor_calibration/Magnetometer.cpp | 10 +++++++--- 3 files changed, 29 insertions(+), 13 deletions(-) diff --git a/src/lib/sensor_calibration/Accelerometer.cpp b/src/lib/sensor_calibration/Accelerometer.cpp index 1d5f4411df..3b9fe6e110 100644 --- a/src/lib/sensor_calibration/Accelerometer.cpp +++ b/src/lib/sensor_calibration/Accelerometer.cpp @@ -142,11 +142,17 @@ void Accelerometer::ParametersUpdate() // CAL_ACCx_PRIO _priority = GetCalibrationParam(SensorString(), "PRIO", _calibration_index); - if (_priority < 0 || _priority > 100) { - // reset to default - PX4_ERR("%s %d invalid priority %d, resetting to %d", SensorString(), _calibration_index, _priority, DEFAULT_PRIORITY); - SetCalibrationParam(SensorString(), "PRIO", _calibration_index, DEFAULT_PRIORITY); - _priority = DEFAULT_PRIORITY; + if ((_priority < 0) || (_priority > 100)) { + // reset to default, -1 is the uninitialized parameter value + int32_t new_priority = DEFAULT_PRIORITY; + + if (_priority != -1) { + PX4_ERR("%s %d (%d) invalid priority %d, resetting to %d", SensorString(), _device_id, _calibration_index, _priority, + new_priority); + } + + SetCalibrationParam(SensorString(), "PRIO", _calibration_index, new_priority); + _priority = new_priority; } bool calibration_changed = false; diff --git a/src/lib/sensor_calibration/Gyroscope.cpp b/src/lib/sensor_calibration/Gyroscope.cpp index a2144d8e2f..804aac4888 100644 --- a/src/lib/sensor_calibration/Gyroscope.cpp +++ b/src/lib/sensor_calibration/Gyroscope.cpp @@ -142,11 +142,17 @@ void Gyroscope::ParametersUpdate() // CAL_GYROx_PRIO _priority = GetCalibrationParam(SensorString(), "PRIO", _calibration_index); - if (_priority < 0 || _priority > 100) { - // reset to default - PX4_ERR("%s %d invalid priority %d, resetting to %d", SensorString(), _calibration_index, _priority, DEFAULT_PRIORITY); - SetCalibrationParam(SensorString(), "PRIO", _calibration_index, DEFAULT_PRIORITY); - _priority = DEFAULT_PRIORITY; + if ((_priority < 0) || (_priority > 100)) { + // reset to default, -1 is the uninitialized parameter value + int32_t new_priority = DEFAULT_PRIORITY; + + if (_priority != -1) { + PX4_ERR("%s %d (%d) invalid priority %d, resetting to %d", SensorString(), _device_id, _calibration_index, _priority, + new_priority); + } + + SetCalibrationParam(SensorString(), "PRIO", _calibration_index, new_priority); + _priority = new_priority; } bool calibration_changed = false; diff --git a/src/lib/sensor_calibration/Magnetometer.cpp b/src/lib/sensor_calibration/Magnetometer.cpp index 7c88bda7ce..fe0814476c 100644 --- a/src/lib/sensor_calibration/Magnetometer.cpp +++ b/src/lib/sensor_calibration/Magnetometer.cpp @@ -149,10 +149,14 @@ void Magnetometer::ParametersUpdate() _priority = GetCalibrationParam(SensorString(), "PRIO", _calibration_index); if ((_priority < 0) || (_priority > 100)) { - // reset to default + // reset to default, -1 is the uninitialized parameter value int32_t new_priority = _external ? DEFAULT_EXTERNAL_PRIORITY : DEFAULT_PRIORITY; - PX4_ERR("%s %d (%d) invalid priority %d, resetting to %d", - SensorString(), _device_id, _calibration_index, _priority, new_priority); + + if (_priority != -1) { + PX4_ERR("%s %d (%d) invalid priority %d, resetting to %d", SensorString(), _device_id, _calibration_index, _priority, + new_priority); + } + SetCalibrationParam(SensorString(), "PRIO", _calibration_index, new_priority); _priority = new_priority; }