pub trait Messagewhere
Self: Sized,{
// Required methods
fn message_id(&self) -> u32;
fn message_name(&self) -> &'static str;
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) -> Result<u32, &'static str>;
fn default_message_from_id(id: u32) -> Result<Self, &'static str>;
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 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) -> Result<u32, &'static str>
fn message_id_from_name(name: &str) -> Result<u32, &'static str>
Return message id of specific message name
Sourcefn default_message_from_id(id: u32) -> Result<Self, &'static str>
fn default_message_from_id(id: u32) -> Result<Self, &'static str>
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.