diff --git a/src/lib/flight_tasks/tasks/Auto/FlightTaskAuto.cpp b/src/lib/flight_tasks/tasks/Auto/FlightTaskAuto.cpp index fc19d0de66..650a14c2ea 100644 --- a/src/lib/flight_tasks/tasks/Auto/FlightTaskAuto.cpp +++ b/src/lib/flight_tasks/tasks/Auto/FlightTaskAuto.cpp @@ -137,10 +137,13 @@ bool FlightTaskAuto::_evaluateTriplets() // Check if triplet is valid. There must be at least a valid altitude. if (!_sub_triplet_setpoint.get().current.valid || !PX4_ISFINITE(_sub_triplet_setpoint.get().current.alt)) { - // Best we can do is to just set all waypoints to current state and return false. + // Best we can do is to just set all waypoints to current state _prev_prev_wp = _triplet_prev_wp = _triplet_target = _triplet_next_wp = _position; - _type = WaypointType::position; - return false; + _type = WaypointType::loiter; + _yaw_setpoint = _yaw; + _yawspeed_setpoint = NAN; + _updateInternalWaypoints(); + return true; } _type = (WaypointType)_sub_triplet_setpoint.get().current.type;