odxtools 7.4.0__py3-none-any.whl → 8.0.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. odxtools/cli/_print_utils.py +4 -3
  2. odxtools/cli/browse.py +13 -11
  3. odxtools/cli/compare.py +1 -1
  4. odxtools/cli/list.py +20 -10
  5. odxtools/cli/snoop.py +28 -5
  6. odxtools/database.py +46 -10
  7. odxtools/diagcomm.py +4 -4
  8. odxtools/diaglayercontainer.py +23 -11
  9. odxtools/diaglayers/basevariant.py +128 -0
  10. odxtools/diaglayers/basevariantraw.py +117 -0
  11. odxtools/diaglayers/diaglayer.py +422 -0
  12. odxtools/{diaglayerraw.py → diaglayers/diaglayerraw.py} +18 -156
  13. odxtools/diaglayers/ecushareddata.py +96 -0
  14. odxtools/diaglayers/ecushareddataraw.py +81 -0
  15. odxtools/diaglayers/ecuvariant.py +124 -0
  16. odxtools/diaglayers/ecuvariantraw.py +123 -0
  17. odxtools/diaglayers/functionalgroup.py +110 -0
  18. odxtools/diaglayers/functionalgroupraw.py +100 -0
  19. odxtools/{diaglayer.py → diaglayers/hierarchyelement.py} +183 -498
  20. odxtools/diaglayers/hierarchyelementraw.py +52 -0
  21. odxtools/diaglayers/protocol.py +64 -0
  22. odxtools/diaglayers/protocolraw.py +85 -0
  23. odxtools/diagvariable.py +10 -1
  24. odxtools/ecuvariantmatcher.py +6 -7
  25. odxtools/field.py +3 -4
  26. odxtools/matchingparameter.py +1 -1
  27. odxtools/nameditemlist.py +4 -3
  28. odxtools/parameterinfo.py +10 -1
  29. odxtools/parameters/parameterwithdop.py +2 -3
  30. odxtools/parentref.py +1 -1
  31. odxtools/snrefcontext.py +1 -1
  32. odxtools/templates/diag_layer_container.odx-d.xml.jinja2 +11 -6
  33. odxtools/templates/macros/printBaseVariant.xml.jinja2 +53 -0
  34. odxtools/templates/macros/printCompuMethod.xml.jinja2 +1 -1
  35. odxtools/templates/macros/printDiagLayer.xml.jinja2 +206 -0
  36. odxtools/templates/macros/printEcuSharedData.xml.jinja2 +30 -0
  37. odxtools/templates/macros/printEcuVariant.xml.jinja2 +53 -0
  38. odxtools/templates/macros/printFunctionalGroup.xml.jinja2 +40 -0
  39. odxtools/templates/macros/printHierarchyElement.xml.jinja2 +24 -0
  40. odxtools/templates/macros/printProtocol.xml.jinja2 +30 -0
  41. odxtools/variablegroup.py +11 -1
  42. odxtools/version.py +2 -2
  43. {odxtools-7.4.0.dist-info → odxtools-8.0.0.dist-info}/METADATA +1 -1
  44. {odxtools-7.4.0.dist-info → odxtools-8.0.0.dist-info}/RECORD +49 -31
  45. odxtools/templates/macros/printVariant.xml.jinja2 +0 -241
  46. /odxtools/{diaglayertype.py → diaglayers/diaglayertype.py} +0 -0
  47. {odxtools-7.4.0.dist-info → odxtools-8.0.0.dist-info}/LICENSE +0 -0
  48. {odxtools-7.4.0.dist-info → odxtools-8.0.0.dist-info}/WHEEL +0 -0
  49. {odxtools-7.4.0.dist-info → odxtools-8.0.0.dist-info}/entry_points.txt +0 -0
  50. {odxtools-7.4.0.dist-info → odxtools-8.0.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,206 @@
1
+ {#- -*- mode: sgml; tab-width: 1; indent-tabs-mode: nil -*-
2
+ #
3
+ # SPDX-License-Identifier: MIT
4
+ -#}
5
+
6
+ {%- import('macros/printElementId.xml.jinja2') as peid %}
7
+ {%- import('macros/printDOP.xml.jinja2') as pdop %}
8
+ {%- import('macros/printTable.xml.jinja2') as pt %}
9
+ {%- import('macros/printFunctionalClass.xml.jinja2') as pfc %}
10
+ {%- import('macros/printStructure.xml.jinja2') as pst %}
11
+ {%- import('macros/printEndOfPdu.xml.jinja2') as peopdu %}
12
+ {%- import('macros/printStaticField.xml.jinja2') as psf %}
13
+ {%- import('macros/printDynamicLengthField.xml.jinja2') as pdlf %}
14
+ {%- import('macros/printDynamicEndmarkerField.xml.jinja2') as pdemf %}
15
+ {%- import('macros/printMux.xml.jinja2') as pm %}
16
+ {%- import('macros/printEnvData.xml.jinja2') as ped %}
17
+ {%- import('macros/printEnvDataDesc.xml.jinja2') as pedd %}
18
+ {%- import('macros/printUnitSpec.xml.jinja2') as punit %}
19
+ {%- import('macros/printService.xml.jinja2') as ps %}
20
+ {%- import('macros/printSingleEcuJob.xml.jinja2') as psej %}
21
+ {%- import('macros/printRequest.xml.jinja2') as prq %}
22
+ {%- import('macros/printResponse.xml.jinja2') as presp %}
23
+ {%- import('macros/printStateChart.xml.jinja2') as psc %}
24
+ {%- import('macros/printAudience.xml.jinja2') as paud %}
25
+ {%- import('macros/printSpecialData.xml.jinja2') as psd %}
26
+ {%- import('macros/printEcuVariantPattern.xml.jinja2') as pvpat %}
27
+ {%- import('macros/printAdminData.xml.jinja2') as pad %}
28
+
29
+ {%- macro printDiagLayerAttribs(dl) -%}
30
+ {#- #} ID="{{dl.diag_layer_raw.odx_id.local_id}}"{# -#}
31
+ {%- endmacro -%}
32
+
33
+ {%- macro printDiagLayerSubtags(dl) -%}
34
+ {%- set dlr = dl.diag_layer_raw %}
35
+ {{ peid.printElementIdSubtags(dlr)|indent(1) }}
36
+ {%- if dlr.admin_data is not none %}
37
+ {{ pad.printAdminData(dlr.admin_data) }}
38
+ {%- endif %}
39
+ {%- if dlr.company_datas %}
40
+ <COMPANY-DATAS>
41
+ {%- for cd in dlr.company_datas %}
42
+ {{ pcd.printCompanyData(cd) }}
43
+ {%- endfor %}
44
+ </COMPANY-DATAS>
45
+ {%- endif %}
46
+ {%- if dlr.functional_classes %}
47
+ <FUNCT-CLASSS>
48
+ {%- for fc in dlr.functional_classes %}
49
+ {{ pfc.printFunctionalClass(fc)|indent(3) }}
50
+ {%- endfor%}
51
+ </FUNCT-CLASSS>
52
+ {%- endif %}
53
+ {%- if dlr.diag_data_dictionary_spec is not none %}
54
+ {%- set ddds = dlr.diag_data_dictionary_spec %}
55
+ <DIAG-DATA-DICTIONARY-SPEC>
56
+ {%- if ddds.dtc_dops %}
57
+ <DTC-DOPS>
58
+ {%- for dop in ddds.dtc_dops -%}
59
+ {{ pdop.printDtcDop(dop)|indent(3) }}
60
+ {%- endfor %}
61
+ </DTC-DOPS>
62
+ {%- endif %}
63
+ {%- if ddds.env_data_descs %}
64
+ <ENV-DATA-DESCS>
65
+ {%- for env_data_desc in ddds.env_data_descs -%}
66
+ {{ pedd.printEnvDataDesc(env_data_desc)|indent(3) }}
67
+ {%- endfor %}
68
+ </ENV-DATA-DESCS>
69
+ {%- endif %}
70
+ {%- if ddds.data_object_props %}
71
+ <DATA-OBJECT-PROPS>
72
+ {%- for dop in ddds.data_object_props %}
73
+ {{- pdop.printDataObjectProp(dop)|indent(3) }}
74
+ {%- endfor %}
75
+ </DATA-OBJECT-PROPS>
76
+ {%- endif %}
77
+ {%- if ddds.structures %}
78
+ <STRUCTURES>
79
+ {%- for st in ddds.structures %}
80
+ {{ pst.printStructure(st)|indent(3) }}
81
+ {%- endfor %}
82
+ </STRUCTURES>
83
+ {%- endif %}
84
+ {%- if ddds.static_fields %}
85
+ <STATIC-FIELDS>
86
+ {%- for sf in ddds.static_fields %}
87
+ {{ psf.printStaticField(sf)|indent(3) }}
88
+ {%- endfor %}
89
+ </STATIC-FIELDS>
90
+ {%- endif %}
91
+ {%- if ddds.dynamic_length_fields %}
92
+ <DYNAMIC-LENGTH-FIELDS>
93
+ {%- for dlf in ddds.dynamic_length_fields %}
94
+ {{ pdlf.printDynamicLengthField(dlf)|indent(3) }}
95
+ {%- endfor %}
96
+ </DYNAMIC-LENGTH-FIELDS>
97
+ {%- endif %}
98
+ {%- if ddds.dynamic_endmarker_fields %}
99
+ <DYNAMIC-ENDMARKER-FIELDS>
100
+ {%- for demf in ddds.dynamic_endmarker_fields %}
101
+ {{ pdemf.printDynamicEndmarkerField(demf)|indent(3) }}
102
+ {%- endfor %}
103
+ </DYNAMIC-ENDMARKER-FIELDS>
104
+ {%- endif %}
105
+ {%- if ddds.end_of_pdu_fields %}
106
+ <END-OF-PDU-FIELDS>
107
+ {%- for eopdu in ddds.end_of_pdu_fields %}
108
+ {{ peopdu.printEndOfPdu(eopdu)|indent(3) }}
109
+ {%- endfor %}
110
+ </END-OF-PDU-FIELDS>
111
+ {%- endif %}
112
+ {%- if ddds.muxs %}
113
+ <MUXS>
114
+ {%- for mux in ddds.muxs %}
115
+ {{ pm.printMux(mux)|indent(3) }}
116
+ {%- endfor %}
117
+ </MUXS>
118
+ {%- endif %}
119
+ {%- if ddds.env_datas %}
120
+ <ENV-DATAS>
121
+ {%- for env_data in ddds.env_datas %}
122
+ {{ ped.printEnvData(env_data)|indent(3) }}
123
+ {%- endfor %}
124
+ </ENV-DATAS>
125
+ {%- endif %}
126
+ {%- if ddds.unit_spec %}
127
+ {{ punit.printUnitSpec(ddds.unit_spec)|indent(2) }}
128
+ {%- endif %}
129
+ {%- if ddds.tables %}
130
+ <TABLES>
131
+ {%- for table in ddds.tables -%}
132
+ {{ pt.printTable(table)|indent(3) }}
133
+ {%- endfor %}
134
+ </TABLES>
135
+ {{- psd.printSpecialDataGroups(ddds.sdgs)|indent(2, first=True) }}
136
+ {%- endif %}
137
+ </DIAG-DATA-DICTIONARY-SPEC>
138
+ {%- endif %}
139
+ {%- if dlr.diag_comms_raw %}
140
+ <DIAG-COMMS>
141
+ {%- for dc in dlr.diag_comms_raw %}
142
+
143
+ {#- use some serious duck typing to determine the kind of diag-comm
144
+ #- object. this would not be necessary if something like
145
+ #- isinstance() was available in jinja...
146
+ #}
147
+
148
+ {%- if hasattr(dc, "ref_id") %}
149
+ {#- -> reference to a diag-comm object #}
150
+ <DIAG-COMM-REF ID-REF="{{dc.ref_id}}" />
151
+ {%- elif hasattr(dc, "request") %}
152
+ {#- -> service #}
153
+ {{ ps.printService(dc)|indent(2) }}
154
+ {%- elif hasattr(dc, "prog_codes") %}
155
+ {#- -> single-ECU job #}
156
+ {{ psej.printSingleEcuJob(dc)|indent(2) }}
157
+ {%- else %}
158
+ <!-- Error: database contains an unrecognized DIAG-COMM. -->
159
+ {%- endif %}
160
+ {%- endfor %}
161
+ </DIAG-COMMS>
162
+ {%- endif %}
163
+ {%- if dlr.requests %}
164
+ <REQUESTS>
165
+ {%- for req in dlr.requests %}
166
+ {{ prq.printRequest(req)|indent(2) }}
167
+ {%- endfor %}
168
+ </REQUESTS>
169
+ {%- endif %}
170
+ {%- if dlr.positive_responses %}
171
+ <POS-RESPONSES>
172
+ {%- for resp in dlr.positive_responses %}
173
+ {{ presp.printResponse(resp, "POS-RESPONSE")|indent(2) }}
174
+ {%- endfor %}
175
+ </POS-RESPONSES>
176
+ {%- endif %}
177
+ {%- if dlr.negative_responses %}
178
+ <NEG-RESPONSES>
179
+ {%- for resp in dlr.negative_responses %}
180
+ {{ presp.printResponse(resp, "NEG-RESPONSE")|indent(2) }}
181
+ {%- endfor %}
182
+ </NEG-RESPONSES>
183
+ {%- endif %}
184
+ {%- if dlr.global_negative_responses %}
185
+ <GLOBAL-NEG-RESPONSES>
186
+ {%- for resp in dlr.global_negative_responses %}
187
+ {{ presp.printResponse(resp, "GLOBAL-NEG-RESPONSE")|indent(2) }}
188
+ {%- endfor %}
189
+ </GLOBAL-NEG-RESPONSES>
190
+ {%- endif %}
191
+ {%- if dlr.state_charts %}
192
+ <STATE-CHARTS>
193
+ {%- for sc in dlr.state_charts %}
194
+ {{ psc.printStateChart(sc) }}
195
+ {%- endfor %}
196
+ </STATE-CHARTS>
197
+ {%- endif %}
198
+ {%- if dlr.additional_audiences %}
199
+ <ADDITIONAL-AUDIENCES>
200
+ {%- for audience in dlr.additional_audiences %}
201
+ {{ paud.printAdditionalAudience(audience)|indent(2) }}
202
+ {%- endfor %}
203
+ </ADDITIONAL-AUDIENCES>
204
+ {%- endif %}
205
+ {{- psd.printSpecialDataGroups(dlr.sdgs)|indent(0, first=True) }}
206
+ {%- endmacro -%}
@@ -0,0 +1,30 @@
1
+ {#- -*- mode: sgml; tab-width: 2; indent-tabs-mode: nil -*-
2
+ #
3
+ # SPDX-License-Identifier: MIT
4
+ -#}
5
+
6
+ {%- import('macros/printDiagLayer.xml.jinja2') as pdl %}
7
+
8
+ {%- macro printEcuSharedData(ecu_shared_data) -%}
9
+ <ECU-SHARED-DATA {{- pdl.printDiagLayerAttribs(ecu_shared_data) -}}>
10
+ {{ pdl.printDiagLayerSubtags(ecu_shared_data) | indent(2) }}
11
+ {%- set dlr = ecu_shared_data.ecu_shared_data_raw %}
12
+
13
+ {%- if dlr.diag_variables %}
14
+ <DIAG-VARIABLES>
15
+ {%- for dv in dlr.diag_variables -%}
16
+ {{ pdv.printDiagVariable(dv)|indent(4) }}
17
+ {%- endfor -%}
18
+ </DIAG-VARIABLES>
19
+ {%- endif %}
20
+
21
+ {%- if dlr.variable_groups %}
22
+ <VARIABLE-GROUPS>
23
+ {%- for vg in dlr.variable_groups -%}
24
+ {{ pdv.printVariableGroup(vg)|indent(4) }}
25
+ {%- endfor -%}
26
+ </VARIABLE-GROUPS>
27
+ {%- endif %}
28
+
29
+ </ECU-SHARED-DATA>
30
+ {%- endmacro %}
@@ -0,0 +1,53 @@
1
+ {#- -*- mode: sgml; tab-width: 2; indent-tabs-mode: nil -*-
2
+ #
3
+ # SPDX-License-Identifier: MIT
4
+ -#}
5
+
6
+ {%- import('macros/printHierarchyElement.xml.jinja2') as phe %}
7
+ {%- import('macros/printComparamRef.xml.jinja2') as pcom %}
8
+ {%- import('macros/printParentRef.xml.jinja2') as pparref %}
9
+ {%- import('macros/printEcuVariantPattern.xml.jinja2') as pvpat %}
10
+ {%- import('macros/printDynDefinedSpec.xml.jinja2') as pdynspec %}
11
+
12
+ {%- macro printEcuVariant(ecu_variant) -%}
13
+ <ECU-VARIANT {{- phe.printHierarchyElementAttribs(ecu_variant) -}}>
14
+ {{ phe.printHierarchyElementSubtags(ecu_variant) | indent(2) }}
15
+ {%- set dlr = ecu_variant.diag_layer_raw %}
16
+
17
+ {%- if dlr.diag_variables %}
18
+ <DIAG-VARIABLES>
19
+ {%- for dv in dlr.diag_variables -%}
20
+ {{ pdv.printDiagVariable(dv)|indent(4) }}
21
+ {%- endfor -%}
22
+ </DIAG-VARIABLES>
23
+ {%- endif %}
24
+
25
+ {%- if dlr.variable_groups %}
26
+ <VARIABLE-GROUPS>
27
+ {%- for vg in dlr.variable_groups -%}
28
+ {{ pdv.printVariableGroup(vg)|indent(4) }}
29
+ {%- endfor -%}
30
+ </VARIABLE-GROUPS>
31
+ {%- endif %}
32
+
33
+ {%- if dlr.dyn_defined_spec %}
34
+ {{ pdynspec.printPrintDefinedSpec(dlr.dyn_defined_spec)|indent(4) }}
35
+ {%- endif %}
36
+
37
+ {%- if dlr.ecu_variant_patterns %}
38
+ <ECU-VARIANT-PATTERNS>
39
+ {%- for vp in dlr.ecu_variant_patterns -%}
40
+ {{ pvpat.printEcuVariantPattern(vp)|indent(4) }}
41
+ {%- endfor -%}
42
+ </ECU-VARIANT-PATTERNS>
43
+ {%- endif %}
44
+
45
+ {%- if dlr.parent_refs %}
46
+ <PARENT-REFS>
47
+ {%- for parent in dlr.parent_refs -%}
48
+ {{ pparref.printParentRef(parent)|indent(4) }}
49
+ {%- endfor %}
50
+ </PARENT-REFS>
51
+ {%- endif %}
52
+ </ECU-VARIANT>
53
+ {%- endmacro %}
@@ -0,0 +1,40 @@
1
+ {#- -*- mode: sgml; tab-width: 2; indent-tabs-mode: nil -*-
2
+ #
3
+ # SPDX-License-Identifier: MIT
4
+ -#}
5
+
6
+ {%- import('macros/printHierarchyElement.xml.jinja2') as phe %}
7
+ {%- import('macros/printComparamRef.xml.jinja2') as pcom %}
8
+ {%- import('macros/printParentRef.xml.jinja2') as pparref %}
9
+
10
+ {%- macro printFunctionalGroup(functional_group) -%}
11
+ <FUNCTIONAL-GROUP {{- phe.printHierarchyElementAttribs(functional_group) -}}>
12
+ {{ phe.printHierarchyElementSubtags(functional_group) | indent(2) }}
13
+
14
+ {%- set dlr = functional_group.functional_group_raw %}
15
+
16
+ {%- if dlr.diag_variables %}
17
+ <DIAG-VARIABLES>
18
+ {%- for dv in dlr.diag_variables -%}
19
+ {{ pdv.printDiagVariable(dv)|indent(4) }}
20
+ {%- endfor -%}
21
+ </DIAG-VARIABLES>
22
+ {%- endif %}
23
+
24
+ {%- if dlr.variable_groups %}
25
+ <VARIABLE-GROUPS>
26
+ {%- for vg in dlr.variable_groups -%}
27
+ {{ pdv.printVariableGroup(vg)|indent(4) }}
28
+ {%- endfor -%}
29
+ </VARIABLE-GROUPS>
30
+ {%- endif %}
31
+
32
+ {%- if dlr.parent_refs %}
33
+ <PARENT-REFS>
34
+ {%- for parent in dlr.parent_refs -%}
35
+ {{ pparref.printParentRef(parent)|indent(4) }}
36
+ {%- endfor %}
37
+ </PARENT-REFS>
38
+ {%- endif %}
39
+ </FUNCTIONAL-GROUP>
40
+ {%- endmacro %}
@@ -0,0 +1,24 @@
1
+ {#- -*- mode: sgml; tab-width: 1; indent-tabs-mode: nil -*-
2
+ #
3
+ # SPDX-License-Identifier: MIT
4
+ -#}
5
+
6
+ {%- import('macros/printDiagLayer.xml.jinja2') as pdl %}
7
+ {%- import('macros/printComparamRef.xml.jinja2') as pcom %}
8
+
9
+ {%- macro printHierarchyElementAttribs(helem) -%}
10
+ {{- pdl.printDiagLayerAttribs(helem) -}}
11
+ {%- endmacro -%}
12
+
13
+ {%- macro printHierarchyElementSubtags(helem) -%}
14
+ {%- set dlr = helem.hierarchy_element_raw %}
15
+ {{- pdl.printDiagLayerSubtags(helem) }}
16
+ {%- if dlr.comparam_refs %}
17
+ <COMPARAM-REFS>
18
+ {%- for cp in dlr.comparam_refs -%}
19
+ {{ pcom.printComparamRef(cp)|indent(2) }}
20
+ {%- endfor %}
21
+ </COMPARAM-REFS>
22
+ {%- endif %}
23
+
24
+ {%- endmacro %}
@@ -0,0 +1,30 @@
1
+ {#- -*- mode: sgml; tab-width: 2; indent-tabs-mode: nil -*-
2
+ #
3
+ # SPDX-License-Identifier: MIT
4
+ -#}
5
+
6
+ {%- import('macros/printHierarchyElement.xml.jinja2') as phe %}
7
+ {%- import('macros/printComparamRef.xml.jinja2') as pcom %}
8
+ {%- import('macros/printParentRef.xml.jinja2') as pparref %}
9
+
10
+ {%- macro printProtocol(protocol) -%}
11
+ <PROTOCOL {{- phe.printHierarchyElementAttribs(protocol) -}}>
12
+ {{ phe.printHierarchyElementSubtags(protocol) | indent(2) }}
13
+ {%- set dlr = protocol.protocol_raw %}
14
+
15
+ {%- set cps_docfrag = dlr.comparam_spec_ref.ref_docs[-1] %}
16
+ <COMPARAM-SPEC-REF ID-REF="{{dlr.comparam_spec_ref.ref_id}}" DOCREF="{{cps_docfrag.doc_name}}" DOCTYPE="{{cps_docfrag.doc_type}}" />
17
+
18
+ {%- if dlr.prot_stack_snref is not none %}
19
+ <PROT-STACK-SNREF SHORT-NAME="{{ dlr.prot_stack_snref }}" />
20
+ {%- endif %}
21
+
22
+ {%- if dlr.parent_refs %}
23
+ <PARENT-REFS>
24
+ {%- for parent in dlr.parent_refs -%}
25
+ {{ pparref.printParentRef(parent)|indent(4) }}
26
+ {%- endfor %}
27
+ </PARENT-REFS>
28
+ {%- endif %}
29
+ </PROTOCOL>
30
+ {%- endmacro %}
odxtools/variablegroup.py CHANGED
@@ -1,9 +1,11 @@
1
1
  # SPDX-License-Identifier: MIT
2
+ import typing
2
3
  from dataclasses import dataclass
3
- from typing import TYPE_CHECKING, List
4
+ from typing import TYPE_CHECKING, List, runtime_checkable
4
5
  from xml.etree import ElementTree
5
6
 
6
7
  from .element import IdentifiableElement, NamedElement
8
+ from .nameditemlist import NamedItemList
7
9
  from .odxlink import OdxDocFragment
8
10
  from .utils import dataclass_fields_asdict
9
11
 
@@ -11,6 +13,14 @@ if TYPE_CHECKING:
11
13
  pass
12
14
 
13
15
 
16
+ @runtime_checkable
17
+ class HasVariableGroups(typing.Protocol):
18
+
19
+ @property
20
+ def variable_groups(self) -> NamedItemList["VariableGroup"]:
21
+ ...
22
+
23
+
14
24
  @dataclass
15
25
  class VariableGroup(IdentifiableElement):
16
26
 
odxtools/version.py CHANGED
@@ -12,5 +12,5 @@ __version__: str
12
12
  __version_tuple__: VERSION_TUPLE
13
13
  version_tuple: VERSION_TUPLE
14
14
 
15
- __version__ = version = '7.4.0'
16
- __version_tuple__ = version_tuple = (7, 4, 0)
15
+ __version__ = version = '8.0.0'
16
+ __version_tuple__ = version_tuple = (8, 0, 0)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: odxtools
3
- Version: 7.4.0
3
+ Version: 8.0.0
4
4
  Summary: Utilities to work with the ODX standard for automotive diagnostics
5
5
  Author-email: Katrin Bauer <katrin.bauer@mbition.io>, Andreas Lauser <andreas.lauser@mbition.io>, Ayoub Kaanich <kayoub5@live.com>
6
6
  Maintainer-email: Andreas Lauser <andreas.lauser@mbition.io>, Ayoub Kaanich <kayoub5@live.com>
@@ -19,21 +19,18 @@ odxtools/complexdop.py,sha256=AHkHMf_IEWfy-_zSiCuZXmdTNCXiCOpg5GRZ5uMVV5A,280
19
19
  odxtools/createanycomparam.py,sha256=RP0XA2Ut4GL2NWy05RvKBrTnpbvvCG2XuNL8OO-9rbI,617
20
20
  odxtools/createanydiagcodedtype.py,sha256=0DVmMj4UCDYIg0zu9pgTplyhHmRedz1KJcchq1uKMjg,1216
21
21
  odxtools/createecuvariantpatterns.py,sha256=FXHLGR4M791MRkpU2_keck88hoMYkuyPiCUxuGbUasQ,559
22
- odxtools/database.py,sha256=-Katk2OwVxetB09b9NET8e-uNDDCasJP1_DizOlGubg,7062
22
+ odxtools/database.py,sha256=SKLWsUtNR5Ai81uYxBVOgz7Na91m6rKzC7WBHL15u40,8612
23
23
  odxtools/dataobjectproperty.py,sha256=R5sOMIejzcTB-CXTRrL2dWnFwR08eInF531s3l9BQcI,5888
24
24
  odxtools/decodestate.py,sha256=jJxLUzUYZ0C4t18FhJzo2iRTP8DF7BzrWLtRTTlLsJI,4885
25
25
  odxtools/description.py,sha256=UoACftC_n7fQ1n9WDwCzizStMH0HCO2Qv0YLRaSjEgs,1484
26
26
  odxtools/determinenumberofitems.py,sha256=DxM9udr1MQfEojiLdc35bbjniQl1fkeHcTMpoo9AfPI,1558
27
27
  odxtools/diagcodedtype.py,sha256=LeL4UzaDM70XN2ec-4c7pdE6Z671TQTS7ivC8XNbd8M,4620
28
- odxtools/diagcomm.py,sha256=G9eLLGAiglOtOHYfL5x3JqDCSMuPGZwyrXnvFUEJvqs,8071
28
+ odxtools/diagcomm.py,sha256=j8esUkogoxHBwIEUBkAoXe28jX3vaRnnrgCR_gdP6VY,8110
29
29
  odxtools/diagdatadictionaryspec.py,sha256=2zy5f-xnfGI0bnjPOEwG_IJxfsHhXZoOfdIS_fOr3L0,10552
30
- odxtools/diaglayer.py,sha256=Sj0hlEGSat7kmYqZlmmtJripuxNyZZtRYm01AuDIM10,48789
31
- odxtools/diaglayercontainer.py,sha256=dPEmI72fObAlKZvBfd5nkQVjSTuC3-mEm3-YebJagm0,6041
32
- odxtools/diaglayerraw.py,sha256=kRWNG2WznCte8A3HhSniAg0KnjJB2ALJk1cOjrDEBRo,17948
33
- odxtools/diaglayertype.py,sha256=FXL-EVBdrAURuHSHo9OthFuEYEybQO66aMB1o2GxVdI,1340
30
+ odxtools/diaglayercontainer.py,sha256=0JC6ioUGe5c8FzXRotyGEGMMDz8fzKCsK204tGN3cAo,6524
34
31
  odxtools/diagnostictroublecode.py,sha256=jKtO8JqU0HRpeSyrcHn4s21N4Jj-p19WVP-qw2H98gY,2459
35
32
  odxtools/diagservice.py,sha256=ZNj7XbBPcNkrG0MLd8WoFcCneBmz9uU2Lpi8gtUF0mQ,10188
36
- odxtools/diagvariable.py,sha256=xSVHrhL_1PEJOtZvy9GdV7ixhR35C6wEBO_-W7KO6ss,3644
33
+ odxtools/diagvariable.py,sha256=KUyRCV-H5xKITWYk9wxDnaS_N2nwDFGQzHaQRfNndKA,3829
37
34
  odxtools/docrevision.py,sha256=m57a4lCWeR6QvNNxtwUNpLXAMgSq29ks1HorxoipFVk,2698
38
35
  odxtools/dopbase.py,sha256=JMqlMNKyZJlXwcBFROetCIy1RsK-V_mSCR0MDuA-G5Y,2493
39
36
  odxtools/dtcdop.py,sha256=BXo2wnAQVw0zn9NAatUp-_MJjRmjMXy_H5iEAQ70B10,8168
@@ -41,7 +38,7 @@ odxtools/dynamicendmarkerfield.py,sha256=SdG1WfQi0e3IWL-Yza27umMo3VtflCGlyjOxGVv
41
38
  odxtools/dynamiclengthfield.py,sha256=Us0qRvkRPId7xSNKrYdsr1AhVFdTBezRMCBhXl98E00,5273
42
39
  odxtools/dyndefinedspec.py,sha256=ErtMIFVAB-E-ujTUwLXxsheGOOFkhNy6zCXs4cp7biE,7657
43
40
  odxtools/dynenddopref.py,sha256=SYXrmRUQoLWD4UI3WV92oA5rNhxbDuRv6H1MeXeuWhM,1199
44
- odxtools/ecuvariantmatcher.py,sha256=FO85WesRmkssSsTrjW8Ehg87FRmv1oHTkH5jPwumWYI,6882
41
+ odxtools/ecuvariantmatcher.py,sha256=muZfBcHVUQFXn3mBRwLtQ2asGV1oDYkDrBwZ9WYuLKU,6848
45
42
  odxtools/ecuvariantpattern.py,sha256=Xp2NpS13sVvyOjy2PgxLvXPptAfmYSH_KDIjqYByZHs,863
46
43
  odxtools/element.py,sha256=7JlWYW_KERDpYPfofdfRwT8UQBI94B_iEmhNCM7jUi8,1230
47
44
  odxtools/encodestate.py,sha256=yxeql949uvlB2WnsF0jVcMJ6PvaoYcGB7M0OuB4Afj0,10008
@@ -49,7 +46,7 @@ odxtools/endofpdufield.py,sha256=mGkhTj-YGdJ4EHMsK3AlWV6G_KLWI4ymiFKbY8U2W50,335
49
46
  odxtools/environmentdata.py,sha256=_wSKhV_NuMG6UPMnpOxz6mVjvrXsd2mtqqT7VKSSxHU,1414
50
47
  odxtools/environmentdatadescription.py,sha256=4LzDitFyxAJF1v3vPTbkrZsADWabMj60WPPa7wb9c2U,9570
51
48
  odxtools/exceptions.py,sha256=ZApQkhOJ9gn4jk0uO1wmULn5PhNEl1aMYMSHDoXihh0,2714
52
- odxtools/field.py,sha256=NUXouwwdUQW-oCikOzZxKv0dMN9ELQeEVFpwKBWBAqE,3916
49
+ odxtools/field.py,sha256=pdQpWxybPsiQ4oFKtvnjIEcQXV2WD0qH-NnBV54KMcI,3860
53
50
  odxtools/functionalclass.py,sha256=IfhxKd02WNGftjSMyBJ8RsxVZgTBxzUM0h6EKHVrrxY,951
54
51
  odxtools/globals.py,sha256=P6YbgyTSWHMw3sk5cEzsCvVaLrTiakLvewTgySb1jLo,139
55
52
  odxtools/inputparam.py,sha256=lyffK4UBG2d_0JzIaf1QZCsPXFti6gejiIWRSdr-CYA,1841
@@ -57,7 +54,7 @@ odxtools/internalconstr.py,sha256=QKEkaOcrFoL9xID-oHWWkeg-vtcPV6RFOW1fX2K3pwg,13
57
54
  odxtools/isotp_state_machine.py,sha256=O6v29IK7p_4gFqrr-fahnbp9Qmo78EEQfEwRsA_Vfjw,13339
58
55
  odxtools/leadinglengthinfotype.py,sha256=mtq38k74hEh_CUY7NbVwdCc_aqKr7v5ABoS_SlKVXyI,4185
59
56
  odxtools/loadfile.py,sha256=hi8jVE7B1G9gklsb7MrGrp4aOAI65j0kNwvDeEEEN2k,1744
60
- odxtools/matchingparameter.py,sha256=DFS2sm351H-a_8UC1zaRoPjwel8U9EhrWulMDJzcKeg,2231
57
+ odxtools/matchingparameter.py,sha256=2cqaxFCZ28GvvUKCIM-jas3ae4eYGbULbkBlb3aH5RY,2232
61
58
  odxtools/message.py,sha256=07GekN1MbYXm7HaUITDKTj2lBmGK-LB9W8gtBmfAOew,1057
62
59
  odxtools/minmaxlengthtype.py,sha256=eF78Zb77f6Q6-JXdP3AjqmqNWo4KhGWb-_PVHT7Exmg,8906
63
60
  odxtools/modification.py,sha256=oyyFsYHixy6XHOdqqTCx3IIkTAKlSN9wxBpNpvhUaJA,838
@@ -65,15 +62,15 @@ odxtools/multiplexer.py,sha256=NW3vjajt5LleDY_rYWCzOkPLF1xSIxutyUR4uanSwLg,9935
65
62
  odxtools/multiplexercase.py,sha256=ObUQIf41UM3tQuECwPLks2Iff_FbN7A-W4Vh6zxSKNs,3177
66
63
  odxtools/multiplexerdefaultcase.py,sha256=u3YxZZawhXTOdrC5ltt1YNNaDMGrbL9qsz6PTKrPdSM,2104
67
64
  odxtools/multiplexerswitchkey.py,sha256=fnCpPcg47JQZQsrqS2RAa_O-JrfUb0pvhKv8hhs1RXQ,1551
68
- odxtools/nameditemlist.py,sha256=JgolDW_PCa5tHjGIGBwzhWtcre6JisVvv3onFk3dGKE,6539
65
+ odxtools/nameditemlist.py,sha256=kPNab44E3cSHXjih7MDgjLBARb98PGB2qcPnM_445O4,6550
69
66
  odxtools/negoutputparam.py,sha256=u2IhJvy6n19t3nyADGG0H0XTm7JNdQ0-95FawGAdtiE,1373
70
67
  odxtools/obd.py,sha256=WsUbhdonqQJtxf972CUdYL78AMMTVjMQhoCJbaZhRIo,1860
71
68
  odxtools/odxlink.py,sha256=YoEovTx5T8c5YFJPa2CSxk_gwRfP8miGCwicHbpqQNg,9259
72
69
  odxtools/odxtypes.py,sha256=BUOoYMHEV7SiWH3zeFURtpWeOuv89Ojg1hhzPl3lvdk,7525
73
70
  odxtools/outputparam.py,sha256=e9YvdJvKlX-GOdmu2vCPO6BZEyOLuOsYEdvtC5ISLHM,1636
74
- odxtools/parameterinfo.py,sha256=xXYHVD2KeZL3LgwyWnebulX4pQ8GWTNgpbXavJZa1RY,8226
71
+ odxtools/parameterinfo.py,sha256=hsUqlTnMJ-s6QbA6-X7rN6b6NfdnagJ1u_1JLLuYRqo,8564
75
72
  odxtools/paramlengthinfotype.py,sha256=vhgvCPIRnyCF9t8yhkYf5MsHXQhWWeEgz_kS8AbiONQ,4700
76
- odxtools/parentref.py,sha256=D7OECnuPDpDDdfLNu-4pPZCMVmE2wAwtJx5hzp2LFoU,3740
73
+ odxtools/parentref.py,sha256=kcY3VMyVaIUWD0iVNX8sD9qeI4peU8gijboquu0zD7E,3751
77
74
  odxtools/physicaldimension.py,sha256=iaf7LIJEiEoV3WniybEpDvGgL4Z_iWCjo1HlQy663GU,3359
78
75
  odxtools/physicaltype.py,sha256=oYjOhdrTVCJcLLBYgy6pxKsZHpuwm1vZ8svwSjsUB6E,2699
79
76
  odxtools/progcode.py,sha256=ZoGf6X7qH3TT8zSr3bQAYwPb0Il4V6vSLWgdTnlj88Y,2169
@@ -85,7 +82,7 @@ odxtools/response.py,sha256=-E7IKlocsg4EC5F0txoNXZloZBAqFVfrRnzXKAzFl2U,1808
85
82
  odxtools/scaleconstr.py,sha256=xSH8kmld5Gg1lVgjLWTZINEtDn2a3HemVqlXiHsl4Fs,1783
86
83
  odxtools/servicebinner.py,sha256=TId3D3XHa98zbyC1sGWacQUlIZ5e2Egklelv6_Ra2II,3861
87
84
  odxtools/singleecujob.py,sha256=rlpReb9816abYX0oihYXMkIQo8hnzbUkZqkTvX-IRZ4,3920
88
- odxtools/snrefcontext.py,sha256=iIQIHedr7ofIhIjl6IHmb7KNPQSardbVxqVM09hHL5M,942
85
+ odxtools/snrefcontext.py,sha256=5ZbrZiX1gw6LC6o62RPuxzSo4tDR2LqRQ9w9Vi57FA8,953
89
86
  odxtools/specialdata.py,sha256=5-1D_6dcEmi-TodCzCoBZK7gqeDY-cuRe1ybkTh4rBY,1033
90
87
  odxtools/specialdatagroup.py,sha256=y2fMwWVX5h7W7-gBi6izlvdc26bkYRYXKNbinNel3RM,3070
91
88
  odxtools/specialdatagroupcaption.py,sha256=pIa1l6EXVDXBisUtRkn6hTzAcUXFnXJoWstesayLfME,987
@@ -104,21 +101,21 @@ odxtools/unit.py,sha256=zzQlQGAct6G0dARTlqBlhqnkg2iixkViI4VScLWrnP4,3667
104
101
  odxtools/unitgroup.py,sha256=_WNpnYFmkiHQnOY8XhIviiQLXziY3kplH--7ufAWXyI,2067
105
102
  odxtools/unitspec.py,sha256=bc3B6ysTXSxpNWyQ6cQVJgIGyxmeqRTeshc3bdym1iA,2948
106
103
  odxtools/utils.py,sha256=PJFXkG74BzoheurrDYOwHZ6EuIcr1sdxf1tQGk6zSgs,1122
107
- odxtools/variablegroup.py,sha256=Rm41-ESXi7urIHiIuW5hKjCjiOtx0LR5lFC9Yye_1-E,619
108
- odxtools/version.py,sha256=HfuUtr1juxBpnbAjLDYlq6YyUV6emrCTcttw-JVfOqI,411
104
+ odxtools/variablegroup.py,sha256=--5sMDOMUg4I3hFyoVOFcGCTOrctrrMADdmH3Mn4wHk,848
105
+ odxtools/version.py,sha256=W5KWuf57BrC3TjPFa46hFwhhB9tlBKsI6z34ep3gqxA,411
109
106
  odxtools/writepdxfile.py,sha256=x3W2xiPVjzNZjfpJssY6ngkx74sZtb95OFmBHql1VY4,7766
110
107
  odxtools/xdoc.py,sha256=gDq-8l8x-Tj1ZJOttPxZchcO5_jEPwcXxMgT29VgTS0,1433
111
108
  odxtools/cli/__init__.py,sha256=T7ano_FIyzBASxYpmcA5VJXU5bQLIy_Qk0HE_SDKelY,106
112
109
  odxtools/cli/_parser_utils.py,sha256=p0L9NYYnml5ydfD22oC04EMhz8PKHgU40GPOPkybZwg,1116
113
- odxtools/cli/_print_utils.py,sha256=HD1upA7CHBU72PGmHXQxPOg-b7X2tc67BnojV7W_Jis,10365
114
- odxtools/cli/browse.py,sha256=76VntY23LCZUHQsjHJyFubLk65V7G1NZvg3__oAMXV8,15909
115
- odxtools/cli/compare.py,sha256=jH3TKOFoSMDxK1ierLbeMiTbSLh-tyhB7sKIGhTjgHc,36767
110
+ odxtools/cli/_print_utils.py,sha256=uR3CTMD1XYCfZk-HVkdo2w8XzmTc7qar1Nh_Kow7nEU,10413
111
+ odxtools/cli/browse.py,sha256=jOQoVabpPx9wyrOGZwApFElON1KzdyynK1f6GcwxwNM,16051
112
+ odxtools/cli/compare.py,sha256=In5x66Y-vT85v7zZr5P50NgJXJl4P_ZbNg8uihOji9E,36778
116
113
  odxtools/cli/decode.py,sha256=7tAUUyfJPaKNwVJfFZ61qGVc97i03wgb_wr2pAH_JWQ,4315
117
114
  odxtools/cli/dummy_sub_parser.py,sha256=F2N_lRrxuU-beORcyrJ4bdbRsQl42-aPEBtyPJ74Tvo,1466
118
115
  odxtools/cli/find.py,sha256=GZKzvsOus1Zv8n3nAG-ZsPgWJpB7z3wNxeqKtAL5mAo,4394
119
- odxtools/cli/list.py,sha256=sOHGyGTHSaL3cFHSaErHh4kwXkuhS-02HblOTKHg2xw,8491
116
+ odxtools/cli/list.py,sha256=4cJS7JbODR2aLwM_1QNutei4MIlZ4nvIMdLfR9mP1gw,9050
120
117
  odxtools/cli/main.py,sha256=_zPCU6N2ofpj_jQuQ_BU5EafBpMW0srhahZI8BgAM-0,2335
121
- odxtools/cli/snoop.py,sha256=t0RstKjDRdx9_mlgALyKqj7pi8JCVMmyO5mGEmYj2VQ,9590
118
+ odxtools/cli/snoop.py,sha256=z8USSpmz18VAvkGpzepeaOlVJhi-8aeW10XRylsvZLU,10610
122
119
  odxtools/compumethods/compuconst.py,sha256=14JIJXVKSe4bPWb5JyKXB6tAASMcWznExE1w6z1SMoc,806
123
120
  odxtools/compumethods/compudefaultvalue.py,sha256=Lw8Fnm854dpNCvO8waKWg_hSRyW-NwvoQFFjyW3RHwY,980
124
121
  odxtools/compumethods/compuinternaltophys.py,sha256=7SCW_lpnBq-hlKBjkuc_wII3idxgHrsuB9K2vOJfTiI,1512
@@ -135,6 +132,21 @@ odxtools/compumethods/linearsegment.py,sha256=_v5XwcwZ3IC3WXaRejmY_kDo1ccew4YCrB
135
132
  odxtools/compumethods/scalelinearcompumethod.py,sha256=o_Re17G4XlCn-XbStnvlTs9XVN4h71mkkYyIOii-7w4,5895
136
133
  odxtools/compumethods/tabintpcompumethod.py,sha256=Gyf2qV5y53SHIcum5d5HQVGszoZCdu47jxMCQ6yKdQk,8065
137
134
  odxtools/compumethods/texttablecompumethod.py,sha256=vDYafbM0YaipjfN0NSlCFMiIPvp8waMNj3thNcwuYgk,5929
135
+ odxtools/diaglayers/basevariant.py,sha256=mXS-SF-tcwtdV-rxZZCH6_yqdA-yhtMX1SGo1MS8w7k,4452
136
+ odxtools/diaglayers/basevariantraw.py,sha256=sEjOjY6O3q44_WrcWlVRso5SUD-Lv1VLgtCikU_bWLU,4377
137
+ odxtools/diaglayers/diaglayer.py,sha256=QGRS2jeqAsR8GbNRzX5u-rzQy-pNG9l5HRMyArX3-I0,15930
138
+ odxtools/diaglayers/diaglayerraw.py,sha256=dC8PvvdRCvvp-J_74sFecqBoTYaMj1E5A8b6grtlvvs,11936
139
+ odxtools/diaglayers/diaglayertype.py,sha256=FXL-EVBdrAURuHSHo9OthFuEYEybQO66aMB1o2GxVdI,1340
140
+ odxtools/diaglayers/ecushareddata.py,sha256=QoV50wQIrJ2-faLtU1P7RrjdacbhPY2BfUtVtIyWqCM,3347
141
+ odxtools/diaglayers/ecushareddataraw.py,sha256=VBVaCSec4ZHfTqc3l_BszGULYmv9wI6aFLgvugJY3Xk,3079
142
+ odxtools/diaglayers/ecuvariant.py,sha256=OsLWg-dx6OJ_OPuYcgoTJuDXEReaJclDRbU5YKqrtBA,4368
143
+ odxtools/diaglayers/ecuvariantraw.py,sha256=PpvvAoegaejpoOdto-0CxUiCU0KM_Wm7NzjNlBm9vP8,4648
144
+ odxtools/diaglayers/functionalgroup.py,sha256=o5bUGGDYisr7CjHZZh83fokA80f0s0zpHC_501cg-f0,4093
145
+ odxtools/diaglayers/functionalgroupraw.py,sha256=CHzSwHzG27sCD2pvG9EoPZynDs1bFA5pIX1GyglUmwM,3667
146
+ odxtools/diaglayers/hierarchyelement.py,sha256=GWM7Gc4nLQlWMe8wjSY-fvyKlI7uAvqcmit3B1Zvcy0,37061
147
+ odxtools/diaglayers/hierarchyelementraw.py,sha256=ivhSrmRrEkCmU9NENFwzxqAC4k2XOa88SQ7azU8q94g,1762
148
+ odxtools/diaglayers/protocol.py,sha256=ypIhfySB6F16Y48XLZIPL36GfrKUznTCmiJ0ROIxYJo,2083
149
+ odxtools/diaglayers/protocolraw.py,sha256=fmk5LYB-mrfUYxjJf1REkdY_jSqQgNQ3L5SleBvDwGo,2955
138
150
  odxtools/parameters/codedconstparameter.py,sha256=g34JJxQkyL5R27XiGCgkXyt7UzxFtBhZgv_FbTe2aiQ,3893
139
151
  odxtools/parameters/createanyparameter.py,sha256=m26HHUQrxwDak3eBBciVBLic768Qlo4F2xn1z3r0boM,2566
140
152
  odxtools/parameters/dynamicparameter.py,sha256=mdZx12XbhTSYVVuXEsPYRll3zaHjbHIYIzA6yUy4zck,1569
@@ -142,7 +154,7 @@ odxtools/parameters/lengthkeyparameter.py,sha256=WSpSIbxFmEwBov6Jj5Ubj9gMr46Ogrd
142
154
  odxtools/parameters/matchingrequestparameter.py,sha256=VNYIpmP_Yt_pzMHPgGWZk1XYH5liIdyawNIwIR1Cbvw,2897
143
155
  odxtools/parameters/nrcconstparameter.py,sha256=SjTHQlaBzvyUATyOzSFFWCcdkTeHcaoKO54kTomzb6Y,4823
144
156
  odxtools/parameters/parameter.py,sha256=K6UU0vQV010n-7oov9uibN7u5-cIp-r68Vfaz7jJqR0,5945
145
- odxtools/parameters/parameterwithdop.py,sha256=fBkyOfDbbQosHCx3Phg2BZ-8kBwQUgSN0_XfCAaYmoA,3308
157
+ odxtools/parameters/parameterwithdop.py,sha256=k7yJABRmHQTZNTEEPjyq3tBXJD4Aey365HpP7SGsEgk,3283
146
158
  odxtools/parameters/physicalconstantparameter.py,sha256=2iC6EKVJZVHwVVmd4h8KJ6OLc7B5QOUawivQMqWPCRA,3593
147
159
  odxtools/parameters/reservedparameter.py,sha256=8XQocU3_ExRZzXYEkITj535TTEUCNK87wIkrUTizgvI,1989
148
160
  odxtools/parameters/systemparameter.py,sha256=bDz0zV_FNiUDyqI3DUKRAa9F3Pm1yjp_su5ib4JemlA,1779
@@ -152,32 +164,39 @@ odxtools/parameters/tablestructparameter.py,sha256=Doym0Tybi_t8w7nqM9n_ZAFwRWm-y
152
164
  odxtools/parameters/valueparameter.py,sha256=khsmiaLhpW2PjUKQaAkntwurxsml3TUzNwaZCaWNS50,3063
153
165
  odxtools/templates/comparam-spec.odx-c.xml.jinja2,sha256=esdk5C0rjG6azzA1uZYiC-9Hzhqtn_d654AFq8VRa6g,1525
154
166
  odxtools/templates/comparam-subset.odx-cs.xml.jinja2,sha256=9desdk8puFzysHAeLSoZOBxM1d3EzjbnlqlhVsU-Kmc,2481
155
- odxtools/templates/diag_layer_container.odx-d.xml.jinja2,sha256=nr1LMD8_fJF7rNaq1gERufbgf36aHqfzD95kg4sMQCc,2026
167
+ odxtools/templates/diag_layer_container.odx-d.xml.jinja2,sha256=YC4-jWVRoFqD_zd2Sd5FKnAlYsGYGVm9n2uXQ6kXqW8,2388
156
168
  odxtools/templates/index.xml.jinja2,sha256=dX7QZA3G5Au2BMbXWMMyF2K1aR6i3go-0E5dY3Z9hWE,636
157
169
  odxtools/templates/macros/printAdminData.xml.jinja2,sha256=YTB_CbhnALF6RIbE0XKQHRbC6c0PSZ_DxdrRHgqMD_s,2590
158
170
  odxtools/templates/macros/printAudience.xml.jinja2,sha256=IiAogxtEIo6qg7iZm1plQtrM4nkl6jj9GhIv5QI5ETM,1278
171
+ odxtools/templates/macros/printBaseVariant.xml.jinja2,sha256=l4Jp8v9ZfPXvIisqVLgTpzc5UdYGeIocY4vAcgCiiaE,1480
159
172
  odxtools/templates/macros/printBasicStructure.xml.jinja2,sha256=V5oWGZesU_U5pvPO3Rtlodc7sxe5mFWY-uURLnQ8OfQ,614
160
173
  odxtools/templates/macros/printCompanyData.xml.jinja2,sha256=-F5xfUbjFAee7E__lgLCXC8a9xn15t_MDfxv6BzbKGA,2965
161
174
  odxtools/templates/macros/printComparam.xml.jinja2,sha256=rhoJO78urhjO07kuX0p_PRwfRHPIp2BPRu-eQ-USe6I,2392
162
175
  odxtools/templates/macros/printComparamRef.xml.jinja2,sha256=rBhrdUnp605fsUN9SaljpyaAojzaLBvTbkOuduKod18,1274
163
- odxtools/templates/macros/printCompuMethod.xml.jinja2,sha256=ME-QFuJAkJeNfBEl1DMquoujtIWsdymtfLxJ6Wj3wGE,4390
176
+ odxtools/templates/macros/printCompuMethod.xml.jinja2,sha256=6eW1IgjPDwtW9qvA24Tx1wFtGFfJ0k10Gne5HoQpy4U,4394
164
177
  odxtools/templates/macros/printDOP.xml.jinja2,sha256=1i8s6Z9zR6C5WRngxXPMGaHhoaZsJSEfWsggjfxnRqY,5138
165
178
  odxtools/templates/macros/printDescription.xml.jinja2,sha256=zsPzVuM4cZJr0RlUYKQ-tGVDNVRO0yAs_pYetFHme3s,450
166
179
  odxtools/templates/macros/printDiagComm.xml.jinja2,sha256=eIKtu3xEmoQllyNYOWQx5Iv2oljKSg3lR6V4As-SFE0,2231
180
+ odxtools/templates/macros/printDiagLayer.xml.jinja2,sha256=V4CYnhnRLUPBhjE-l4kWpG3Hzym-9ddO0q9Kp2ypflU,6456
167
181
  odxtools/templates/macros/printDiagVariable.xml.jinja2,sha256=7Fa0DFyeEUDUxgM0IUsj_BXC2-csLSv1xjiUT1yauis,2531
168
182
  odxtools/templates/macros/printDynDefinedSpec.xml.jinja2,sha256=uX3C40VmlbH7sndlJNyTvq8upzaoq8vCk6S93gtpFIY,1742
169
183
  odxtools/templates/macros/printDynamicEndmarkerField.xml.jinja2,sha256=EvUOkfVsNAT61B5OApyE7Yh45C_A_iBg9gCTiq_td7w,579
170
184
  odxtools/templates/macros/printDynamicLengthField.xml.jinja2,sha256=YCwgKV2na49mlHQQmI8L85ZYqUktaYuNil-K6rp4BR8,776
185
+ odxtools/templates/macros/printEcuSharedData.xml.jinja2,sha256=WK08eoDFEjj9o3eOuy__H0r9ioo688rTuQp6uXE6Tdo,820
186
+ odxtools/templates/macros/printEcuVariant.xml.jinja2,sha256=Nsgj2VUWZvSDFPQsn6wv75M9TaryOB-tlQYCVq9hDEM,1594
171
187
  odxtools/templates/macros/printEcuVariantPattern.xml.jinja2,sha256=uSUrX1n2YVw6tt1-A0Lmlgy_W3dxW4r8bVErdrf_6vk,846
172
188
  odxtools/templates/macros/printElementId.xml.jinja2,sha256=wuCXYyXlg50zgUvukxScHN_SCH8YEATjkcqvwsC9aNw,389
173
189
  odxtools/templates/macros/printEndOfPdu.xml.jinja2,sha256=_BwCjD0iBya3JFRi_XcUrq8nwR96O7Tw6TeRu3t6Tgs,671
174
190
  odxtools/templates/macros/printEnvData.xml.jinja2,sha256=2Goatqb66d-pCf9wqJDXn1EZWNhkQ8FJANKQMOnxuJs,609
175
191
  odxtools/templates/macros/printEnvDataDesc.xml.jinja2,sha256=23d4XOrHD6O-JHGVYbwnLVJWwaw3al1kneSsP2EIW0Q,580
176
192
  odxtools/templates/macros/printFunctionalClass.xml.jinja2,sha256=7Jtf_xB3bBcvjK_fXXHYTDXqcxMU4eBnJeZgLPKjFmg,321
193
+ odxtools/templates/macros/printFunctionalGroup.xml.jinja2,sha256=zIeZbhf8haXhgJJUPiOnMe3lvqvfye4-zmwWDQJxFtQ,1159
194
+ odxtools/templates/macros/printHierarchyElement.xml.jinja2,sha256=GD6iNIE0Wu0QsJ8uLtwEV8N9t6mIhI00_KpCVzOVQBM,651
177
195
  odxtools/templates/macros/printMux.xml.jinja2,sha256=EL9sCWzqC3iaBPsrTINUo03zGGMrU-bWbJ3f0U5CBIQ,1861
178
196
  odxtools/templates/macros/printParam.xml.jinja2,sha256=BKvKvswnelCynXmz_rAsejMdtce6Fji2CkSteX5x0jI,3203
179
197
  odxtools/templates/macros/printParentRef.xml.jinja2,sha256=RllVKt2RgrMnWfsujGnBUiABwV2y4_ZfINYy7LXenPM,896
180
198
  odxtools/templates/macros/printProtStack.xml.jinja2,sha256=abss3fNe-e5CbFBI0WcRopP7omIV2POzT0qJ6Az7dUE,765
199
+ odxtools/templates/macros/printProtocol.xml.jinja2,sha256=1DXoRSq6z4dhpZnXWH3x9JPKCWmAmghjVgVFfizo41s,1028
181
200
  odxtools/templates/macros/printRequest.xml.jinja2,sha256=GazGOinjHp72ZhIZ8LVKpRxYcyYyNlBmEUNuN0cgntg,709
182
201
  odxtools/templates/macros/printResponse.xml.jinja2,sha256=QVU8dVCJm_Tv_Cy6SEun-fJBs2w9ASEfJeRs0LynZdA,675
183
202
  odxtools/templates/macros/printService.xml.jinja2,sha256=zvjOCELEx4yim2FtdNKiExTsDPkAfQAP4Gf_QsondfQ,1546
@@ -190,10 +209,9 @@ odxtools/templates/macros/printStaticField.xml.jinja2,sha256=JIXFhyNrnQ-2_vWy6Rx
190
209
  odxtools/templates/macros/printStructure.xml.jinja2,sha256=uswYs2xse0B9hZut_FN1GvvR0xsZa_3pZRnlF0ElEEc,559
191
210
  odxtools/templates/macros/printTable.xml.jinja2,sha256=VsP01jqyQllLP-brQ6J1E8ubVntiToEb8Uk7HQEYqtY,1485
192
211
  odxtools/templates/macros/printUnitSpec.xml.jinja2,sha256=AJ5jWYKRmoIZkrd25R1KmjjgU6pfOqRiOQHtUAuS6GI,2813
193
- odxtools/templates/macros/printVariant.xml.jinja2,sha256=sIGHn_jWuE_OkZIZa84tjb_aglMhbn79ynHx7_qdZDg,7831
194
- odxtools-7.4.0.dist-info/LICENSE,sha256=NeGPFQdTa6EKeON3aShVlPAIquJnbbiOfj0suz6rzyQ,1074
195
- odxtools-7.4.0.dist-info/METADATA,sha256=4FCezckXvWSEoG9mXsPJ51lEud4L8_Sb2Qoo__he9GQ,44084
196
- odxtools-7.4.0.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
197
- odxtools-7.4.0.dist-info/entry_points.txt,sha256=_sBDzuNoT8LbbCjfc-OJiUt5WPrtOq_x-rr9txhrPjY,53
198
- odxtools-7.4.0.dist-info/top_level.txt,sha256=pdS02kE5ZdgsaBRZDpX3NBFlaSx3zotsqX4E4V6tXEI,9
199
- odxtools-7.4.0.dist-info/RECORD,,
212
+ odxtools-8.0.0.dist-info/LICENSE,sha256=NeGPFQdTa6EKeON3aShVlPAIquJnbbiOfj0suz6rzyQ,1074
213
+ odxtools-8.0.0.dist-info/METADATA,sha256=Igh8fyFKmg4ygNCCAqC9eNsT01HhaUmZwXIqdh2vC-E,44084
214
+ odxtools-8.0.0.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
215
+ odxtools-8.0.0.dist-info/entry_points.txt,sha256=_sBDzuNoT8LbbCjfc-OJiUt5WPrtOq_x-rr9txhrPjY,53
216
+ odxtools-8.0.0.dist-info/top_level.txt,sha256=pdS02kE5ZdgsaBRZDpX3NBFlaSx3zotsqX4E4V6tXEI,9
217
+ odxtools-8.0.0.dist-info/RECORD,,