Revert "Takeoff: remove set loiter logic, as it is handled in loiter.cpp already (#24454)"

This reverts commit 8547ebb863.
This commit is contained in:
Silvan Fuhrer
2025-03-13 13:15:48 +01:00
committed by Jacob Dahl
parent fa0ba69083
commit 9499b32be6
+19
View File
@@ -69,6 +69,25 @@ Takeoff::on_active()
_navigator->get_mission_result()->finished = true;
_navigator->set_mission_result_updated();
_navigator->mode_completed(getNavigatorStateId());
position_setpoint_triplet_s *pos_sp_triplet = _navigator->get_position_setpoint_triplet();
// set loiter item so position controllers stop doing takeoff logic
if (_navigator->get_land_detected()->landed) {
_mission_item.nav_cmd = NAV_CMD_IDLE;
} else {
if (pos_sp_triplet->current.valid) {
setLoiterItemFromCurrentPositionSetpoint(&_mission_item);
} else {
setLoiterItemFromCurrentPosition(&_mission_item);
}
}
mission_item_to_position_setpoint(_mission_item, &pos_sp_triplet->current);
_navigator->set_position_setpoint_triplet_updated();
}
}