diff --git a/libraries/AP_NavEKF2/AP_NavEKF2_Control.cpp b/libraries/AP_NavEKF2/AP_NavEKF2_Control.cpp index d496db87dc..da93e51329 100644 --- a/libraries/AP_NavEKF2/AP_NavEKF2_Control.cpp +++ b/libraries/AP_NavEKF2/AP_NavEKF2_Control.cpp @@ -521,5 +521,6 @@ void NavEKF2_core::updateFilterStatus(void) filterStatus.flags.using_gps = ((imuSampleTime_ms - lastPosPassTime_ms) < 4000) && (PV_AidingMode == AID_ABSOLUTE); filterStatus.flags.gps_glitching = !gpsAccuracyGood && (PV_AidingMode == AID_ABSOLUTE) && !extNavUsedForPos; // GPS glitching is affecting navigation accuracy filterStatus.flags.gps_quality_good = gpsGoodToAlign; + filterStatus.flags.initalized = filterStatus.flags.initalized || healthy(); } diff --git a/libraries/AP_NavEKF2/AP_NavEKF2_Logging.cpp b/libraries/AP_NavEKF2/AP_NavEKF2_Logging.cpp index 14de17e776..8577be8c28 100644 --- a/libraries/AP_NavEKF2/AP_NavEKF2_Logging.cpp +++ b/libraries/AP_NavEKF2/AP_NavEKF2_Logging.cpp @@ -143,7 +143,7 @@ void NavEKF2::Log_Write_NKF4(uint8_t _core, uint64_t time_us) const offsetEast : (int8_t)(offset.y), faults : (uint16_t)(faultStatus), timeouts : (uint8_t)(timeoutStatus), - solution : (uint16_t)(solutionStatus.value), + solution : (uint32_t)(solutionStatus.value), gps : (uint16_t)(gpsStatus.value), primary : (int8_t)primaryIndex }; diff --git a/libraries/AP_NavEKF2/AP_NavEKF2_Outputs.cpp b/libraries/AP_NavEKF2/AP_NavEKF2_Outputs.cpp index 4a161d2885..dd54396e08 100644 --- a/libraries/AP_NavEKF2/AP_NavEKF2_Outputs.cpp +++ b/libraries/AP_NavEKF2/AP_NavEKF2_Outputs.cpp @@ -577,6 +577,9 @@ void NavEKF2_core::send_status_report(mavlink_channel_t chan) const if (filterStatus.flags.pred_horiz_pos_abs) { flags |= EKF_PRED_POS_HORIZ_ABS; } + if (!filterStatus.flags.initalized) { + flags |= EKF_UNINITIALIZED; + } // get variances float velVar, posVar, hgtVar, tasVar;