Browse Source

AP_Arming: move checking of fence up

master
Peter Barker 6 years ago committed by Randy Mackay
parent
commit
7bdd2eb755
  1. 24
      libraries/AP_Arming/AP_Arming.cpp
  2. 2
      libraries/AP_Arming/AP_Arming.h

24
libraries/AP_Arming/AP_Arming.cpp

@ -23,6 +23,7 @@ @@ -23,6 +23,7 @@
#include <AP_Mission/AP_Mission.h>
#include <AP_Rally/AP_Rally.h>
#include <SRV_Channel/SRV_Channel.h>
#include <AC_Fence/AC_Fence.h>
#if HAL_WITH_UAVCAN
#include <AP_BoardConfig/AP_BoardConfig_CAN.h>
@ -696,6 +697,29 @@ bool AP_Arming::can_checks(bool report) @@ -696,6 +697,29 @@ bool AP_Arming::can_checks(bool report)
return true;
}
bool AP_Arming::fence_checks(bool display_failure)
{
const AC_Fence *fence = AP::fence();
if (fence == nullptr) {
return true;
}
// check fence is ready
const char *fail_msg = nullptr;
if (fence->pre_arm_check(fail_msg)) {
return true;
}
if (fail_msg == nullptr) {
check_failed(ARMING_CHECK_NONE, display_failure, "Check fence");
} else {
check_failed(ARMING_CHECK_NONE, display_failure, "%s", fail_msg);
}
return false;
}
bool AP_Arming::pre_arm_checks(bool report)
{
#if !APM_BUILD_TYPE(APM_BUILD_ArduCopter)

2
libraries/AP_Arming/AP_Arming.h

@ -114,6 +114,8 @@ protected: @@ -114,6 +114,8 @@ protected:
bool mission_checks(bool report);
bool fence_checks(bool report);
virtual bool system_checks(bool report);
bool can_checks(bool report);

Loading…
Cancel
Save