pub struct MsmSignal {
pub satellite_id: u8,
pub signal_id: u8,
pub fine_pseudorange: i32,
pub fine_phase_range: i32,
pub lock_time_indicator: u16,
pub half_cycle_ambiguity: bool,
pub cnr: u16,
pub fine_phase_range_rate: Option<i16>,
}Expand description
Per-cell signal data for one active (satellite, signal) pair.
Fields§
§satellite_id: u8Owning satellite id (1-based satellite-mask index).
signal_id: u8Signal id: the 1-based index of the set bit in the signal mask (DF395).
fine_pseudorange: i32Fine pseudorange (DF400 for MSM4, scale 2^-24 ms; DF405 for MSM7, scale 2^-29 ms). The MSM4 invalid marker is -16384.
fine_phase_range: i32Fine phase range (DF401 for MSM4, scale 2^-29 ms; DF406 for MSM7, scale 2^-31 ms).
lock_time_indicator: u16Phase-range lock-time indicator (DF402, 4-bit, for MSM4; DF407, 10-bit, for MSM7).
half_cycle_ambiguity: boolHalf-cycle ambiguity indicator (DF420).
cnr: u16Carrier-to-noise density ratio (DF403, 1 dB-Hz, for MSM4; DF408, scale 2^-4 dB-Hz, for MSM7).
fine_phase_range_rate: Option<i16>Fine phase-range-rate (DF404, scale 0.0001 m/s), present only in MSM7.
Implementations§
Source§impl MsmSignal
impl MsmSignal
Sourcepub fn minimum_lock_time_ms(&self, kind: MsmKind) -> Option<u32>
pub fn minimum_lock_time_ms(&self, kind: MsmKind) -> Option<u32>
Minimum continuous-lock time encoded by this signal’s lock indicator.
The caller supplies the owning message kind because MSM4 carries DF402
while MSM7 carries DF407. Returns None for values outside the
indicator’s defined range.
Trait Implementations§
impl Copy for MsmSignal
impl Eq for MsmSignal
impl StructuralPartialEq for MsmSignal
Auto Trait Implementations§
impl Freeze for MsmSignal
impl RefUnwindSafe for MsmSignal
impl Send for MsmSignal
impl Sync for MsmSignal
impl Unpin for MsmSignal
impl UnsafeUnpin for MsmSignal
impl UnwindSafe for MsmSignal
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.