Derive Macro mavspec_rust_derive::Dialect
source · #[derive(Dialect)]
{
// Attributes available to this derive:
#[name]
#[dialect]
#[version]
}
Expand description
Derive MAVLink dialect from enum.
§Usage
Create a simple ad-hoc dialect for meaningless smalltalk:
use mavspec::rust::derive::{Dialect, Enum, Message};
#[repr(u8)]
#[derive(Copy, Clone, Debug, Default, Enum)]
enum Mood {
#[default]
Serious = 0,
Grumpy = 1,
Delighted = 2,
Confused = 3,
}
#[derive(Clone, Debug, Message)]
#[message_id(42)]
struct Howdy {
#[base_type(u8)]
mood: Mood,
}
#[derive(Clone, Debug, Message)]
#[message_id(43)]
struct FineAndYou {
#[base_type(u8)]
mood: Mood,
}
#[derive(Clone, Debug, Dialect)]
#[dialect(1099)]
#[version(99)]
enum SmallTalk {
Howdy(Howdy),
FineAndYou(FineAndYou),
}