#pragma once #include #include /* a rover-specific arming class */ class AP_Arming_Rover : public AP_Arming { public: AP_Arming_Rover(const AP_AHRS &ahrs_ref, const AP_Baro &baro, Compass &compass, const AP_BattMonitor &battery, const AC_Fence &fence) : AP_Arming(ahrs_ref, baro, compass, battery), _fence(fence) { } /* Do not allow copies */ AP_Arming_Rover(const AP_Arming_Rover &other) = delete; AP_Arming_Rover &operator=(const AP_Baro&) = delete; bool pre_arm_checks(bool report) override; bool pre_arm_rc_checks(const bool display_failure); bool gps_checks(bool display_failure) override; protected: enum HomeState home_status() const override; bool fence_checks(bool report); bool proximity_check(bool report); private: const AC_Fence& _fence; };