diff --git a/src/modules/ekf2/EKF/common.h b/src/modules/ekf2/EKF/common.h index ab248f36db..e8e90aca44 100644 --- a/src/modules/ekf2/EKF/common.h +++ b/src/modules/ekf2/EKF/common.h @@ -166,6 +166,17 @@ struct auxVelSample { Vector3f velVar{}; ///< estimated error variance of the NE velocity (m/sec)**2 }; +struct stateSample { + Quatf quat_nominal{}; ///< quaternion defining the rotation from body to earth frame + Vector3f vel{}; ///< NED velocity in earth frame in m/s + Vector3f pos{}; ///< NED position in earth frame in m + Vector3f delta_ang_bias{}; ///< delta angle bias estimate in rad + Vector3f delta_vel_bias{}; ///< delta velocity bias estimate in m/s + Vector3f mag_I{}; ///< NED earth magnetic field in gauss + Vector3f mag_B{}; ///< magnetometer bias estimate in body frame in gauss + Vector2f wind_vel{}; ///< horizontal wind velocity in earth frame in m/s +}; + // Integer definitions for vdist_sensor_type #define VDIST_SENSOR_BARO 0 ///< Use baro height #define VDIST_SENSOR_GPS 1 ///< Use GPS height @@ -389,17 +400,6 @@ struct parameters { const unsigned EKFGSF_reset_count_limit{3}; ///< Maximum number of times the yaw can be reset to the EKF-GSF yaw estimator value }; -struct stateSample { - Quatf quat_nominal{}; ///< quaternion defining the rotation from body to earth frame - Vector3f vel{}; ///< NED velocity in earth frame in m/s - Vector3f pos{}; ///< NED position in earth frame in m - Vector3f delta_ang_bias{}; ///< delta angle bias estimate in rad - Vector3f delta_vel_bias{}; ///< delta velocity bias estimate in m/s - Vector3f mag_I{}; ///< NED earth magnetic field in gauss - Vector3f mag_B{}; ///< magnetometer bias estimate in body frame in gauss - Vector2f wind_vel{}; ///< horizontal wind velocity in earth frame in m/s -}; - union fault_status_u { struct { bool bad_mag_x : 1; ///< 0 - true if the fusion of the magnetometer X-axis has encountered a numerical error