From 67e528ec0c7546a3f5f557dfeaa55b69597baf81 Mon Sep 17 00:00:00 2001 From: bresch Date: Tue, 10 Sep 2019 17:28:56 +0200 Subject: [PATCH] Takeoff - allow publishing NAN longitude and latitude A NAN is interpreted in the FlightTaskAuto as a non-valid global coordinate and sets a local position. If a zero is sent instead, the global coordinate is recognized as valid and will be executed. This is a problem when the global position is gained for the first time after takeoff and that a valid global reference did not exist before --- src/modules/navigator/takeoff.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/modules/navigator/takeoff.cpp b/src/modules/navigator/takeoff.cpp index 7e737e07e5..fa0220674b 100644 --- a/src/modules/navigator/takeoff.cpp +++ b/src/modules/navigator/takeoff.cpp @@ -139,10 +139,10 @@ Takeoff::set_takeoff_position() pos_sp_triplet->current.yaw = rep->current.yaw; } - if (PX4_ISFINITE(rep->current.lat) && PX4_ISFINITE(rep->current.lon)) { - pos_sp_triplet->current.lat = rep->current.lat; - pos_sp_triplet->current.lon = rep->current.lon; - } + // Set the current latitude and longitude even if they are NAN + // NANs are handled in FlightTaskAuto.cpp + pos_sp_triplet->current.lat = rep->current.lat; + pos_sp_triplet->current.lon = rep->current.lon; // mark this as done memset(rep, 0, sizeof(*rep));