From 2e5d7f566b4dbdbff0049f61dab2358fda087747 Mon Sep 17 00:00:00 2001
From: Jonathan Challinger <mr.challinger@gmail.com>
Date: Fri, 9 May 2014 23:44:07 -0700
Subject: [PATCH] Copter: protect loiter controller from bad inputs during
 failsafe

---
 ArduCopter/ArduCopter.pde | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/ArduCopter/ArduCopter.pde b/ArduCopter/ArduCopter.pde
index 4e5350a6d..16396274b 100644
--- a/ArduCopter/ArduCopter.pde
+++ b/ArduCopter/ArduCopter.pde
@@ -1679,8 +1679,13 @@ void update_roll_pitch_mode(void)
         // apply SIMPLE mode transform
         update_simple_mode();
 
-        // update loiter target from user controls
-        wp_nav.move_loiter_target(g.rc_1.control_in, g.rc_2.control_in, 0.01f);
+        if(failsafe.radio) {
+            // don't allow loiter target to move during failsafe
+            wp_nav.move_loiter_target(0.0f, 0.0f, 0.01f);
+        } else {
+            // update loiter target from user controls
+            wp_nav.move_loiter_target(g.rc_1.control_in, g.rc_2.control_in, 0.01f);
+        }
 
         // copy latest output from nav controller to stabilize controller
         control_roll = wp_nav.get_desired_roll();
-- 
GitLab