diff --git a/src/drivers/gps/gps.cpp b/src/drivers/gps/gps.cpp index bde4f48347..0bddce8fbd 100644 --- a/src/drivers/gps/gps.cpp +++ b/src/drivers/gps/gps.cpp @@ -882,6 +882,11 @@ GPS::publish() if (_instance == Instance::Main || _is_gps_main_advertised) { orb_publish_auto(ORB_ID(vehicle_gps_position), &_report_gps_pos_pub, &_report_gps_pos, &_gps_orb_instance, ORB_PRIO_DEFAULT); + if (_mode == GPS_DRIVER_MODE_ASHTECH) { + // Heading/yaw data can be updated at a lower rate than the other navigation data. + // The uORB message definition requires this data to be set to a NAN if no new valid data is available. + _report_gps_pos.heading = NAN; + } _is_gps_main_advertised = true; } }