gyro_calibration: reset on any parameter change

- perform fresh calibration once system has settled
This commit is contained in:
Daniel Agar
2021-07-18 18:02:33 -04:00
parent 9ac860ac33
commit 0ad65738db
@@ -84,6 +84,7 @@ void GyroCalibration::Run()
_armed = armed; _armed = armed;
Reset(); Reset();
return;
} }
} }
} }
@@ -98,14 +99,16 @@ void GyroCalibration::Run()
if (_vehicle_status_flags_sub.copy(&vehicle_status_flags)) { if (_vehicle_status_flags_sub.copy(&vehicle_status_flags)) {
if (_system_calibrating != vehicle_status_flags.condition_calibration_enabled) { if (_system_calibrating != vehicle_status_flags.condition_calibration_enabled) {
Reset();
_system_calibrating = vehicle_status_flags.condition_calibration_enabled; _system_calibrating = vehicle_status_flags.condition_calibration_enabled;
Reset();
return;
} }
} }
} }
if (_system_calibrating) { if (_system_calibrating) {
// do nothing if system is calibrating // do nothing if system is calibrating
Reset();
return; return;
} }
@@ -123,6 +126,9 @@ void GyroCalibration::Run()
for (auto &cal : _gyro_calibration) { for (auto &cal : _gyro_calibration) {
cal.ParametersUpdate(); cal.ParametersUpdate();
} }
Reset();
return;
} }