From ced830a6850f37a632d02277182fa9248191f346 Mon Sep 17 00:00:00 2001 From: chobits Date: Tue, 8 May 2018 10:04:55 +0800 Subject: [PATCH] Copter: check for fence breaches when disarmed --- ArduCopter/fence.cpp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/ArduCopter/fence.cpp b/ArduCopter/fence.cpp index 7897ff23d45c9..39d0bc8fd59e8 100644 --- a/ArduCopter/fence.cpp +++ b/ArduCopter/fence.cpp @@ -8,16 +8,18 @@ // called at 1hz void Copter::fence_check() { - // ignore any fence activity when not armed - if(!motors->armed()) { - return; - } - const uint8_t orig_breaches = fence.get_breaches(); // check for new breaches; new_breaches is bitmask of fence types breached const uint8_t new_breaches = fence.check(); + // we still don't do anything when disarmed, but we do check for fence breaches. + // fence pre-arm check actually checks if any fence has been breached + // that's not ever going to be true if we don't call check on AP_Fence while disarmed. + if (!motors->armed()) { + return; + } + // if there is a new breach take action if (new_breaches) {