diff --git a/src/modules/fw_rate_control/fw_trim/FwTrim.cpp b/src/modules/fw_rate_control/fw_trim/FwTrim.cpp index 1709e06889..124b238555 100644 --- a/src/modules/fw_rate_control/fw_trim/FwTrim.cpp +++ b/src/modules/fw_rate_control/fw_trim/FwTrim.cpp @@ -95,6 +95,17 @@ void FwTrim::updateAutoTrim(const Vector3f &torque_sp, const float dt) _auto_trim.update(torque_sp - _parameterized_trim, dt); } +Vector3f FwTrim::getTrim() const +{ + Vector3f trim = _parameterized_trim; + + if (_param_fw_atrim_mode.get() > 0) { + trim += _auto_trim.getTrim(); + } + + return trim; +} + void FwTrim::setAirspeed(const float airspeed) { _airspeed = airspeed; diff --git a/src/modules/fw_rate_control/fw_trim/FwTrim.hpp b/src/modules/fw_rate_control/fw_trim/FwTrim.hpp index a81dfd6898..67a620c945 100644 --- a/src/modules/fw_rate_control/fw_trim/FwTrim.hpp +++ b/src/modules/fw_rate_control/fw_trim/FwTrim.hpp @@ -55,7 +55,7 @@ public: void reset(); void setAirspeed(float airspeed); void updateAutoTrim(const matrix::Vector3f &torque_sp, float dt); - matrix::Vector3f getTrim() const { return _parameterized_trim + _auto_trim.getTrim(); } + matrix::Vector3f getTrim() const; int print_status(); protected: