Struct sbp::messages::navigation::msg_pos_ecef::MsgPosEcef
source · pub struct MsgPosEcef {
pub sender_id: Option<u16>,
pub tow: u32,
pub x: f64,
pub y: f64,
pub z: f64,
pub accuracy: u16,
pub n_sats: u8,
pub flags: u8,
}
Expand description
Position in ECEF
The position solution message reports absolute Earth Centered Earth Fixed (ECEF) coordinates and the status (single point vs pseudo-absolute RTK) of the position solution. If the rover receiver knows the surveyed position of the base station and has an RTK solution, this reports a pseudo- absolute position solution using the base station position and the rover’s RTK baseline vector. The full GPS time is given by the preceding MSG_GPS_TIME with the matching time-of-week (tow).
The values in this message are from GNSS measurements fused with inertial measurements. To get values from GNSS measurements only use MSG_POS_ECEF_GNSS.
Fields§
§sender_id: Option<u16>
The message sender_id
tow: u32
GPS Time of Week
x: f64
ECEF X coordinate
y: f64
ECEF Y coordinate
z: f64
ECEF Z coordinate
accuracy: u16
Position estimated standard deviation
n_sats: u8
Number of satellites used in solution
flags: u8
Status flags
Implementations§
source§impl MsgPosEcef
impl MsgPosEcef
sourcepub fn tow_type(&self) -> Result<TowType, u8>
pub fn tow_type(&self) -> Result<TowType, u8>
Gets the TowType stored in the flags
bitfield.
Returns Ok
if the bitrange contains a known TowType
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 TowType
were added.
sourcepub fn set_tow_type(&mut self, tow_type: TowType)
pub fn set_tow_type(&mut self, tow_type: TowType)
Set the bitrange corresponding to the TowType of the flags
bitfield.
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.
Set the bitrange corresponding to the InertialNavigationMode of the flags
bitfield.
sourcepub fn fix_mode(&self) -> Result<FixMode, u8>
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.
sourcepub fn set_fix_mode(&mut self, fix_mode: FixMode)
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 MsgPosEcef
impl Clone for MsgPosEcef
source§fn clone(&self) -> MsgPosEcef
fn clone(&self) -> MsgPosEcef
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl ConcreteMessage for MsgPosEcef
impl ConcreteMessage for MsgPosEcef
source§const MESSAGE_TYPE: u16 = 521u16
const MESSAGE_TYPE: u16 = 521u16
source§const MESSAGE_NAME: &'static str = "MSG_POS_ECEF"
const MESSAGE_NAME: &'static str = "MSG_POS_ECEF"
source§impl Debug for MsgPosEcef
impl Debug for MsgPosEcef
source§impl<'de> Deserialize<'de> for MsgPosEcef
impl<'de> Deserialize<'de> for MsgPosEcef
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>,
source§impl FriendlyName for MsgPosEcef
impl FriendlyName for MsgPosEcef
fn friendly_name() -> &'static str
source§impl From<MsgPosEcef> for Sbp
impl From<MsgPosEcef> for Sbp
source§fn from(msg: MsgPosEcef) -> Self
fn from(msg: MsgPosEcef) -> Self
source§impl PartialEq for MsgPosEcef
impl PartialEq for MsgPosEcef
source§fn eq(&self, other: &MsgPosEcef) -> bool
fn eq(&self, other: &MsgPosEcef) -> bool
self
and other
values to be equal, and is used
by ==
.