Compare commits

...

3 Commits

Author SHA1 Message Date
Daniel Agar b2d3b6cf4b Update src/modules/ekf2/EKF2.cpp 2023-05-19 10:18:35 -04:00
Daniel Agar b4ebe43e26 Apply suggestions from code review 2023-05-19 10:16:37 -04:00
Daniel Agar ff39b360f7 ekf2: update mag calibration requirements 2023-03-13 10:08:48 -04:00
+5 -2
View File
@@ -2283,8 +2283,11 @@ void EKF2::UpdateGyroCalibration(const hrt_abstime &timestamp)
void EKF2::UpdateMagCalibration(const hrt_abstime &timestamp)
{
const bool bias_valid = (_ekf.control_status_flags().mag_hdg || _ekf.control_status_flags().mag_3D)
const bool bias_valid = (_param_ekf2_mag_type.get() == static_cast<int32_t>(MagFuseType::AUTO)
|| _param_ekf2_mag_type.get() == static_cast<int32_t>(MagFuseType::MAG_3D))
&& _ekf.control_status_flags().yaw_align
&& _ekf.control_status_flags().mag_aligned_in_flight
&& (_ekf.fault_status().value == 0)
&& !_ekf.control_status_flags().mag_fault
&& !_ekf.control_status_flags().mag_field_disturbed;
@@ -2294,7 +2297,7 @@ void EKF2::UpdateMagCalibration(const hrt_abstime &timestamp)
bias_valid, learning_valid);
// update stored declination value
if (!_mag_decl_saved) {
if (!_mag_decl_saved && !_ekf.control_status_flags().in_air) {
float declination_deg;
if (_ekf.get_mag_decl_deg(&declination_deg)) {