EKF: Update declination fusion logic

We do not need to run declination fusion if 3-axis mag fusion is not being used.
This commit is contained in:
Paul Riseborough 2016-02-09 07:44:34 +11:00
parent 47ab5ebcdd
commit 5ea0ef39cd

View File

@ -111,11 +111,11 @@ void Ekf::controlFusionModes()
}
// if we are using 3-axis magnetometer fusion, but without external aiding, then the declination needs to be fused as an observation to prevent long term heading drift
if (_control_status.flags.mag_3D && _control_status.flags.gps) {
_control_status.flags.mag_dec = false;
if (_control_status.flags.mag_3D && !_control_status.flags.gps) {
_control_status.flags.mag_dec = true;
} else {
_control_status.flags.mag_dec = true;
_control_status.flags.mag_dec = false;
}
}