pub struct DynamicDialect { /* private fields */ }Available on crate feature
dialect-dynamic only.Expand description
An immutable MAVLink dialect loaded from XML at runtime.
Implementations§
Source§impl DynamicDialect
impl DynamicDialect
Sourcepub fn from_xml_file(
path: impl AsRef<Path>,
) -> Result<Self, DynamicDialectError>
pub fn from_xml_file( path: impl AsRef<Path>, ) -> Result<Self, DynamicDialectError>
Load a dialect XML file and all of its relative <include> definitions.
The XML is parsed once. The resulting dialect is immutable, cheap to clone, and can be shared safely between readers.
Sourcepub fn message_definition(
&self,
message_id: u32,
) -> Option<&DynamicMessageDefinition>
pub fn message_definition( &self, message_id: u32, ) -> Option<&DynamicMessageDefinition>
Return the loaded definition for message_id.
Sourcepub fn message_definitions(
&self,
) -> impl Iterator<Item = &DynamicMessageDefinition>
pub fn message_definitions( &self, ) -> impl Iterator<Item = &DynamicMessageDefinition>
Return all loaded message definitions, ordered by message ID.
Sourcepub fn message_from_payload(
&self,
version: MavlinkVersion,
message_id: u32,
payload: impl Into<Vec<u8>>,
) -> Result<DynamicMessage, ParserError>
pub fn message_from_payload( &self, version: MavlinkVersion, message_id: u32, payload: impl Into<Vec<u8>>, ) -> Result<DynamicMessage, ParserError>
Construct an encodable runtime message from a known definition and its
wire payload. This is the dynamic counterpart to constructing a
generated MavMessage value before calling send.
Sourcepub fn message_from_fields<K>(
&self,
version: MavlinkVersion,
message_name: &str,
fields: impl IntoIterator<Item = (K, DynamicValue)>,
) -> Result<DynamicMessage, DynamicMessageError>
pub fn message_from_fields<K>( &self, version: MavlinkVersion, message_name: &str, fields: impl IntoIterator<Item = (K, DynamicValue)>, ) -> Result<DynamicMessage, DynamicMessageError>
Construct a runtime message from its name and named field values.
Numeric values must match the field’s primitive type.
Trait Implementations§
Source§impl Clone for DynamicDialect
impl Clone for DynamicDialect
Source§impl Debug for DynamicDialect
impl Debug for DynamicDialect
Source§impl Dialect for DynamicDialect
impl Dialect for DynamicDialect
Source§type Message = DynamicMessage
type Message = DynamicMessage
The representation returned when a message is decoded.
Source§type EncodeError = EncoderError
type EncodeError = EncoderError
Error returned when encoding a message.
Source§fn message_id(&self, message: &Self::Message) -> u32
fn message_id(&self, message: &Self::Message) -> u32
MAVLink message ID for an encoded message.
Source§fn extra_crc(&self, message_id: u32) -> Option<u8>
fn extra_crc(&self, message_id: u32) -> Option<u8>
Return the CRC extra byte for
message_id, if the message is known. Read moreSource§fn decode(
&self,
version: MavlinkVersion,
message_id: u32,
payload: &[u8],
) -> Result<Self::Message, ParserError>
fn decode( &self, version: MavlinkVersion, message_id: u32, payload: &[u8], ) -> Result<Self::Message, ParserError>
Decode a validated MAVLink payload.
Source§fn encode(
&self,
version: MavlinkVersion,
message: &Self::Message,
payload: &mut [u8],
) -> Result<usize, Self::EncodeError>
fn encode( &self, version: MavlinkVersion, message: &Self::Message, payload: &mut [u8], ) -> Result<usize, Self::EncodeError>
Serialize a dialect message payload for the selected MAVLink version.
Auto Trait Implementations§
impl Freeze for DynamicDialect
impl RefUnwindSafe for DynamicDialect
impl Send for DynamicDialect
impl Sync for DynamicDialect
impl Unpin for DynamicDialect
impl UnsafeUnpin for DynamicDialect
impl UnwindSafe for DynamicDialect
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more