pub enum SpecError {
UnsupportedMavLinkVersion {
actual: MavLinkVersion,
minimal: MavLinkVersion,
},
NotInDialect(u32),
InvalidEnumValue {
enum_name: &'static str,
},
InvalidV1PayloadSize {
actual: usize,
expected: usize,
},
V2PayloadIsTooLong {
actual: usize,
maximum: usize,
},
}Expand description
mavspec
Errors related to MAVLink message specification.
Upon conversion into Mavio Error, this error will be wrapped by Error::Spec, except
SpecError::NotInDialect, that will be converted into FrameError::NotInDialect and
wrapped by Error::Frame.
Errors related to MAVLink message specification and encoding/decoding.
All errors except SpecError::InvalidV1PayloadSize are related to wrong user input like
incorrectly chosen MAVLink dialect or protocol version.
Variants§
UnsupportedMavLinkVersion
MAVLink version is not supported.
Fields
actual: MavLinkVersionActual requested version.
minimal: MavLinkVersionMinimum supported MAVLink version,
NotInDialect(u32)
MAVLink message with the specified ID is not in dialect.
InvalidEnumValue
Error during conversion to MAVLink enum.
InvalidV1PayloadSize
Invalid size of the MAVLink 1 payload.
V2PayloadIsTooLong
Provided MAVLink 2 payload exceeds the maximum expected size.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for SpecError
impl<'de> Deserialize<'de> for SpecError
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<SpecError, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<SpecError, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl From<SpecError> for Error
impl From<SpecError> for Error
Source§fn from(value: SpecError) -> Self
fn from(value: SpecError) -> Self
Converts SpecError into Error::Spec.
There is a special case for SpecError::NotInDialect, that will be converted to
FrameError::NotInDialect variant of Error::Frame.
Source§impl NamedType for SpecError
impl NamedType for SpecError
fn sid() -> SpectaID
Source§fn named_data_type(
type_map: &mut TypeCollection,
generics: &[DataType],
) -> NamedDataType
fn named_data_type( type_map: &mut TypeCollection, generics: &[DataType], ) -> NamedDataType
Source§fn definition_named_data_type(type_map: &mut TypeCollection) -> NamedDataType
fn definition_named_data_type(type_map: &mut TypeCollection) -> NamedDataType
Source§impl Serialize for SpecError
impl Serialize for SpecError
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Source§impl Type for SpecError
impl Type for SpecError
Source§fn inline(type_map: &mut TypeCollection, generics: Generics<'_>) -> DataType
fn inline(type_map: &mut TypeCollection, generics: Generics<'_>) -> DataType
Source§fn reference(type_map: &mut TypeCollection, generics: &[DataType]) -> Reference
fn reference(type_map: &mut TypeCollection, generics: &[DataType]) -> Reference
definition will be put into the type map.