odxtools 5.3.1__py3-none-any.whl → 6.0.1__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 +1 -1
- odxtools/basicstructure.py +76 -91
- odxtools/cli/_parser_utils.py +12 -9
- odxtools/cli/_print_utils.py +7 -7
- odxtools/cli/browse.py +94 -73
- odxtools/cli/find.py +42 -59
- odxtools/cli/list.py +21 -17
- odxtools/cli/snoop.py +19 -18
- odxtools/communicationparameterref.py +6 -3
- odxtools/companydocinfo.py +2 -2
- odxtools/companyrevisioninfo.py +1 -1
- odxtools/comparamsubset.py +6 -6
- odxtools/complexcomparam.py +1 -1
- odxtools/compumethods/compumethod.py +6 -9
- odxtools/compumethods/createanycompumethod.py +11 -9
- odxtools/compumethods/identicalcompumethod.py +5 -4
- odxtools/compumethods/limit.py +9 -9
- odxtools/compumethods/linearcompumethod.py +25 -17
- odxtools/compumethods/scalelinearcompumethod.py +6 -5
- odxtools/compumethods/tabintpcompumethod.py +30 -9
- odxtools/compumethods/texttablecompumethod.py +22 -24
- odxtools/database.py +5 -5
- odxtools/dataobjectproperty.py +10 -23
- odxtools/decodestate.py +1 -1
- odxtools/determinenumberofitems.py +37 -8
- odxtools/diagcodedtype.py +14 -9
- odxtools/diagdatadictionaryspec.py +60 -37
- odxtools/diaglayer.py +30 -21
- odxtools/diaglayercontainer.py +40 -40
- odxtools/diaglayerraw.py +92 -63
- odxtools/diagnostictroublecode.py +2 -2
- odxtools/diagservice.py +53 -35
- odxtools/docrevision.py +1 -1
- odxtools/dopbase.py +14 -3
- odxtools/dtcdop.py +15 -9
- odxtools/dynamiclengthfield.py +6 -4
- odxtools/endofpdufield.py +22 -23
- odxtools/environmentdata.py +2 -5
- odxtools/environmentdatadescription.py +6 -4
- odxtools/field.py +3 -8
- odxtools/isotp_state_machine.py +52 -38
- odxtools/leadinglengthinfotype.py +9 -7
- odxtools/load_file.py +2 -1
- odxtools/load_odx_d_file.py +2 -5
- odxtools/load_pdx_file.py +2 -6
- odxtools/message.py +11 -3
- odxtools/minmaxlengthtype.py +107 -78
- odxtools/modification.py +2 -2
- odxtools/multiplexer.py +23 -21
- odxtools/multiplexerswitchkey.py +37 -8
- odxtools/nameditemlist.py +59 -58
- odxtools/odxlink.py +4 -2
- odxtools/odxtypes.py +4 -3
- odxtools/parameterinfo.py +6 -6
- odxtools/parameters/codedconstparameter.py +15 -25
- odxtools/parameters/createanyparameter.py +1 -1
- odxtools/parameters/dynamicparameter.py +6 -5
- odxtools/parameters/lengthkeyparameter.py +2 -1
- odxtools/parameters/matchingrequestparameter.py +8 -11
- odxtools/parameters/nrcconstparameter.py +11 -21
- odxtools/parameters/parameter.py +4 -18
- odxtools/parameters/parameterwithdop.py +14 -29
- odxtools/parameters/physicalconstantparameter.py +7 -9
- odxtools/parameters/reservedparameter.py +17 -38
- odxtools/parameters/systemparameter.py +6 -5
- odxtools/parameters/tableentryparameter.py +6 -5
- odxtools/parameters/tablekeyparameter.py +8 -15
- odxtools/parameters/tablestructparameter.py +11 -12
- odxtools/parameters/valueparameter.py +9 -24
- odxtools/paramlengthinfotype.py +11 -9
- odxtools/physicaldimension.py +1 -1
- odxtools/physicaltype.py +2 -2
- odxtools/response.py +7 -3
- odxtools/singleecujob.py +48 -22
- odxtools/standardlengthtype.py +11 -6
- odxtools/uds.py +1 -1
- odxtools/unit.py +5 -5
- odxtools/unitgroup.py +1 -1
- odxtools/unitspec.py +2 -2
- odxtools/version.py +13 -3
- odxtools/write_pdx_file.py +7 -4
- {odxtools-5.3.1.dist-info → odxtools-6.0.1.dist-info}/METADATA +7 -5
- {odxtools-5.3.1.dist-info → odxtools-6.0.1.dist-info}/RECORD +87 -88
- odxtools/positioneddataobjectproperty.py +0 -74
- {odxtools-5.3.1.dist-info → odxtools-6.0.1.dist-info}/LICENSE +0 -0
- {odxtools-5.3.1.dist-info → odxtools-6.0.1.dist-info}/WHEEL +0 -0
- {odxtools-5.3.1.dist-info → odxtools-6.0.1.dist-info}/entry_points.txt +0 -0
- {odxtools-5.3.1.dist-info → odxtools-6.0.1.dist-info}/top_level.txt +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: odxtools
|
3
|
-
Version:
|
3
|
+
Version: 6.0.1
|
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>
|
@@ -36,10 +36,15 @@ Provides-Extra: examples
|
|
36
36
|
Requires-Dist: can-isotp >=1.9 ; extra == 'examples'
|
37
37
|
Provides-Extra: test
|
38
38
|
Requires-Dist: mypy >=1.5 ; extra == 'test'
|
39
|
+
Requires-Dist: ruff >=0.0.290 ; extra == 'test'
|
39
40
|
Requires-Dist: pytest >=7.4 ; extra == 'test'
|
40
41
|
Requires-Dist: coverage >=7.3 ; extra == 'test'
|
41
42
|
|
42
43
|
<!-- SPDX-License-Identifier: MIT -->
|
44
|
+
[](https://pypi.org/project/odxtools)
|
45
|
+
[](LICENSE)
|
46
|
+
[](https://github.com/mercedes-benz/odxtools/actions?query=branch%3Amain)
|
47
|
+
|
43
48
|
# odxtools
|
44
49
|
|
45
50
|
`odxtools` is a set of utilities for working with diagnostic
|
@@ -80,6 +85,7 @@ send to/received from ECUs in an pythonic manner.
|
|
80
85
|
- [Installation](#installation)
|
81
86
|
- [Usage Examples](#usage-examples)
|
82
87
|
- [Python snippets](#python-snippets)
|
88
|
+
- [Using the non-strict mode](#using-the-non-strict-mode)
|
83
89
|
- [Interactive Usage](#interactive-usage)
|
84
90
|
- [Python REPL](#python-repl)
|
85
91
|
- [Command line usage](#command-line-usage)
|
@@ -650,10 +656,6 @@ project, please read the [contributing guide](https://github.com/mercedes-benz/o
|
|
650
656
|
Please read our [Code of Conduct](https://github.com/mercedes-benz/daimler-foss/blob/master/CODE_OF_CONDUCT.md)
|
651
657
|
as it is our base for interaction.
|
652
658
|
|
653
|
-
## License
|
654
|
-
|
655
|
-
This project is licensed under the [MIT LICENSE](https://github.com/mercedes-benz/odxtools/blob/main/LICENSE).
|
656
|
-
|
657
659
|
## Provider Information
|
658
660
|
|
659
661
|
Please visit <https://mbition.io/en/home/index.html> for information on the provider.
|
@@ -1,86 +1,85 @@
|
|
1
|
-
odxtools/__init__.py,sha256=
|
1
|
+
odxtools/__init__.py,sha256=kHjwOKt-fKGM_LoVZjw0y_chNpy10Ukz7f23kJm6we0,2205
|
2
2
|
odxtools/__main__.py,sha256=MKzFqY8KAV0BGsBXs04QwPpW5OGuT-rZQ4QlM8Tar8Y,119
|
3
3
|
odxtools/additionalaudience.py,sha256=e08SzJpxkx8Zeb9fiNWWpPuneTA7INCW9qcU335eTnQ,990
|
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=ymqJHS0jGSeUi3tFvGQli1vv_cC5-c_hoAmSMWKIB1M,2444
|
7
|
-
odxtools/basicstructure.py,sha256=
|
8
|
-
odxtools/communicationparameterref.py,sha256=
|
7
|
+
odxtools/basicstructure.py,sha256=zNx2l-SPnb3V_Hpq_W_qoYfhmU6GSr9-azLN-cOWKq8,18465
|
8
|
+
odxtools/communicationparameterref.py,sha256=fsjGP0Y2QU5x8j2RSz0Q-I3OLQ-J6FFozpolYvFD13Y,5014
|
9
9
|
odxtools/companydata.py,sha256=RaxSq0E6kall8wZL8av5HPO9KSXLZpE_hSEIkvpzCw0,2579
|
10
|
-
odxtools/companydocinfo.py,sha256=
|
11
|
-
odxtools/companyrevisioninfo.py,sha256=
|
10
|
+
odxtools/companydocinfo.py,sha256=KLVUA-TvOnHjPYF32W8JAv8Q6LLuo6-x9u3Mj7ewBiM,2294
|
11
|
+
odxtools/companyrevisioninfo.py,sha256=vvozMDtDZg3znZNN6Nx1MqjSsSmXtg9nY-TkF_sIHzk,1390
|
12
12
|
odxtools/companyspecificinfo.py,sha256=1zPMQvIhj_NtkXFHz6U6bm9ExoKxLk8XdsfjhOwf5nY,1567
|
13
13
|
odxtools/comparam.py,sha256=SmzQV311f-jxKtVghsywribR8cZE5mLgoYjElJCQIEo,2202
|
14
|
-
odxtools/comparamsubset.py,sha256=
|
15
|
-
odxtools/complexcomparam.py,sha256=
|
14
|
+
odxtools/comparamsubset.py,sha256=ynO5gJ5-owDwdV59bdwrfewHyTNDrwqgvr876dvAtsw,5333
|
15
|
+
odxtools/complexcomparam.py,sha256=B3Vq0K3EI6oBkxud-bxj2wIJELlg6h3XZ-vyMU1dZTk,3335
|
16
16
|
odxtools/createanycomparam.py,sha256=sseY0a9b330knkEZOb6dE9xy2si2CH9NL1BQY_omfQo,644
|
17
17
|
odxtools/createanydiagcodedtype.py,sha256=QIKSGnU6xL4DWImuXqrW6oNsWfcRphwdWi9lISgO7Lg,3770
|
18
18
|
odxtools/createanystructure.py,sha256=BHcYDie9hDTk5bZBRkv2fy7jOesjhHXg4oSiqCOeKKU,2291
|
19
19
|
odxtools/createcompanydatas.py,sha256=Lkyx5gIGCozaX412GiPRUzjFOa5sZvT1LYOf_ycysdE,582
|
20
20
|
odxtools/createecuvariantpatterns.py,sha256=FXHLGR4M791MRkpU2_keck88hoMYkuyPiCUxuGbUasQ,559
|
21
21
|
odxtools/createsdgs.py,sha256=tPdkPN4cHBWGddMWb7QLvyUIA9boa87da2Aj_2m3C2o,531
|
22
|
-
odxtools/database.py,sha256
|
23
|
-
odxtools/dataobjectproperty.py,sha256=
|
24
|
-
odxtools/decodestate.py,sha256=
|
25
|
-
odxtools/determinenumberofitems.py,sha256=
|
26
|
-
odxtools/diagcodedtype.py,sha256=
|
27
|
-
odxtools/diagdatadictionaryspec.py,sha256=
|
28
|
-
odxtools/diaglayer.py,sha256=
|
29
|
-
odxtools/diaglayercontainer.py,sha256=
|
30
|
-
odxtools/diaglayerraw.py,sha256=
|
22
|
+
odxtools/database.py,sha256=-ncYWYacGLhz0sYOGXjKqgPjjt7dN-Dqq7rWlM-qtHs,5571
|
23
|
+
odxtools/dataobjectproperty.py,sha256=IaALZ5r3H-fLPzsJBWCavxWMF5YswwA5GL2xxJZeD6s,7146
|
24
|
+
odxtools/decodestate.py,sha256=vSFnn2xEl_7e_WLlpIVvHelNAOISlPKGYTb4hQFkBPQ,443
|
25
|
+
odxtools/determinenumberofitems.py,sha256=L2u0Wv9KhRsXqOBnaKuFFOeG-FQE6pDpwRtdoGf1H3g,1562
|
26
|
+
odxtools/diagcodedtype.py,sha256=0SvTXWaX1WTmPl1uF5Nl07FawMFhpEy8d13cIJ_I2Es,9636
|
27
|
+
odxtools/diagdatadictionaryspec.py,sha256=xPGTpJa460VnQHnnVo1OYb4rTWxoTC-6rB3i_a82Ngw,8576
|
28
|
+
odxtools/diaglayer.py,sha256=pL4DaYgijiX5tJjCsKdZw_qzKCk-2xPrhFsfkN1EbSM,39783
|
29
|
+
odxtools/diaglayercontainer.py,sha256=1Kq6vVp_Bu9qpwN4kdoRU-bm9L5McwcKPBQn1z81RCI,5877
|
30
|
+
odxtools/diaglayerraw.py,sha256=e06rOf_0aggK-kdqORJJhxJHxAFG7dCtUICLc6M7qrI,13533
|
31
31
|
odxtools/diaglayertype.py,sha256=3gPe5hQGvPddXWlBr2VlJR1wVtC8hlpAvJBTPA3WAWY,874
|
32
|
-
odxtools/diagnostictroublecode.py,sha256=
|
33
|
-
odxtools/diagservice.py,sha256=
|
34
|
-
odxtools/docrevision.py,sha256=
|
35
|
-
odxtools/dopbase.py,sha256=
|
36
|
-
odxtools/dtcdop.py,sha256=
|
37
|
-
odxtools/dynamiclengthfield.py,sha256=
|
32
|
+
odxtools/diagnostictroublecode.py,sha256=FD1wDdNbA53PAj16JO0NfNgHddQ4csv_ldIwIUBoRwo,2496
|
33
|
+
odxtools/diagservice.py,sha256=udYP6wUsdjaHpNsbmU6WUVOEXX7uPtKqG2o4RDlijrM,10095
|
34
|
+
odxtools/docrevision.py,sha256=NKrOSaoz5GJwi4UXlrGYa1EOhMqZKcOCFT38c5VzU4k,2738
|
35
|
+
odxtools/dopbase.py,sha256=yTQP3E_o-rTEUNdx0zI_VImQIkmYsctOQrbdqceIteM,2329
|
36
|
+
odxtools/dtcdop.py,sha256=7yt7hKmm16pX19dZfGgmA9atDYx3sRvKPyBLyx9wEXA,4444
|
37
|
+
odxtools/dynamiclengthfield.py,sha256=Fgx1KI-OVhKifwnbr2sepAS1523MQ8wBQ6utW6t7qA0,2283
|
38
38
|
odxtools/ecuvariantmatcher.py,sha256=FO85WesRmkssSsTrjW8Ehg87FRmv1oHTkH5jPwumWYI,6882
|
39
39
|
odxtools/ecuvariantpattern.py,sha256=Xp2NpS13sVvyOjy2PgxLvXPptAfmYSH_KDIjqYByZHs,863
|
40
40
|
odxtools/element.py,sha256=JLLpie8XmnMrUFR1nX9PUXoBmU60tfoSI5p7-QjCXQE,1209
|
41
41
|
odxtools/encodestate.py,sha256=GfzrZ6hoNXjoC90tC7s3cNdDUAu8np6Ajb_mCMcPZMk,1109
|
42
|
-
odxtools/endofpdufield.py,sha256=
|
43
|
-
odxtools/environmentdata.py,sha256=
|
44
|
-
odxtools/environmentdatadescription.py,sha256=
|
42
|
+
odxtools/endofpdufield.py,sha256=tcseLjCqhURrY6KieQBp0ekDcTII2V0FEaWAAC-q8tQ,3111
|
43
|
+
odxtools/environmentdata.py,sha256=_b6LDs5No9SkPSetVNsuiv8Gqb3w8TjTYni-bgsI3NU,1823
|
44
|
+
odxtools/environmentdatadescription.py,sha256=GkIYodD5JNLlmoW1qHZRAMdBHVK9zKAHJUY4aP7SuTE,4630
|
45
45
|
odxtools/exceptions.py,sha256=FgS11U7ABMnc7T602bE1XMBLj9P0oDwwdpp-L3NafGY,2505
|
46
|
-
odxtools/field.py,sha256=
|
46
|
+
odxtools/field.py,sha256=96lx4cOxSzctgvD3TXPMR6qDI5OTnIij3FjYJnr4RKc,3820
|
47
47
|
odxtools/functionalclass.py,sha256=Rrnpqm-wTRc7TUfnKfiOeOi1XrvKB9TN2HiXtCU2YLY,985
|
48
48
|
odxtools/globals.py,sha256=P6YbgyTSWHMw3sk5cEzsCvVaLrTiakLvewTgySb1jLo,139
|
49
49
|
odxtools/inputparam.py,sha256=MIxFVJHUsHtUCdZpoHvoS5f94FFhM2WOOf3nmfN4p4M,1853
|
50
|
-
odxtools/isotp_state_machine.py,sha256
|
51
|
-
odxtools/leadinglengthinfotype.py,sha256=
|
52
|
-
odxtools/load_file.py,sha256=
|
53
|
-
odxtools/load_odx_d_file.py,sha256=
|
54
|
-
odxtools/load_pdx_file.py,sha256=
|
50
|
+
odxtools/isotp_state_machine.py,sha256=2OCviGECEk-j_JbD046sIRiTCMeYFXhAUNlFMd9cIoo,13056
|
51
|
+
odxtools/leadinglengthinfotype.py,sha256=ZoPI1nz8ID28L-ikV-RexLCj4SDecH4NXoD1LJT-giY,3053
|
52
|
+
odxtools/load_file.py,sha256=H-cnL2cwVmxIirvm5onzhq-fSxNjSmVaQr7ZrXZHjtE,461
|
53
|
+
odxtools/load_odx_d_file.py,sha256=QBVa9r9L4s6ffNWd_LM7NJq2WCxdsJs_EU0RzqgRYrk,172
|
54
|
+
odxtools/load_pdx_file.py,sha256=Eo4cIYWzqe_w1w4LQ-aqNPfHG-hJaxmigOs4y_ZlVlU,186
|
55
55
|
odxtools/matchingparameter.py,sha256=QWiWlwzJWJc0UWilkhoFyGkAey80MvA_WDsuRdaT5HA,2229
|
56
|
-
odxtools/message.py,sha256=
|
57
|
-
odxtools/minmaxlengthtype.py,sha256=
|
58
|
-
odxtools/modification.py,sha256
|
59
|
-
odxtools/multiplexer.py,sha256=
|
56
|
+
odxtools/message.py,sha256=dCEyWuYqfQwZZNndYnc40NeHv4K3dmkXZrI-QjH9Nnw,1035
|
57
|
+
odxtools/minmaxlengthtype.py,sha256=9rpWFkDewW8fKeGsMTH2S_1oXjLieAMaOT4agIYaWb8,7640
|
58
|
+
odxtools/modification.py,sha256=zO_vdbLnAM876VNyX53rGrUrG4YaKDq799Y3xzrsEyg,872
|
59
|
+
odxtools/multiplexer.py,sha256=hSC23FPUtz5BD8EYf49FjlfBl3QTEt0CuT7lRAYsAOI,7253
|
60
60
|
odxtools/multiplexercase.py,sha256=w26PUix3yLIeAhGDzvRlgHSK1pNAUoZ3N8Uw4bROJzc,2262
|
61
61
|
odxtools/multiplexerdefaultcase.py,sha256=F13aTRZAriGatM-Rv-t-rqEqTriADkigHTLfE317BJk,1979
|
62
|
-
odxtools/multiplexerswitchkey.py,sha256=
|
63
|
-
odxtools/nameditemlist.py,sha256=
|
62
|
+
odxtools/multiplexerswitchkey.py,sha256=W-dmS_2K4rKN2wJcmUNRpAa12viSFt0Jor0QIRGQqvE,1555
|
63
|
+
odxtools/nameditemlist.py,sha256=8pkH5MFLaTDFSqLqJHKPYB17ALlhdjdo_6-9C5bvjnQ,5923
|
64
64
|
odxtools/negoutputparam.py,sha256=QJ4X4Nlo2MbBi7VbOjBvD32gTDLPpF1l6NjChzikh-k,1407
|
65
65
|
odxtools/obd.py,sha256=5mjjnnlq2ejaJ6wESvoJevkLdYUihQXLxjf4MGFpeDg,1175
|
66
|
-
odxtools/odxlink.py,sha256=
|
67
|
-
odxtools/odxtypes.py,sha256=
|
66
|
+
odxtools/odxlink.py,sha256=VzIxpr3f7KoveztxT7tL49I8SDtPQ7ogPZBylrvsy8w,8953
|
67
|
+
odxtools/odxtypes.py,sha256=sOmVxwd39ILilBvei-McUzxvGXVT4K-TL52ZWDB1_Go,5577
|
68
68
|
odxtools/outputparam.py,sha256=V6eIZQRkxbWzdObzWJUgA0Ppp7imzOjMplhr90LmsWw,1639
|
69
|
-
odxtools/parameterinfo.py,sha256=
|
70
|
-
odxtools/paramlengthinfotype.py,sha256=
|
69
|
+
odxtools/parameterinfo.py,sha256=bB0XBDiSRNRtfzsSsRv9gPxmeubMyKdfzLgugtThFt0,3758
|
70
|
+
odxtools/paramlengthinfotype.py,sha256=oT8ogZk58S0CD7yvgyTTPd-CcPSEW4yrRbXXfq6kpcM,3821
|
71
71
|
odxtools/parentref.py,sha256=_ZwEKbZ1Lia9rLPW6RdMpq2mW6ZIxAkiaJdP4k4qsDA,3202
|
72
|
-
odxtools/physicaldimension.py,sha256=
|
73
|
-
odxtools/physicaltype.py,sha256=
|
74
|
-
odxtools/positioneddataobjectproperty.py,sha256=Wyq8MUmOfq7gU-F3JGCwQyCCml5MivDDRr8oiBG0Oos,2762
|
72
|
+
odxtools/physicaldimension.py,sha256=gvgYoeY7dTujDv_H5XW6S8lvGQadAPUlau6YD_KRJ84,3393
|
73
|
+
odxtools/physicaltype.py,sha256=oYjOhdrTVCJcLLBYgy6pxKsZHpuwm1vZ8svwSjsUB6E,2699
|
75
74
|
odxtools/progcode.py,sha256=vIra_TU34YCa-YKvdvc3cywZMQBWSEg2ugMS6dNJUoI,1765
|
76
75
|
odxtools/relateddoc.py,sha256=jbBMEYycGF0TqwxNKibWyA9r6fFAWHS5lA-tN0El9QI,1335
|
77
76
|
odxtools/request.py,sha256=hHWQgazTsvJ9WEUpGQRaRVT_QV-XjduMBxqS8zB1-3A,162
|
78
|
-
odxtools/response.py,sha256=
|
79
|
-
odxtools/singleecujob.py,sha256=
|
77
|
+
odxtools/response.py,sha256=JLvPjNGGm7gdTxffzihfpbguBX_iok2WE_BT-IyIlPg,1055
|
78
|
+
odxtools/singleecujob.py,sha256=UHL-vrMN71oJEtwC3B00aSwwhqpc0Q19J1DoxN-Wvz8,11751
|
80
79
|
odxtools/specialdata.py,sha256=3E-KxtoCUpHeaiMH6Zp4jivALkCsNaTlZ9KROcCDWnE,1067
|
81
80
|
odxtools/specialdatagroup.py,sha256=KP3vy8BqeTA_qZcmteAmV7ckC65zjpI3B1hKXyzctJI,3077
|
82
81
|
odxtools/specialdatagroupcaption.py,sha256=AVUA1M-EXPA9k_EqOAZWajRIhQdGKp_HlLXlre2ZDhE,1039
|
83
|
-
odxtools/standardlengthtype.py,sha256=
|
82
|
+
odxtools/standardlengthtype.py,sha256=rQNVk1xiW3vUdBw0G2LKz-KgSAH63ZFpK7z3UMMDOZo,2670
|
84
83
|
odxtools/state.py,sha256=os5HJvZj7_2zutJhyiq701JA_CSpyS1C6XJKHFWEKVY,932
|
85
84
|
odxtools/statechart.py,sha256=fksrDgmldajQ3eXU99sEcFfAp5gaNS5g3Fb5VbBM50I,3246
|
86
85
|
odxtools/statetransition.py,sha256=TPg5l6yXymXbeWwamMyMfs0foUUN94XiNZ4ah2ouiXU,2205
|
@@ -88,48 +87,48 @@ odxtools/structure.py,sha256=LFxcRfCsseG1xSch8Uv9UG3-G5bqPLE007N_Jig8yTs,164
|
|
88
87
|
odxtools/table.py,sha256=Jo56J-_iMgmJBRbP-2zzsu0V6imufgpTFLiEEFGUKUs,4017
|
89
88
|
odxtools/tablerow.py,sha256=fIqndcGpNzPGuLJbCrENTBxydEhG_FslTCaIIgFZsas,5499
|
90
89
|
odxtools/teammember.py,sha256=nhpTD7TYoixKe-K2MDoyYP4K_xlmWQtAxTm4Srh4CLo,1806
|
91
|
-
odxtools/uds.py,sha256=
|
92
|
-
odxtools/unit.py,sha256=
|
93
|
-
odxtools/unitgroup.py,sha256=
|
94
|
-
odxtools/unitspec.py,sha256=
|
90
|
+
odxtools/uds.py,sha256=ZY8Uh8EmiPOsEfoBlobNzQWceKiV-HJn39iICc0jHbA,4254
|
91
|
+
odxtools/unit.py,sha256=Yhf8Q2PkOnOImO7C7nehS59ua6kWd2da73VRQ0xNRfU,3701
|
92
|
+
odxtools/unitgroup.py,sha256=HCFwmUR_-N1_bfcDQiWV2rq29uRQWbVMbxSASw8P8ow,2101
|
93
|
+
odxtools/unitspec.py,sha256=WFifnGPLfaRzCUpZNY8lvB5_jXuoGJuvKcyL1R04oJ0,2981
|
95
94
|
odxtools/utils.py,sha256=cbcNql5ahfdJfENAn_waHgGWg9XOtWblx5mMaWoKL8U,1898
|
96
|
-
odxtools/version.py,sha256=
|
97
|
-
odxtools/write_pdx_file.py,sha256=
|
95
|
+
odxtools/version.py,sha256=c0MC574oxVREdihyPy7wJvfNgx8Oec-GkZrDJLQxdyo,411
|
96
|
+
odxtools/write_pdx_file.py,sha256=Z4VvHlOkdfZyJYzdF2Rvo3_p7SSkWdgA28TPefVdlEM,5983
|
98
97
|
odxtools/xdoc.py,sha256=pUYo6l60ns9LOEdutE06WMcNy25yNVl1Ni4lMpYt1pY,1467
|
99
98
|
odxtools/cli/__init__.py,sha256=T7ano_FIyzBASxYpmcA5VJXU5bQLIy_Qk0HE_SDKelY,106
|
100
|
-
odxtools/cli/_parser_utils.py,sha256=
|
101
|
-
odxtools/cli/_print_utils.py,sha256=
|
102
|
-
odxtools/cli/browse.py,sha256=
|
99
|
+
odxtools/cli/_parser_utils.py,sha256=8wS4PP-CXxnV3Fm5p9_A-4qGFO39MD8RjzyreyqYLq8,580
|
100
|
+
odxtools/cli/_print_utils.py,sha256=EVbg-6HdNHPLgfoLd2mqFY6nj0etO9yW_zdtqiER8wY,3275
|
101
|
+
odxtools/cli/browse.py,sha256=2QfqhN2mcoK_gAZoNCg1Wbogsoxz5E64y7tTXohTems,15153
|
103
102
|
odxtools/cli/dummy_sub_parser.py,sha256=0oe0b3TrqP1xAzNHn6aB5r_MupIUV6vBZe1t1Wo-PuI,1190
|
104
|
-
odxtools/cli/find.py,sha256=
|
105
|
-
odxtools/cli/list.py,sha256=
|
103
|
+
odxtools/cli/find.py,sha256=A6SZYp0qr2Degan6lpI33HXMKc8f5MuPAILSYIyfTP0,5657
|
104
|
+
odxtools/cli/list.py,sha256=QDijZFv86PvIsPayHur9_nqeyem1zz-xlDpDuL7Rt1Y,7562
|
106
105
|
odxtools/cli/main.py,sha256=1rPETZgVI3L2HiNeKEVny9PkNdwIiXQwl9vsvJLWBEo,1778
|
107
|
-
odxtools/cli/snoop.py,sha256=
|
108
|
-
odxtools/compumethods/compumethod.py,sha256=
|
106
|
+
odxtools/cli/snoop.py,sha256=_EOkU122Ir_dAUDMh_KxiXqRo75OAoKjFb2CIHBLHQQ,7768
|
107
|
+
odxtools/compumethods/compumethod.py,sha256=HDLLoRhzd_ujZZEzKYDTvaW_sNx_CoZOWufc3Hfn2_o,953
|
109
108
|
odxtools/compumethods/compurationalcoeffs.py,sha256=gRD0B2Ut03Rg4ixVPh2Mh6PY20RXzozGMxoP75vMr0U,782
|
110
109
|
odxtools/compumethods/compuscale.py,sha256=HJ4SiQd1Br-spob-8GlYrFGhKN7LyemISim6feqitfM,2822
|
111
|
-
odxtools/compumethods/createanycompumethod.py,sha256=
|
112
|
-
odxtools/compumethods/identicalcompumethod.py,sha256=
|
113
|
-
odxtools/compumethods/limit.py,sha256=
|
114
|
-
odxtools/compumethods/linearcompumethod.py,sha256=
|
115
|
-
odxtools/compumethods/scalelinearcompumethod.py,sha256=
|
116
|
-
odxtools/compumethods/tabintpcompumethod.py,sha256=
|
117
|
-
odxtools/compumethods/texttablecompumethod.py,sha256=
|
118
|
-
odxtools/parameters/codedconstparameter.py,sha256=
|
119
|
-
odxtools/parameters/createanyparameter.py,sha256=
|
120
|
-
odxtools/parameters/dynamicparameter.py,sha256=
|
121
|
-
odxtools/parameters/lengthkeyparameter.py,sha256=
|
122
|
-
odxtools/parameters/matchingrequestparameter.py,sha256=
|
123
|
-
odxtools/parameters/nrcconstparameter.py,sha256=
|
124
|
-
odxtools/parameters/parameter.py,sha256=
|
125
|
-
odxtools/parameters/parameterwithdop.py,sha256=
|
126
|
-
odxtools/parameters/physicalconstantparameter.py,sha256=
|
127
|
-
odxtools/parameters/reservedparameter.py,sha256=
|
128
|
-
odxtools/parameters/systemparameter.py,sha256=
|
129
|
-
odxtools/parameters/tableentryparameter.py,sha256=
|
130
|
-
odxtools/parameters/tablekeyparameter.py,sha256=
|
131
|
-
odxtools/parameters/tablestructparameter.py,sha256=
|
132
|
-
odxtools/parameters/valueparameter.py,sha256=
|
110
|
+
odxtools/compumethods/createanycompumethod.py,sha256=UXDh0tv7ZHTMMwEH_N45pd1mQkZqVBsWAPK5skUGFYw,7690
|
111
|
+
odxtools/compumethods/identicalcompumethod.py,sha256=WjqizY0RH20S3vXg-iKbFttka3efTr2J420b3_Dj-ck,830
|
112
|
+
odxtools/compumethods/limit.py,sha256=cCm1q9rWbFvB05ZwI7ij2pkz12YYAd7NC5vmUE-54iQ,3156
|
113
|
+
odxtools/compumethods/linearcompumethod.py,sha256=ypX428AGZScpTMlqt0ajUgkeO3-Uzp9Wlucx_006O5g,8032
|
114
|
+
odxtools/compumethods/scalelinearcompumethod.py,sha256=ZUY6JRuIIWkCfHR0b3WOBlvAspmaz4oIbJtiEMg34Hk,1644
|
115
|
+
odxtools/compumethods/tabintpcompumethod.py,sha256=OjIMsW7AcxjUABY-E7I-vjo0tyPkLzG6bSQZjSF8Jbc,6833
|
116
|
+
odxtools/compumethods/texttablecompumethod.py,sha256=qgh-UVlT53wy8r7KUmXAQ1PT6IRjcCYEoYomqGzQTrI,3422
|
117
|
+
odxtools/parameters/codedconstparameter.py,sha256=GiCDkxIwk7Ad3MWwbC77MNRsCDuQyg4J305mwb2eX9Y,3701
|
118
|
+
odxtools/parameters/createanyparameter.py,sha256=FY9T7sUU1m8Ksq-J3rkU-IYz4vOYWj4twOUZT8Ajcxw,8645
|
119
|
+
odxtools/parameters/dynamicparameter.py,sha256=fU0cM6LHbz837MneKyNH7XXnVnAt7prjm3PD9YVw8cY,978
|
120
|
+
odxtools/parameters/lengthkeyparameter.py,sha256=w_OcCCQwV4DCqGzM84l3swiYJC89XCIQhfg6UXZq-fM,2450
|
121
|
+
odxtools/parameters/matchingrequestparameter.py,sha256=AfxrtENKDzrQQNdpktxZQ9uiun0s4xca9GKgtzlKGno,1735
|
122
|
+
odxtools/parameters/nrcconstparameter.py,sha256=xpbEClEXdewdKRlrq88YrswAcHd3Zf5wii2x8aed4pE,4152
|
123
|
+
odxtools/parameters/parameter.py,sha256=Mx_veUQfZn1SWEcZfIo1OO__jS52PocP1oGonuwwut4,5999
|
124
|
+
odxtools/parameters/parameterwithdop.py,sha256=ihE0C9SgGPnnTrk6WtZEBgxLziNXf4vXuAzuc6IEhr4,3829
|
125
|
+
odxtools/parameters/physicalconstantparameter.py,sha256=gY40gJVdz-aIpxcNId6NoWSbKt-7SGYcQs8gxumoGp8,3109
|
126
|
+
odxtools/parameters/reservedparameter.py,sha256=pO9O0x-A4G79T0dUVuQAT9elZ1WAYFirmXv_L5hssuE,1474
|
127
|
+
odxtools/parameters/systemparameter.py,sha256=h3WSsaWqjyaW1PPUUsepb84Hm5L9FknJcrtNAdRFnXE,1067
|
128
|
+
odxtools/parameters/tableentryparameter.py,sha256=ELqvZf7jf-9lx7GrV_mEYZa-ptTYHBvNvuj4W7RKjWM,1102
|
129
|
+
odxtools/parameters/tablekeyparameter.py,sha256=bNxatXu4j-Ds4Lhb5Si4NtWMR9DBf6iCwcVSKl_hhvs,6631
|
130
|
+
odxtools/parameters/tablestructparameter.py,sha256=LDPqvDRH1EeFuhOkJx6LlOppYVY_6Kilfsj82Prxozs,6820
|
131
|
+
odxtools/parameters/valueparameter.py,sha256=NAAg5bCqvl353VSuvCVDoGV_kRNsv6Nk5s7165vV6gM,2631
|
133
132
|
odxtools/templates/comparam-subset.odx-cs.xml.jinja2,sha256=Ws7b0T158ys-NWMRC-8k50eat-O0lWmEH8jvOMATvZ4,2531
|
134
133
|
odxtools/templates/diag_layer_container.odx-d.xml.jinja2,sha256=nr1LMD8_fJF7rNaq1gERufbgf36aHqfzD95kg4sMQCc,2026
|
135
134
|
odxtools/templates/index.xml.xml.jinja2,sha256=dX7QZA3G5Au2BMbXWMMyF2K1aR6i3go-0E5dY3Z9hWE,636
|
@@ -160,9 +159,9 @@ odxtools/templates/macros/printStructure.xml.jinja2,sha256=DxysfpTrftccCUNwgzGoK
|
|
160
159
|
odxtools/templates/macros/printTable.xml.jinja2,sha256=yfDrl-nXeZwY-HE8h3Ds8MNvBUEhdI0YuhaUIzhC_Bg,1459
|
161
160
|
odxtools/templates/macros/printUnitSpec.xml.jinja2,sha256=Jx2J72_qWsEP3xT5F_zjPdqny9h8cGFSJDTBt_gxH7E,2792
|
162
161
|
odxtools/templates/macros/printVariant.xml.jinja2,sha256=wQ1bIOCjbQWUgPkpkMPSPFMDQVhKBmOCTIhHuV-hJeY,6194
|
163
|
-
odxtools-
|
164
|
-
odxtools-
|
165
|
-
odxtools-
|
166
|
-
odxtools-
|
167
|
-
odxtools-
|
168
|
-
odxtools-
|
162
|
+
odxtools-6.0.1.dist-info/LICENSE,sha256=NeGPFQdTa6EKeON3aShVlPAIquJnbbiOfj0suz6rzyQ,1074
|
163
|
+
odxtools-6.0.1.dist-info/METADATA,sha256=_coY79YyYcf3pxDSscsYvNlDm0bEfnBz5u3DHdU3-nY,27980
|
164
|
+
odxtools-6.0.1.dist-info/WHEEL,sha256=yQN5g4mg4AybRjkgi-9yy4iQEFibGQmlz78Pik5Or-A,92
|
165
|
+
odxtools-6.0.1.dist-info/entry_points.txt,sha256=_sBDzuNoT8LbbCjfc-OJiUt5WPrtOq_x-rr9txhrPjY,53
|
166
|
+
odxtools-6.0.1.dist-info/top_level.txt,sha256=pdS02kE5ZdgsaBRZDpX3NBFlaSx3zotsqX4E4V6tXEI,9
|
167
|
+
odxtools-6.0.1.dist-info/RECORD,,
|
@@ -1,74 +0,0 @@
|
|
1
|
-
# SPDX-License-Identifier: MIT
|
2
|
-
from dataclasses import dataclass
|
3
|
-
from typing import TYPE_CHECKING, Any, Dict, List, Optional, Tuple
|
4
|
-
from xml.etree import ElementTree
|
5
|
-
|
6
|
-
from .dataobjectproperty import DataObjectProperty
|
7
|
-
from .decodestate import DecodeState
|
8
|
-
from .encodestate import EncodeState
|
9
|
-
from .exceptions import odxrequire
|
10
|
-
from .odxlink import OdxDocFragment, OdxLinkDatabase, OdxLinkId, OdxLinkRef
|
11
|
-
|
12
|
-
if TYPE_CHECKING:
|
13
|
-
from .diaglayer import DiagLayer
|
14
|
-
|
15
|
-
|
16
|
-
@dataclass
|
17
|
-
class PositionedDataObjectProperty:
|
18
|
-
"""
|
19
|
-
This class represents a wrapper for DataObjectProperty that adds position information
|
20
|
-
used by Switch Key in the Multiplexer.
|
21
|
-
used by Number Of Items in the DynamicLengthField.
|
22
|
-
"""
|
23
|
-
|
24
|
-
byte_position: int
|
25
|
-
bit_position: Optional[int]
|
26
|
-
dop_ref: OdxLinkRef
|
27
|
-
|
28
|
-
def __post_init__(self):
|
29
|
-
self._dop: DataObjectProperty = None # type: ignore
|
30
|
-
|
31
|
-
@staticmethod
|
32
|
-
def from_et(et_element: ElementTree.Element,
|
33
|
-
doc_frags: List[OdxDocFragment]) -> "PositionedDataObjectProperty":
|
34
|
-
byte_position = int(odxrequire(et_element.findtext("BYTE-POSITION", "0")))
|
35
|
-
bit_position_str = et_element.findtext("BIT-POSITION")
|
36
|
-
bit_position = int(bit_position_str) if bit_position_str is not None else None
|
37
|
-
dop_ref = odxrequire(OdxLinkRef.from_et(et_element.find("DATA-OBJECT-PROP-REF"), doc_frags))
|
38
|
-
|
39
|
-
return PositionedDataObjectProperty(
|
40
|
-
byte_position=byte_position,
|
41
|
-
bit_position=bit_position,
|
42
|
-
dop_ref=dop_ref,
|
43
|
-
)
|
44
|
-
|
45
|
-
@property
|
46
|
-
def dop(self) -> DataObjectProperty:
|
47
|
-
return self._dop
|
48
|
-
|
49
|
-
def _build_odxlinks(self) -> Dict[OdxLinkId, Any]:
|
50
|
-
return {}
|
51
|
-
|
52
|
-
def _resolve_odxlinks(self, odxlinks: OdxLinkDatabase) -> None:
|
53
|
-
self._dop = odxrequire(odxlinks.resolve(self.dop_ref, DataObjectProperty))
|
54
|
-
|
55
|
-
def _resolve_snrefs(self, diag_layer: "DiagLayer") -> None:
|
56
|
-
pass
|
57
|
-
|
58
|
-
def convert_physical_to_bytes(self, physical_value, encode_state: EncodeState) -> bytes:
|
59
|
-
|
60
|
-
bit_position = self.bit_position if self.bit_position is not None else 0
|
61
|
-
dop_bytes = self.dop.convert_physical_to_bytes(physical_value, encode_state, bit_position)
|
62
|
-
|
63
|
-
return b'\0' * self.byte_position + dop_bytes
|
64
|
-
|
65
|
-
def convert_bytes_to_physical(self, decode_state: DecodeState) -> Tuple[Any, int]:
|
66
|
-
|
67
|
-
byte_code = decode_state.coded_message[decode_state.next_byte_position:]
|
68
|
-
state = DecodeState(
|
69
|
-
coded_message=byte_code[self.byte_position:],
|
70
|
-
parameter_values=dict(),
|
71
|
-
next_byte_position=0,
|
72
|
-
)
|
73
|
-
bit_position_int = (self.bit_position if self.bit_position is not None else 0)
|
74
|
-
return self.dop.convert_bytes_to_physical(state, bit_position=bit_position_int)
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|