|
|
|
@ -128,6 +128,7 @@ static void rtl_climb_return_run()
@@ -128,6 +128,7 @@ static void rtl_climb_return_run()
|
|
|
|
|
if(!ap.auto_armed) { |
|
|
|
|
// reset attitude control targets |
|
|
|
|
attitude_control.relax_bf_rate_controller(); |
|
|
|
|
attitude_control.set_yaw_target_to_current_heading(); |
|
|
|
|
attitude_control.set_throttle_out(0, false); |
|
|
|
|
// To-Do: re-initialise wpnav targets |
|
|
|
|
return; |
|
|
|
@ -185,6 +186,7 @@ static void rtl_loiterathome_run()
@@ -185,6 +186,7 @@ static void rtl_loiterathome_run()
|
|
|
|
|
if(!ap.auto_armed) { |
|
|
|
|
// reset attitude control targets |
|
|
|
|
attitude_control.relax_bf_rate_controller(); |
|
|
|
|
attitude_control.set_yaw_target_to_current_heading(); |
|
|
|
|
attitude_control.set_throttle_out(0, false); |
|
|
|
|
// To-Do: re-initialise wpnav targets |
|
|
|
|
return; |
|
|
|
@ -252,6 +254,7 @@ static void rtl_descent_run()
@@ -252,6 +254,7 @@ static void rtl_descent_run()
|
|
|
|
|
// if not auto armed set throttle to zero and exit immediately |
|
|
|
|
if(!ap.auto_armed || !inertial_nav.position_ok()) { |
|
|
|
|
attitude_control.relax_bf_rate_controller(); |
|
|
|
|
attitude_control.set_yaw_target_to_current_heading(); |
|
|
|
|
attitude_control.set_throttle_out(0, false); |
|
|
|
|
// set target to current position |
|
|
|
|
wp_nav.init_loiter_target(); |
|
|
|
@ -311,6 +314,7 @@ static void rtl_land_run()
@@ -311,6 +314,7 @@ static void rtl_land_run()
|
|
|
|
|
// if not auto armed set throttle to zero and exit immediately |
|
|
|
|
if(!ap.auto_armed || !inertial_nav.position_ok()) { |
|
|
|
|
attitude_control.relax_bf_rate_controller(); |
|
|
|
|
attitude_control.set_yaw_target_to_current_heading(); |
|
|
|
|
attitude_control.set_throttle_out(0, false); |
|
|
|
|
// set target to current position |
|
|
|
|
wp_nav.init_loiter_target(); |
|
|
|
|