44//! [`DF::TisB`]: crate::DF::TisB
55
66#[ cfg( feature = "alloc" ) ]
7- use alloc:: { fmt, format, string:: String , vec } ;
7+ use alloc:: { fmt, format, string:: String } ;
88#[ cfg( feature = "alloc" ) ]
99use core:: {
1010 clone:: Clone ,
@@ -57,6 +57,7 @@ impl ADSB {
5757/// reference: ICAO 9871 (A.2.3.1)
5858#[ derive( Debug , PartialEq , DekuRead , Clone ) ]
5959#[ cfg_attr( feature = "serde" , derive( serde:: Serialize , serde:: Deserialize ) ) ]
60+ #[ repr( u8 ) ]
6061#[ deku( id_type = "u8" , bits = "5" ) ]
6162pub enum ME {
6263 #[ deku( id_pat = "9..=18" ) ]
@@ -322,6 +323,7 @@ pub struct AirspeedDecoding {
322323/// Aircraft Operational Status Subtype
323324#[ derive( Debug , PartialEq , Eq , DekuRead , Copy , Clone ) ]
324325#[ cfg_attr( feature = "serde" , derive( serde:: Serialize , serde:: Deserialize ) ) ]
326+ #[ repr( u8 ) ]
325327#[ deku( id_type = "u8" , bits = "3" ) ]
326328pub enum OperationStatus {
327329 #[ deku( id = "0" ) ]
@@ -603,6 +605,7 @@ impl fmt::Display for OperationalMode {
603605/// reference: ICAO 9871 (5.3.2.3)
604606#[ derive( Debug , PartialEq , Eq , DekuRead , Copy , Clone ) ]
605607#[ cfg_attr( feature = "serde" , derive( serde:: Serialize , serde:: Deserialize ) ) ]
608+ #[ repr( u8 ) ]
606609#[ deku( id_type = "u8" , bits = "3" ) ]
607610pub enum ADSBVersion {
608611 #[ deku( id = "0" ) ]
@@ -644,6 +647,7 @@ impl fmt::Display for ControlField {
644647
645648#[ derive( Debug , PartialEq , Eq , DekuRead , Clone ) ]
646649#[ cfg_attr( feature = "serde" , derive( serde:: Serialize , serde:: Deserialize ) ) ]
650+ #[ repr( u8 ) ]
647651#[ deku( id_type = "u8" , bits = "3" ) ]
648652#[ allow( non_camel_case_types) ]
649653pub enum ControlFieldType {
@@ -710,6 +714,7 @@ pub struct AircraftStatus {
710714
711715#[ derive( Debug , PartialEq , Eq , DekuRead , Copy , Clone ) ]
712716#[ cfg_attr( feature = "serde" , derive( serde:: Serialize , serde:: Deserialize ) ) ]
717+ #[ repr( u8 ) ]
713718#[ deku( id_type = "u8" , bits = "3" ) ]
714719pub enum AircraftStatusType {
715720 #[ deku( id = "0" ) ]
@@ -724,6 +729,7 @@ pub enum AircraftStatusType {
724729
725730#[ derive( Debug , PartialEq , Eq , DekuRead , Copy , Clone ) ]
726731#[ cfg_attr( feature = "serde" , derive( serde:: Serialize , serde:: Deserialize ) ) ]
732+ #[ repr( u8 ) ]
727733#[ deku( id_type = "u8" , bits = "3" ) ]
728734pub enum EmergencyState {
729735 None = 0 ,
@@ -784,6 +790,7 @@ pub struct Identification {
784790
785791#[ derive( Debug , PartialEq , Eq , DekuRead , Copy , Clone ) ]
786792#[ cfg_attr( feature = "serde" , derive( serde:: Serialize , serde:: Deserialize ) ) ]
793+ #[ repr( u8 ) ]
787794#[ deku( id_type = "u8" , bits = "8" ) ]
788795pub enum TypeCoding {
789796 D = 1 ,
@@ -937,6 +944,7 @@ pub enum AirborneVelocitySubType {
937944
938945#[ derive( Copy , Clone , Debug , PartialEq , Eq , DekuRead ) ]
939946#[ cfg_attr( feature = "serde" , derive( serde:: Serialize , serde:: Deserialize ) ) ]
947+ #[ repr( u8 ) ]
940948#[ deku( id_type = "u8" , bits = "3" ) ]
941949pub enum AirborneVelocityType {
942950 Subsonic = 1 ,
@@ -975,6 +983,7 @@ impl AirborneVelocitySubFields {
975983
976984#[ derive( Copy , Clone , Debug , PartialEq , Eq , DekuRead ) ]
977985#[ cfg_attr( feature = "serde" , derive( serde:: Serialize , serde:: Deserialize ) ) ]
986+ #[ repr( u8 ) ]
978987#[ deku( id_type = "u8" , bits = "1" ) ]
979988pub enum DirectionEW {
980989 WestToEast = 0 ,
@@ -983,6 +992,7 @@ pub enum DirectionEW {
983992
984993#[ derive( Copy , Clone , Debug , PartialEq , Eq , DekuRead ) ]
985994#[ cfg_attr( feature = "serde" , derive( serde:: Serialize , serde:: Deserialize ) ) ]
995+ #[ repr( u8 ) ]
986996#[ deku( id_type = "u8" , bits = "1" ) ]
987997pub enum DirectionNS {
988998 SouthToNorth = 0 ,
@@ -991,6 +1001,7 @@ pub enum DirectionNS {
9911001
9921002#[ derive( Copy , Clone , Debug , PartialEq , Eq , DekuRead ) ]
9931003#[ cfg_attr( feature = "serde" , derive( serde:: Serialize , serde:: Deserialize ) ) ]
1004+ #[ repr( u8 ) ]
9941005#[ deku( id_type = "u8" , bits = "1" ) ]
9951006pub enum SourceBitVerticalRate {
9961007 GNSS = 0 ,
@@ -999,6 +1010,7 @@ pub enum SourceBitVerticalRate {
9991010
10001011#[ derive( Copy , Clone , Debug , PartialEq , Eq , DekuRead ) ]
10011012#[ cfg_attr( feature = "serde" , derive( serde:: Serialize , serde:: Deserialize ) ) ]
1013+ #[ repr( u8 ) ]
10021014#[ deku( id_type = "u8" , bits = "1" ) ]
10031015pub enum SignBitVerticalRate {
10041016 Up = 0 ,
@@ -1007,6 +1019,7 @@ pub enum SignBitVerticalRate {
10071019
10081020#[ derive( Copy , Clone , Debug , PartialEq , Eq , DekuRead ) ]
10091021#[ cfg_attr( feature = "serde" , derive( serde:: Serialize , serde:: Deserialize ) ) ]
1022+ #[ repr( u8 ) ]
10101023#[ deku( id_type = "u8" , bits = "1" ) ]
10111024pub enum SignBitGNSSBaroAltitudesDiff {
10121025 Above = 0 ,
@@ -1015,6 +1028,7 @@ pub enum SignBitGNSSBaroAltitudesDiff {
10151028
10161029#[ derive( Debug , PartialEq , Eq , DekuRead , Copy , Clone ) ]
10171030#[ cfg_attr( feature = "serde" , derive( serde:: Serialize , serde:: Deserialize ) ) ]
1031+ #[ repr( u8 ) ]
10181032#[ deku( id_type = "u8" , bits = "1" ) ]
10191033pub enum VerticalRateSource {
10201034 BarometricPressureAltitude = 0 ,
@@ -1053,6 +1067,7 @@ pub struct SurfacePosition {
10531067
10541068#[ derive( Debug , PartialEq , Eq , DekuRead , Copy , Clone ) ]
10551069#[ cfg_attr( feature = "serde" , derive( serde:: Serialize , serde:: Deserialize ) ) ]
1070+ #[ repr( u8 ) ]
10561071#[ deku( id_type = "u8" , bits = "1" ) ]
10571072pub enum StatusForGroundTrack {
10581073 Invalid = 0 ,
0 commit comments