From 3fe63d5bc099a0c5a7a5380fbfa23a755105d22b Mon Sep 17 00:00:00 2001 From: Peter Hall <33176108+IamPete1@users.noreply.github.com> Date: Wed, 1 May 2019 13:27:40 +0100 Subject: [PATCH] Copter: only save autotune gains if disarmed in autotue --- ArduCopter/mode.h | 1 + ArduCopter/mode_autotune.cpp | 5 +++++ ArduCopter/motors.cpp | 6 +++++- 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/ArduCopter/mode.h b/ArduCopter/mode.h index fec37a7662..a996cdeca7 100644 --- a/ArduCopter/mode.h +++ b/ArduCopter/mode.h @@ -499,6 +499,7 @@ public: void save_tuning_gains(); void stop(); + void reset(); protected: diff --git a/ArduCopter/mode_autotune.cpp b/ArduCopter/mode_autotune.cpp index 1a0382d317..ea914bb7e7 100644 --- a/ArduCopter/mode_autotune.cpp +++ b/ArduCopter/mode_autotune.cpp @@ -173,4 +173,9 @@ void Copter::ModeAutoTune::stop() copter.autotune.stop(); } +void Copter::ModeAutoTune::reset() +{ + copter.autotune.reset(); +} + #endif // AUTOTUNE_ENABLED == ENABLED diff --git a/ArduCopter/motors.cpp b/ArduCopter/motors.cpp index 9bb0185b3c..c8114d70f3 100644 --- a/ArduCopter/motors.cpp +++ b/ArduCopter/motors.cpp @@ -266,7 +266,11 @@ void Copter::init_disarm_motors() #if AUTOTUNE_ENABLED == ENABLED // save auto tuned parameters - mode_autotune.save_tuning_gains(); + if (control_mode == AUTOTUNE) {; + mode_autotune.save_tuning_gains(); + } else { + mode_autotune.reset(); + } #endif // we are not in the air