From f8f208dbe6f1747e014bbdeca955662b5bfb62cb Mon Sep 17 00:00:00 2001 From: tumbili Date: Thu, 28 Jan 2016 16:08:11 +0100 Subject: [PATCH] vtol: reset multirotor positon and altitude when not in rotary wing mode --- src/modules/mc_pos_control/mc_pos_control_main.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/modules/mc_pos_control/mc_pos_control_main.cpp b/src/modules/mc_pos_control/mc_pos_control_main.cpp index 4a154ecf30..2032367283 100644 --- a/src/modules/mc_pos_control/mc_pos_control_main.cpp +++ b/src/modules/mc_pos_control/mc_pos_control_main.cpp @@ -908,9 +908,13 @@ MulticopterPositionControl::cross_sphere_line(const math::Vector<3> &sphere_c, f void MulticopterPositionControl::control_auto(float dt) { - if (!_mode_auto) { + if (!_mode_auto || _vehicle_status.in_transition_mode || !_vehicle_status.is_rotary_wing) { _mode_auto = true; /* reset position setpoint on AUTO mode activation */ + if (_vehicle_status.in_transition_mode || !_vehicle_status.is_rotary_wing) { + _reset_pos_sp = true; + _reset_alt_sp = true; + } reset_pos_sp(); reset_alt_sp(); /* set current velocity as last target velocity to smooth out transition */