pub struct GnssFixSolution {Show 19 fields
pub fix_type: GnssFixType,
pub gnss_fix_ok: bool,
pub differential_solution: bool,
pub carrier_solution: u8,
pub invalid_llh: bool,
pub num_satellites_used: u8,
pub longitude: Angle,
pub latitude: Angle,
pub height_ellipsoid: Length,
pub height_msl: Length,
pub velocity_north: Velocity,
pub velocity_east: Velocity,
pub velocity_down: Velocity,
pub ground_speed: Velocity,
pub heading_motion: Angle,
pub heading_vehicle: Angle,
pub magnetic_declination: Angle,
pub psm_state: u8,
pub correction_age_bucket: u8,
}Expand description
Precision notes for GNSS payloads.
| Field(s) | UBX/source resolution | f32 precision at relevant scale | f64 precision | Recommendation |
|---|---|---|---|---|
latitude, longitude | 1e-7 deg | at 32 deg: 3.81e-6 deg (0.42 m lat, 0.36 m lon); at 180 deg: 1.53e-5 deg (1.70 m lat) | ~1e-14 deg | f64 |
height_* | 1 mm | at 1000 m: 6.1e-5 m; at 10000 m: 9.8e-4 m | ~1e-13..1e-12 m | f32 |
velocity_*, ground_speed | 1 mm/s | at 100 m/s: 7.6e-6 m/s; at 1000 m/s: 6.1e-5 m/s | ~1e-14..1e-13 m/s | f32 |
heading_* | 1e-5 deg | at 360 deg: 3.05e-5 deg | ~5.7e-14 deg | f32 |
magnetic_declination | 1e-2 deg | at 20 deg: 1.91e-6 deg | ~3.6e-15 deg | f32 |
accuracy.* | 1 mm, 1 mm/s, 1e-5 deg, 1 ns, 0.01 | already below or close to source quantization | much smaller than source quantization | f32 |
| satellite/signal angles and residuals | 1 deg, 0.1 m | already below source quantization | much smaller than source quantization | f32 |
The only fields that materially benefit from f64 in practice are the
absolute geodetic coordinates, because path planning and local projection
often subtract nearby fixes and f32 loses sub-meter detail there.
Fields§
§fix_type: GnssFixType§gnss_fix_ok: bool§differential_solution: bool§carrier_solution: u8§invalid_llh: bool§num_satellites_used: u8§longitude: Angle§latitude: Angle§height_ellipsoid: Length§height_msl: Length§velocity_north: Velocity§velocity_east: Velocity§velocity_down: Velocity§ground_speed: Velocity§heading_motion: Angle§heading_vehicle: Angle§magnetic_declination: Angle§psm_state: u8§correction_age_bucket: u8Trait Implementations§
Source§impl<'__de, __Context> BorrowDecode<'__de, __Context> for GnssFixSolution
impl<'__de, __Context> BorrowDecode<'__de, __Context> for GnssFixSolution
Source§fn borrow_decode<__D: BorrowDecoder<'__de, Context = __Context>>(
decoder: &mut __D,
) -> Result<Self, DecodeError>
fn borrow_decode<__D: BorrowDecoder<'__de, Context = __Context>>( decoder: &mut __D, ) -> Result<Self, DecodeError>
Attempt to decode this type with the given BorrowDecode.
Source§impl Clone for GnssFixSolution
impl Clone for GnssFixSolution
Source§fn clone(&self) -> GnssFixSolution
fn clone(&self) -> GnssFixSolution
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for GnssFixSolution
impl Debug for GnssFixSolution
Source§impl<__Context> Decode<__Context> for GnssFixSolution
impl<__Context> Decode<__Context> for GnssFixSolution
Source§impl Default for GnssFixSolution
impl Default for GnssFixSolution
Source§impl<'de> Deserialize<'de> for GnssFixSolution
impl<'de> Deserialize<'de> for GnssFixSolution
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Encode for GnssFixSolution
impl Encode for GnssFixSolution
Source§impl PartialEq for GnssFixSolution
impl PartialEq for GnssFixSolution
Source§impl Serialize for GnssFixSolution
impl Serialize for GnssFixSolution
impl Copy for GnssFixSolution
impl StructuralPartialEq for GnssFixSolution
Auto Trait Implementations§
impl Freeze for GnssFixSolution
impl RefUnwindSafe for GnssFixSolution
impl Send for GnssFixSolution
impl Sync for GnssFixSolution
impl Unpin for GnssFixSolution
impl UnsafeUnpin for GnssFixSolution
impl UnwindSafe for GnssFixSolution
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> ElementType for T
impl<T> ElementType for T
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>
Converts
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>
Converts
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 more