Browse Source

mission_block: when creating a triplet from a mission item use the default

acceptance radius from the paramters and overwrite it if the mission item
has set acceptance radius
sbg
Martina 6 years ago committed by Daniel Agar
parent
commit
18f4144e5a
  1. 9
      src/modules/navigator/mission_block.cpp

9
src/modules/navigator/mission_block.cpp

@ -508,7 +508,14 @@ MissionBlock::mission_item_to_position_setpoint(const mission_item_s &item, posi @@ -508,7 +508,14 @@ MissionBlock::mission_item_to_position_setpoint(const mission_item_s &item, posi
sp->loiter_radius = (fabsf(item.loiter_radius) > NAV_EPSILON_POSITION) ? fabsf(item.loiter_radius) :
_navigator->get_loiter_radius();
sp->loiter_direction = (item.loiter_radius > 0) ? 1 : -1;
sp->acceptance_radius = item.acceptance_radius;
if (item.acceptance_radius > 0.0f && PX4_ISFINITE(item.acceptance_radius)) {
// if the mission item has a specified acceptance radius, overwrite the default one from parameters
sp->acceptance_radius = item.acceptance_radius;
} else {
sp->acceptance_radius = _navigator->get_default_acceptance_radius();
}
sp->cruising_speed = _navigator->get_cruising_speed();
sp->cruising_throttle = _navigator->get_cruising_throttle();

Loading…
Cancel
Save