Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place. Commercial Alternative to JupyterHub.
Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place. Commercial Alternative to JupyterHub.
Path: blob/master/ArduPlane/AP_Arming.h
Views: 1798
#pragma once12#include <AP_Arming/AP_Arming.h>34#ifndef AP_PLANE_BLACKBOX_LOGGING5#define AP_PLANE_BLACKBOX_LOGGING 06#endif78/*9a plane specific arming class10*/11class AP_Arming_Plane : public AP_Arming12{13public:14AP_Arming_Plane()15: AP_Arming()16{17AP_Param::setup_object_defaults(this, var_info);18}1920/* Do not allow copies */21CLASS_NO_COPY(AP_Arming_Plane);2223bool pre_arm_checks(bool report) override;24bool arm_checks(AP_Arming::Method method) override;2526// var_info for holding Parameter information27static const struct AP_Param::GroupInfo var_info[];2829bool disarm(AP_Arming::Method method, bool do_disarm_checks=true) override;30bool arm(AP_Arming::Method method, bool do_arming_checks=true) override;3132void update_soft_armed();33bool get_delay_arming() const { return delay_arming; };3435// mandatory checks that cannot be bypassed. This function will only be called if ARMING_CHECK is zero or arming forced36bool mandatory_checks(bool display_failure) override;3738protected:39bool ins_checks(bool report) override;40bool terrain_database_required() const override;4142bool quadplane_checks(bool display_failure);43bool mission_checks(bool report) override;4445// Checks rc has been received if it is configured to be used46bool rc_received_if_enabled_check(bool display_failure);4748private:49void change_arm_state(void);5051// oneshot with duration AP_ARMING_DELAY_MS used by quadplane to delay spoolup after arming:52// ignored unless OPTION_DELAY_ARMING or OPTION_TILT_DISARMED is set53bool delay_arming;5455#if AP_PLANE_BLACKBOX_LOGGING56AP_Float blackbox_speed;57uint32_t last_over_3dspeed_ms;58#endif59};606162