navigator: break smoothly when entering hold mode

This uses the existing breaking functionality when hold/loiter mode is
activated.
This commit is contained in:
Julian Oes
2022-02-22 09:41:22 -05:00
committed by Daniel Agar
parent f88dd28e85
commit fa6c051ae5
4 changed files with 13 additions and 3 deletions
+11
View File
@@ -704,6 +704,17 @@ MissionBlock::setLoiterItemFromCurrentPosition(struct mission_item_s *item)
item->loiter_radius = _navigator->get_loiter_radius();
}
void
MissionBlock::setLoiterItemFromCurrentPositionWithBreaking(struct mission_item_s *item)
{
setLoiterItemCommonFields(item);
_navigator->calculate_breaking_stop(item->lat, item->lon, item->yaw);
item->altitude = _navigator->get_global_position()->alt;
item->loiter_radius = _navigator->get_loiter_radius();
}
void
MissionBlock::setLoiterItemCommonFields(struct mission_item_s *item)
{