Skip to content

Commit 76a2813

Browse files
antonio-sc66patrickelectric
authored andcommitted
Bugfix. Replace default isize enum representation.
By default Rust uses isize to represent enum values. isize implementation depends on the `target_pointer_width` attribute. - Mavlink implementation for v2 requires message id with the range 0..16777215 --> u32 - Mavlink implementation requires u32 enum entry values
1 parent 19154d8 commit 76a2813

File tree

2 files changed

+3
-1
lines changed

2 files changed

+3
-1
lines changed

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ with bindings for all message sets.
1010
Add to your Cargo.toml:
1111

1212
```
13-
mavlink = "0.10.1"
13+
mavlink = "0.12.2"
1414
```
1515

1616
## Examples

build/parser.rs

+2
Original file line numberDiff line numberDiff line change
@@ -180,6 +180,7 @@ impl MavProfile {
180180
quote! {
181181
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
182182
#[cfg_attr(feature = "serde", serde(tag = "type"))]
183+
#[repr(u32)]
183184
pub enum MavMessage {
184185
#(#enums(#structs),)*
185186
}
@@ -390,6 +391,7 @@ impl MavEnum {
390391
#[derive(Debug, Copy, Clone, PartialEq, FromPrimitive, ToPrimitive)]
391392
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
392393
#[cfg_attr(feature = "serde", serde(tag = "type"))]
394+
#[repr(u32)]
393395
#description
394396
pub enum #enum_name {
395397
#(#defs)*

0 commit comments

Comments
 (0)