mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-07-12 16:50:35 +08:00
Navigator: land: set lat/lon fields of triplet to NAN if global position is not valid
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
This commit is contained in:
@@ -58,7 +58,8 @@ Land::on_activation()
|
||||
/* convert mission item to current setpoint */
|
||||
struct position_setpoint_triplet_s *pos_sp_triplet = _navigator->get_position_setpoint_triplet();
|
||||
|
||||
if (_navigator->get_vstatus()->vehicle_type == vehicle_status_s::VEHICLE_TYPE_ROTARY_WING) {
|
||||
if (_navigator->get_vstatus()->vehicle_type == vehicle_status_s::VEHICLE_TYPE_ROTARY_WING
|
||||
&& _navigator->get_local_position()->xy_global) { // only execute if global position is valid
|
||||
_navigator->calculate_breaking_stop(_mission_item.lat, _mission_item.lon);
|
||||
}
|
||||
|
||||
|
||||
@@ -832,8 +832,15 @@ MissionBlock::set_land_item(struct mission_item_s *item)
|
||||
item->nav_cmd = NAV_CMD_LAND;
|
||||
|
||||
// set land item to current position
|
||||
item->lat = _navigator->get_global_position()->lat;
|
||||
item->lon = _navigator->get_global_position()->lon;
|
||||
if (_navigator->get_local_position()->xy_global) {
|
||||
item->lat = _navigator->get_global_position()->lat;
|
||||
item->lon = _navigator->get_global_position()->lon;
|
||||
|
||||
} else {
|
||||
item->lat = (double)NAN;
|
||||
item->lon = (double)NAN;
|
||||
}
|
||||
|
||||
item->yaw = NAN;
|
||||
|
||||
item->altitude = 0;
|
||||
|
||||
Reference in New Issue
Block a user