ekf2: only save mag declination if changed

This commit is contained in:
Daniel Agar 2021-11-15 17:10:53 -05:00
parent 96bf3aa5d0
commit 4e8c234a55

View File

@ -1873,12 +1873,14 @@ void EKF2::UpdateMagCalibration(const hrt_abstime &timestamp)
float declination_deg;
if (_ekf.get_mag_decl_deg(&declination_deg)) {
_param_ekf2_mag_decl.set(declination_deg);
_mag_decl_saved = true;
_param_ekf2_mag_decl.update();
if (!_multi_mode || (_multi_mode && _instance == 0)) {
if (PX4_ISFINITE(declination_deg) && (fabsf(declination_deg - _param_ekf2_mag_decl.get()) > 0.1f)) {
_param_ekf2_mag_decl.set(declination_deg);
_param_ekf2_mag_decl.commit_no_notification();
}
_mag_decl_saved = true;
}
}
}