odxtools 6.6.1__py3-none-any.whl → 9.3.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/__init__.py +7 -5
- odxtools/additionalaudience.py +3 -5
- odxtools/admindata.py +5 -7
- odxtools/audience.py +10 -13
- odxtools/basecomparam.py +3 -5
- odxtools/basicstructure.py +55 -241
- odxtools/cli/_parser_utils.py +16 -1
- odxtools/cli/_print_utils.py +169 -134
- odxtools/cli/browse.py +127 -103
- odxtools/cli/compare.py +114 -87
- odxtools/cli/decode.py +2 -1
- odxtools/cli/dummy_sub_parser.py +3 -1
- odxtools/cli/find.py +2 -1
- odxtools/cli/list.py +26 -16
- odxtools/cli/main.py +1 -0
- odxtools/cli/snoop.py +32 -6
- odxtools/codec.py +211 -0
- odxtools/commrelation.py +122 -0
- odxtools/companydata.py +5 -7
- odxtools/companydocinfo.py +7 -8
- odxtools/companyrevisioninfo.py +3 -5
- odxtools/companyspecificinfo.py +8 -9
- odxtools/comparam.py +4 -6
- odxtools/comparaminstance.py +14 -14
- odxtools/comparamspec.py +16 -54
- odxtools/comparamsubset.py +22 -62
- odxtools/complexcomparam.py +5 -7
- odxtools/compumethods/compucodecompumethod.py +63 -0
- odxtools/compumethods/compuconst.py +31 -0
- odxtools/compumethods/compudefaultvalue.py +27 -0
- odxtools/compumethods/compuinternaltophys.py +56 -0
- odxtools/compumethods/compuinversevalue.py +7 -0
- odxtools/compumethods/compumethod.py +94 -15
- odxtools/compumethods/compuphystointernal.py +56 -0
- odxtools/compumethods/compurationalcoeffs.py +20 -9
- odxtools/compumethods/compuscale.py +67 -32
- odxtools/compumethods/createanycompumethod.py +31 -172
- odxtools/compumethods/identicalcompumethod.py +31 -6
- odxtools/compumethods/limit.py +70 -36
- odxtools/compumethods/linearcompumethod.py +70 -181
- odxtools/compumethods/linearsegment.py +190 -0
- odxtools/compumethods/ratfunccompumethod.py +106 -0
- odxtools/compumethods/ratfuncsegment.py +87 -0
- odxtools/compumethods/scalelinearcompumethod.py +132 -26
- odxtools/compumethods/scaleratfunccompumethod.py +113 -0
- odxtools/compumethods/tabintpcompumethod.py +123 -92
- odxtools/compumethods/texttablecompumethod.py +117 -57
- odxtools/createanydiagcodedtype.py +10 -67
- odxtools/database.py +167 -87
- odxtools/dataobjectproperty.py +25 -32
- odxtools/decodestate.py +14 -17
- odxtools/description.py +47 -0
- odxtools/determinenumberofitems.py +4 -5
- odxtools/diagcodedtype.py +37 -106
- odxtools/diagcomm.py +24 -12
- odxtools/diagdatadictionaryspec.py +120 -96
- odxtools/diaglayercontainer.py +46 -54
- odxtools/diaglayers/basevariant.py +128 -0
- odxtools/diaglayers/basevariantraw.py +123 -0
- odxtools/diaglayers/diaglayer.py +432 -0
- odxtools/{diaglayerraw.py → diaglayers/diaglayerraw.py} +105 -120
- odxtools/diaglayers/diaglayertype.py +42 -0
- odxtools/diaglayers/ecushareddata.py +96 -0
- odxtools/diaglayers/ecushareddataraw.py +87 -0
- odxtools/diaglayers/ecuvariant.py +124 -0
- odxtools/diaglayers/ecuvariantraw.py +129 -0
- odxtools/diaglayers/functionalgroup.py +110 -0
- odxtools/diaglayers/functionalgroupraw.py +106 -0
- odxtools/{diaglayer.py → diaglayers/hierarchyelement.py} +273 -472
- odxtools/diaglayers/hierarchyelementraw.py +58 -0
- odxtools/diaglayers/protocol.py +64 -0
- odxtools/diaglayers/protocolraw.py +91 -0
- odxtools/diagnostictroublecode.py +8 -9
- odxtools/diagservice.py +57 -44
- odxtools/diagvariable.py +113 -0
- odxtools/docrevision.py +5 -7
- odxtools/dopbase.py +15 -15
- odxtools/dtcdop.py +170 -50
- odxtools/dynamicendmarkerfield.py +134 -0
- odxtools/dynamiclengthfield.py +47 -42
- odxtools/dyndefinedspec.py +177 -0
- odxtools/dynenddopref.py +38 -0
- odxtools/ecuvariantmatcher.py +6 -7
- odxtools/element.py +13 -15
- odxtools/encodestate.py +199 -22
- odxtools/endofpdufield.py +31 -18
- odxtools/environmentdata.py +8 -1
- odxtools/environmentdatadescription.py +198 -36
- odxtools/exceptions.py +11 -2
- odxtools/field.py +10 -10
- odxtools/functionalclass.py +3 -5
- odxtools/inputparam.py +3 -12
- odxtools/internalconstr.py +14 -5
- odxtools/isotp_state_machine.py +14 -6
- odxtools/leadinglengthinfotype.py +37 -18
- odxtools/library.py +66 -0
- odxtools/loadfile.py +64 -0
- odxtools/matchingparameter.py +3 -3
- odxtools/message.py +0 -7
- odxtools/minmaxlengthtype.py +61 -33
- odxtools/modification.py +3 -5
- odxtools/multiplexer.py +135 -75
- odxtools/multiplexercase.py +39 -18
- odxtools/multiplexerdefaultcase.py +15 -12
- odxtools/multiplexerswitchkey.py +4 -5
- odxtools/nameditemlist.py +33 -8
- odxtools/negoutputparam.py +3 -5
- odxtools/odxcategory.py +83 -0
- odxtools/odxlink.py +62 -53
- odxtools/odxtypes.py +93 -8
- odxtools/outputparam.py +5 -16
- odxtools/parameterinfo.py +219 -61
- odxtools/parameters/codedconstparameter.py +45 -32
- odxtools/parameters/createanyparameter.py +19 -193
- odxtools/parameters/dynamicparameter.py +25 -4
- odxtools/parameters/lengthkeyparameter.py +83 -25
- odxtools/parameters/matchingrequestparameter.py +48 -18
- odxtools/parameters/nrcconstparameter.py +76 -54
- odxtools/parameters/parameter.py +97 -73
- odxtools/parameters/parameterwithdop.py +41 -38
- odxtools/parameters/physicalconstantparameter.py +41 -20
- odxtools/parameters/reservedparameter.py +36 -18
- odxtools/parameters/systemparameter.py +74 -7
- odxtools/parameters/tableentryparameter.py +47 -7
- odxtools/parameters/tablekeyparameter.py +142 -55
- odxtools/parameters/tablestructparameter.py +79 -58
- odxtools/parameters/valueparameter.py +39 -21
- odxtools/paramlengthinfotype.py +56 -33
- odxtools/parentref.py +20 -3
- odxtools/physicaldimension.py +3 -8
- odxtools/progcode.py +26 -11
- odxtools/protstack.py +3 -5
- odxtools/py.typed +0 -0
- odxtools/relateddoc.py +7 -9
- odxtools/request.py +120 -10
- odxtools/response.py +123 -23
- odxtools/scaleconstr.py +14 -8
- odxtools/servicebinner.py +1 -1
- odxtools/singleecujob.py +12 -10
- odxtools/snrefcontext.py +29 -0
- odxtools/specialdata.py +3 -5
- odxtools/specialdatagroup.py +7 -9
- odxtools/specialdatagroupcaption.py +3 -6
- odxtools/standardlengthtype.py +80 -14
- odxtools/state.py +3 -5
- odxtools/statechart.py +13 -19
- odxtools/statetransition.py +8 -18
- odxtools/staticfield.py +107 -0
- odxtools/subcomponent.py +288 -0
- odxtools/swvariable.py +21 -0
- odxtools/table.py +9 -9
- odxtools/tablerow.py +30 -15
- odxtools/teammember.py +3 -5
- odxtools/templates/comparam-spec.odx-c.xml.jinja2 +4 -24
- odxtools/templates/comparam-subset.odx-cs.xml.jinja2 +5 -26
- odxtools/templates/diag_layer_container.odx-d.xml.jinja2 +15 -31
- odxtools/templates/{index.xml.xml.jinja2 → index.xml.jinja2} +1 -1
- odxtools/templates/macros/printAudience.xml.jinja2 +1 -1
- odxtools/templates/macros/printBaseVariant.xml.jinja2 +53 -0
- odxtools/templates/macros/printCompanyData.xml.jinja2 +4 -7
- odxtools/templates/macros/printComparam.xml.jinja2 +6 -4
- odxtools/templates/macros/printComparamRef.xml.jinja2 +5 -12
- odxtools/templates/macros/printCompuMethod.xml.jinja2 +147 -0
- odxtools/templates/macros/printDOP.xml.jinja2 +27 -137
- odxtools/templates/macros/printDescription.xml.jinja2 +18 -0
- odxtools/templates/macros/printDiagComm.xml.jinja2 +1 -1
- odxtools/templates/macros/printDiagLayer.xml.jinja2 +222 -0
- odxtools/templates/macros/printDiagVariable.xml.jinja2 +66 -0
- odxtools/templates/macros/printDynDefinedSpec.xml.jinja2 +48 -0
- odxtools/templates/macros/printDynamicEndmarkerField.xml.jinja2 +16 -0
- odxtools/templates/macros/printDynamicLengthField.xml.jinja2 +1 -1
- odxtools/templates/macros/printEcuSharedData.xml.jinja2 +30 -0
- odxtools/templates/macros/printEcuVariant.xml.jinja2 +53 -0
- odxtools/templates/macros/printEcuVariantPattern.xml.jinja2 +1 -1
- odxtools/templates/macros/printElementId.xml.jinja2 +8 -3
- odxtools/templates/macros/printEndOfPdu.xml.jinja2 +1 -1
- odxtools/templates/macros/printEnvDataDesc.xml.jinja2 +1 -1
- odxtools/templates/macros/printFunctionalClass.xml.jinja2 +1 -1
- odxtools/templates/macros/printFunctionalGroup.xml.jinja2 +40 -0
- odxtools/templates/macros/printHierarchyElement.xml.jinja2 +24 -0
- odxtools/templates/macros/printLibrary.xml.jinja2 +21 -0
- odxtools/templates/macros/printMux.xml.jinja2 +5 -3
- odxtools/templates/macros/printOdxCategory.xml.jinja2 +28 -0
- odxtools/templates/macros/printParam.xml.jinja2 +18 -19
- odxtools/templates/macros/printProtStack.xml.jinja2 +1 -1
- odxtools/templates/macros/printProtocol.xml.jinja2 +30 -0
- odxtools/templates/macros/printRequest.xml.jinja2 +1 -1
- odxtools/templates/macros/printResponse.xml.jinja2 +1 -1
- odxtools/templates/macros/printService.xml.jinja2 +3 -2
- odxtools/templates/macros/printSingleEcuJob.xml.jinja2 +5 -26
- odxtools/templates/macros/printSpecialData.xml.jinja2 +1 -1
- odxtools/templates/macros/printState.xml.jinja2 +1 -1
- odxtools/templates/macros/printStateChart.xml.jinja2 +1 -1
- odxtools/templates/macros/printStateTransition.xml.jinja2 +1 -1
- odxtools/templates/macros/printStaticField.xml.jinja2 +15 -0
- odxtools/templates/macros/printStructure.xml.jinja2 +1 -1
- odxtools/templates/macros/printSubComponent.xml.jinja2 +104 -0
- odxtools/templates/macros/printTable.xml.jinja2 +4 -5
- odxtools/templates/macros/printUnitSpec.xml.jinja2 +3 -5
- odxtools/uds.py +2 -10
- odxtools/unit.py +4 -8
- odxtools/unitgroup.py +3 -5
- odxtools/unitspec.py +17 -17
- odxtools/utils.py +38 -20
- odxtools/variablegroup.py +32 -0
- odxtools/version.py +2 -2
- odxtools/{write_pdx_file.py → writepdxfile.py} +22 -12
- odxtools/xdoc.py +3 -5
- {odxtools-6.6.1.dist-info → odxtools-9.3.0.dist-info}/METADATA +44 -33
- odxtools-9.3.0.dist-info/RECORD +228 -0
- {odxtools-6.6.1.dist-info → odxtools-9.3.0.dist-info}/WHEEL +1 -1
- odxtools/createcompanydatas.py +0 -17
- odxtools/createsdgs.py +0 -19
- odxtools/diaglayertype.py +0 -30
- odxtools/load_file.py +0 -13
- odxtools/load_odx_d_file.py +0 -6
- odxtools/load_pdx_file.py +0 -8
- odxtools/templates/macros/printVariant.xml.jinja2 +0 -208
- odxtools-6.6.1.dist-info/RECORD +0 -180
- {odxtools-6.6.1.dist-info → odxtools-9.3.0.dist-info}/LICENSE +0 -0
- {odxtools-6.6.1.dist-info → odxtools-9.3.0.dist-info}/entry_points.txt +0 -0
- {odxtools-6.6.1.dist-info → odxtools-9.3.0.dist-info}/top_level.txt +0 -0
@@ -1,6 +1,6 @@
|
|
1
|
-
Metadata-Version: 2.
|
1
|
+
Metadata-Version: 2.2
|
2
2
|
Name: odxtools
|
3
|
-
Version:
|
3
|
+
Version: 9.3.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>
|
@@ -22,27 +22,27 @@ Classifier: Operating System :: OS Independent
|
|
22
22
|
Requires-Python: >=3.8
|
23
23
|
Description-Content-Type: text/markdown
|
24
24
|
License-File: LICENSE
|
25
|
-
Requires-Dist: bitstruct
|
26
|
-
Requires-Dist:
|
27
|
-
Requires-Dist: jinja2
|
28
|
-
Requires-Dist: python-can
|
29
|
-
Requires-Dist: markdownify
|
30
|
-
Requires-Dist: deprecation
|
25
|
+
Requires-Dist: bitstruct>=8.17
|
26
|
+
Requires-Dist: argparse_addons>=0.12
|
27
|
+
Requires-Dist: jinja2>=3.1
|
28
|
+
Requires-Dist: python-can>=4.2
|
29
|
+
Requires-Dist: markdownify>=0.11
|
30
|
+
Requires-Dist: deprecation>=2.1
|
31
31
|
Requires-Dist: packaging
|
32
|
-
Requires-Dist:
|
33
|
-
Requires-Dist:
|
34
|
-
Provides-Extra: all
|
35
|
-
Requires-Dist: odxtools[browse-tool,examples,test] ; extra == 'all'
|
32
|
+
Requires-Dist: rich>=13.7
|
33
|
+
Requires-Dist: typing_extensions>=4.9
|
36
34
|
Provides-Extra: browse-tool
|
37
|
-
Requires-Dist: InquirerPy
|
38
|
-
Provides-Extra: examples
|
39
|
-
Requires-Dist: can-isotp >=1.9 ; extra == 'examples'
|
35
|
+
Requires-Dist: InquirerPy>=0.3.4; extra == "browse-tool"
|
40
36
|
Provides-Extra: test
|
41
|
-
Requires-Dist: mypy
|
42
|
-
Requires-Dist: types-tabulate
|
43
|
-
Requires-Dist: ruff
|
44
|
-
Requires-Dist: pytest
|
45
|
-
Requires-Dist: coverage
|
37
|
+
Requires-Dist: mypy>=1.5; extra == "test"
|
38
|
+
Requires-Dist: types-tabulate>=0.9.0.3; extra == "test"
|
39
|
+
Requires-Dist: ruff>=0.0.290; extra == "test"
|
40
|
+
Requires-Dist: pytest>=7.4; extra == "test"
|
41
|
+
Requires-Dist: coverage>=7.3; extra == "test"
|
42
|
+
Provides-Extra: examples
|
43
|
+
Requires-Dist: can-isotp>=1.9; extra == "examples"
|
44
|
+
Provides-Extra: all
|
45
|
+
Requires-Dist: odxtools[browse-tool,examples,test]; extra == "all"
|
46
46
|
|
47
47
|
<!-- SPDX-License-Identifier: MIT -->
|
48
48
|
[](https://pypi.org/project/odxtools)
|
@@ -204,8 +204,8 @@ python3 -m odxtools list -a "$YOUR_PDX_FILE"
|
|
204
204
|
```python
|
205
205
|
# [...]
|
206
206
|
|
207
|
-
print(f"ECU {ecu.short_name} listens for requests on CAN ID 0x{ecu.
|
208
|
-
print(f"ECU {ecu.short_name} transmits responses on CAN ID 0x{ecu.
|
207
|
+
print(f"ECU {ecu.short_name} listens for requests on CAN ID 0x{ecu.get_can_receive_id():x}")
|
208
|
+
print(f"ECU {ecu.short_name} transmits responses on CAN ID 0x{ecu.get_can_send_id():x}")
|
209
209
|
```
|
210
210
|
|
211
211
|
- Encode a `session_start` request to the `somersault_lazy` ECU:
|
@@ -219,16 +219,25 @@ python3 -m odxtools list -a "$YOUR_PDX_FILE"
|
|
219
219
|
# -> bytearray(b'\x10\x00')
|
220
220
|
```
|
221
221
|
|
222
|
+
- Print all mutable parameters of the `session_start` service's first
|
223
|
+
positive response:
|
224
|
+
|
225
|
+
```python
|
226
|
+
# [...]
|
227
|
+
|
228
|
+
ecu.services.session_start.positive_responses[0].print_free_parameters_info()
|
229
|
+
```
|
230
|
+
|
222
231
|
- Encode the positive response to the `start_session` request:
|
223
232
|
|
224
233
|
```python
|
225
234
|
# [...]
|
226
235
|
|
227
236
|
raw_request_data = ecu.services.session_start()
|
228
|
-
raw_response_data = ecu.services.session_start.positive_responses[0].encode(coded_request=raw_request_data)
|
237
|
+
raw_response_data = ecu.services.session_start.positive_responses[0].encode(can_do_backward_flips="true", coded_request=raw_request_data)
|
229
238
|
|
230
|
-
print(f"Positive response to session_start() of ECU {ecu.short_name}: {raw_response_data}")
|
231
|
-
# ->
|
239
|
+
print(f"Positive response to session_start() of ECU {ecu.short_name}: {raw_response_data.hex(' ')}")
|
240
|
+
# -> Positive response to session_start() of ECU somersault_lazy: 50 01
|
232
241
|
```
|
233
242
|
|
234
243
|
- Decode a request:
|
@@ -238,8 +247,9 @@ python3 -m odxtools list -a "$YOUR_PDX_FILE"
|
|
238
247
|
|
239
248
|
raw_data = b"\x10\x00"
|
240
249
|
decoded_message = ecu.decode(raw_data)
|
241
|
-
|
242
|
-
|
250
|
+
for x in decoded_message:
|
251
|
+
print(f"decoded as '{x.coding_object.short_name}': {x.param_dict}")
|
252
|
+
# -> decoded as 'start_session': {'sid': 16, 'id': 0}
|
243
253
|
```
|
244
254
|
|
245
255
|
- Decode a response to a request:
|
@@ -247,11 +257,12 @@ python3 -m odxtools list -a "$YOUR_PDX_FILE"
|
|
247
257
|
```python
|
248
258
|
# [...]
|
249
259
|
|
250
|
-
raw_request_data =
|
251
|
-
raw_response_data =
|
260
|
+
raw_request_data = bytes.fromhex("1000")
|
261
|
+
raw_response_data = bytes.fromhex("5001")
|
252
262
|
decoded_response = ecu.decode_response(raw_response_data, raw_request_data)
|
253
|
-
|
254
|
-
|
263
|
+
for x in decoded_response:
|
264
|
+
print(f"decoded as '{x.coding_object.short_name}': {x.param_dict}")
|
265
|
+
# -> decoded as 'session': {'sid': 80, 'can_do_backward_flips': 'true'}
|
255
266
|
```
|
256
267
|
|
257
268
|
## Using the non-strict mode
|
@@ -491,7 +502,7 @@ The services of 'somersault_lazy' are:
|
|
491
502
|
### The `browse` subcommand
|
492
503
|
|
493
504
|
The `browse` subcommand uses
|
494
|
-
[
|
505
|
+
[InquirerPy](https://github.com/kazhala/InquirerPy) to interactively
|
495
506
|
navigate through the database of a `.pdx` file. For example, using the
|
496
507
|
`browse` subcommand you can select the ECU and service without
|
497
508
|
spamming the terminal:
|
@@ -1023,7 +1034,7 @@ project, please read the [contributing guide](https://github.com/mercedes-benz/o
|
|
1023
1034
|
|
1024
1035
|
## Code of Conduct
|
1025
1036
|
|
1026
|
-
Please read our [Code of Conduct](https://github.com/mercedes-benz/
|
1037
|
+
Please read our [Code of Conduct](https://github.com/mercedes-benz/foss/blob/master/CODE_OF_CONDUCT.md)
|
1027
1038
|
as it is our base for interaction.
|
1028
1039
|
|
1029
1040
|
## Provider Information
|
@@ -0,0 +1,228 @@
|
|
1
|
+
odxtools/__init__.py,sha256=kfejU9B_COPKCNfhbzkq_RuQ1VpH0S_EA4gstYaANtk,2458
|
2
|
+
odxtools/__main__.py,sha256=MKzFqY8KAV0BGsBXs04QwPpW5OGuT-rZQ4QlM8Tar8Y,119
|
3
|
+
odxtools/additionalaudience.py,sha256=Xjy_PhTfTV23oAMvml5XeZw3ex8xssIhgRseSsxKcxQ,956
|
4
|
+
odxtools/admindata.py,sha256=ue5MnYJK_jxNq6Okxy4aGtH15uBAnWXIjMBFSh36Q3g,1879
|
5
|
+
odxtools/audience.py,sha256=_O6UPKnrDbwMMKRnCJ5b8M3_I2jU5jMR6Ss5zLzk9yM,3361
|
6
|
+
odxtools/basecomparam.py,sha256=VxpIsTr6-S4e8Vw72hJXSLUFU5TvHy5CM0sweVL-ZWE,2384
|
7
|
+
odxtools/basicstructure.py,sha256=GcyZuasaH62JcINgyeD300N297q7_LP6iMfDy8fwzMg,5071
|
8
|
+
odxtools/codec.py,sha256=2aTfrQc0-cNuPAfXeDDyjxXAHjBJ1xy3ELCVeA9UQP0,8108
|
9
|
+
odxtools/commrelation.py,sha256=Gh3CqMuF9rS0X107oxUkISNT2VWDZVPCpOSu54q7hcs,4793
|
10
|
+
odxtools/companydata.py,sha256=o8vRONHfzmon3Ws0LLKX3-9Och34Uu91aAmBnNg2N34,2539
|
11
|
+
odxtools/companydocinfo.py,sha256=fcceuYX8eTKhVhtmji6yiMRi6gtqPAJdi5kpo-wyL_8,2267
|
12
|
+
odxtools/companyrevisioninfo.py,sha256=rim57tX4jFoJq4Xvdet7UUHMA7MpcIjMQQrL-YTWAh0,1356
|
13
|
+
odxtools/companyspecificinfo.py,sha256=Fww7CqQmU-4HUtyaJatcgg9VV8iZzj4YQ5M0UqJVs2c,1537
|
14
|
+
odxtools/comparam.py,sha256=uVThBbKO8_aoTWYFH5OhyKdAnq1Psq2gifEmvfL0-I0,1592
|
15
|
+
odxtools/comparaminstance.py,sha256=NZImeN3HSfjUx_xyRghH8yDPD8wd5_RadNGWeQD16KI,4949
|
16
|
+
odxtools/comparamspec.py,sha256=RvkFc9rcxDL_S8bGnTRVJOW1DzHXLXIr_VoHs4feijQ,1822
|
17
|
+
odxtools/comparamsubset.py,sha256=uy7ZxtTjAtTK-9Uh7AD-J0-LcgECJCsyAboWbQMo1rQ,3796
|
18
|
+
odxtools/complexcomparam.py,sha256=4EJQXVmi_i3Eas5LAF-sEC5XnAUMZKr2sS6LoDNskk0,3729
|
19
|
+
odxtools/complexdop.py,sha256=AHkHMf_IEWfy-_zSiCuZXmdTNCXiCOpg5GRZ5uMVV5A,280
|
20
|
+
odxtools/createanycomparam.py,sha256=RP0XA2Ut4GL2NWy05RvKBrTnpbvvCG2XuNL8OO-9rbI,617
|
21
|
+
odxtools/createanydiagcodedtype.py,sha256=0DVmMj4UCDYIg0zu9pgTplyhHmRedz1KJcchq1uKMjg,1216
|
22
|
+
odxtools/createecuvariantpatterns.py,sha256=FXHLGR4M791MRkpU2_keck88hoMYkuyPiCUxuGbUasQ,559
|
23
|
+
odxtools/database.py,sha256=VJk-EOzHHtxjkhP7o0h470B0oyg73ZafK3w1UjnwRNM,9945
|
24
|
+
odxtools/dataobjectproperty.py,sha256=otbbtGadW_W9nr5sL9Fug5_bU91eYeOYyfBWa7sb3B0,6052
|
25
|
+
odxtools/decodestate.py,sha256=jJxLUzUYZ0C4t18FhJzo2iRTP8DF7BzrWLtRTTlLsJI,4885
|
26
|
+
odxtools/description.py,sha256=UoACftC_n7fQ1n9WDwCzizStMH0HCO2Qv0YLRaSjEgs,1484
|
27
|
+
odxtools/determinenumberofitems.py,sha256=DxM9udr1MQfEojiLdc35bbjniQl1fkeHcTMpoo9AfPI,1558
|
28
|
+
odxtools/diagcodedtype.py,sha256=LeL4UzaDM70XN2ec-4c7pdE6Z671TQTS7ivC8XNbd8M,4620
|
29
|
+
odxtools/diagcomm.py,sha256=j8esUkogoxHBwIEUBkAoXe28jX3vaRnnrgCR_gdP6VY,8110
|
30
|
+
odxtools/diagdatadictionaryspec.py,sha256=2zy5f-xnfGI0bnjPOEwG_IJxfsHhXZoOfdIS_fOr3L0,10552
|
31
|
+
odxtools/diaglayercontainer.py,sha256=giiRUB_wlirogJLpJ3qrbUXgM_5JhHD6VXPPhDGTiDk,5318
|
32
|
+
odxtools/diagnostictroublecode.py,sha256=jKtO8JqU0HRpeSyrcHn4s21N4Jj-p19WVP-qw2H98gY,2459
|
33
|
+
odxtools/diagservice.py,sha256=y1_qKI7kJXDWpjpw91loIdf-K7Ozo45BsYiOhVYGuXg,10291
|
34
|
+
odxtools/diagvariable.py,sha256=KUyRCV-H5xKITWYk9wxDnaS_N2nwDFGQzHaQRfNndKA,3829
|
35
|
+
odxtools/docrevision.py,sha256=m57a4lCWeR6QvNNxtwUNpLXAMgSq29ks1HorxoipFVk,2698
|
36
|
+
odxtools/dopbase.py,sha256=NCTTq2NF4DJI9nUAwBoa79IBgBjQtWo4V0WvkxuTx5g,2616
|
37
|
+
odxtools/dtcdop.py,sha256=3H0jSH6EHOA0-UJ9GcJwJuBCCciPhxZsz_dfRnNYF7A,11560
|
38
|
+
odxtools/dynamicendmarkerfield.py,sha256=Q7KKOBNSrAg5cehEP3i4YTPiqz5UetEIJDGah608DDk,5559
|
39
|
+
odxtools/dynamiclengthfield.py,sha256=Us0qRvkRPId7xSNKrYdsr1AhVFdTBezRMCBhXl98E00,5273
|
40
|
+
odxtools/dyndefinedspec.py,sha256=efvUG2kMUdwfmMG5qxGHzMSZ5CxdSJhmtzHecopnpHg,7610
|
41
|
+
odxtools/dynenddopref.py,sha256=SYXrmRUQoLWD4UI3WV92oA5rNhxbDuRv6H1MeXeuWhM,1199
|
42
|
+
odxtools/ecuvariantmatcher.py,sha256=muZfBcHVUQFXn3mBRwLtQ2asGV1oDYkDrBwZ9WYuLKU,6848
|
43
|
+
odxtools/ecuvariantpattern.py,sha256=Xp2NpS13sVvyOjy2PgxLvXPptAfmYSH_KDIjqYByZHs,863
|
44
|
+
odxtools/element.py,sha256=nCJkQMIPC26XfD4w1VrTH3l7Cd_BemMM_5lALh5gC7E,1259
|
45
|
+
odxtools/encodestate.py,sha256=yxeql949uvlB2WnsF0jVcMJ6PvaoYcGB7M0OuB4Afj0,10008
|
46
|
+
odxtools/endofpdufield.py,sha256=mGkhTj-YGdJ4EHMsK3AlWV6G_KLWI4ymiFKbY8U2W50,3359
|
47
|
+
odxtools/environmentdata.py,sha256=_wSKhV_NuMG6UPMnpOxz6mVjvrXsd2mtqqT7VKSSxHU,1414
|
48
|
+
odxtools/environmentdatadescription.py,sha256=p1NThRs6WcoP62JTlqOvwKLqq967kBN7a86N89NeESA,11760
|
49
|
+
odxtools/exceptions.py,sha256=ZApQkhOJ9gn4jk0uO1wmULn5PhNEl1aMYMSHDoXihh0,2714
|
50
|
+
odxtools/field.py,sha256=pdQpWxybPsiQ4oFKtvnjIEcQXV2WD0qH-NnBV54KMcI,3860
|
51
|
+
odxtools/functionalclass.py,sha256=IfhxKd02WNGftjSMyBJ8RsxVZgTBxzUM0h6EKHVrrxY,951
|
52
|
+
odxtools/globals.py,sha256=P6YbgyTSWHMw3sk5cEzsCvVaLrTiakLvewTgySb1jLo,139
|
53
|
+
odxtools/inputparam.py,sha256=-9BTmw8BjCM-zM7VOy30O220XKs7-GKRX032wjWGe3U,1667
|
54
|
+
odxtools/internalconstr.py,sha256=QKEkaOcrFoL9xID-oHWWkeg-vtcPV6RFOW1fX2K3pwg,1363
|
55
|
+
odxtools/isotp_state_machine.py,sha256=O6v29IK7p_4gFqrr-fahnbp9Qmo78EEQfEwRsA_Vfjw,13339
|
56
|
+
odxtools/leadinglengthinfotype.py,sha256=RnxA6On49hy1-SZ8GFOx1wwfNDjXo4zG1GXKJp_gcBM,3865
|
57
|
+
odxtools/library.py,sha256=E_A6K6jcEoUdXh4h4sQILj7_JM-6X5OUUWSM47G69CU,2067
|
58
|
+
odxtools/loadfile.py,sha256=hi8jVE7B1G9gklsb7MrGrp4aOAI65j0kNwvDeEEEN2k,1744
|
59
|
+
odxtools/matchingparameter.py,sha256=2cqaxFCZ28GvvUKCIM-jas3ae4eYGbULbkBlb3aH5RY,2232
|
60
|
+
odxtools/message.py,sha256=PDY-CDgTmJA6dyNacCV57M-p_ETtR8MdU7WZGEew4zM,855
|
61
|
+
odxtools/minmaxlengthtype.py,sha256=GQUici8NS9_znw8qiTKWHO2Ky-5tr3SJmdrVKtDd__M,8917
|
62
|
+
odxtools/modification.py,sha256=oyyFsYHixy6XHOdqqTCx3IIkTAKlSN9wxBpNpvhUaJA,838
|
63
|
+
odxtools/multiplexer.py,sha256=flHlorv9grEMj8pNAWQJNrxhptnDxSsFERO7gpKYRME,10235
|
64
|
+
odxtools/multiplexercase.py,sha256=qfxWJzfJLYAsnhFGheUWDsUaIte2dSRJ0nadiN9SXDw,3176
|
65
|
+
odxtools/multiplexerdefaultcase.py,sha256=u3YxZZawhXTOdrC5ltt1YNNaDMGrbL9qsz6PTKrPdSM,2104
|
66
|
+
odxtools/multiplexerswitchkey.py,sha256=fnCpPcg47JQZQsrqS2RAa_O-JrfUb0pvhKv8hhs1RXQ,1551
|
67
|
+
odxtools/nameditemlist.py,sha256=KqKILKq8lqo3qQKmR5HBAkePqfggFhI7yAoenYprjNs,6960
|
68
|
+
odxtools/negoutputparam.py,sha256=u2IhJvy6n19t3nyADGG0H0XTm7JNdQ0-95FawGAdtiE,1373
|
69
|
+
odxtools/obd.py,sha256=WsUbhdonqQJtxf972CUdYL78AMMTVjMQhoCJbaZhRIo,1860
|
70
|
+
odxtools/odxcategory.py,sha256=85geAwJqInPSLjSBx-rtuRdx_m1ACuzZtRl_BcAkyss,3208
|
71
|
+
odxtools/odxlink.py,sha256=7_O8pZB9prgjN-2rJHPMkce1RwV7PT988EmOONgxfng,9414
|
72
|
+
odxtools/odxtypes.py,sha256=MKfusVSYma_OZYmxCVm-kx7WBK8OHjeU3DnJhet4zeg,8055
|
73
|
+
odxtools/outputparam.py,sha256=reBgrSE7fORxfSVSTuim0FyxHrE6OsQOGIFUjhn5FlE,1394
|
74
|
+
odxtools/parameterinfo.py,sha256=PzhIZyYINNxykecPQWnRH1Ywrfgxx31DVax2VNN__CY,11183
|
75
|
+
odxtools/paramlengthinfotype.py,sha256=QMXGN5fd834abUvwql6j04ZiIbqixVHkQACaOx4xyH0,4699
|
76
|
+
odxtools/parentref.py,sha256=kcY3VMyVaIUWD0iVNX8sD9qeI4peU8gijboquu0zD7E,3751
|
77
|
+
odxtools/physicaldimension.py,sha256=CEH7Ura4gqsqlBUxBW08ea9Pxh_Od8JruYQ8o9qOGME,3269
|
78
|
+
odxtools/physicaltype.py,sha256=oYjOhdrTVCJcLLBYgy6pxKsZHpuwm1vZ8svwSjsUB6E,2699
|
79
|
+
odxtools/progcode.py,sha256=Cx8ziCmQm2OfhinAuRrFrMuoThU7hgA6zNQKAT-AT0A,2276
|
80
|
+
odxtools/protstack.py,sha256=nb2RR4OEaGX6lJ6drHejJU-tkB1p0Ok0KLZhNMTdsEc,2012
|
81
|
+
odxtools/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
82
|
+
odxtools/relateddoc.py,sha256=zb5Ea9vkd31kxTP4s5_PLF3LuCoUcG8rgLckStHVRDc,1301
|
83
|
+
odxtools/request.py,sha256=iX3D4VX-ctUEk0WpvQHr7UQHalhHkSeR9DLFbVoEQws,4902
|
84
|
+
odxtools/response.py,sha256=aJDoe-ZAKI4Zui4VbwnWLLb9g8Y_SgVZ0XFH7jYZRVI,5505
|
85
|
+
odxtools/scaleconstr.py,sha256=xSH8kmld5Gg1lVgjLWTZINEtDn2a3HemVqlXiHsl4Fs,1783
|
86
|
+
odxtools/servicebinner.py,sha256=TId3D3XHa98zbyC1sGWacQUlIZ5e2Egklelv6_Ra2II,3861
|
87
|
+
odxtools/singleecujob.py,sha256=rlpReb9816abYX0oihYXMkIQo8hnzbUkZqkTvX-IRZ4,3920
|
88
|
+
odxtools/snrefcontext.py,sha256=5ZbrZiX1gw6LC6o62RPuxzSo4tDR2LqRQ9w9Vi57FA8,953
|
89
|
+
odxtools/specialdata.py,sha256=5-1D_6dcEmi-TodCzCoBZK7gqeDY-cuRe1ybkTh4rBY,1033
|
90
|
+
odxtools/specialdatagroup.py,sha256=9pNCA89kGwhBiVN9nC_03ASHZT6q3FL8l2CxRf9jwU0,3070
|
91
|
+
odxtools/specialdatagroupcaption.py,sha256=pIa1l6EXVDXBisUtRkn6hTzAcUXFnXJoWstesayLfME,987
|
92
|
+
odxtools/standardlengthtype.py,sha256=SQBgdHIc9msFCBuS9GYyDeKE8bK1PgSvIkVEZSVoBcU,5225
|
93
|
+
odxtools/state.py,sha256=d--nCbV1qBmOmiTmUrQjDC_naispOM0a-H1AvCe5_xI,898
|
94
|
+
odxtools/statechart.py,sha256=ZT8amPjec25pexwnOAPiifGEmKa68rliOILLnB6tNJc,2956
|
95
|
+
odxtools/statetransition.py,sha256=axZ1ePyyWAsxslTI5KDjZxC42uNyoPc6N7cNIhP5pxE,1860
|
96
|
+
odxtools/staticfield.py,sha256=NBZa5UZD4BD4UekpqF5bq_IzFjxUafmvpCHIEptOl-s,4434
|
97
|
+
odxtools/structure.py,sha256=W8uX1YQuJUApKfeLxYqlnU3EZ3AjTqcYpCUStR43ORI,582
|
98
|
+
odxtools/subcomponent.py,sha256=OPnpbliL7OTfYy9dR0hpQclyqQiTUEa2e2n7GmIoZVE,10401
|
99
|
+
odxtools/swvariable.py,sha256=tp8XJUokYOcAUkrQLM92IYDf7evIefwZR_DgMm33iYQ,622
|
100
|
+
odxtools/table.py,sha256=zgpVveH8neSNhdcsPp0jG4f6H00M0NKCuAME8MSrf-Q,4024
|
101
|
+
odxtools/tablerow.py,sha256=X6598ntJZyyMW5COoHWKUNXZXjqxnO6o8oIzLdmKxh0,6589
|
102
|
+
odxtools/teammember.py,sha256=xn1y6k42zQoyM2SlEkZ8UFyiqBvVI5FNZAm_xt2Vt_Y,1772
|
103
|
+
odxtools/uds.py,sha256=ttjCaqwfAU-DlM5peFpZCcwzq60QjBMxVpaOyUyY48k,5567
|
104
|
+
odxtools/unit.py,sha256=PLMErZ6N9oA4z3fuwYsmqMajeVHFNtKhC-w7IzaTfvw,3588
|
105
|
+
odxtools/unitgroup.py,sha256=_WNpnYFmkiHQnOY8XhIviiQLXziY3kplH--7ufAWXyI,2067
|
106
|
+
odxtools/unitspec.py,sha256=RMdEQoLrPhGt9vo32fkwbTqymicHFkFQnydFoi3uBog,2924
|
107
|
+
odxtools/utils.py,sha256=FaNlouR0FvO4W4nk3Wr7Ogx1wC4tYfuMOo07KF2QxbE,2764
|
108
|
+
odxtools/variablegroup.py,sha256=--5sMDOMUg4I3hFyoVOFcGCTOrctrrMADdmH3Mn4wHk,848
|
109
|
+
odxtools/version.py,sha256=9m72WO6BeC1UJz6vdfsmZpQBhwGg1riBtxDiWIhyY5U,411
|
110
|
+
odxtools/writepdxfile.py,sha256=ZEoNkSxheqnXm836-HOpd04O6ipMXYKFzXZy6PM0YLc,7813
|
111
|
+
odxtools/xdoc.py,sha256=gDq-8l8x-Tj1ZJOttPxZchcO5_jEPwcXxMgT29VgTS0,1433
|
112
|
+
odxtools/cli/__init__.py,sha256=T7ano_FIyzBASxYpmcA5VJXU5bQLIy_Qk0HE_SDKelY,106
|
113
|
+
odxtools/cli/_parser_utils.py,sha256=p0L9NYYnml5ydfD22oC04EMhz8PKHgU40GPOPkybZwg,1116
|
114
|
+
odxtools/cli/_print_utils.py,sha256=NWAnlOqIuMN4obAs_b0EcpnVHumMej6yAskK_bBsxF4,12348
|
115
|
+
odxtools/cli/browse.py,sha256=Hkf269s7Tg8vWq0WDRzZoU65zGShdddgOo5vLnjMB6I,16537
|
116
|
+
odxtools/cli/compare.py,sha256=mXF7C0rBHnRn9l9_jYNgnoOchSbfUh5XshnCY02UBr0,37485
|
117
|
+
odxtools/cli/decode.py,sha256=7tAUUyfJPaKNwVJfFZ61qGVc97i03wgb_wr2pAH_JWQ,4315
|
118
|
+
odxtools/cli/dummy_sub_parser.py,sha256=F2N_lRrxuU-beORcyrJ4bdbRsQl42-aPEBtyPJ74Tvo,1466
|
119
|
+
odxtools/cli/find.py,sha256=GZKzvsOus1Zv8n3nAG-ZsPgWJpB7z3wNxeqKtAL5mAo,4394
|
120
|
+
odxtools/cli/list.py,sha256=fQH1gK3ajUhbp9-giIZk8qIZ-57FtADU1EggXo2yH4I,8980
|
121
|
+
odxtools/cli/main.py,sha256=_zPCU6N2ofpj_jQuQ_BU5EafBpMW0srhahZI8BgAM-0,2335
|
122
|
+
odxtools/cli/snoop.py,sha256=z8USSpmz18VAvkGpzepeaOlVJhi-8aeW10XRylsvZLU,10610
|
123
|
+
odxtools/compumethods/compucodecompumethod.py,sha256=cCgCCuFcu2K9QuW0ZNbfp6AQdgPy9QE7UnmRa6Iet28,2459
|
124
|
+
odxtools/compumethods/compuconst.py,sha256=14JIJXVKSe4bPWb5JyKXB6tAASMcWznExE1w6z1SMoc,806
|
125
|
+
odxtools/compumethods/compudefaultvalue.py,sha256=Lw8Fnm854dpNCvO8waKWg_hSRyW-NwvoQFFjyW3RHwY,980
|
126
|
+
odxtools/compumethods/compuinternaltophys.py,sha256=7BHDeUpe8XUlvdUrLh0p416NREsGiZq5Rx6fQSzbosA,2102
|
127
|
+
odxtools/compumethods/compuinversevalue.py,sha256=oG5tWSJkvoDmJPmb9EAGGutslbTrwZok5nfG20iZ8vk,220
|
128
|
+
odxtools/compumethods/compumethod.py,sha256=yHPGIp3BHPs-aPHT3b15lTLicvhdXZJXHgA5LvGjgBs,4572
|
129
|
+
odxtools/compumethods/compuphystointernal.py,sha256=AeAqO2Vm5DwWuSnY2C1GGJU5IssaK9wSDDVzgv3mCoQ,2102
|
130
|
+
odxtools/compumethods/compurationalcoeffs.py,sha256=N95JWi06Wkgk3zAK57ONy7mQ9prpLxecsbVD0gyGloE,1246
|
131
|
+
odxtools/compumethods/compuscale.py,sha256=xkwIfkoRF4faICy2jlfB6rx4xYRQb0jL5fq6NMNPX8k,4487
|
132
|
+
odxtools/compumethods/createanycompumethod.py,sha256=w68p6ME_WSnV44X3zah4FJ1IROEU6mAglcKivMw7om8,2830
|
133
|
+
odxtools/compumethods/identicalcompumethod.py,sha256=VVQ0tAkmowXZMBFQd9-n0VnsodDFRHXWdWgpNxdHAkQ,2077
|
134
|
+
odxtools/compumethods/limit.py,sha256=QjrY6dd0Kc7n4CcweMBrkwlX4hsmx0bkQEaQKmTxQ18,4164
|
135
|
+
odxtools/compumethods/linearcompumethod.py,sha256=Q1wELL2Y_nMomy-_7OUHLo-hDkepXLHveWorje5eDEE,3671
|
136
|
+
odxtools/compumethods/linearsegment.py,sha256=_P96JyY5hatNlFvj-yXbWVBrx3rIj83_nu8SPpLezGk,7131
|
137
|
+
odxtools/compumethods/ratfunccompumethod.py,sha256=FgG1_jX3WvjbCFz989SqDC5WkwaZ0xR-CN-M5lkTH5I,4393
|
138
|
+
odxtools/compumethods/ratfuncsegment.py,sha256=_gWFz8FowgQ4X3YIdeYJaeX-QG23U25k4yLh02cn7j0,2834
|
139
|
+
odxtools/compumethods/scalelinearcompumethod.py,sha256=o_Re17G4XlCn-XbStnvlTs9XVN4h71mkkYyIOii-7w4,5895
|
140
|
+
odxtools/compumethods/scaleratfunccompumethod.py,sha256=3imvLJgN3gkc7pILPIwAILHw0Ie5Ih_vysVGA8wYRgk,4457
|
141
|
+
odxtools/compumethods/tabintpcompumethod.py,sha256=Gyf2qV5y53SHIcum5d5HQVGszoZCdu47jxMCQ6yKdQk,8065
|
142
|
+
odxtools/compumethods/texttablecompumethod.py,sha256=vDYafbM0YaipjfN0NSlCFMiIPvp8waMNj3thNcwuYgk,5929
|
143
|
+
odxtools/diaglayers/basevariant.py,sha256=mXS-SF-tcwtdV-rxZZCH6_yqdA-yhtMX1SGo1MS8w7k,4452
|
144
|
+
odxtools/diaglayers/basevariantraw.py,sha256=A9h6p2Ri0sPPTW217rtEdNpAt5g6t0MwP9sgXqZ8pFo,4673
|
145
|
+
odxtools/diaglayers/diaglayer.py,sha256=xs529IVG_18Fi8kbEZkD2vHjHRr57jeE4A_2lDLRKCQ,16254
|
146
|
+
odxtools/diaglayers/diaglayerraw.py,sha256=rQEH3Jzg6bzTmu0EyYhAoBlsL6qVm7Z46o2xlbL0nEo,12970
|
147
|
+
odxtools/diaglayers/diaglayertype.py,sha256=FXL-EVBdrAURuHSHo9OthFuEYEybQO66aMB1o2GxVdI,1340
|
148
|
+
odxtools/diaglayers/ecushareddata.py,sha256=QoV50wQIrJ2-faLtU1P7RrjdacbhPY2BfUtVtIyWqCM,3347
|
149
|
+
odxtools/diaglayers/ecushareddataraw.py,sha256=cvkBhqTLOAey7Pt1bjQ3Jkkenp-D3Zh5djpB4ZWWUvw,3375
|
150
|
+
odxtools/diaglayers/ecuvariant.py,sha256=OsLWg-dx6OJ_OPuYcgoTJuDXEReaJclDRbU5YKqrtBA,4368
|
151
|
+
odxtools/diaglayers/ecuvariantraw.py,sha256=bKlqFnBWkKdkM9EY5rFGOno3ClIVQNhgBoU5DseNnRc,4944
|
152
|
+
odxtools/diaglayers/functionalgroup.py,sha256=o5bUGGDYisr7CjHZZh83fokA80f0s0zpHC_501cg-f0,4093
|
153
|
+
odxtools/diaglayers/functionalgroupraw.py,sha256=H0-_XXlFTV8POGnh0S7CVBOKKQuyKHMB9lEyoAHuG_A,3963
|
154
|
+
odxtools/diaglayers/hierarchyelement.py,sha256=kYGKyn6ZdThOeC58m31ESLjpZ1YZ532tLDxahWvXxxo,36708
|
155
|
+
odxtools/diaglayers/hierarchyelementraw.py,sha256=IdFbnZIw7QGAMh3MW5N9vq5QNGBBAs5foCnbvotfqhQ,2058
|
156
|
+
odxtools/diaglayers/protocol.py,sha256=ypIhfySB6F16Y48XLZIPL36GfrKUznTCmiJ0ROIxYJo,2083
|
157
|
+
odxtools/diaglayers/protocolraw.py,sha256=Wf1q2l11mxw61gnveVVEZqgR0yj2RCxoaB3QLzdZQWc,3251
|
158
|
+
odxtools/parameters/codedconstparameter.py,sha256=g34JJxQkyL5R27XiGCgkXyt7UzxFtBhZgv_FbTe2aiQ,3893
|
159
|
+
odxtools/parameters/createanyparameter.py,sha256=m26HHUQrxwDak3eBBciVBLic768Qlo4F2xn1z3r0boM,2566
|
160
|
+
odxtools/parameters/dynamicparameter.py,sha256=mdZx12XbhTSYVVuXEsPYRll3zaHjbHIYIzA6yUy4zck,1569
|
161
|
+
odxtools/parameters/lengthkeyparameter.py,sha256=r9beVso1DQRJ81CU6e8Dxqexbp8W4QksDcc_BtItSCQ,5269
|
162
|
+
odxtools/parameters/matchingrequestparameter.py,sha256=VNYIpmP_Yt_pzMHPgGWZk1XYH5liIdyawNIwIR1Cbvw,2897
|
163
|
+
odxtools/parameters/nrcconstparameter.py,sha256=SjTHQlaBzvyUATyOzSFFWCcdkTeHcaoKO54kTomzb6Y,4823
|
164
|
+
odxtools/parameters/parameter.py,sha256=0WhCvULPzvZ07g9Nz-0NyHt1Y8E8Q4YsW0VF-EUg2ow,6145
|
165
|
+
odxtools/parameters/parameterwithdop.py,sha256=k7yJABRmHQTZNTEEPjyq3tBXJD4Aey365HpP7SGsEgk,3283
|
166
|
+
odxtools/parameters/physicalconstantparameter.py,sha256=2iC6EKVJZVHwVVmd4h8KJ6OLc7B5QOUawivQMqWPCRA,3593
|
167
|
+
odxtools/parameters/reservedparameter.py,sha256=8XQocU3_ExRZzXYEkITj535TTEUCNK87wIkrUTizgvI,1989
|
168
|
+
odxtools/parameters/systemparameter.py,sha256=CX5YeAcLs0ffDpksTOMXHSGvuPmRIF2Il_lnuCmbNI8,3593
|
169
|
+
odxtools/parameters/tableentryparameter.py,sha256=SuNAFn1wN_hyO2MVd1lT3oQllZ6nLjAIBJHX0HYRyko,2414
|
170
|
+
odxtools/parameters/tablekeyparameter.py,sha256=zT49Ci0lGZgMFlswdZR3CRKh7x6CtzQ2Rk-VmZkxQvk,10028
|
171
|
+
odxtools/parameters/tablestructparameter.py,sha256=Doym0Tybi_t8w7nqM9n_ZAFwRWm-yJOnsaSqi4u5KiU,7032
|
172
|
+
odxtools/parameters/valueparameter.py,sha256=khsmiaLhpW2PjUKQaAkntwurxsml3TUzNwaZCaWNS50,3063
|
173
|
+
odxtools/templates/comparam-spec.odx-c.xml.jinja2,sha256=A9q0SQCGhBaV2xUcXHFVkmZIBpbl9OP2x6JD0umzrdU,904
|
174
|
+
odxtools/templates/comparam-subset.odx-cs.xml.jinja2,sha256=xL4vy0yAsSajJRF_w7wCQFSklUIgyHwCHgGPlLTGK_A,1751
|
175
|
+
odxtools/templates/diag_layer_container.odx-d.xml.jinja2,sha256=fDH9K2IdGfX-dVV0pEpn2kkHIBQTT9B0Sb5dF4vGWco,1798
|
176
|
+
odxtools/templates/index.xml.jinja2,sha256=Z1bcntvvky7NoH0Q0CRJgUORwf3g96PFPGeOpi7VATw,647
|
177
|
+
odxtools/templates/macros/printAdminData.xml.jinja2,sha256=YTB_CbhnALF6RIbE0XKQHRbC6c0PSZ_DxdrRHgqMD_s,2590
|
178
|
+
odxtools/templates/macros/printAudience.xml.jinja2,sha256=vaYL_-GPVdlLc7WAQTbkVZZbFuQptnCbOhXJb3tsHv8,1286
|
179
|
+
odxtools/templates/macros/printBaseVariant.xml.jinja2,sha256=l4Jp8v9ZfPXvIisqVLgTpzc5UdYGeIocY4vAcgCiiaE,1480
|
180
|
+
odxtools/templates/macros/printBasicStructure.xml.jinja2,sha256=V5oWGZesU_U5pvPO3Rtlodc7sxe5mFWY-uURLnQ8OfQ,614
|
181
|
+
odxtools/templates/macros/printCompanyData.xml.jinja2,sha256=jcNmQBOGDw7wcKdam72NIJSOTxthfkPJvrmw24MBiYQ,2981
|
182
|
+
odxtools/templates/macros/printComparam.xml.jinja2,sha256=e3hPCswAymJteQIUNoc7FOwsK_FrbJOvJooWdEx_vuQ,2408
|
183
|
+
odxtools/templates/macros/printComparamRef.xml.jinja2,sha256=rBhrdUnp605fsUN9SaljpyaAojzaLBvTbkOuduKod18,1274
|
184
|
+
odxtools/templates/macros/printCompuMethod.xml.jinja2,sha256=9DilxMWnqOsXu7bNNlDqls-lEqcr_GPzhZum8rzDJP0,4430
|
185
|
+
odxtools/templates/macros/printDOP.xml.jinja2,sha256=SAmp1okfyecCmHf4XiF2rao78-TIzmPQW4azBtjbu9A,5709
|
186
|
+
odxtools/templates/macros/printDescription.xml.jinja2,sha256=7jcYEIXr7hbbKqSvIUIgXaQSXV4dKAR9UhY352BZct8,452
|
187
|
+
odxtools/templates/macros/printDiagComm.xml.jinja2,sha256=_SByYBYzPG9t7VNnAohFAXsgng9VrQcSacXH923wRzY,2239
|
188
|
+
odxtools/templates/macros/printDiagLayer.xml.jinja2,sha256=gQQhNGpVQRfVichgJdwBS6gMvoLfi-nlGat9imlW62Y,6901
|
189
|
+
odxtools/templates/macros/printDiagVariable.xml.jinja2,sha256=sQEU42Onf0WkRJZJyNUgeeGICc3MZaQJPQ0YKY6lRrU,2656
|
190
|
+
odxtools/templates/macros/printDynDefinedSpec.xml.jinja2,sha256=uX3C40VmlbH7sndlJNyTvq8upzaoq8vCk6S93gtpFIY,1742
|
191
|
+
odxtools/templates/macros/printDynamicEndmarkerField.xml.jinja2,sha256=6BmxPKesQvfy46iTiPSFu_iJffC6umZ_YRsTEd-0y5Q,587
|
192
|
+
odxtools/templates/macros/printDynamicLengthField.xml.jinja2,sha256=bNvNh_4xyp4L6v7cxJ5cO1yOHYPnSFiaK9oY4l63fDU,784
|
193
|
+
odxtools/templates/macros/printEcuSharedData.xml.jinja2,sha256=WK08eoDFEjj9o3eOuy__H0r9ioo688rTuQp6uXE6Tdo,820
|
194
|
+
odxtools/templates/macros/printEcuVariant.xml.jinja2,sha256=Nsgj2VUWZvSDFPQsn6wv75M9TaryOB-tlQYCVq9hDEM,1594
|
195
|
+
odxtools/templates/macros/printEcuVariantPattern.xml.jinja2,sha256=uSUrX1n2YVw6tt1-A0Lmlgy_W3dxW4r8bVErdrf_6vk,846
|
196
|
+
odxtools/templates/macros/printElementId.xml.jinja2,sha256=Oe4sgtBB_VhTz6uJzaiTCpQki2ulKKfpBq56FVgBC-I,570
|
197
|
+
odxtools/templates/macros/printEndOfPdu.xml.jinja2,sha256=ptjwOxyNTABATOajiitcvlJRKVGP_osh2wSJTCbaa38,679
|
198
|
+
odxtools/templates/macros/printEnvData.xml.jinja2,sha256=2Goatqb66d-pCf9wqJDXn1EZWNhkQ8FJANKQMOnxuJs,609
|
199
|
+
odxtools/templates/macros/printEnvDataDesc.xml.jinja2,sha256=rBpPf51LFx5oNx_XjeTABast9hmru5hYbeJQ2axHntw,588
|
200
|
+
odxtools/templates/macros/printFunctionalClass.xml.jinja2,sha256=TpOQTj-hlNLtIfcSTVzU-gRrfaWrgsTrIFMqm_1M6Qs,329
|
201
|
+
odxtools/templates/macros/printFunctionalGroup.xml.jinja2,sha256=zIeZbhf8haXhgJJUPiOnMe3lvqvfye4-zmwWDQJxFtQ,1159
|
202
|
+
odxtools/templates/macros/printHierarchyElement.xml.jinja2,sha256=GD6iNIE0Wu0QsJ8uLtwEV8N9t6mIhI00_KpCVzOVQBM,651
|
203
|
+
odxtools/templates/macros/printLibrary.xml.jinja2,sha256=wp8vZzHPLZayWZh6BOQ56kGyHSeyrlNacdlxBw9d0N0,683
|
204
|
+
odxtools/templates/macros/printMux.xml.jinja2,sha256=68IiPY_mIJQqQiqce3jUphqp3-xLfmEBL7CSb3Cz7eI,1869
|
205
|
+
odxtools/templates/macros/printOdxCategory.xml.jinja2,sha256=SatvRj0yafePV_Xg6Un1d5KXq3yZyqV9f5YZU1wlzws,856
|
206
|
+
odxtools/templates/macros/printParam.xml.jinja2,sha256=U96BZDgcG8O0ewTXY8DHY8z29I8BkD4ndX0r7JAk54w,3197
|
207
|
+
odxtools/templates/macros/printParentRef.xml.jinja2,sha256=RllVKt2RgrMnWfsujGnBUiABwV2y4_ZfINYy7LXenPM,896
|
208
|
+
odxtools/templates/macros/printProtStack.xml.jinja2,sha256=0FHHvuduiMPhAE19vpTHu3cQeM9kSybWj5FbybcXnGk,773
|
209
|
+
odxtools/templates/macros/printProtocol.xml.jinja2,sha256=1DXoRSq6z4dhpZnXWH3x9JPKCWmAmghjVgVFfizo41s,1028
|
210
|
+
odxtools/templates/macros/printRequest.xml.jinja2,sha256=yq4xGSlQCioT7FRivyx40Cjs2CYr9EK6NLZf0W4wGW0,717
|
211
|
+
odxtools/templates/macros/printResponse.xml.jinja2,sha256=GsOYmnoh4ewhWg3FUdcovHuJxvuIjsSrXNtbcnnAQcM,683
|
212
|
+
odxtools/templates/macros/printService.xml.jinja2,sha256=zvjOCELEx4yim2FtdNKiExTsDPkAfQAP4Gf_QsondfQ,1546
|
213
|
+
odxtools/templates/macros/printSingleEcuJob.xml.jinja2,sha256=6phi3VxGllusm6KGgrjWiOj7g80ojHyxvesqmHvuNhs,2174
|
214
|
+
odxtools/templates/macros/printSpecialData.xml.jinja2,sha256=0eIFh9cWXfFrQN_f8G_lz3fUqmtysxY6tSN4DbuFY40,1386
|
215
|
+
odxtools/templates/macros/printState.xml.jinja2,sha256=BNnTEyczp43iP9Bn_plMLRsJsasra4sRyvmgODuZQYg,315
|
216
|
+
odxtools/templates/macros/printStateChart.xml.jinja2,sha256=XW1EhF1k8ogbEDt-QMjSOojKl4vjxXkq6BwJWR9GJsI,951
|
217
|
+
odxtools/templates/macros/printStateTransition.xml.jinja2,sha256=J2t0yU82UBegUSH9sAbnkdgEYPTUU0A7I-CokuPQxDo,510
|
218
|
+
odxtools/templates/macros/printStaticField.xml.jinja2,sha256=fkV07zrL2pTo6b5ZPD14V0uC1aEk2P4roXyDhp-ah38,521
|
219
|
+
odxtools/templates/macros/printStructure.xml.jinja2,sha256=CJUPZv_9lko63C5fNpOn5LlQqLCuS--qyhtx4NyD5Rk,567
|
220
|
+
odxtools/templates/macros/printSubComponent.xml.jinja2,sha256=ETo-k0K7px5nu9kgVjgDnjPoy8rYRfzq5ojvsZhM3Rw,3416
|
221
|
+
odxtools/templates/macros/printTable.xml.jinja2,sha256=5DQjjJ-UxQ75ntov0S0LGnm_V7YWtKadBpNbmV1aBb8,1501
|
222
|
+
odxtools/templates/macros/printUnitSpec.xml.jinja2,sha256=opS6_Gr94WlAtREEyX4sLo-D-17Gni9Wvr3y1nfVgSA,2715
|
223
|
+
odxtools-9.3.0.dist-info/LICENSE,sha256=NeGPFQdTa6EKeON3aShVlPAIquJnbbiOfj0suz6rzyQ,1074
|
224
|
+
odxtools-9.3.0.dist-info/METADATA,sha256=z1DujfQWpVS5O7sQ2B0FXgUBMyN9xoYk4F-otwi_se4,44055
|
225
|
+
odxtools-9.3.0.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
|
226
|
+
odxtools-9.3.0.dist-info/entry_points.txt,sha256=_sBDzuNoT8LbbCjfc-OJiUt5WPrtOq_x-rr9txhrPjY,53
|
227
|
+
odxtools-9.3.0.dist-info/top_level.txt,sha256=pdS02kE5ZdgsaBRZDpX3NBFlaSx3zotsqX4E4V6tXEI,9
|
228
|
+
odxtools-9.3.0.dist-info/RECORD,,
|
odxtools/createcompanydatas.py
DELETED
@@ -1,17 +0,0 @@
|
|
1
|
-
# SPDX-License-Identifier: MIT
|
2
|
-
from typing import List, Optional
|
3
|
-
from xml.etree import ElementTree
|
4
|
-
|
5
|
-
from .companydata import CompanyData
|
6
|
-
from .nameditemlist import NamedItemList
|
7
|
-
from .odxlink import OdxDocFragment
|
8
|
-
|
9
|
-
|
10
|
-
def create_company_datas_from_et(et_element: Optional[ElementTree.Element],
|
11
|
-
doc_frags: List[OdxDocFragment]) -> NamedItemList[CompanyData]:
|
12
|
-
if et_element is None:
|
13
|
-
return NamedItemList()
|
14
|
-
|
15
|
-
return NamedItemList([
|
16
|
-
CompanyData.from_et(cd_elem, doc_frags) for cd_elem in et_element.iterfind("COMPANY-DATA")
|
17
|
-
],)
|
odxtools/createsdgs.py
DELETED
@@ -1,19 +0,0 @@
|
|
1
|
-
# SPDX-License-Identifier: MIT
|
2
|
-
from typing import List, Optional
|
3
|
-
from xml.etree import ElementTree
|
4
|
-
|
5
|
-
from .odxlink import OdxDocFragment
|
6
|
-
from .specialdatagroup import SpecialDataGroup
|
7
|
-
|
8
|
-
|
9
|
-
def create_sdgs_from_et(et_element: Optional[ElementTree.Element],
|
10
|
-
doc_frags: List[OdxDocFragment]) -> List[SpecialDataGroup]:
|
11
|
-
|
12
|
-
if not et_element:
|
13
|
-
return []
|
14
|
-
|
15
|
-
result = []
|
16
|
-
for sdg_elem in et_element.iterfind("SDG"):
|
17
|
-
result.append(SpecialDataGroup.from_et(sdg_elem, doc_frags))
|
18
|
-
|
19
|
-
return result
|
odxtools/diaglayertype.py
DELETED
@@ -1,30 +0,0 @@
|
|
1
|
-
# SPDX-License-Identifier: MIT
|
2
|
-
from enum import Enum
|
3
|
-
from typing import Dict
|
4
|
-
|
5
|
-
|
6
|
-
class DiagLayerType(Enum):
|
7
|
-
PROTOCOL = "PROTOCOL"
|
8
|
-
FUNCTIONAL_GROUP = "FUNCTIONAL-GROUP"
|
9
|
-
BASE_VARIANT = "BASE-VARIANT"
|
10
|
-
ECU_VARIANT = "ECU-VARIANT"
|
11
|
-
ECU_SHARED_DATA = "ECU-SHARED-DATA"
|
12
|
-
|
13
|
-
@property
|
14
|
-
def inheritance_priority(self) -> int:
|
15
|
-
"""Return the inheritance priority of diag layers of the given type
|
16
|
-
|
17
|
-
ODX mandates that diagnostic layers can only inherit from
|
18
|
-
layers of lower priority...
|
19
|
-
|
20
|
-
"""
|
21
|
-
|
22
|
-
PRIORITY_OF_DIAG_LAYER_TYPE: Dict[DiagLayerType, int] = {
|
23
|
-
DiagLayerType.ECU_SHARED_DATA: 0,
|
24
|
-
DiagLayerType.PROTOCOL: 1,
|
25
|
-
DiagLayerType.FUNCTIONAL_GROUP: 2,
|
26
|
-
DiagLayerType.BASE_VARIANT: 3,
|
27
|
-
DiagLayerType.ECU_VARIANT: 4,
|
28
|
-
}
|
29
|
-
|
30
|
-
return PRIORITY_OF_DIAG_LAYER_TYPE[self]
|
odxtools/load_file.py
DELETED
@@ -1,13 +0,0 @@
|
|
1
|
-
# SPDX-License-Identifier: MIT
|
2
|
-
from .database import Database
|
3
|
-
from .load_odx_d_file import load_odx_d_file
|
4
|
-
from .load_pdx_file import load_pdx_file
|
5
|
-
|
6
|
-
|
7
|
-
def load_file(file_name: str) -> Database:
|
8
|
-
if file_name.lower().endswith(".pdx"):
|
9
|
-
return load_pdx_file(file_name)
|
10
|
-
elif file_name.lower().endswith(".odx-d"):
|
11
|
-
return load_odx_d_file(file_name)
|
12
|
-
else:
|
13
|
-
raise RuntimeError(f"Could not guess the file format of file '{file_name}'!")
|
odxtools/load_odx_d_file.py
DELETED