44 #include <mathlib/mathlib.h> 59 ECL_WARN(
"invalid param setting FW_YCO_METHOD");
77 float constrained_roll;
78 bool inverted =
false;
90 if (ctl_data.
roll > 0.0f) {
110 ECL_WARN(
"yaw rate sepoint not finite");
130 float dt = (float)dt_micros * 1e-6
f;
135 if (dt_micros > 500000) {
136 lock_integrator =
true;
constexpr _Tp constrain(_Tp val, _Tp min_val, _Tp max_val)
float pitch_rate_setpoint
Definition of geo / math functions to perform geodesic calculations.
float control_bodyrate(const struct ECL_ControlData &ctl_data) override
float control_attitude(const struct ECL_ControlData &ctl_data) override
static constexpr float CONSTANTS_ONE_G
#define ecl_absolute_time()
Definition of a simple orthogonal coordinated turn yaw PID controller.
int32_t _coordinated_method
#define ecl_elapsed_time(t)
constexpr T radians(T degrees)
Vector< float, 6 > f(float t, const Matrix< float, 6, 1 > &, const Matrix< float, 3, 1 > &)
constexpr _Tp min(_Tp a, _Tp b)
float control_euler_rate(const struct ECL_ControlData &ctl_data) override
void set_bodyrate_setpoint(float rate)
constexpr _Tp max(_Tp a, _Tp b)
float control_attitude_impl_openloop(const struct ECL_ControlData &ctl_data)
float control_attitude_impl_accclosedloop(const struct ECL_ControlData &ctl_data)