Struct sbp::messages::vehicle::msg_odometry::MsgOdometry
source · pub struct MsgOdometry {
pub sender_id: Option<u16>,
pub tow: u32,
pub velocity: i32,
pub flags: u8,
}
Expand description
Vehicle forward (x-axis) velocity
Message representing the x component of vehicle velocity in the user frame
at the odometry reference point(s) specified by the user. The offset for
the odometry reference point and the definition and origin of the user
frame are defined through the device settings interface. There are 4
possible user-defined sources of this message which are labeled
arbitrarily source 0 through 3.
If using “processor time” time tags, the receiving end will expect either
MSG_GNSS_TIME_OFFSET
or MSG_PPS_TIME
to sync incoming odometry data to
GNSS time. Processor time shall roll over to zero after one week.
Fields§
§sender_id: Option<u16>
The message sender_id
tow: u32
Time field representing either milliseconds in the GPS Week or local CPU time from the producing system in milliseconds. See the tow_source flag for the exact source of this timestamp.
velocity: i32
The signed forward component of vehicle velocity.
flags: u8
Status flags
Implementations§
source§impl MsgOdometry
impl MsgOdometry
sourcepub fn vehicle_metadata(&self) -> Result<VehicleMetadata, u8>
pub fn vehicle_metadata(&self) -> Result<VehicleMetadata, u8>
Gets the VehicleMetadata stored in the flags
bitfield.
Returns Ok
if the bitrange contains a known VehicleMetadata
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 VehicleMetadata
were added.
sourcepub fn set_vehicle_metadata(&mut self, vehicle_metadata: VehicleMetadata)
pub fn set_vehicle_metadata(&mut self, vehicle_metadata: VehicleMetadata)
Set the bitrange corresponding to the VehicleMetadata of the flags
bitfield.
sourcepub fn velocity_source(&self) -> Result<VelocitySource, u8>
pub fn velocity_source(&self) -> Result<VelocitySource, u8>
Gets the VelocitySource stored in the flags
bitfield.
Returns Ok
if the bitrange contains a known VelocitySource
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 VelocitySource
were added.
sourcepub fn set_velocity_source(&mut self, velocity_source: VelocitySource)
pub fn set_velocity_source(&mut self, velocity_source: VelocitySource)
Set the bitrange corresponding to the VelocitySource of the flags
bitfield.
sourcepub fn time_source(&self) -> Result<TimeSource, u8>
pub fn time_source(&self) -> Result<TimeSource, u8>
Gets the TimeSource stored in the flags
bitfield.
Returns Ok
if the bitrange contains a known TimeSource
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 TimeSource
were added.
sourcepub fn set_time_source(&mut self, time_source: TimeSource)
pub fn set_time_source(&mut self, time_source: TimeSource)
Set the bitrange corresponding to the TimeSource of the flags
bitfield.
Trait Implementations§
source§impl Clone for MsgOdometry
impl Clone for MsgOdometry
source§fn clone(&self) -> MsgOdometry
fn clone(&self) -> MsgOdometry
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl ConcreteMessage for MsgOdometry
impl ConcreteMessage for MsgOdometry
source§const MESSAGE_TYPE: u16 = 2_307u16
const MESSAGE_TYPE: u16 = 2_307u16
source§const MESSAGE_NAME: &'static str = "MSG_ODOMETRY"
const MESSAGE_NAME: &'static str = "MSG_ODOMETRY"
source§impl Debug for MsgOdometry
impl Debug for MsgOdometry
source§impl<'de> Deserialize<'de> for MsgOdometry
impl<'de> Deserialize<'de> for MsgOdometry
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 MsgOdometry
impl FriendlyName for MsgOdometry
fn friendly_name() -> &'static str
source§impl From<MsgOdometry> for Sbp
impl From<MsgOdometry> for Sbp
source§fn from(msg: MsgOdometry) -> Self
fn from(msg: MsgOdometry) -> Self
source§impl PartialEq for MsgOdometry
impl PartialEq for MsgOdometry
source§fn eq(&self, other: &MsgOdometry) -> bool
fn eq(&self, other: &MsgOdometry) -> bool
self
and other
values to be equal, and is used
by ==
.