odxtools 6.7.1__py3-none-any.whl → 7.1.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.
- odxtools/basicstructure.py +102 -112
- odxtools/dataobjectproperty.py +3 -7
- odxtools/decodestate.py +1 -13
- odxtools/diagcodedtype.py +9 -96
- odxtools/diagcomm.py +11 -3
- odxtools/diagdatadictionaryspec.py +14 -14
- odxtools/diaglayer.py +52 -1
- odxtools/diaglayerraw.py +13 -7
- odxtools/diagservice.py +12 -16
- odxtools/dopbase.py +5 -8
- odxtools/dtcdop.py +21 -19
- odxtools/dynamicendmarkerfield.py +119 -0
- odxtools/dynamiclengthfield.py +39 -29
- odxtools/dynenddopref.py +38 -0
- odxtools/encodestate.py +188 -23
- odxtools/endofpdufield.py +33 -18
- odxtools/environmentdata.py +8 -1
- odxtools/environmentdatadescription.py +21 -15
- odxtools/field.py +4 -3
- odxtools/leadinglengthinfotype.py +25 -12
- odxtools/matchingparameter.py +2 -2
- odxtools/minmaxlengthtype.py +36 -26
- odxtools/multiplexer.py +42 -23
- odxtools/multiplexercase.py +3 -3
- odxtools/multiplexerdefaultcase.py +7 -3
- odxtools/nameditemlist.py +14 -0
- odxtools/odxlink.py +38 -4
- odxtools/odxtypes.py +20 -2
- odxtools/parameterinfo.py +126 -40
- odxtools/parameters/codedconstparameter.py +17 -13
- odxtools/parameters/dynamicparameter.py +5 -4
- odxtools/parameters/lengthkeyparameter.py +66 -17
- odxtools/parameters/matchingrequestparameter.py +23 -11
- odxtools/parameters/nrcconstparameter.py +42 -22
- odxtools/parameters/parameter.py +35 -42
- odxtools/parameters/parameterwithdop.py +15 -22
- odxtools/parameters/physicalconstantparameter.py +16 -16
- odxtools/parameters/reservedparameter.py +5 -2
- odxtools/parameters/systemparameter.py +3 -2
- odxtools/parameters/tableentryparameter.py +3 -2
- odxtools/parameters/tablekeyparameter.py +88 -39
- odxtools/parameters/tablestructparameter.py +45 -44
- odxtools/parameters/valueparameter.py +16 -17
- odxtools/paramlengthinfotype.py +30 -22
- odxtools/request.py +9 -0
- odxtools/response.py +5 -13
- odxtools/standardlengthtype.py +51 -13
- odxtools/statechart.py +5 -9
- odxtools/statetransition.py +3 -8
- odxtools/staticfield.py +30 -20
- odxtools/tablerow.py +5 -3
- odxtools/templates/macros/printDynamicEndmarkerField.xml.jinja2 +16 -0
- odxtools/templates/macros/printVariant.xml.jinja2 +8 -0
- odxtools/version.py +2 -2
- {odxtools-6.7.1.dist-info → odxtools-7.1.0.dist-info}/METADATA +1 -1
- {odxtools-6.7.1.dist-info → odxtools-7.1.0.dist-info}/RECORD +60 -57
- {odxtools-6.7.1.dist-info → odxtools-7.1.0.dist-info}/LICENSE +0 -0
- {odxtools-6.7.1.dist-info → odxtools-7.1.0.dist-info}/WHEEL +0 -0
- {odxtools-6.7.1.dist-info → odxtools-7.1.0.dist-info}/entry_points.txt +0 -0
- {odxtools-6.7.1.dist-info → odxtools-7.1.0.dist-info}/top_level.txt +0 -0
odxtools/statetransition.py
CHANGED
@@ -5,7 +5,7 @@ from xml.etree import ElementTree
|
|
5
5
|
|
6
6
|
from .element import IdentifiableElement
|
7
7
|
from .exceptions import odxrequire
|
8
|
-
from .odxlink import OdxDocFragment, OdxLinkDatabase, OdxLinkId
|
8
|
+
from .odxlink import OdxDocFragment, OdxLinkDatabase, OdxLinkId, resolve_snref
|
9
9
|
from .state import State
|
10
10
|
from .utils import dataclass_fields_asdict
|
11
11
|
|
@@ -55,10 +55,5 @@ class StateTransition(IdentifiableElement):
|
|
55
55
|
# chart. To mitigate this a bit, the non-standard parameters are
|
56
56
|
# keyword-only...
|
57
57
|
def _resolve_snrefs(self, diag_layer: "DiagLayer", *, states: Iterable[State]) -> None:
|
58
|
-
self._source_state
|
59
|
-
self._target_state
|
60
|
-
for st in states:
|
61
|
-
if st.short_name == self.source_snref:
|
62
|
-
self._source_state = st
|
63
|
-
if st.short_name == self.target_snref:
|
64
|
-
self._target_state = st
|
58
|
+
self._source_state = resolve_snref(self.source_snref, states, State)
|
59
|
+
self._target_state = resolve_snref(self.target_snref, states, State)
|
odxtools/staticfield.py
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# SPDX-License-Identifier: MIT
|
2
2
|
from dataclasses import dataclass
|
3
|
-
from typing import TYPE_CHECKING, Any, Dict, List
|
3
|
+
from typing import TYPE_CHECKING, Any, Dict, List, Sequence
|
4
4
|
from xml.etree import ElementTree
|
5
5
|
|
6
6
|
from typing_extensions import override
|
@@ -48,36 +48,39 @@ class StaticField(Field):
|
|
48
48
|
super()._resolve_snrefs(diag_layer)
|
49
49
|
|
50
50
|
@override
|
51
|
-
def
|
52
|
-
|
53
|
-
physical_value: ParameterValue,
|
54
|
-
encode_state: EncodeState,
|
55
|
-
bit_position: int = 0,
|
56
|
-
) -> bytes:
|
51
|
+
def encode_into_pdu(self, physical_value: ParameterValue, encode_state: EncodeState) -> None:
|
52
|
+
|
57
53
|
if not isinstance(physical_value,
|
58
|
-
|
54
|
+
Sequence) or len(physical_value) != self.fixed_number_of_items:
|
59
55
|
odxraise(f"Value for static field '{self.short_name}' "
|
60
56
|
f"must be a list of size {self.fixed_number_of_items}")
|
61
57
|
|
62
|
-
|
63
|
-
|
58
|
+
orig_is_end_of_pdu = encode_state.is_end_of_pdu
|
59
|
+
encode_state.is_end_of_pdu = False
|
60
|
+
for i, val in enumerate(physical_value):
|
64
61
|
if not isinstance(val, dict):
|
65
62
|
odxraise(f"The individual parameter values for static field '{self.short_name}' "
|
66
63
|
f"must be dictionaries for structure '{self.structure.short_name}'")
|
67
64
|
|
68
|
-
|
65
|
+
if i == len(physical_value) - 1:
|
66
|
+
encode_state.is_end_of_pdu = orig_is_end_of_pdu
|
69
67
|
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
68
|
+
pos_before = encode_state.cursor_byte_position
|
69
|
+
self.structure.encode_into_pdu(val, encode_state)
|
70
|
+
pos_after = encode_state.cursor_byte_position
|
71
|
+
|
72
|
+
if pos_after - pos_before > self.item_byte_size:
|
73
|
+
odxraise(
|
74
|
+
f"Insufficient item byte size for static field {self.short_name}: "
|
75
|
+
f"Is {self.item_byte_size} bytes, but need at least {pos_after - pos_before} bytes"
|
76
|
+
)
|
77
|
+
encode_state.cursor_byte_position = pos_before + self.item_byte_size
|
78
|
+
elif pos_after - pos_before < self.item_byte_size:
|
75
79
|
# add some padding bytes
|
76
|
-
|
80
|
+
encode_state.emplace_bytes(b'\x00' * (self.item_byte_size -
|
81
|
+
(pos_after - pos_before)))
|
77
82
|
|
78
|
-
|
79
|
-
|
80
|
-
return result
|
83
|
+
encode_state.is_end_of_pdu = orig_is_end_of_pdu
|
81
84
|
|
82
85
|
@override
|
83
86
|
def decode_from_pdu(self, decode_state: DecodeState) -> ParameterValue:
|
@@ -85,6 +88,10 @@ class StaticField(Field):
|
|
85
88
|
odxassert(decode_state.cursor_bit_position == 0,
|
86
89
|
"No bit position can be specified for static length fields!")
|
87
90
|
|
91
|
+
orig_origin = decode_state.origin_byte_position
|
92
|
+
orig_cursor = decode_state.cursor_byte_position
|
93
|
+
decode_state.origin_byte_position = decode_state.cursor_byte_position
|
94
|
+
|
88
95
|
result: List[ParameterValue] = []
|
89
96
|
for _ in range(self.fixed_number_of_items):
|
90
97
|
orig_cursor = decode_state.cursor_byte_position
|
@@ -98,4 +105,7 @@ class StaticField(Field):
|
|
98
105
|
|
99
106
|
decode_state.cursor_byte_position = orig_cursor + self.item_byte_size
|
100
107
|
|
108
|
+
decode_state.origin_byte_position = orig_origin
|
109
|
+
decode_state.cursor_byte_position = max(orig_cursor, decode_state.cursor_byte_position)
|
110
|
+
|
101
111
|
return result
|
odxtools/tablerow.py
CHANGED
@@ -9,7 +9,7 @@ from .dataobjectproperty import DataObjectProperty
|
|
9
9
|
from .dtcdop import DtcDop
|
10
10
|
from .element import IdentifiableElement
|
11
11
|
from .exceptions import odxassert, odxraise, odxrequire
|
12
|
-
from .odxlink import OdxDocFragment, OdxLinkDatabase, OdxLinkId, OdxLinkRef
|
12
|
+
from .odxlink import OdxDocFragment, OdxLinkDatabase, OdxLinkId, OdxLinkRef, resolve_snref
|
13
13
|
from .odxtypes import AtomicOdxType
|
14
14
|
from .specialdatagroup import SpecialDataGroup
|
15
15
|
from .utils import dataclass_fields_asdict
|
@@ -128,9 +128,11 @@ class TableRow(IdentifiableElement):
|
|
128
128
|
ddd_spec = diag_layer.diag_data_dictionary_spec
|
129
129
|
|
130
130
|
if self.structure_snref is not None:
|
131
|
-
self._structure =
|
131
|
+
self._structure = resolve_snref(self.structure_snref, ddd_spec.structures,
|
132
|
+
BasicStructure)
|
132
133
|
if self.dop_snref is not None:
|
133
|
-
self._dop =
|
134
|
+
self._dop = resolve_snref(self.dop_snref, ddd_spec.data_object_props,
|
135
|
+
DataObjectProperty)
|
134
136
|
|
135
137
|
for sdg in self.sdgs:
|
136
138
|
sdg._resolve_snrefs(diag_layer)
|
@@ -0,0 +1,16 @@
|
|
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
|
+
|
8
|
+
{%- macro printStaticField(demf) -%}
|
9
|
+
<DYNAMIC-ENDMARKER-FIELD ID="{{demf.odx_id.local_id}}">
|
10
|
+
{{ peid.printElementIdSubtags(demf)|indent(1) }}
|
11
|
+
<BASIC-STRUCTURE-REF ID-REF="{{demf.structure_ref.ref_id}}" />
|
12
|
+
<DYN-END-DOP-REF ID-REF="{{demf.dyn_end_dop_ref.ref_id}}">
|
13
|
+
<TERMINATION-VALUE>{{demf.dyn_end_dop_ref.termination_value_raw}}</TERMINATION-VALUE>
|
14
|
+
</DYN-END-DOP-REF>
|
15
|
+
</DYNAMIC-ENDMARKER-FIELD>
|
16
|
+
{%- endmacro -%}
|
@@ -11,6 +11,7 @@
|
|
11
11
|
{%- import('macros/printEndOfPdu.xml.jinja2') as peopdu %}
|
12
12
|
{%- import('macros/printStaticField.xml.jinja2') as psf %}
|
13
13
|
{%- import('macros/printDynamicLengthField.xml.jinja2') as pdlf %}
|
14
|
+
{%- import('macros/printDynamicEndmarkerField.xml.jinja2') as pdemf %}
|
14
15
|
{%- import('macros/printMux.xml.jinja2') as pm %}
|
15
16
|
{%- import('macros/printEnvData.xml.jinja2') as ped %}
|
16
17
|
{%- import('macros/printEnvDataDesc.xml.jinja2') as pedd %}
|
@@ -82,6 +83,13 @@
|
|
82
83
|
{%- endfor %}
|
83
84
|
</DYNAMIC-LENGTH-FIELDS>
|
84
85
|
{%- endif %}
|
86
|
+
{%- if ddds.dynamic_endmarker_fields %}
|
87
|
+
<DYNAMIC-ENDMARKER-FIELDS>
|
88
|
+
{%- for demf in ddds.dynamic_endmarker_fields %}
|
89
|
+
{{ pdemf.printDynamicEndmarkerField(demf)|indent(3) }}
|
90
|
+
{%- endfor %}
|
91
|
+
</DYNAMIC-ENDMARKER-FIELDS>
|
92
|
+
{%- endif %}
|
85
93
|
{%- if ddds.end_of_pdu_fields %}
|
86
94
|
<END-OF-PDU-FIELDS>
|
87
95
|
{%- for eopdu in ddds.end_of_pdu_fields %}
|
odxtools/version.py
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: odxtools
|
3
|
-
Version:
|
3
|
+
Version: 7.1.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>
|
@@ -4,7 +4,7 @@ odxtools/additionalaudience.py,sha256=e08SzJpxkx8Zeb9fiNWWpPuneTA7INCW9qcU335eTn
|
|
4
4
|
odxtools/admindata.py,sha256=mc7yyK5yGpd1A4Rv2rv9pf9Ja-PNvB_IB1wEaIEbBNU,1919
|
5
5
|
odxtools/audience.py,sha256=6PaZRi_-e5GDN2BZgynLWx03brvw0QgMBcl5N8heO0Y,3324
|
6
6
|
odxtools/basecomparam.py,sha256=TTNUHm5Q8BY56HEmaK3NvDsW3K1LV6bLdxFExMJO1-I,2418
|
7
|
-
odxtools/basicstructure.py,sha256=
|
7
|
+
odxtools/basicstructure.py,sha256=CAOEs8jD5OYwXTxTZYgi7tuDk_zfaLGHbEKqSHtAiHM,13262
|
8
8
|
odxtools/companydata.py,sha256=RaxSq0E6kall8wZL8av5HPO9KSXLZpE_hSEIkvpzCw0,2579
|
9
9
|
odxtools/companydocinfo.py,sha256=KLVUA-TvOnHjPYF32W8JAv8Q6LLuo6-x9u3Mj7ewBiM,2294
|
10
10
|
odxtools/companyrevisioninfo.py,sha256=vvozMDtDZg3znZNN6Nx1MqjSsSmXtg9nY-TkF_sIHzk,1390
|
@@ -21,85 +21,87 @@ odxtools/createcompanydatas.py,sha256=Lkyx5gIGCozaX412GiPRUzjFOa5sZvT1LYOf_ycysd
|
|
21
21
|
odxtools/createecuvariantpatterns.py,sha256=FXHLGR4M791MRkpU2_keck88hoMYkuyPiCUxuGbUasQ,559
|
22
22
|
odxtools/createsdgs.py,sha256=tPdkPN4cHBWGddMWb7QLvyUIA9boa87da2Aj_2m3C2o,531
|
23
23
|
odxtools/database.py,sha256=030VDfHpvICWP8jagJlRm5z1AM5VC_LlJZydiY3sBw4,6741
|
24
|
-
odxtools/dataobjectproperty.py,sha256=
|
25
|
-
odxtools/decodestate.py,sha256=
|
24
|
+
odxtools/dataobjectproperty.py,sha256=JeQUaM2eO_WrZUSlqMJAYk9J0-gK8epz8NqUVOD-Rz8,6146
|
25
|
+
odxtools/decodestate.py,sha256=mgr9dmn8dM7jU6Y7en_Bf8lAx4HHMlpsdbVup5qqgzw,4490
|
26
26
|
odxtools/determinenumberofitems.py,sha256=9MlJgWnvGtOLGou1IU5suYdbMesRngyTPSgb7As6LIU,1561
|
27
|
-
odxtools/diagcodedtype.py,sha256=
|
28
|
-
odxtools/diagcomm.py,sha256=
|
29
|
-
odxtools/diagdatadictionaryspec.py,sha256=
|
30
|
-
odxtools/diaglayer.py,sha256=
|
27
|
+
odxtools/diagcodedtype.py,sha256=trrZfgoxnui3AC42XeUzfz2THq-wwnFMPr6AKOqN3YU,3673
|
28
|
+
odxtools/diagcomm.py,sha256=NbAijFV_-inBwWtYNK-iNBg2ZaUy2uHUEtydolSyOKs,7921
|
29
|
+
odxtools/diagdatadictionaryspec.py,sha256=pBrU7p03-sG877pAqKHovuszRsN8sspU2-xS_AFtHWA,10618
|
30
|
+
odxtools/diaglayer.py,sha256=tZWh_jt8e2qsqqRBq6ruwjA6IIvP2-q6cWymVetQSJg,47619
|
31
31
|
odxtools/diaglayercontainer.py,sha256=1Kq6vVp_Bu9qpwN4kdoRU-bm9L5McwcKPBQn1z81RCI,5877
|
32
|
-
odxtools/diaglayerraw.py,sha256=
|
32
|
+
odxtools/diaglayerraw.py,sha256=4XKMIYS1PQBo-XIC-UohtfZZuPxTNOQ8enn2ODjuY8Y,14307
|
33
33
|
odxtools/diaglayertype.py,sha256=FXL-EVBdrAURuHSHo9OthFuEYEybQO66aMB1o2GxVdI,1340
|
34
34
|
odxtools/diagnostictroublecode.py,sha256=FD1wDdNbA53PAj16JO0NfNgHddQ4csv_ldIwIUBoRwo,2496
|
35
|
-
odxtools/diagservice.py,sha256=
|
35
|
+
odxtools/diagservice.py,sha256=2ULG0ssEZJH_XRuNqsLaTCzVWMEemwdhxys3fDSYjyg,9609
|
36
36
|
odxtools/docrevision.py,sha256=NKrOSaoz5GJwi4UXlrGYa1EOhMqZKcOCFT38c5VzU4k,2738
|
37
|
-
odxtools/dopbase.py,sha256=
|
38
|
-
odxtools/dtcdop.py,sha256=
|
39
|
-
odxtools/
|
37
|
+
odxtools/dopbase.py,sha256=UKoPhG8HkaTh2UFXKSMwK-StAnMy9pdZ_IMRtz-gvCs,2520
|
38
|
+
odxtools/dtcdop.py,sha256=4VvgwFhXF5HlIedc2ad8cRXIrdW4x27xjJEbpDfaL3g,7456
|
39
|
+
odxtools/dynamicendmarkerfield.py,sha256=Yobz-30rjo0cfNyYaXTqiqlf67og92i4W_z0xCtSiaw,4552
|
40
|
+
odxtools/dynamiclengthfield.py,sha256=XNpowqfz14OU6YYoP_krCTxRX9SOIQogAPTxEASgQFM,5617
|
41
|
+
odxtools/dynenddopref.py,sha256=SYXrmRUQoLWD4UI3WV92oA5rNhxbDuRv6H1MeXeuWhM,1199
|
40
42
|
odxtools/ecuvariantmatcher.py,sha256=FO85WesRmkssSsTrjW8Ehg87FRmv1oHTkH5jPwumWYI,6882
|
41
43
|
odxtools/ecuvariantpattern.py,sha256=Xp2NpS13sVvyOjy2PgxLvXPptAfmYSH_KDIjqYByZHs,863
|
42
44
|
odxtools/element.py,sha256=JLLpie8XmnMrUFR1nX9PUXoBmU60tfoSI5p7-QjCXQE,1209
|
43
|
-
odxtools/encodestate.py,sha256=
|
44
|
-
odxtools/endofpdufield.py,sha256=
|
45
|
-
odxtools/environmentdata.py,sha256=
|
46
|
-
odxtools/environmentdatadescription.py,sha256=
|
45
|
+
odxtools/encodestate.py,sha256=f5yIynCU1dGKSlOOL4LMeFqsL6CJGlt3IesT_bwKZ04,9428
|
46
|
+
odxtools/endofpdufield.py,sha256=QN1QD1qzxSdQqpXRUByl3scTww_jqEuuceFZq9nL4GA,3511
|
47
|
+
odxtools/environmentdata.py,sha256=_wSKhV_NuMG6UPMnpOxz6mVjvrXsd2mtqqT7VKSSxHU,1414
|
48
|
+
odxtools/environmentdatadescription.py,sha256=0WvwusNHIK5OBkXOCW_Kd3uunsoqprauRJJEvYLFI2I,4368
|
47
49
|
odxtools/exceptions.py,sha256=FgS11U7ABMnc7T602bE1XMBLj9P0oDwwdpp-L3NafGY,2505
|
48
|
-
odxtools/field.py,sha256=
|
50
|
+
odxtools/field.py,sha256=tdtvAzF9mNcxRBloq_c8-Td2w0QGGOFsF7FrbDLK5iw,3934
|
49
51
|
odxtools/functionalclass.py,sha256=Rrnpqm-wTRc7TUfnKfiOeOi1XrvKB9TN2HiXtCU2YLY,985
|
50
52
|
odxtools/globals.py,sha256=P6YbgyTSWHMw3sk5cEzsCvVaLrTiakLvewTgySb1jLo,139
|
51
53
|
odxtools/inputparam.py,sha256=yQk23WBv4bFWI3nW1yv0dORf-Jso9sf1Zms7CyQaPGc,1875
|
52
54
|
odxtools/internalconstr.py,sha256=QKEkaOcrFoL9xID-oHWWkeg-vtcPV6RFOW1fX2K3pwg,1363
|
53
55
|
odxtools/isotp_state_machine.py,sha256=O6v29IK7p_4gFqrr-fahnbp9Qmo78EEQfEwRsA_Vfjw,13339
|
54
|
-
odxtools/leadinglengthinfotype.py,sha256=
|
56
|
+
odxtools/leadinglengthinfotype.py,sha256=Dg_dNySVoYsKWCSKrStLDobvNiSXRTCSlYYXnlXP_DY,3664
|
55
57
|
odxtools/load_file.py,sha256=H-cnL2cwVmxIirvm5onzhq-fSxNjSmVaQr7ZrXZHjtE,461
|
56
58
|
odxtools/load_odx_d_file.py,sha256=QBVa9r9L4s6ffNWd_LM7NJq2WCxdsJs_EU0RzqgRYrk,172
|
57
59
|
odxtools/load_pdx_file.py,sha256=Eo4cIYWzqe_w1w4LQ-aqNPfHG-hJaxmigOs4y_ZlVlU,186
|
58
|
-
odxtools/matchingparameter.py,sha256=
|
60
|
+
odxtools/matchingparameter.py,sha256=DFS2sm351H-a_8UC1zaRoPjwel8U9EhrWulMDJzcKeg,2231
|
59
61
|
odxtools/message.py,sha256=07GekN1MbYXm7HaUITDKTj2lBmGK-LB9W8gtBmfAOew,1057
|
60
|
-
odxtools/minmaxlengthtype.py,sha256=
|
62
|
+
odxtools/minmaxlengthtype.py,sha256=fAF5FX2PahOm5Z-C1bo5taedxxL8YUAdBFjCeDFS_-o,8114
|
61
63
|
odxtools/modification.py,sha256=zO_vdbLnAM876VNyX53rGrUrG4YaKDq799Y3xzrsEyg,872
|
62
|
-
odxtools/multiplexer.py,sha256=
|
63
|
-
odxtools/multiplexercase.py,sha256=
|
64
|
-
odxtools/multiplexerdefaultcase.py,sha256=
|
64
|
+
odxtools/multiplexer.py,sha256=8mEaBseTY4OAbEC5RcpdROnq4uG3yiMyvAShZza-r7M,8354
|
65
|
+
odxtools/multiplexercase.py,sha256=UiSXoOMgUw5YzbBEnyxfZs9PPyolHziD7OowKo3GeWg,3154
|
66
|
+
odxtools/multiplexerdefaultcase.py,sha256=7M3BPn1NNKs4hzxkRCJEufyTylLfbtaJM8ZOJbR3xV8,2081
|
65
67
|
odxtools/multiplexerswitchkey.py,sha256=jvX8b9hM1XRwet20AvtsYXZZt137M0rTjLFLKhtF43M,1554
|
66
|
-
odxtools/nameditemlist.py,sha256=
|
68
|
+
odxtools/nameditemlist.py,sha256=JgolDW_PCa5tHjGIGBwzhWtcre6JisVvv3onFk3dGKE,6539
|
67
69
|
odxtools/negoutputparam.py,sha256=QJ4X4Nlo2MbBi7VbOjBvD32gTDLPpF1l6NjChzikh-k,1407
|
68
70
|
odxtools/obd.py,sha256=WsUbhdonqQJtxf972CUdYL78AMMTVjMQhoCJbaZhRIo,1860
|
69
|
-
odxtools/odxlink.py,sha256=
|
70
|
-
odxtools/odxtypes.py,sha256=
|
71
|
+
odxtools/odxlink.py,sha256=iIZPwF_fNVQKJtrux9NqJDA-kkE6ueRGsTXpVvxfMU8,10146
|
72
|
+
odxtools/odxtypes.py,sha256=tp_IlCz3rHycZ1mV3TaUAEW0B1XI2xkBjxdyC2SIlNY,7525
|
71
73
|
odxtools/outputparam.py,sha256=R_pVosDwE-7-l3JAV3CRhsGEKRRnVjv80fnRlZUncI4,1670
|
72
|
-
odxtools/parameterinfo.py,sha256=
|
73
|
-
odxtools/paramlengthinfotype.py,sha256
|
74
|
+
odxtools/parameterinfo.py,sha256=mnGCe_LpVKghVRSQWut3mznFfdE9wLJQbA6Xz_Hn0Q8,8147
|
75
|
+
odxtools/paramlengthinfotype.py,sha256=fjlFd-AEVAiEnEuVEdGiIQoaFjQPDI10ZNDqRznggfU,4155
|
74
76
|
odxtools/parentref.py,sha256=dvHJji5NabfdDX-JZ9IQNfrU0JVNnkuH8eWWg7XvaCk,3316
|
75
77
|
odxtools/physicaldimension.py,sha256=gvgYoeY7dTujDv_H5XW6S8lvGQadAPUlau6YD_KRJ84,3393
|
76
78
|
odxtools/physicaltype.py,sha256=oYjOhdrTVCJcLLBYgy6pxKsZHpuwm1vZ8svwSjsUB6E,2699
|
77
79
|
odxtools/progcode.py,sha256=vIra_TU34YCa-YKvdvc3cywZMQBWSEg2ugMS6dNJUoI,1765
|
78
80
|
odxtools/protstack.py,sha256=Sf3gdvBLQbsdFOsN2shUtBs5SfjGzu8pLz_3td9ugxw,2046
|
79
81
|
odxtools/relateddoc.py,sha256=jbBMEYycGF0TqwxNKibWyA9r6fFAWHS5lA-tN0El9QI,1335
|
80
|
-
odxtools/request.py,sha256
|
81
|
-
odxtools/response.py,sha256=
|
82
|
+
odxtools/request.py,sha256=-juV4Vpoe7TTjMa1ys6e2qqKSAepvfYVEQ84XEOE0ZA,1029
|
83
|
+
odxtools/response.py,sha256=qOUAorH44MaZ_Dyxy5casIabJJCUg9ZjX_1puBljLow,1599
|
82
84
|
odxtools/scaleconstr.py,sha256=9SmUv-h3e4cOglTDJwEyT9Fz-LRFrPLGPha27-Ygndk,1780
|
83
85
|
odxtools/servicebinner.py,sha256=ijFp5CqU5PO0Wx_YFtJB8tQigMLhg9TYu78BQELoet0,3859
|
84
86
|
odxtools/singleecujob.py,sha256=ZY16lxvkCR4KrdviB7IXwqGRF8Z5tXZxG4MgLWHdmdw,3891
|
85
87
|
odxtools/specialdata.py,sha256=3E-KxtoCUpHeaiMH6Zp4jivALkCsNaTlZ9KROcCDWnE,1067
|
86
88
|
odxtools/specialdatagroup.py,sha256=KP3vy8BqeTA_qZcmteAmV7ckC65zjpI3B1hKXyzctJI,3077
|
87
89
|
odxtools/specialdatagroupcaption.py,sha256=AVUA1M-EXPA9k_EqOAZWajRIhQdGKp_HlLXlre2ZDhE,1039
|
88
|
-
odxtools/standardlengthtype.py,sha256=
|
90
|
+
odxtools/standardlengthtype.py,sha256=RFbntOwZHZTGwJ8YdbkPSeUD_-d6uQLrupc-wlPwcus,3876
|
89
91
|
odxtools/state.py,sha256=os5HJvZj7_2zutJhyiq701JA_CSpyS1C6XJKHFWEKVY,932
|
90
|
-
odxtools/statechart.py,sha256=
|
91
|
-
odxtools/statetransition.py,sha256=
|
92
|
-
odxtools/staticfield.py,sha256=
|
92
|
+
odxtools/statechart.py,sha256=1KWEkdzx0YJ3n2hAB4pLMmWvBoRh-TtJ3BKLLkweK6A,3172
|
93
|
+
odxtools/statetransition.py,sha256=7tTaG3Ab00gZuIbdwQQpXE6nUgkmDgy6tuN19E9QzPA,2099
|
94
|
+
odxtools/staticfield.py,sha256=8n777YLSOPEogH8OyMgPVBtBroIrXzeteu17yoGXvpk,4623
|
93
95
|
odxtools/structure.py,sha256=W8uX1YQuJUApKfeLxYqlnU3EZ3AjTqcYpCUStR43ORI,582
|
94
96
|
odxtools/table.py,sha256=lgsamAWOKuw0ym-6LQjYjpoH_iglx2PRwHn0CvJ5hu4,4051
|
95
|
-
odxtools/tablerow.py,sha256=
|
97
|
+
odxtools/tablerow.py,sha256=FVsqWZf9GtsJ8SgM_eNCauZi6pP0cde-bDthmxao65I,6280
|
96
98
|
odxtools/teammember.py,sha256=nhpTD7TYoixKe-K2MDoyYP4K_xlmWQtAxTm4Srh4CLo,1806
|
97
99
|
odxtools/uds.py,sha256=69SyVnQDcyspzSf6QVfm_Uk9iCxczD6UcrO1PxhNo7E,5894
|
98
100
|
odxtools/unit.py,sha256=Yhf8Q2PkOnOImO7C7nehS59ua6kWd2da73VRQ0xNRfU,3701
|
99
101
|
odxtools/unitgroup.py,sha256=HCFwmUR_-N1_bfcDQiWV2rq29uRQWbVMbxSASw8P8ow,2101
|
100
102
|
odxtools/unitspec.py,sha256=WFifnGPLfaRzCUpZNY8lvB5_jXuoGJuvKcyL1R04oJ0,2981
|
101
103
|
odxtools/utils.py,sha256=JeUgIYnxysVELmSYbKH49IC9dU6B31Cwoo85Ag10V74,1983
|
102
|
-
odxtools/version.py,sha256=
|
104
|
+
odxtools/version.py,sha256=jXWXDdqcry2vyc742uYcr4NaI1j-6TGMyveJUqhZf9Y,411
|
103
105
|
odxtools/write_pdx_file.py,sha256=qx02oe-BFJ0lmDJMh5tR0qS5mpzalUV6vVP2eXtjaBo,7307
|
104
106
|
odxtools/xdoc.py,sha256=pUYo6l60ns9LOEdutE06WMcNy25yNVl1Ni4lMpYt1pY,1467
|
105
107
|
odxtools/cli/__init__.py,sha256=T7ano_FIyzBASxYpmcA5VJXU5bQLIy_Qk0HE_SDKelY,106
|
@@ -123,21 +125,21 @@ odxtools/compumethods/linearcompumethod.py,sha256=kW_siDBRdfNXZLdll1kUFd6sAgXdtI
|
|
123
125
|
odxtools/compumethods/scalelinearcompumethod.py,sha256=ZUY6JRuIIWkCfHR0b3WOBlvAspmaz4oIbJtiEMg34Hk,1644
|
124
126
|
odxtools/compumethods/tabintpcompumethod.py,sha256=BY1uSwwfsfj6GaBoLpmiHTvSnYZFWIpFybWH2jZk3f0,7302
|
125
127
|
odxtools/compumethods/texttablecompumethod.py,sha256=ICDyTTuOcZDzCexbVOLYLjc4XwwS3G7W2R8UJBLstfE,3347
|
126
|
-
odxtools/parameters/codedconstparameter.py,sha256=
|
128
|
+
odxtools/parameters/codedconstparameter.py,sha256=UxIp6JEnqTLpP2YNwTvfFeS4BBejKEoB_V1Qtw39o7M,4341
|
127
129
|
odxtools/parameters/createanyparameter.py,sha256=m26HHUQrxwDak3eBBciVBLic768Qlo4F2xn1z3r0boM,2566
|
128
|
-
odxtools/parameters/dynamicparameter.py,sha256=
|
129
|
-
odxtools/parameters/lengthkeyparameter.py,sha256=
|
130
|
-
odxtools/parameters/matchingrequestparameter.py,sha256=
|
131
|
-
odxtools/parameters/nrcconstparameter.py,sha256=
|
132
|
-
odxtools/parameters/parameter.py,sha256=
|
133
|
-
odxtools/parameters/parameterwithdop.py,sha256
|
134
|
-
odxtools/parameters/physicalconstantparameter.py,sha256=
|
135
|
-
odxtools/parameters/reservedparameter.py,sha256=
|
136
|
-
odxtools/parameters/systemparameter.py,sha256=
|
137
|
-
odxtools/parameters/tableentryparameter.py,sha256=
|
138
|
-
odxtools/parameters/tablekeyparameter.py,sha256=
|
139
|
-
odxtools/parameters/tablestructparameter.py,sha256=
|
140
|
-
odxtools/parameters/valueparameter.py,sha256=
|
130
|
+
odxtools/parameters/dynamicparameter.py,sha256=mdZx12XbhTSYVVuXEsPYRll3zaHjbHIYIzA6yUy4zck,1569
|
131
|
+
odxtools/parameters/lengthkeyparameter.py,sha256=Ew5GW1CpjLMNdiX03ysYq5kC00Ep_BQGzmldeFcFiEo,5881
|
132
|
+
odxtools/parameters/matchingrequestparameter.py,sha256=VNYIpmP_Yt_pzMHPgGWZk1XYH5liIdyawNIwIR1Cbvw,2897
|
133
|
+
odxtools/parameters/nrcconstparameter.py,sha256=d2HZxd5Jo3gX3wZB1P8MqpiE5tVthXt2VDFtGLPfQUo,5698
|
134
|
+
odxtools/parameters/parameter.py,sha256=em9YzaMrwzrdjRH0XrGa1Mke77LyoKXlqueoWdUytOs,6267
|
135
|
+
odxtools/parameters/parameterwithdop.py,sha256=a0yb7ZhVy3DaNTh3JgUMBIouQyiNuXDJinh2bEGJzX4,3417
|
136
|
+
odxtools/parameters/physicalconstantparameter.py,sha256=eQrEN3p7iFTBjLv_ht79gFHCA-fa6cAnPQAbYxYCOj8,3750
|
137
|
+
odxtools/parameters/reservedparameter.py,sha256=GSwTZh5Gc_QTiVPfHJSwCDX1rAOke5KEFcEzTRJRRZc,1930
|
138
|
+
odxtools/parameters/systemparameter.py,sha256=AFhyd7KxVzAjrOxgpq7PMGjo4gFd26ABxTAyaA46bbs,1784
|
139
|
+
odxtools/parameters/tableentryparameter.py,sha256=SuNAFn1wN_hyO2MVd1lT3oQllZ6nLjAIBJHX0HYRyko,2414
|
140
|
+
odxtools/parameters/tablekeyparameter.py,sha256=KBuPxwuOY1ZmSkRxqVcYYGu0p0N7dU4SCd69hDaoJuM,9913
|
141
|
+
odxtools/parameters/tablestructparameter.py,sha256=ILEYsuPLIl41dMyE4BCrYT7w3VGqcq6hwPrpkmkMLqI,7114
|
142
|
+
odxtools/parameters/valueparameter.py,sha256=dl8UyCBg8MISydHZH-u2p0kUwIg1UaihUSs-bxUKLKw,3220
|
141
143
|
odxtools/templates/comparam-spec.odx-c.xml.jinja2,sha256=6EFYwQP5H1prtygR4-1FA8O-GsInRj8QVfWbdN_H0ss,1562
|
142
144
|
odxtools/templates/comparam-subset.odx-cs.xml.jinja2,sha256=z7eCUbreEx5nUosus2jyyluz4L3j1e2iKA3eZU9KlEc,2522
|
143
145
|
odxtools/templates/diag_layer_container.odx-d.xml.jinja2,sha256=nr1LMD8_fJF7rNaq1gERufbgf36aHqfzD95kg4sMQCc,2026
|
@@ -150,6 +152,7 @@ odxtools/templates/macros/printComparam.xml.jinja2,sha256=XsbUNK4zO927WSv8zsmodN
|
|
150
152
|
odxtools/templates/macros/printComparamRef.xml.jinja2,sha256=y2-fj2-OFn3z27zI0v8V0tw9DOsi4zcqu4ZC2Xm32-M,1344
|
151
153
|
odxtools/templates/macros/printDOP.xml.jinja2,sha256=6mlevpfG-C_ZMEzNIDC1WkFZT__lTmHaP_9Y7tsjEZM,8463
|
152
154
|
odxtools/templates/macros/printDiagComm.xml.jinja2,sha256=eIKtu3xEmoQllyNYOWQx5Iv2oljKSg3lR6V4As-SFE0,2231
|
155
|
+
odxtools/templates/macros/printDynamicEndmarkerField.xml.jinja2,sha256=EvUOkfVsNAT61B5OApyE7Yh45C_A_iBg9gCTiq_td7w,579
|
153
156
|
odxtools/templates/macros/printDynamicLengthField.xml.jinja2,sha256=YCwgKV2na49mlHQQmI8L85ZYqUktaYuNil-K6rp4BR8,776
|
154
157
|
odxtools/templates/macros/printEcuVariantPattern.xml.jinja2,sha256=5J2e8cIIdBJ9MUMZp4cgfrSFCUm5UHsLpViPz9WPT0g,842
|
155
158
|
odxtools/templates/macros/printElementId.xml.jinja2,sha256=TLQPmKuSym73Y3Rcp9A2IN6kfNr3hAmlq3XyE2SessI,360
|
@@ -173,10 +176,10 @@ odxtools/templates/macros/printStaticField.xml.jinja2,sha256=JIXFhyNrnQ-2_vWy6Rx
|
|
173
176
|
odxtools/templates/macros/printStructure.xml.jinja2,sha256=uswYs2xse0B9hZut_FN1GvvR0xsZa_3pZRnlF0ElEEc,559
|
174
177
|
odxtools/templates/macros/printTable.xml.jinja2,sha256=DGd-TolTeBFoDuowd_KW0ZZT_etKRjwq9lia0yXror4,1466
|
175
178
|
odxtools/templates/macros/printUnitSpec.xml.jinja2,sha256=AJ5jWYKRmoIZkrd25R1KmjjgU6pfOqRiOQHtUAuS6GI,2813
|
176
|
-
odxtools/templates/macros/printVariant.xml.jinja2,sha256=
|
177
|
-
odxtools-
|
178
|
-
odxtools-
|
179
|
-
odxtools-
|
180
|
-
odxtools-
|
181
|
-
odxtools-
|
182
|
-
odxtools-
|
179
|
+
odxtools/templates/macros/printVariant.xml.jinja2,sha256=EoRph66FQ7odFHFwhFqxiltnEkbZstkJCOlq6U_1KG0,7258
|
180
|
+
odxtools-7.1.0.dist-info/LICENSE,sha256=NeGPFQdTa6EKeON3aShVlPAIquJnbbiOfj0suz6rzyQ,1074
|
181
|
+
odxtools-7.1.0.dist-info/METADATA,sha256=78nxIpFNjLGYrSnz9OEaGQC4S6YIC0S7AJgNtBwPQCA,44108
|
182
|
+
odxtools-7.1.0.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
|
183
|
+
odxtools-7.1.0.dist-info/entry_points.txt,sha256=_sBDzuNoT8LbbCjfc-OJiUt5WPrtOq_x-rr9txhrPjY,53
|
184
|
+
odxtools-7.1.0.dist-info/top_level.txt,sha256=pdS02kE5ZdgsaBRZDpX3NBFlaSx3zotsqX4E4V6tXEI,9
|
185
|
+
odxtools-7.1.0.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|