From 12fad5589177646761ae790d4002e257f0d2a571 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Fri, 12 Mar 2021 17:05:00 +1100 Subject: [PATCH] APM_Control: fixed pid_info for pitch controller --- libraries/APM_Control/AP_PitchController.cpp | 4 ++-- libraries/APM_Control/AP_PitchController.h | 12 ++---------- 2 files changed, 4 insertions(+), 12 deletions(-) diff --git a/libraries/APM_Control/AP_PitchController.cpp b/libraries/APM_Control/AP_PitchController.cpp index a675c417c9..9b00b9d704 100644 --- a/libraries/APM_Control/AP_PitchController.cpp +++ b/libraries/APM_Control/AP_PitchController.cpp @@ -207,8 +207,8 @@ int32_t AP_PitchController::_get_rate_out(float desired_rate, float scaler, bool } // convert AC_PID info object to same scale as old controller - _pid_info_ac_pid = rate_pid.get_pid_info(); - auto &pinfo = _pid_info_ac_pid; + _pid_info = rate_pid.get_pid_info(); + auto &pinfo = _pid_info; const float deg_scale = degrees(1); pinfo.FF = ff; diff --git a/libraries/APM_Control/AP_PitchController.h b/libraries/APM_Control/AP_PitchController.h index 0c1c2a224e..022470e271 100644 --- a/libraries/APM_Control/AP_PitchController.h +++ b/libraries/APM_Control/AP_PitchController.h @@ -42,10 +42,8 @@ public: void autotune_start(void) { autotune.start(); } void autotune_restore(void) { autotune.stop(); } - const AP_Logger::PID_Info& get_pid_info(void) const { return use_ac_pid?_pid_info_ac_pid:_pid_info; } - const AP_Logger::PID_Info& get_old_pid_info(void) const { return _pid_info; } - const AP_Logger::PID_Info& get_ac_pid_info(void) const { return _pid_info_ac_pid; } - + const AP_Logger::PID_Info& get_pid_info(void) const { return _pid_info; } + static const struct AP_Param::GroupInfo var_info[]; AP_Float &kP(void) { return rate_pid.kP(); } @@ -53,10 +51,6 @@ public: AP_Float &kD(void) { return rate_pid.kD(); } AP_Float &kFF(void) { return rate_pid.ff(); } - void set_ac_pid(bool set) { - use_ac_pid = set; - } - void convert_pid(); private: @@ -70,7 +64,6 @@ private: AC_PID rate_pid{0.04, 0.15, 0, 0.345, 0.666, 10, 10, 10, 0.02, 150, 1}; AP_Logger::PID_Info _pid_info; - AP_Logger::PID_Info _pid_info_ac_pid; int32_t _get_rate_out(float desired_rate, float scaler, bool disable_integrator, float aspeed); float _get_coordination_rate_offset(float &aspeed, bool &inverted) const; @@ -84,6 +77,5 @@ private: AP_Float _slew_rate_max; // Maximum permitted angular rate control feedback servo slew rate (deg/sec) AP_Float _slew_rate_tau; // Time constant used to recover gain after a slew rate exceedance (sec) - bool use_ac_pid; float last_ac_out; };