|
|
|
@ -1153,9 +1153,9 @@ bool Ekf::global_position_is_valid()
@@ -1153,9 +1153,9 @@ bool Ekf::global_position_is_valid()
|
|
|
|
|
bool Ekf::inertial_dead_reckoning() |
|
|
|
|
{ |
|
|
|
|
bool velPosAiding = (_control_status.flags.gps || _control_status.flags.ev_pos) |
|
|
|
|
&& ((_time_last_imu - _time_last_pos_fuse <= 1E6) || (_time_last_imu - _time_last_vel_fuse <= 1E6)); |
|
|
|
|
bool optFlowAiding = _control_status.flags.opt_flow && (_time_last_imu - _time_last_of_fuse <= 1E6); |
|
|
|
|
bool airDataAiding = _control_status.flags.wind && (_time_last_imu - _time_last_arsp_fuse <= 1E6) && (_time_last_imu - _time_last_beta_fuse <= 1E6); |
|
|
|
|
&& ((_time_last_imu - _time_last_pos_fuse <= _params.no_aid_timeout_max) || (_time_last_imu - _time_last_vel_fuse <= _params.no_aid_timeout_max)); |
|
|
|
|
bool optFlowAiding = _control_status.flags.opt_flow && (_time_last_imu - _time_last_of_fuse <= _params.no_aid_timeout_max); |
|
|
|
|
bool airDataAiding = _control_status.flags.wind && (_time_last_imu - _time_last_arsp_fuse <= _params.no_aid_timeout_max) && (_time_last_imu - _time_last_beta_fuse <= _params.no_aid_timeout_max); |
|
|
|
|
|
|
|
|
|
return !velPosAiding && !optFlowAiding && !airDataAiding; |
|
|
|
|
} |
|
|
|
|