From aff6cb424f97f383ece2ca0fa2daf1b3002745a9 Mon Sep 17 00:00:00 2001 From: Peter Barker Date: Fri, 3 May 2019 21:15:46 +1000 Subject: [PATCH] AP_Arming: move Log_Write_Arm_Disarm in, make disarm virtual --- libraries/AP_Arming/AP_Arming.cpp | 11 +++++++++++ libraries/AP_Arming/AP_Arming.h | 4 +++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/libraries/AP_Arming/AP_Arming.cpp b/libraries/AP_Arming/AP_Arming.cpp index 0251a6889d..1252b5e025 100644 --- a/libraries/AP_Arming/AP_Arming.cpp +++ b/libraries/AP_Arming/AP_Arming.cpp @@ -900,6 +900,17 @@ bool AP_Arming::rc_checks_copter_sub(const bool display_failure, const RC_Channe return ret; } +void AP_Arming::Log_Write_Arm_Disarm() +{ + struct log_Arm_Disarm pkt = { + LOG_PACKET_HEADER_INIT(LOG_ARM_DISARM_MSG), + time_us : AP_HAL::micros64(), + arm_state : is_armed(), + arm_checks : get_enabled_checks() + }; + AP::logger().WriteCriticalBlock(&pkt, sizeof(pkt)); +} + AP_Arming *AP_Arming::_singleton = nullptr; /* diff --git a/libraries/AP_Arming/AP_Arming.h b/libraries/AP_Arming/AP_Arming.h index c2aca42e52..8a28361809 100644 --- a/libraries/AP_Arming/AP_Arming.h +++ b/libraries/AP_Arming/AP_Arming.h @@ -51,7 +51,7 @@ public: // these functions should not be used by Copter which holds the armed state in the motors library Required arming_required(); virtual bool arm(AP_Arming::Method method, bool do_arming_checks=true); - bool disarm(); + virtual bool disarm(); bool is_armed(); // get bitmask of enabled checks @@ -133,6 +133,8 @@ protected: // handle the case where a check fails void check_failed(const enum AP_Arming::ArmingChecks check, bool report, const char *fmt, ...) const; + void Log_Write_Arm_Disarm(); + private: static AP_Arming *_singleton;