From 941bb6a45b32b8c24bfeb635790fc9cdffb39c00 Mon Sep 17 00:00:00 2001 From: Peter Barker Date: Wed, 12 Apr 2023 15:23:26 +1000 Subject: [PATCH] Rover: AP_Arming ensures mission items present when in auto mode Co-authored-by: Henry Wurzburg --- Rover/AP_Arming.cpp | 3 --- Rover/Rover.h | 4 ++++ 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/Rover/AP_Arming.cpp b/Rover/AP_Arming.cpp index c952f7d965..32ea263715 100644 --- a/Rover/AP_Arming.cpp +++ b/Rover/AP_Arming.cpp @@ -196,9 +196,6 @@ bool AP_Arming_Rover::mode_checks(bool report) if (!rover.control_mode->allows_arming()) { check_failed(report, "Mode not armable"); return false; - } else if (rover.control_mode == &rover.mode_auto && rover.mode_auto.mission.num_commands() <= 1) { - check_failed(report, "AUTO requires mission"); - return false; } return true; } diff --git a/Rover/Rover.h b/Rover/Rover.h index f11bae3d60..056de9264a 100644 --- a/Rover/Rover.h +++ b/Rover/Rover.h @@ -362,6 +362,10 @@ private: bool set_mode(Mode &new_mode, ModeReason reason); bool set_mode(const uint8_t new_mode, ModeReason reason) override; uint8_t get_mode() const override { return (uint8_t)control_mode->mode_number(); } + bool current_mode_requires_mission() const override { + return control_mode == &mode_auto; + } + void startup_INS_ground(void); void notify_mode(const Mode *new_mode); uint8_t check_digital_pin(uint8_t pin);