Skip to content

Commit

Permalink
ekf2: fuse mag update last heading fuse time if updating all states
Browse files Browse the repository at this point in the history
 - handle synthetic z special case
  • Loading branch information
dagar committed May 26, 2023
1 parent bd182ec commit 6535cc7
Showing 1 changed file with 6 additions and 0 deletions.
6 changes: 6 additions & 0 deletions src/modules/ekf2/EKF/mag_fusion.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -167,6 +167,7 @@ bool Ekf::fuseMag(const Vector3f &mag, estimator_aid_source3d_s &aid_src_mag, bo
} else if (index == 2) {
// we do not fuse synthesized magnetomter measurements when doing 3D fusion
if (_control_status.flags.synthetic_mag_z) {
fused[2] = true;
continue;
}

Expand Down Expand Up @@ -216,6 +217,11 @@ bool Ekf::fuseMag(const Vector3f &mag, estimator_aid_source3d_s &aid_src_mag, bo
if (fused[0] && fused[1] && fused[2]) {
aid_src_mag.fused = true;
aid_src_mag.time_last_fuse = _time_delayed_us;

if (update_all_states) {
_time_last_heading_fuse = _time_delayed_us;
}

return true;
}

Expand Down

0 comments on commit 6535cc7

Please sign in to comment.