diff --git a/libraries/AC_PrecLand/AC_PrecLand.cpp b/libraries/AC_PrecLand/AC_PrecLand.cpp index 657e62f734..8dcb7ba836 100644 --- a/libraries/AC_PrecLand/AC_PrecLand.cpp +++ b/libraries/AC_PrecLand/AC_PrecLand.cpp @@ -172,7 +172,7 @@ const AP_Param::GroupInfo AC_PrecLand::var_info[] = { // @Param: OPTIONS // @DisplayName: Precision Landing Extra Options // @Description: Precision Landing Extra Options - // @Bitmask: 0: Moving Landing Target + // @Bitmask: 0: Moving Landing Target, 1: Allow Precision Landing after manual reposition // @User: Advanced AP_GROUPINFO("OPTIONS", 17, AC_PrecLand, _options, 0), diff --git a/libraries/AC_PrecLand/AC_PrecLand.h b/libraries/AC_PrecLand/AC_PrecLand.h index c3b1b0db63..b91105f9d0 100644 --- a/libraries/AC_PrecLand/AC_PrecLand.h +++ b/libraries/AC_PrecLand/AC_PrecLand.h @@ -110,6 +110,8 @@ public: float get_min_retry_time_sec() const { return _retry_timeout_sec; } AC_PrecLand_StateMachine::RetryAction get_retry_behaviour() const { return static_cast(_retry_behave.get()); } + bool allow_precland_after_reposition() const { return _options & PLND_OPTION_PRECLAND_AFTER_REPOSITION; } + // parameter var table static const struct AP_Param::GroupInfo var_info[]; @@ -131,6 +133,7 @@ private: enum PLndOptions { PLND_OPTION_DISABLED = 0, PLND_OPTION_MOVING_TARGET = (1 << 0), + PLND_OPTION_PRECLAND_AFTER_REPOSITION = (1 << 1), }; // check the status of the target