diff --git a/src/dataformats/mod.rs b/src/dataformats/mod.rs index 4a003d3..3f89351 100644 --- a/src/dataformats/mod.rs +++ b/src/dataformats/mod.rs @@ -7,8 +7,8 @@ pub struct Range { #[serde(rename = "@Order")] order: i8, - bit_count: i8, - bit_offset: i8, + bit_count: i16, + bit_offset: u8, } #[derive(Debug, PartialEq, Deserialize)] @@ -35,7 +35,13 @@ pub struct BitMap { #[serde(rename = "@Order")] order: Option, - field: Option, + field: Option>, +} + +#[derive(Debug, PartialEq, Deserialize)] +#[serde(rename_all = "PascalCase")] +pub struct DataAttributes { + pub bit_map: Vec } #[derive(Debug, PartialEq, Deserialize)] @@ -46,7 +52,7 @@ pub struct DataFormat { pub data_type: String, pub bit_count: i16, pub component_count: i8, - pub data_attributes: BitMap, + pub data_attributes: DataAttributes, } #[derive(Debug, PartialEq, Deserialize)]