pub struct Module {Show 27 fields
pub long_identifier: String,
pub a2ml: Option<A2ml>,
pub axis_pts: ItemList<AxisPts>,
pub blob: ItemList<Blob>,
pub characteristic: ItemList<Characteristic>,
pub compu_method: ItemList<CompuMethod>,
pub compu_tab: ItemList<CompuTab>,
pub compu_vtab: ItemList<CompuVtab>,
pub compu_vtab_range: ItemList<CompuVtabRange>,
pub frame: ItemList<Frame>,
pub function: ItemList<Function>,
pub group: ItemList<Group>,
pub if_data: Vec<IfData>,
pub instance: ItemList<Instance>,
pub measurement: ItemList<Measurement>,
pub mod_common: Option<ModCommon>,
pub mod_par: Option<ModPar>,
pub record_layout: ItemList<RecordLayout>,
pub transformer: ItemList<Transformer>,
pub typedef_axis: ItemList<TypedefAxis>,
pub typedef_blob: ItemList<TypedefBlob>,
pub typedef_characteristic: ItemList<TypedefCharacteristic>,
pub typedef_measurement: ItemList<TypedefMeasurement>,
pub typedef_structure: ItemList<TypedefStructure>,
pub unit: ItemList<Unit>,
pub user_rights: Vec<UserRights>,
pub variant_coding: Option<VariantCoding>,
/* private fields */
}
Expand description
The MODULE keyword describes a complete ECU or device with all adjustable and measurement objects, conversion methods and functions
At least one module must be defined within the PROJECT
Fields§
§long_identifier: String
§a2ml: Option<A2ml>
§axis_pts: ItemList<AxisPts>
§blob: ItemList<Blob>
§characteristic: ItemList<Characteristic>
§compu_method: ItemList<CompuMethod>
§compu_tab: ItemList<CompuTab>
§compu_vtab: ItemList<CompuVtab>
§compu_vtab_range: ItemList<CompuVtabRange>
§frame: ItemList<Frame>
§function: ItemList<Function>
§group: ItemList<Group>
§if_data: Vec<IfData>
§instance: ItemList<Instance>
§measurement: ItemList<Measurement>
§mod_common: Option<ModCommon>
§mod_par: Option<ModPar>
§record_layout: ItemList<RecordLayout>
§transformer: ItemList<Transformer>
§typedef_axis: ItemList<TypedefAxis>
§typedef_blob: ItemList<TypedefBlob>
§typedef_characteristic: ItemList<TypedefCharacteristic>
§typedef_measurement: ItemList<TypedefMeasurement>
§typedef_structure: ItemList<TypedefStructure>
§unit: ItemList<Unit>
§user_rights: Vec<UserRights>
§variant_coding: Option<VariantCoding>
Implementations§
Source§impl Module
impl Module
Sourcepub fn merge(&mut self, other: &mut Module)
pub fn merge(&mut self, other: &mut Module)
merge another module with this module
Any elements in other that are not present in this module will be moved over. The other module will typically be empty at the end of the merge.
Sourcepub fn objects(&self) -> ItemList<AnyObject<'_>>
pub fn objects(&self) -> ItemList<AnyObject<'_>>
build a map of all objects in the module
An object is one of the following:
- AXIS_PTS
- BLOB
- CHARACTERISTIC
- INSTANCE
- MEASUREMENT
The map is indexed by the object’s name, and each value contains a reference to the actual object.
Sourcepub fn compu_tabs(&self) -> ItemList<AnyCompuTab<'_>>
pub fn compu_tabs(&self) -> ItemList<AnyCompuTab<'_>>
build a map of all compu tabs in the module
A compu tab is one of the following:
- COMPU_TAB
- COMPU_VTAB
- COMPU_VTAB_RANGE
The map is indexed by the compu tab’s name, and each value contains a reference to the actual compu tab.
Sourcepub fn typedefs(&self) -> ItemList<AnyTypedef<'_>>
pub fn typedefs(&self) -> ItemList<AnyTypedef<'_>>
build a map of all typedefs in the module
A typedef is one of the following:
- TYPEDEF_AXIS
- TYPEDEF_BLOB
- TYPEDEF_CHARACTERISTIC
- TYPEDEF_MEASUREMENT
- TYPEDEF_STRUCTURE
The map is indexed by the typedef’s name, and each value contains a reference to the actual typedef.
Trait Implementations§
Source§impl A2lObject<(u32, u32)> for Module
impl A2lObject<(u32, u32)> for Module
Source§fn get_layout(&self) -> &BlockInfo<(u32, u32)>
fn get_layout(&self) -> &BlockInfo<(u32, u32)>
BlockInfo
that describes the layout of the a2l objectSource§fn get_layout_mut(&mut self) -> &mut BlockInfo<(u32, u32)>
fn get_layout_mut(&mut self) -> &mut BlockInfo<(u32, u32)>
BlockInfo
that describes the layout of the a2l object