mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-10-18 02:13:33 +08:00
Navigator: initialize _mission_item for all navigation modes in Navigator::Navigator()
This fixes the issue where the init happended in the initializer list, at which point the params were not yet initialized and thus resulted in random values for the init values of _mission_item.loiter_radius and .acceptance_radius. Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
This commit is contained in:
@@ -59,14 +59,7 @@ using matrix::wrap_pi;
|
||||
MissionBlock::MissionBlock(Navigator *navigator) :
|
||||
NavigatorMode(navigator)
|
||||
{
|
||||
_mission_item.lat = (double)NAN;
|
||||
_mission_item.lon = (double)NAN;
|
||||
_mission_item.yaw = NAN;
|
||||
_mission_item.loiter_radius = _navigator->get_loiter_radius();
|
||||
_mission_item.acceptance_radius = _navigator->get_acceptance_radius();
|
||||
_mission_item.time_inside = 0.0f;
|
||||
_mission_item.autocontinue = true;
|
||||
_mission_item.origin = ORIGIN_ONBOARD;
|
||||
|
||||
}
|
||||
|
||||
bool
|
||||
@@ -932,3 +925,16 @@ MissionBlock::get_absolute_altitude_for_item(const mission_item_s &mission_item)
|
||||
return mission_item.altitude;
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
MissionBlock::initialize()
|
||||
{
|
||||
_mission_item.lat = (double)NAN;
|
||||
_mission_item.lon = (double)NAN;
|
||||
_mission_item.yaw = NAN;
|
||||
_mission_item.loiter_radius = _navigator->get_loiter_radius();
|
||||
_mission_item.acceptance_radius = _navigator->get_acceptance_radius();
|
||||
_mission_item.time_inside = 0.0f;
|
||||
_mission_item.autocontinue = true;
|
||||
_mission_item.origin = ORIGIN_ONBOARD;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user