Struct sbp::messages::navigation::msg_pos_llh_acc::MsgPosLlhAcc

source ·
pub struct MsgPosLlhAcc {
Show 14 fields pub sender_id: Option<u16>, pub tow: u32, pub lat: f64, pub lon: f64, pub height: f64, pub orthometric_height: f64, pub h_accuracy: f32, pub v_accuracy: f32, pub ct_accuracy: f32, pub at_accuracy: f32, pub h_ellipse: EstimatedHorizontalErrorEllipse, pub confidence_and_geoid: u8, pub n_sats: u8, pub flags: u8,
}
Expand description

Geodetic Position and Accuracy

This position solution message reports the absolute geodetic coordinates and the status (single point vs pseudo-absolute RTK) of the position solution as well as the estimated horizontal, vertical, cross-track and along-track errors. The position information and Fix Mode flags follow the MSG_POS_LLH message. Since the covariance matrix is computed in the local-level North, East, Down frame, the estimated error terms follow that convention.

The estimated errors are reported at a user-configurable confidence level. The user-configured percentile is encoded in the percentile field.

The values in this message are from GNSS measurements fused with inertial measurements.

Fields§

§sender_id: Option<u16>

The message sender_id

§tow: u32

GPS Time of Week

§lat: f64

Latitude

§lon: f64

Longitude

§height: f64

Height above WGS84 ellipsoid

§orthometric_height: f64

Height above the geoid (i.e. height above mean sea level). See confidence_and_geoid for geoid model used.

§h_accuracy: f32

Estimated horizontal error at the user-configured confidence level; zero implies invalid.

§v_accuracy: f32

Estimated vertical error at the user-configured confidence level; zero implies invalid.

§ct_accuracy: f32

Estimated cross-track error at the user-configured confidence level; zero implies invalid.

§at_accuracy: f32

Estimated along-track error at the user-configured confidence level; zero implies invalid.

§h_ellipse: EstimatedHorizontalErrorEllipse

The estimated horizontal error ellipse at the user-configured confidence level.

§confidence_and_geoid: u8

The lower bits describe the configured confidence level for the estimated position error. The middle bits describe the geoid model used to calculate the orthometric height.

§n_sats: u8

Number of satellites used in solution.

§flags: u8

Status flags

Implementations§

source§

impl MsgPosLlhAcc

source

pub fn geoid_model(&self) -> Result<GeoidModel, u8>

Gets the GeoidModel stored in the confidence_and_geoid bitfield.

Returns Ok if the bitrange contains a known GeoidModel variant. Otherwise the value of the bitrange is returned as an Err(u8). This may be because of a malformed message, or because new variants of GeoidModel were added.

source

pub fn set_geoid_model(&mut self, geoid_model: GeoidModel)

Set the bitrange corresponding to the GeoidModel of the confidence_and_geoid bitfield.

source

pub fn confidence_level(&self) -> Result<ConfidenceLevel, u8>

Gets the ConfidenceLevel stored in the confidence_and_geoid bitfield.

Returns Ok if the bitrange contains a known ConfidenceLevel variant. Otherwise the value of the bitrange is returned as an Err(u8). This may be because of a malformed message, or because new variants of ConfidenceLevel were added.

source

pub fn set_confidence_level(&mut self, confidence_level: ConfidenceLevel)

Set the bitrange corresponding to the ConfidenceLevel of the confidence_and_geoid bitfield.

source

pub fn type_of_reported_tow(&self) -> Result<TypeOfReportedTow, u8>

Gets the TypeOfReportedTow stored in the flags bitfield.

Returns Ok if the bitrange contains a known TypeOfReportedTow variant. Otherwise the value of the bitrange is returned as an Err(u8). This may be because of a malformed message, or because new variants of TypeOfReportedTow were added.

source

pub fn set_type_of_reported_tow( &mut self, type_of_reported_tow: TypeOfReportedTow )

Set the bitrange corresponding to the TypeOfReportedTow of the flags bitfield.

source

pub fn inertial_navigation_mode(&self) -> Result<InertialNavigationMode, u8>

Gets the InertialNavigationMode stored in the flags bitfield.

Returns Ok if the bitrange contains a known InertialNavigationMode variant. Otherwise the value of the bitrange is returned as an Err(u8). This may be because of a malformed message, or because new variants of InertialNavigationMode were added.

source

pub fn set_inertial_navigation_mode( &mut self, inertial_navigation_mode: InertialNavigationMode )

Set the bitrange corresponding to the InertialNavigationMode of the flags bitfield.

source

pub fn fix_mode(&self) -> Result<FixMode, u8>

Gets the FixMode stored in the flags bitfield.

Returns Ok if the bitrange contains a known FixMode variant. Otherwise the value of the bitrange is returned as an Err(u8). This may be because of a malformed message, or because new variants of FixMode were added.

source

pub fn set_fix_mode(&mut self, fix_mode: FixMode)

Set the bitrange corresponding to the FixMode of the flags bitfield.

Trait Implementations§

source§

impl Clone for MsgPosLlhAcc

source§

fn clone(&self) -> MsgPosLlhAcc

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl ConcreteMessage for MsgPosLlhAcc

source§

const MESSAGE_TYPE: u16 = 536u16

The message type.
source§

const MESSAGE_NAME: &'static str = "MSG_POS_LLH_ACC"

The message name.
source§

impl Debug for MsgPosLlhAcc

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for MsgPosLlhAcc

source§

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 FriendlyName for MsgPosLlhAcc

source§

fn friendly_name() -> &'static str

source§

impl From<MsgPosLlhAcc> for Sbp

source§

fn from(msg: MsgPosLlhAcc) -> Self

Converts to this type from the input type.
source§

impl PartialEq for MsgPosLlhAcc

source§

fn eq(&self, other: &MsgPosLlhAcc) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl SbpMessage for MsgPosLlhAcc

source§

fn message_name(&self) -> &'static str

Get the message name.
source§

fn message_type(&self) -> Option<u16>

Get the message type.
source§

fn sender_id(&self) -> Option<u16>

Get the sender_id if it is set.
source§

fn set_sender_id(&mut self, new_id: u16)

Set the sender id.
source§

fn encoded_len(&self) -> usize

Number of bytes this message will take on the wire.
source§

fn is_valid(&self) -> bool

Tells you if the message is valid or if it is not a valid message and may need to be special cased at certain points.
source§

fn into_valid_msg(self) -> Result<Self, Invalid>

source§

fn gps_time(&self) -> Option<Result<MessageTime, GpsTimeError>>

Get the GPS time associated with the message.
source§

fn friendly_name(&self) -> &'static str

Get friendly name associated with the message.
source§

impl Serialize for MsgPosLlhAcc

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl TryFrom<Sbp> for MsgPosLlhAcc

§

type Error = TryFromSbpError

The type returned in the event of a conversion error.
source§

fn try_from(msg: Sbp) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl StructuralPartialEq for MsgPosLlhAcc

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> Event for T
where T: ConcreteMessage,

source§

const MESSAGE_TYPES: &'static [u16] = const MESSAGE_TYPES: &'static [u16] = &[T::MESSAGE_TYPE];

The message types that correspond to this event. An empty slice means all messages.
source§

fn from_sbp(msg: Sbp) -> T

Create an instance of this event from an SBP message. This message will only be called if the message type is in Event::MESSAGE_TYPES.
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,