pub struct UlcpGnssRecord {
pub fix: UlcpFixKind,
pub location: Vec<u8>,
pub latitude_deg: Option<f64>,
pub longitude_deg: Option<f64>,
pub location_cell_meters: Option<f64>,
pub altitude_m: Option<i32>,
pub accuracy_dm: Option<u16>,
pub satellites_used: u8,
pub satellites_in_view: Option<u8>,
}Expand description
What the receiver currently reports, folded from the five positioning telemetry properties.
Unlike a battery reading this is carried on every snapshot rather than reported once: it is state the UI mirrors — a map pin does not disappear because an unrelated property arrived — and the receiver announces position and fix changes on its own schedule.
Fields§
§fix: UlcpFixKind§location: Vec<u8>PROP_GNSS_LOCATION as it travels: the interleaved
variable-precision grid code, empty without a fix. Carried
verbatim so a caller can compare or forward the cell itself
rather than re-encoding degrees.
latitude_deg: Option<f64>Center of the encoded cell, in degrees. None without a fix.
A location names a cell rather than a point; location_cell_meters
says how large that cell is, and rendering a pin without it claims
a precision the device did not report. Widened from the f32 the
decoder works in, because that is the shape every consumer of a
coordinate wants.
longitude_deg: Option<f64>§location_cell_meters: Option<f64>Approximate width of the encoded cell at the equator, in meters.
altitude_m: Option<i32>PROP_GNSS_ALTITUDE in meters above the WGS-84 ellipsoid.
accuracy_dm: Option<u16>PROP_GNSS_PRECISION: estimated horizontal accuracy in
decimeters. An estimate scaled from dilution of precision, not a
measured error bound.
satellites_used: u8Satellites contributing to the solution. Reads 0 while the receiver is off.
satellites_in_view: Option<u8>Satellites in view, when the receiver reports them.
Trait Implementations§
Source§impl Clone for UlcpGnssRecord
impl Clone for UlcpGnssRecord
Source§fn clone(&self) -> UlcpGnssRecord
fn clone(&self) -> UlcpGnssRecord
1.0.0§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl<UT> ConvertError<UT> for UlcpGnssRecord
impl<UT> ConvertError<UT> for UlcpGnssRecord
fn try_convert_unexpected_callback_error( e: UnexpectedUniFFICallbackError, ) -> Result<Self>
Source§impl Debug for UlcpGnssRecord
impl Debug for UlcpGnssRecord
Source§impl<UT> FfiConverter<UT> for UlcpGnssRecord
impl<UT> FfiConverter<UT> for UlcpGnssRecord
Source§const TYPE_ID_META: MetadataBuffer
const TYPE_ID_META: MetadataBuffer
Source§type FfiType = RustBuffer
type FfiType = RustBuffer
Source§fn lower(v: Self) -> RustBuffer
fn lower(v: Self) -> RustBuffer
Source§fn try_lift(buf: RustBuffer) -> Result<Self>
fn try_lift(buf: RustBuffer) -> Result<Self>
Source§impl<UT> Lift<UT> for UlcpGnssRecord
impl<UT> Lift<UT> for UlcpGnssRecord
Source§impl<UT> LiftRef<UT> for UlcpGnssRecord
impl<UT> LiftRef<UT> for UlcpGnssRecord
type LiftType = UlcpGnssRecord
Source§impl<UT> LiftReturn<UT> for UlcpGnssRecord
impl<UT> LiftReturn<UT> for UlcpGnssRecord
Source§type ReturnType = <UlcpGnssRecord as Lift<UT>>::FfiType
type ReturnType = <UlcpGnssRecord as Lift<UT>>::FfiType
Source§fn try_lift_successful_return(v: Self::ReturnType) -> Result<Self>
fn try_lift_successful_return(v: Self::ReturnType) -> Result<Self>
Source§fn lift_foreign_return(
ffi_return: Self::ReturnType,
call_status: RustCallStatus,
) -> Self
fn lift_foreign_return( ffi_return: Self::ReturnType, call_status: RustCallStatus, ) -> Self
Source§fn lift_error(_buf: RustBuffer) -> Self
fn lift_error(_buf: RustBuffer) -> Self
Source§fn handle_callback_unexpected_error(e: UnexpectedUniFFICallbackError) -> Self
fn handle_callback_unexpected_error(e: UnexpectedUniFFICallbackError) -> Self
Source§impl<UT> Lower<UT> for UlcpGnssRecord
impl<UT> Lower<UT> for UlcpGnssRecord
type FfiType = <UlcpGnssRecord as FfiConverter<UT>>::FfiType
fn lower(obj: Self) -> Self::FfiType
fn write(obj: Self, buf: &mut Vec<u8>)
Source§fn lower_into_rust_buffer(obj: Self) -> RustBuffer
fn lower_into_rust_buffer(obj: Self) -> RustBuffer
Source§impl<UT> LowerError<UT> for UlcpGnssRecord
impl<UT> LowerError<UT> for UlcpGnssRecord
Source§fn lower_error(obj: Self) -> RustBuffer
fn lower_error(obj: Self) -> RustBuffer
Source§impl<UT> LowerReturn<UT> for UlcpGnssRecord
impl<UT> LowerReturn<UT> for UlcpGnssRecord
Source§type ReturnType = <UlcpGnssRecord as Lower<UT>>::FfiType
type ReturnType = <UlcpGnssRecord as Lower<UT>>::FfiType
Source§fn lower_return(v: Self) -> Result<Self::ReturnType, RustCallError>
fn lower_return(v: Self) -> Result<Self::ReturnType, RustCallError>
Source§fn handle_failed_lift(
error: LiftArgsError,
) -> Result<Self::ReturnType, RustCallError>
fn handle_failed_lift( error: LiftArgsError, ) -> Result<Self::ReturnType, RustCallError>
Source§impl PartialEq for UlcpGnssRecord
impl PartialEq for UlcpGnssRecord
Source§impl<UT> TypeId<UT> for UlcpGnssRecord
impl<UT> TypeId<UT> for UlcpGnssRecord
impl StructuralPartialEq for UlcpGnssRecord
Auto Trait Implementations§
impl Freeze for UlcpGnssRecord
impl RefUnwindSafe for UlcpGnssRecord
impl Send for UlcpGnssRecord
impl Sync for UlcpGnssRecord
impl Unpin for UlcpGnssRecord
impl UnwindSafe for UlcpGnssRecord
Blanket Implementations§
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
clone_to_uninit)