pub struct GpsEphemeris {Show 30 fields
pub satellite_id: u8,
pub week_number: u16,
pub sv_accuracy: u8,
pub code_on_l2: u8,
pub idot: i32,
pub iode: u8,
pub t_oc: u16,
pub a_f2: i16,
pub a_f1: i32,
pub a_f0: i32,
pub iodc: u16,
pub c_rs: i32,
pub delta_n: i32,
pub m0: i64,
pub c_uc: i32,
pub eccentricity: u64,
pub c_us: i32,
pub sqrt_a: u64,
pub t_oe: u16,
pub c_ic: i32,
pub omega0: i64,
pub c_is: i32,
pub i0: i64,
pub c_rc: i32,
pub omega: i64,
pub omega_dot: i32,
pub t_gd: i16,
pub sv_health: u8,
pub l2_p_data_flag: bool,
pub fit_interval: bool,
}Expand description
A decoded GPS broadcast ephemeris (message 1019).
Angular quantities are in semicircles (scale noted per field), harmonic correction terms in radians, distances in meters, and clock terms in seconds, each recovered by multiplying the raw integer by its scale factor.
Fields§
§satellite_id: u8GPS satellite PRN (DF009).
week_number: u16GPS week number (DF076, 10 bits).
sv_accuracy: u8SV accuracy / URA index (DF077, 4 bits).
code_on_l2: u8Code on L2 (DF078, 2 bits).
idot: i32Rate of inclination angle IDOT (DF079, int14, scale 2^-43 semicircles/s).
iode: u8Issue of data, ephemeris (DF071, 8 bits).
t_oc: u16Clock data reference time t_oc (DF081, uint16, scale 2^4 s).
a_f2: i16Clock drift rate a_f2 (DF082, int8, scale 2^-55 s/s^2).
a_f1: i32Clock drift a_f1 (DF083, int16, scale 2^-43 s/s).
a_f0: i32Clock bias a_f0 (DF084, int22, scale 2^-31 s).
iodc: u16Issue of data, clock (DF085, 10 bits).
c_rs: i32Orbit-radius sine correction C_rs (DF086, int16, scale 2^-5 m).
delta_n: i32Mean-motion difference dn (DF087, int16, scale 2^-43 semicircles/s).
m0: i64Mean anomaly at reference time M_0 (DF088, int32, scale 2^-31 semicircles).
c_uc: i32Latitude-argument cosine correction C_uc (DF089, int16, scale 2^-29 rad).
eccentricity: u64Eccentricity e (DF090, uint32, scale 2^-33).
c_us: i32Latitude-argument sine correction C_us (DF091, int16, scale 2^-29 rad).
sqrt_a: u64Square root of the semi-major axis sqrt(A) (DF092, uint32, scale 2^-19).
t_oe: u16Ephemeris reference time t_oe (DF093, uint16, scale 2^4 s).
c_ic: i32Inclination cosine correction C_ic (DF094, int16, scale 2^-29 rad).
omega0: i64Longitude of ascending node Omega_0 (DF095, int32, scale 2^-31 semicircles).
c_is: i32Inclination sine correction C_is (DF096, int16, scale 2^-29 rad).
i0: i64Inclination at reference time i_0 (DF097, int32, scale 2^-31 semicircles).
c_rc: i32Orbit-radius cosine correction C_rc (DF098, int16, scale 2^-5 m).
omega: i64Argument of perigee omega (DF099, int32, scale 2^-31 semicircles).
omega_dot: i32Rate of right ascension Omega-dot (DF100, int24, scale 2^-43 semicircles/s).
t_gd: i16Group delay differential t_GD (DF101, int8, scale 2^-31 s).
sv_health: u8SV health (DF102, 6 bits).
l2_p_data_flag: boolL2 P-data flag (DF103).
fit_interval: boolFit-interval flag (DF137).
Implementations§
Trait Implementations§
Source§impl Clone for GpsEphemeris
impl Clone for GpsEphemeris
Source§fn clone(&self) -> GpsEphemeris
fn clone(&self) -> GpsEphemeris
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for GpsEphemeris
Source§impl Debug for GpsEphemeris
impl Debug for GpsEphemeris
impl Eq for GpsEphemeris
Source§impl PartialEq for GpsEphemeris
impl PartialEq for GpsEphemeris
Source§fn eq(&self, other: &GpsEphemeris) -> bool
fn eq(&self, other: &GpsEphemeris) -> bool
self and other values to be equal, and is used by ==.impl StructuralPartialEq for GpsEphemeris
Auto Trait Implementations§
impl Freeze for GpsEphemeris
impl RefUnwindSafe for GpsEphemeris
impl Send for GpsEphemeris
impl Sync for GpsEphemeris
impl Unpin for GpsEphemeris
impl UnsafeUnpin for GpsEphemeris
impl UnwindSafe for GpsEphemeris
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.