Dialect

Trait Dialect 

Source
pub trait Dialect:
    Sized
    + MessageSpec
    + IntoPayload
    + Sync
    + Send {
    // Required methods
    fn name() -> &'static str;
    fn dialect() -> Option<u32>;
    fn version() -> Option<u8>;
    fn message_info(id: u32) -> Result<&'static dyn MessageSpec, SpecError>;
    fn decode(payload: &Payload) -> Result<Self, SpecError>;
    fn spec() -> &'static DialectSpec;
}
Expand description

Interface for autogenerated or custom MAVLink dialect specification.

Required Methods§

Source

fn name() -> &'static str

Dialect name as it appears in XML definition.

Source

fn dialect() -> Option<u32>

Returns dialect identifier as specified in MAVLink XML definitions.

Source

fn version() -> Option<u8>

Minor dialect version as specified in MAVLink XML definitions.

Corresponds to uint8_t_mavlink_version.

Dialect version appears in some messages like HEARTBEAT. In such cases it is usually not directly set by user.

Source

fn message_info(id: u32) -> Result<&'static dyn MessageSpec, SpecError>

Message specification by id.

Clients may access this method to retrieve message specification prior to decoding it from payload.

§Errors

Returns SpecError::NotInDialect if message with specified ID is not supported.

Source

fn decode(payload: &Payload) -> Result<Self, SpecError>

Decode dialect message from Payload.

Source

fn spec() -> &'static DialectSpec

Dialect specification.

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.

Implementors§

Source§

impl Dialect for ArmAuthMsrv

Source§

impl Dialect for BatteryMsrv

Source§

impl Dialect for CameraMsrv

Source§

impl Dialect for CommandMsrv

Source§

impl Dialect for ComponentMetadataMsrv

Source§

impl Dialect for EventsInterfaceMsrv

Source§

impl Dialect for FtpMsrv

Source§

impl Dialect for GimbalV1Msrv

Source§

impl Dialect for GimbalV2Msrv

Source§

impl Dialect for HeartbeatMsrv

Source§

impl Dialect for HighLatencyMsrv

Source§

impl Dialect for ImageTransmissionMsrv

Source§

impl Dialect for LandingTargetMsrv

Source§

impl Dialect for ManualControlMsrv

Source§

impl Dialect for MissionMsrv

Source§

impl Dialect for OpenDroneIdMsrv

Source§

impl Dialect for ParameterMsrv

Source§

impl Dialect for ParameterExtMsrv

Source§

impl Dialect for PathPlanningMsrv

Source§

impl Dialect for PayloadMsrv

Source§

impl Dialect for PingMsrv

Source§

impl Dialect for TerrainMsrv

Source§

impl Dialect for TimeSyncMsrv

Source§

impl Dialect for TrafficManagementMsrv

Source§

impl Dialect for TunnelMsrv

Source§

impl Dialect for Ardupilotmega

Source§

impl Dialect for Asluav

Source§

impl Dialect for Avssuas

Source§

impl Dialect for Common

Source§

impl Dialect for Cubepilot

Source§

impl Dialect for Development

Source§

impl Dialect for ExampleMavSpecDialect

Source§

impl Dialect for Icarous

Source§

impl Dialect for Loweheiser

Source§

impl Dialect for Matrixpilot

Source§

impl Dialect for Minimal

Source§

impl Dialect for Paparazzi

Source§

impl Dialect for PythonArrayTest

Source§

impl Dialect for Standard

Source§

impl Dialect for Storm32

Source§

impl Dialect for Test

Source§

impl Dialect for UAvionix

Source§

impl Dialect for Ualberta

Source§

impl Dialect for All