pub struct GnssFixMeasurement {
pub t_j2000_s: f64,
pub position_ecef_m: [f64; 3],
pub velocity_ecef_mps: Option<[f64; 3]>,
pub covariance: Vec<Vec<f64>>,
pub satellites_used: usize,
pub solution_valid: bool,
pub fix_status: GnssFixStatus,
}Expand description
GNSS PVT measurement used by the loose-coupled INS update.
The covariance matrix is ordered as [position_x, position_y, position_z]
for a position-only fix and as [position_x, position_y, position_z, velocity_x, velocity_y, velocity_z] when velocity is present.
Fields§
§t_j2000_s: f64Measurement epoch in seconds since J2000 on the caller’s GNSS time scale.
position_ecef_m: [f64; 3]GNSS antenna position in ECEF meters.
velocity_ecef_mps: Option<[f64; 3]>Optional GNSS antenna velocity in ECEF meters per second.
covariance: Vec<Vec<f64>>Measurement covariance in the order documented on this type.
satellites_used: usizeNumber of satellites used by the upstream GNSS fix.
solution_valid: boolWhether the upstream GNSS solver reported a successful fix.
fix_status: GnssFixStatusUpstream ambiguity or code-only fix class for covariance scaling.
Implementations§
Source§impl GnssFixMeasurement
impl GnssFixMeasurement
Sourcepub fn position(
t_j2000_s: f64,
position_ecef_m: [f64; 3],
position_covariance_m2: [[f64; 3]; 3],
satellites_used: usize,
) -> Result<GnssFixMeasurement, FusionError>
pub fn position( t_j2000_s: f64, position_ecef_m: [f64; 3], position_covariance_m2: [[f64; 3]; 3], satellites_used: usize, ) -> Result<GnssFixMeasurement, FusionError>
Build a position-only GNSS fix measurement.
Sourcepub fn position_velocity(
t_j2000_s: f64,
position_ecef_m: [f64; 3],
velocity_ecef_mps: [f64; 3],
covariance: Vec<Vec<f64>>,
satellites_used: usize,
) -> Result<GnssFixMeasurement, FusionError>
pub fn position_velocity( t_j2000_s: f64, position_ecef_m: [f64; 3], velocity_ecef_mps: [f64; 3], covariance: Vec<Vec<f64>>, satellites_used: usize, ) -> Result<GnssFixMeasurement, FusionError>
Build a position and velocity GNSS fix measurement.
Sourcepub fn with_fix_status(self, fix_status: GnssFixStatus) -> GnssFixMeasurement
pub fn with_fix_status(self, fix_status: GnssFixStatus) -> GnssFixMeasurement
Return this measurement tagged with an upstream fix status.
Sourcepub fn validate(&self) -> Result<(), FusionError>
pub fn validate(&self) -> Result<(), FusionError>
Validate finite values, solver status, satellite count, and covariance.
Trait Implementations§
Source§impl Clone for GnssFixMeasurement
impl Clone for GnssFixMeasurement
Source§fn clone(&self) -> GnssFixMeasurement
fn clone(&self) -> GnssFixMeasurement
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for GnssFixMeasurement
impl Debug for GnssFixMeasurement
Source§impl PartialEq for GnssFixMeasurement
impl PartialEq for GnssFixMeasurement
impl StructuralPartialEq for GnssFixMeasurement
Auto Trait Implementations§
impl Freeze for GnssFixMeasurement
impl RefUnwindSafe for GnssFixMeasurement
impl Send for GnssFixMeasurement
impl Sync for GnssFixMeasurement
impl Unpin for GnssFixMeasurement
impl UnsafeUnpin for GnssFixMeasurement
impl UnwindSafe for GnssFixMeasurement
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Scalar for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.