aboutsummaryrefslogtreecommitdiff
path: root/src/modules/ekf_att_pos_estimator
diff options
context:
space:
mode:
Diffstat (limited to 'src/modules/ekf_att_pos_estimator')
-rw-r--r--src/modules/ekf_att_pos_estimator/estimator_22states.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/modules/ekf_att_pos_estimator/estimator_22states.cpp b/src/modules/ekf_att_pos_estimator/estimator_22states.cpp
index 0e931e666..cd0ef206e 100644
--- a/src/modules/ekf_att_pos_estimator/estimator_22states.cpp
+++ b/src/modules/ekf_att_pos_estimator/estimator_22states.cpp
@@ -2552,7 +2552,7 @@ void AttPosEKF::setOnGround(const bool isLanded)
bool isMovingForward = _accNavMagHorizontal > 0.5f;
// don't update magnetic field states if on ground or not using compass
- inhibitMagStates = useCompass && !_onGround && (_isFixedWing || isMovingForward);
+ inhibitMagStates = !useCompass || _onGround) || (!_isFixedWing && !isMovingForward);
// don't update terrain offset state if there is no range finder and flying at low velocity or without GPS
if ((_onGround || !useGPS) && !useRangeFinder) {