pub trait Messagewhere
Self: Sized,{
// Required methods
fn message_id(&self) -> u32;
fn message_name(&self) -> &'static str;
fn target_system_id(&self) -> Option<u8>;
fn target_component_id(&self) -> Option<u8>;
fn ser(&self, version: MavlinkVersion, bytes: &mut [u8]) -> usize;
fn parse(
version: MavlinkVersion,
msgid: u32,
payload: &[u8],
) -> Result<Self, ParserError>;
fn message_id_from_name(name: &str) -> Option<u32>;
fn default_message_from_id(id: u32) -> Option<Self>;
fn extra_crc(id: u32) -> u8;
}
Expand description
A MAVLink message payload
Each message sets MavMessage
enum implements this trait. The Message
trait is used to
represent messages in an abstract way (for example, common::MavMessage
).
Required Methods§
Sourcefn message_id(&self) -> u32
fn message_id(&self) -> u32
MAVLink message ID
Sourcefn message_name(&self) -> &'static str
fn message_name(&self) -> &'static str
MAVLink message name
Sourcefn target_system_id(&self) -> Option<u8>
fn target_system_id(&self) -> Option<u8>
Target system ID if the message is directed to a specific system
Sourcefn target_component_id(&self) -> Option<u8>
fn target_component_id(&self) -> Option<u8>
Target component ID if the message is directed to a specific component
Sourcefn ser(&self, version: MavlinkVersion, bytes: &mut [u8]) -> usize
fn ser(&self, version: MavlinkVersion, bytes: &mut [u8]) -> usize
Serialize Message into byte slice and return count of bytes written
Sourcefn parse(
version: MavlinkVersion,
msgid: u32,
payload: &[u8],
) -> Result<Self, ParserError>
fn parse( version: MavlinkVersion, msgid: u32, payload: &[u8], ) -> Result<Self, ParserError>
Parse a Message from its message id and payload bytes
Sourcefn message_id_from_name(name: &str) -> Option<u32>
fn message_id_from_name(name: &str) -> Option<u32>
Return message id of specific message name
Sourcefn default_message_from_id(id: u32) -> Option<Self>
fn default_message_from_id(id: u32) -> Option<Self>
Return a default message of the speicfied message id
Sourcefn extra_crc(id: u32) -> u8
fn extra_crc(id: u32) -> u8
Return a message types CRC_EXTRA byte
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.