From ddc4500753c05f210bcbaebaf1d87e21d4df902c Mon Sep 17 00:00:00 2001 From: Daniel Agar Date: Fri, 28 Jul 2017 20:28:54 -0400 Subject: [PATCH] FW landing optionally disable heading hold (#7617) --- src/modules/fw_pos_control_l1/FixedwingPositionControl.cpp | 2 +- src/modules/fw_pos_control_l1/fw_pos_control_l1_params.c | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/modules/fw_pos_control_l1/FixedwingPositionControl.cpp b/src/modules/fw_pos_control_l1/FixedwingPositionControl.cpp index 1412a9afd0..7c340e354c 100644 --- a/src/modules/fw_pos_control_l1/FixedwingPositionControl.cpp +++ b/src/modules/fw_pos_control_l1/FixedwingPositionControl.cpp @@ -842,7 +842,7 @@ FixedwingPositionControl::control_position(const math::Vector<2> &curr_pos, cons // we want the plane to keep tracking the desired flight path until we start flaring // if we go into heading hold mode earlier then we risk to be pushed away from the runway by cross winds - if (!_land_noreturn_horizontal && + if ((_parameters.land_heading_hold_horizontal_distance > 0.0f) && !_land_noreturn_horizontal && ((wp_distance < _parameters.land_heading_hold_horizontal_distance) || _land_noreturn_vertical)) { if (pos_sp_prev.valid) { diff --git a/src/modules/fw_pos_control_l1/fw_pos_control_l1_params.c b/src/modules/fw_pos_control_l1/fw_pos_control_l1_params.c index bd4e85c846..a6fcd5d108 100644 --- a/src/modules/fw_pos_control_l1/fw_pos_control_l1_params.c +++ b/src/modules/fw_pos_control_l1/fw_pos_control_l1_params.c @@ -278,7 +278,8 @@ PARAM_DEFINE_FLOAT(FW_LND_FLALT, 8.0f); PARAM_DEFINE_FLOAT(FW_LND_TLALT, -1.0f); /** - * Landing heading hold horizontal distance + * Landing heading hold horizontal distance. + * Set to 0 to disable heading hold. * * @unit m * @min 0