Browse Source

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
sbg
bresch 5 years ago committed by Mathieu Bresciani
parent
commit
67e528ec0c
  1. 8
      src/modules/navigator/takeoff.cpp

8
src/modules/navigator/takeoff.cpp

@ -139,10 +139,10 @@ Takeoff::set_takeoff_position() @@ -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));

Loading…
Cancel
Save