FlightTask: set yaw_setpoint to NAN when yaw should not be controlled

This commit is contained in:
bresch
2021-09-20 15:36:47 +02:00
committed by Daniel Agar
parent 2213343240
commit f751dd2242
9 changed files with 29 additions and 16 deletions
@@ -288,7 +288,7 @@ void FlightTaskManualAltitude::_respectGroundSlowdown()
void FlightTaskManualAltitude::_rotateIntoHeadingFrame(Vector2f &v)
{
float yaw_rotate = PX4_ISFINITE(_yaw_setpoint) ? _yaw_setpoint : _yaw;
const float yaw_rotate = PX4_ISFINITE(_yaw_setpoint) ? _yaw_setpoint : _yaw;
Vector3f v_r = Vector3f(Dcmf(Eulerf(0.0f, 0.0f, yaw_rotate)) * Vector3f(v(0), v(1), 0.0f));
v(0) = v_r(0);
v(1) = v_r(1);
@@ -296,7 +296,7 @@ void FlightTaskManualAltitude::_rotateIntoHeadingFrame(Vector2f &v)
void FlightTaskManualAltitude::_updateHeadingSetpoints()
{
if (_isYawInput()) {
if (_isYawInput() || !_is_yaw_good_for_control) {
_unlockYaw();
} else {