Browse Source

Rover: EKF failsafe message is displayed only when action triggered

zr-v5.1
Tatsuya Yamaguchi 4 years ago committed by Randy Mackay
parent
commit
a730e47563
  1. 5
      Rover/ekf_check.cpp

5
Rover/ekf_check.cpp

@ -152,7 +152,6 @@ void Rover::failsafe_ekf_event()
failsafe.ekf = true; failsafe.ekf = true;
AP::logger().Write_Error(LogErrorSubsystem::FAILSAFE_EKFINAV, AP::logger().Write_Error(LogErrorSubsystem::FAILSAFE_EKFINAV,
LogErrorCode::FAILSAFE_OCCURRED); LogErrorCode::FAILSAFE_OCCURRED);
gcs().send_text(MAV_SEVERITY_CRITICAL,"EKF failsafe!");
// does this mode require position? // does this mode require position?
if (!control_mode->requires_position()) { if (!control_mode->requires_position()) {
@ -163,12 +162,14 @@ void Rover::failsafe_ekf_event()
switch ((enum fs_ekf_action)g.fs_ekf_action.get()) { switch ((enum fs_ekf_action)g.fs_ekf_action.get()) {
case FS_EKF_DISABLE: case FS_EKF_DISABLE:
// do nothing // do nothing
break; return;
case FS_EFK_HOLD: case FS_EFK_HOLD:
default: default:
set_mode(mode_hold, ModeReason::EKF_FAILSAFE); set_mode(mode_hold, ModeReason::EKF_FAILSAFE);
break; break;
} }
gcs().send_text(MAV_SEVERITY_CRITICAL,"EKF failsafe");
} }
// failsafe_ekf_off_event - actions to take when EKF failsafe is cleared // failsafe_ekf_off_event - actions to take when EKF failsafe is cleared

Loading…
Cancel
Save