odxtools 6.4.3__py3-none-any.whl → 6.5.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 +7 -3
- odxtools/cli/_print_utils.py +210 -25
- odxtools/cli/compare.py +730 -0
- odxtools/cli/decode.py +1 -1
- odxtools/cli/find.py +13 -4
- odxtools/cli/list.py +74 -40
- odxtools/cli/main.py +1 -1
- odxtools/database.py +1 -0
- odxtools/diagcodedtype.py +2 -0
- odxtools/version.py +2 -2
- {odxtools-6.4.3.dist-info → odxtools-6.5.0.dist-info}/METADATA +388 -47
- {odxtools-6.4.3.dist-info → odxtools-6.5.0.dist-info}/RECORD +16 -15
- {odxtools-6.4.3.dist-info → odxtools-6.5.0.dist-info}/LICENSE +0 -0
- {odxtools-6.4.3.dist-info → odxtools-6.5.0.dist-info}/WHEEL +0 -0
- {odxtools-6.4.3.dist-info → odxtools-6.5.0.dist-info}/entry_points.txt +0 -0
- {odxtools-6.4.3.dist-info → odxtools-6.5.0.dist-info}/top_level.txt +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: odxtools
|
3
|
-
Version: 6.
|
3
|
+
Version: 6.5.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>
|
@@ -29,6 +29,8 @@ Requires-Dist: python-can >=4.2
|
|
29
29
|
Requires-Dist: markdownify >=0.11
|
30
30
|
Requires-Dist: deprecation >=2.1
|
31
31
|
Requires-Dist: packaging
|
32
|
+
Requires-Dist: tabulate >=0.9.0
|
33
|
+
Requires-Dist: rich >=13.7.0
|
32
34
|
Provides-Extra: all
|
33
35
|
Requires-Dist: odxtools[browse-tool,examples,test] ; extra == 'all'
|
34
36
|
Provides-Extra: browse-tool
|
@@ -37,6 +39,7 @@ Provides-Extra: examples
|
|
37
39
|
Requires-Dist: can-isotp >=1.9 ; extra == 'examples'
|
38
40
|
Provides-Extra: test
|
39
41
|
Requires-Dist: mypy >=1.5 ; extra == 'test'
|
42
|
+
Requires-Dist: types-tabulate >=0.9.0.3 ; extra == 'test'
|
40
43
|
Requires-Dist: ruff >=0.0.290 ; extra == 'test'
|
41
44
|
Requires-Dist: pytest >=7.4 ; extra == 'test'
|
42
45
|
Requires-Dist: coverage >=7.3 ; extra == 'test'
|
@@ -96,6 +99,7 @@ send to/received from ECUs in an pythonic manner.
|
|
96
99
|
- [The `snoop` subcommand](#the-snoop-subcommand)
|
97
100
|
- [The `find` subcommand](#the-find-subcommand)
|
98
101
|
- [The `decode` subcommand](#the-decode-subcommand)
|
102
|
+
- [The `compare` subcommand](#the-compare-subcommand)
|
99
103
|
- [Testing](#testing)
|
100
104
|
- [Contributing](#contributing)
|
101
105
|
- [Code of Conduct](#code-of-conduct)
|
@@ -320,7 +324,7 @@ using `odxtools --help`:
|
|
320
324
|
|
321
325
|
```bash
|
322
326
|
$ odxtools --help
|
323
|
-
usage: odxtools [-h] [--version] {list,browse,snoop,find} ...
|
327
|
+
usage: odxtools [-h] [--version] {list,browse,snoop,find,decode,compare} ...
|
324
328
|
|
325
329
|
Utilities to interact with automotive diagnostic descriptions based on the ODX standard.
|
326
330
|
|
@@ -331,13 +335,14 @@ Examples:
|
|
331
335
|
odxtools browse ./path/to/database.pdx
|
332
336
|
|
333
337
|
positional arguments:
|
334
|
-
{list,browse,snoop,find}
|
338
|
+
{list,browse,snoop,find,decode,compare}
|
335
339
|
Select a sub command
|
336
340
|
list Print a summary of automotive diagnostic files.
|
337
341
|
browse Interactively browse the content of automotive diagnostic files.
|
338
342
|
snoop Live decoding of a diagnostic session.
|
339
343
|
find Find & display services by their name
|
340
|
-
decode
|
344
|
+
decode Find & print service by hex-data. Can also decode the hex-data to its named parameters.
|
345
|
+
compare Compares two ecu versions or databases with each other. Checks whether diagnostic services and its parameters have changed.
|
341
346
|
|
342
347
|
optional arguments:
|
343
348
|
-h, --help show this help message and exit
|
@@ -362,7 +367,7 @@ print the relevant parts of its content to the terminal.
|
|
362
367
|
|
363
368
|
```bash
|
364
369
|
$ odxtools list -h
|
365
|
-
usage: odxtools list [-h] [-v VARIANT [VARIANT ...]] [-s [SERVICE [SERVICE ...]]] [-p] [-d] [-a] PDX_FILE
|
370
|
+
usage: odxtools list [-h] [-v VARIANT [VARIANT ...]] [-g] [-s [SERVICE [SERVICE ...]]] [-p] [-d] [-a] [-po] PDX_FILE
|
366
371
|
|
367
372
|
List the content of automotive diagnostic files (*.pdx)
|
368
373
|
|
@@ -381,26 +386,53 @@ optional arguments:
|
|
381
386
|
-h, --help show this help message and exit
|
382
387
|
-v VARIANT [VARIANT ...], --variants VARIANT [VARIANT ...]
|
383
388
|
Specifies which variants should be included.
|
389
|
+
-g, --global-negative-responses
|
390
|
+
Print a list of the global negative responses for the selected ECUs.
|
384
391
|
-s [SERVICE [SERVICE ...]], --services [SERVICE [SERVICE ...]]
|
385
392
|
Print a list of diagnostic services specified in the pdx.
|
386
393
|
If no service names are specified, all services are printed.
|
387
394
|
-p, --params Print a list of all parameters relevant for the selected items.
|
388
395
|
-d, --dops Print a list of all data object properties relevant for the selected items
|
389
396
|
-a, --all Print a list of all diagnostic services and DOPs specified in the pdx
|
397
|
+
-po, --plumbing-output
|
398
|
+
Print full objects instead of selected and formatted attributes
|
390
399
|
```
|
391
400
|
|
392
|
-
The options `--variants` and `--services` can be used to specify which
|
393
|
-
|
394
|
-
the
|
395
|
-
the `--
|
396
|
-
by `odxtools
|
401
|
+
The options `--variants` and `--services` can be used to specify which services should be printed.
|
402
|
+
If the `--params` option is specified, the message layout and information about the service parameters (reuest as well as responses) are printed for all specified variants/services.
|
403
|
+
If the `--global-negative-responses` option is specified, all global negative responses are printed for all specified variants.
|
404
|
+
If the `--dops` option is specified, a list of all data object properties (their names) is printed for all specified variants/services.
|
405
|
+
With the parameter `--all` all data of the file that is recognized by `odxtools` is printed.
|
406
|
+
The default output does not display all information of the specified objects but a selection. To see all object information choose the parameter `--plumbing-output`.
|
407
|
+
|
408
|
+
Example:
|
397
409
|
|
398
410
|
```bash
|
399
411
|
$ odxtools list $BASE_DIR/odxtools/examples/somersault.pdx --variants somersault_lazy --services do_forward_flips --params
|
400
|
-
|
401
|
-
|
402
|
-
|
403
|
-
|
412
|
+
Overview of diagnostic layers:
|
413
|
+
| Name | Variant Type | Num. of Services | Num. of DOPs | Num. of comparams
|
414
|
+
----+-----------------+--------------+------------------+--------------+-------------------
|
415
|
+
0 | somersault_lazy | ECU-VARIANT | 5 | 10 | 10
|
416
|
+
|
417
|
+
Diagnostic layer: 'somersault_lazy'
|
418
|
+
Variant Type: ECU-VARIANT
|
419
|
+
Description: Sloppy variant of the somersault ECU (lazy < assiduous)
|
420
|
+
|
421
|
+
The services of 'somersault_lazy' are:
|
422
|
+
do_forward_flips <ID: OdxLinkId('somersault.service.do_forward_flips')>
|
423
|
+
Service description: Do a forward flip.
|
424
|
+
|
425
|
+
Request Properties:
|
426
|
+
Request Name: do_forward_flips
|
427
|
+
Byte-Array: --- Hex-String: 0x---
|
428
|
+
Service Parameters: [sid, forward_soberness_check, num_flips]
|
429
|
+
|
430
|
+
| Name | Byte Pos. | Bit Length | Param. Type | Data Type | Value | Value Desc. | Linked DOP
|
431
|
+
----+-------------------------+-----------+------------+-------------+-----------+-------+-------------+-----------------
|
432
|
+
0 | sid | 0 | 8 | CODED-CONST | A_UINT32 | 0xBA | coded value |
|
433
|
+
1 | forward_soberness_check | 1 | 8 | VALUE | A_UINT32 | | | soberness_check
|
434
|
+
2 | num_flips | 2 | 8 | VALUE | A_UINT32 | | | num_flips
|
435
|
+
|
404
436
|
Message format of a request:
|
405
437
|
7 6 5 4 3 2 1 0
|
406
438
|
+-----+-----+-----+-----+-----+-----+-----+-----+
|
@@ -410,12 +442,17 @@ The services of the ECU-VARIANT 'somersault_lazy' are:
|
|
410
442
|
+-----+-----+-----+-----+-----+-----+-----+-----+
|
411
443
|
2 | num_flips(8 bits) |
|
412
444
|
+-----+-----+-----+-----+-----+-----+-----+-----+
|
413
|
-
|
414
|
-
|
415
|
-
|
416
|
-
|
417
|
-
|
418
|
-
|
445
|
+
|
446
|
+
Positive Response Properties:
|
447
|
+
Number of Positive Responses: 1
|
448
|
+
Positive Responses: [grudging_forward]
|
449
|
+
Service Parameters: [sid, num_flips_done]
|
450
|
+
|
451
|
+
| Name | Byte Pos. | Bit Length | Parameter Type | Data Type | Value | Value Desc. | Linked DOP
|
452
|
+
----+----------------+-----------+------------+------------------------+-----------+-------+-------------+-------------
|
453
|
+
0 | sid | 0 | 8 | CODED-CONST | A_UINT32 | 0xFA | coded value |
|
454
|
+
1 | num_flips_done | 1 | 8 | MATCHING-REQUEST-PARAM | | | |
|
455
|
+
|
419
456
|
Message format of a positive response:
|
420
457
|
7 6 5 4 3 2 1 0
|
421
458
|
+-----+-----+-----+-----+-----+-----+-----+-----+
|
@@ -423,9 +460,19 @@ The services of the ECU-VARIANT 'somersault_lazy' are:
|
|
423
460
|
+-----+-----+-----+-----+-----+-----+-----+-----+
|
424
461
|
1 | num_flips_done(8 bits) |
|
425
462
|
+-----+-----+-----+-----+-----+-----+-----+-----+
|
426
|
-
|
427
|
-
|
428
|
-
|
463
|
+
|
464
|
+
Negative Response Properties:
|
465
|
+
Number of Negative Responses: 1
|
466
|
+
Negative Responses: [flips_not_done]
|
467
|
+
Service Parameters: [sid, rq_sid, reason, flips_successfully_done]
|
468
|
+
|
469
|
+
| Name |Byte Pos. | Bit Length | Parameter Type | Data Type | Value | Value Desc. | Linked DOP
|
470
|
+
----+-------------------------+----------+------------+------------------------+-----------+-----------+-------------+-------------
|
471
|
+
0 | sid | 0 | 8 | CODED-CONST | A_UINT32 | 0x7F | coded value |
|
472
|
+
1 | rq_sid | 1 | 8 | MATCHING-REQUEST-PARAM | | | |
|
473
|
+
2 | reason | 2 | 8 | NRC-CONST | A_UINT32 | [0, 1, 2] | coded value |
|
474
|
+
3 | flips_successfully_done | 3 | 8 | VALUE | A_UINT32 | | | num_flips
|
475
|
+
|
429
476
|
Number of negative responses: 1
|
430
477
|
Message format of a negative response:
|
431
478
|
7 6 5 4 3 2 1 0
|
@@ -438,13 +485,7 @@ The services of the ECU-VARIANT 'somersault_lazy' are:
|
|
438
485
|
+-----+-----+-----+-----+-----+-----+-----+-----+
|
439
486
|
3 | flips_successfully_done(8 bits) |
|
440
487
|
+-----+-----+-----+-----+-----+-----+-----+-----+
|
441
|
-
|
442
|
-
Parameter(short_name='rq_sid', type='MATCHING-REQUEST-PARAM', semantic=None, byte_position=1)
|
443
|
-
Request byte position = 0, byte length = 1
|
444
|
-
Parameter(short_name='reason', type='VALUE', semantic=None, byte_position=2, bit_length=8, dop_ref='somersault.DOP.error_code')
|
445
|
-
DataObjectProperty('error_code', category='LINEAR', internal_type='A_UINT32', physical_type='A_UINT32')
|
446
|
-
Parameter(short_name='flips_successfully_done', type='VALUE', semantic=None, byte_position=3, bit_length=8, dop_ref='somersault.DOP.num_flips')
|
447
|
-
DataObjectProperty('num_flips', category='LINEAR', internal_type='A_UINT32', physical_type='A_UINT32')
|
488
|
+
|
448
489
|
```
|
449
490
|
|
450
491
|
### The `browse` subcommand
|
@@ -539,12 +580,11 @@ Tester: do_forward_flips(forward_soberness_check=18, num_flips=50)
|
|
539
580
|
|
540
581
|
### The `find` subcommand
|
541
582
|
|
542
|
-
The `find` subcommand can be used to find a service and its associated
|
543
|
-
information by a partial name via cli.
|
583
|
+
The `find` subcommand can be used to find a service and its associated information by a partial name via cli.
|
544
584
|
|
545
585
|
```bash
|
546
586
|
$ odxtools find -h
|
547
|
-
usage: odxtools find [-h] [-v VARIANT] -s [SERVICES ...] [-nd] [-ro] PDX_FILE
|
587
|
+
usage: odxtools find [-h] [-v VARIANT] -s [SERVICES ...] [-nd] [-ro] [-po] PDX_FILE
|
548
588
|
|
549
589
|
Find & print services by name
|
550
590
|
|
@@ -566,12 +606,14 @@ options:
|
|
566
606
|
-nd, --no-details Don't show all service details
|
567
607
|
-ro, --relaxed-output
|
568
608
|
Relax output formatting rules (allow unknown bitlengths for ascii representation)
|
609
|
+
-po, --plumbing-output
|
610
|
+
Print full objects instead of selected and formatted attributes
|
569
611
|
```
|
570
612
|
|
571
613
|
Example: Find diagnostic services with the name `session_start`
|
572
614
|
|
573
615
|
```bash
|
574
|
-
$ odxtools find examples/somersault.pdx -s session_start
|
616
|
+
$ odxtools find $BASE_DIR/odxtools/examples/somersault.pdx -s session_start
|
575
617
|
|
576
618
|
=====================================
|
577
619
|
somersault_lazy, somersault_assiduous
|
@@ -579,6 +621,17 @@ somersault_lazy, somersault_assiduous
|
|
579
621
|
|
580
622
|
|
581
623
|
session_start <ID: OdxLinkId('somersault.service.session_start')>
|
624
|
+
|
625
|
+
Request Properties:
|
626
|
+
Request Name: start_session
|
627
|
+
Byte-Array: bytearray(b'\x10\x00') Hex-String: 0x1000
|
628
|
+
Service Parameters: [sid, id]
|
629
|
+
|
630
|
+
| Name | Byte Pos. | Bit Length | Param. Type | Data Type | Value | Value Desc. | Linked DOP
|
631
|
+
----+------+-----------+------------+-------------+-----------+-------+-------------+------------
|
632
|
+
0 | sid | 0 | 8 | CODED-CONST | A_UINT32 | 0x10 | coded value |
|
633
|
+
1 | id | 1 | 8 | CODED-CONST | A_UINT32 | 0x00 | coded value |
|
634
|
+
|
582
635
|
Message format of a request:
|
583
636
|
7 6 5 4 3 2 1 0
|
584
637
|
+-----+-----+-----+-----+-----+-----+-----+-----+
|
@@ -586,9 +639,17 @@ somersault_lazy, somersault_assiduous
|
|
586
639
|
+-----+-----+-----+-----+-----+-----+-----+-----+
|
587
640
|
1 | id (8 bits) |
|
588
641
|
+-----+-----+-----+-----+-----+-----+-----+-----+
|
589
|
-
|
590
|
-
|
591
|
-
|
642
|
+
|
643
|
+
Positive Response Properties:
|
644
|
+
Number of Positive Responses: 1
|
645
|
+
Positive Responses: [session]
|
646
|
+
Service Parameters: [sid, can_do_backward_flips]
|
647
|
+
|
648
|
+
| Name | Byte Pos. | Bit Length | Param. Type | Data Type | Value | Value Desc. | Linked DOP
|
649
|
+
----+-----------------------+-----------+------------+-------------+------------------+-------+-------------+------------
|
650
|
+
0 | sid | 0 | 8 | CODED-CONST | A_UINT32 | 0x50 | coded value |
|
651
|
+
1 | can_do_backward_flips | 1 | 8 | VALUE | A_UNICODE2STRING | | | boolean
|
652
|
+
|
592
653
|
Message format of a positive response:
|
593
654
|
7 6 5 4 3 2 1 0
|
594
655
|
+-----+-----+-----+-----+-----+-----+-----+-----+
|
@@ -596,9 +657,18 @@ somersault_lazy, somersault_assiduous
|
|
596
657
|
+-----+-----+-----+-----+-----+-----+-----+-----+
|
597
658
|
1 | can_do_backward_flips (8 bits) |
|
598
659
|
+-----+-----+-----+-----+-----+-----+-----+-----+
|
599
|
-
|
600
|
-
|
601
|
-
|
660
|
+
|
661
|
+
Negative Response Properties:
|
662
|
+
Number of Negative Responses: 1
|
663
|
+
Negative Responses: [general_negative_response]
|
664
|
+
Service Parameters: [sid, rq_sid, response_code]
|
665
|
+
|
666
|
+
| Name | Byte Pos.| Bit Length | Parameter Type | Data Type | Value | Value Desc. | Linked DOP
|
667
|
+
----+---------------+----------+------------+------------------------+-----------+-------+-------------+------------
|
668
|
+
0 | sid | 0 | 8 | CODED-CONST | A_UINT32 | 0x7F | coded value |
|
669
|
+
1 | rq_sid | 1 | 8 | MATCHING-REQUEST-PARAM | | | |
|
670
|
+
2 | response_code | 2 | 8 | VALUE | A_UINT32 | | | error_code
|
671
|
+
|
602
672
|
Message format of a negative response:
|
603
673
|
7 6 5 4 3 2 1 0
|
604
674
|
+-----+-----+-----+-----+-----+-----+-----+-----+
|
@@ -608,9 +678,7 @@ somersault_lazy, somersault_assiduous
|
|
608
678
|
+-----+-----+-----+-----+-----+-----+-----+-----+
|
609
679
|
2 | response_code (8 bits) |
|
610
680
|
+-----+-----+-----+-----+-----+-----+-----+-----+
|
611
|
-
|
612
|
-
MatchingRequestParameter(short_name='rq_sid', long_name=None, description=None, byte_position=1, bit_position=None, semantic=None, sdgs=[], request_byte_position=0, byte_length=1)
|
613
|
-
ValueParameter(short_name='response_code', long_name=None, description=None, byte_position=2, bit_position=None, semantic=None, sdgs=[], dop_ref=OdxLinkRef(ref_id='somersault.DOP.error_code', ref_docs=[OdxDocFragment(doc_name='somersault', doc_type='CONTAINER'), OdxDocFragment(doc_name='somersault', doc_type='LAYER')]), dop_snref=None, physical_default_value_raw=None)
|
681
|
+
|
614
682
|
```
|
615
683
|
|
616
684
|
### The `decode` subcommand
|
@@ -646,7 +714,7 @@ options:
|
|
646
714
|
Example: Decode diagnostic services with the request `10 00`
|
647
715
|
|
648
716
|
```bash
|
649
|
-
$ odxtools decode examples/somersault.pdx -d '10 00'
|
717
|
+
$ odxtools decode $BASE_DIR/odxtools/examples/somersault.pdx -d '10 00'
|
650
718
|
Binary data: 10 00
|
651
719
|
Decoded by service 'session_start' (decoding ECUs: somersault_lazy, somersault_assiduous)
|
652
720
|
```
|
@@ -654,12 +722,285 @@ Decoded by service 'session_start' (decoding ECUs: somersault_lazy, somersault_a
|
|
654
722
|
Example: Decode diagnostic services with the request `10 00`, and parameters
|
655
723
|
|
656
724
|
```bash
|
657
|
-
$ odxtools decode examples/somersault.pdx -d '10 00' -D
|
725
|
+
$ odxtools decode $BASE_DIR/odxtools/examples/somersault.pdx -d '10 00' -D
|
658
726
|
Binary data: 10 00
|
659
727
|
Decoded by service 'session_start' (decoding ECUs: somersault_lazy, somersault_assiduous)
|
660
728
|
Decoded data:
|
661
|
-
sid=16 (0x10)
|
662
|
-
id=0 (0x0)
|
729
|
+
sid=16 (0x10)
|
730
|
+
id=0 (0x0)
|
731
|
+
```
|
732
|
+
|
733
|
+
### The `compare` subcommand
|
734
|
+
|
735
|
+
The `compare` subcommand can be used to compare databases (pdx-files) and diagnostic layers with each other. All diagnostic services as well as its parameters of specified databases and variants are compared with each other and changes are displayed.
|
736
|
+
|
737
|
+
#### database comparison:
|
738
|
+
- new diagnostic layers
|
739
|
+
- deleted diagnostic layers
|
740
|
+
- diagnostic layer comparison
|
741
|
+
|
742
|
+
#### diagnostic layer comparison:
|
743
|
+
- new services
|
744
|
+
- deleted services
|
745
|
+
- renamed services
|
746
|
+
- service parameter comparison
|
747
|
+
|
748
|
+
#### service parameter comparison:
|
749
|
+
find changes in following properties:
|
750
|
+
- Name
|
751
|
+
- Byte Position
|
752
|
+
- Bit Length
|
753
|
+
- Semantic
|
754
|
+
- Parameter Type
|
755
|
+
- Coded Value
|
756
|
+
- Data Type
|
757
|
+
- Data Object Property (Name, Data Type, Bit Length, Default Value)
|
758
|
+
|
759
|
+
```bash
|
760
|
+
$ odxtools compare -h
|
761
|
+
usage: odxtools compare [-h] [-v VARIANT [VARIANT ...]] [-db DATABASE [DATABASE ...]] [-nd] [-od] PDX_FILE
|
762
|
+
|
763
|
+
Compares two ecu versions or databases with each other. Checks whether diagnostic services and its parameters have changed.
|
764
|
+
|
765
|
+
Examples:
|
766
|
+
Comparison of two ecu versions:
|
767
|
+
odxtools compare ./path/to/database.pdx -v variant1 variant2
|
768
|
+
Comparison of two database versions:
|
769
|
+
odxtools compare ./path/to/database.pdx -db ./path/to/old-database.pdx
|
770
|
+
For more information use:
|
771
|
+
odxtools compare -h
|
772
|
+
|
773
|
+
positional arguments:
|
774
|
+
PDX_FILE Location of the .pdx file
|
775
|
+
|
776
|
+
options:
|
777
|
+
-h, --help show this help message and exit
|
778
|
+
-v VARIANT [VARIANT ...], --variants VARIANT [VARIANT ...]
|
779
|
+
Compare specified ecu variants to each other.
|
780
|
+
-db DATABASE [DATABASE ...], --database DATABASE [DATABASE ...]
|
781
|
+
Compare specified database file(s) to database file of first input argument.
|
782
|
+
-nd, --no-details Don't show all service parameter details
|
783
|
+
-od, --object-details
|
784
|
+
Print all object details instead of just the name
|
785
|
+
```
|
786
|
+
|
787
|
+
Example: Compare the ecu variants `somersault_lazy` and `somersault_assiduous`
|
788
|
+
|
789
|
+
```bash
|
790
|
+
$ odxtools compare $BASE_DIR/odxtools/examples/somersault.pdx -v somersault_lazy somersault_assiduous
|
791
|
+
|
792
|
+
Overview of diagnostic layers:
|
793
|
+
| Name | Variant Type | Num. of Services | Num. of DOPs | Num. of comparams
|
794
|
+
----+----------------------+--------------+------------------+--------------+-------------------
|
795
|
+
0 | somersault_lazy | ECU-VARIANT | 5 | 10 | 10
|
796
|
+
1 | somersault_assiduous | ECU-VARIANT | 8 | 10 | 10
|
797
|
+
|
798
|
+
|
799
|
+
Changes in ecu variant somersault_lazy
|
800
|
+
(compared to somersault_assiduous)
|
801
|
+
|
802
|
+
Changed diagnostic services for ecu variant: somersault_lazy
|
803
|
+
|
804
|
+
Deleted services
|
805
|
+
| Name | Semantic | Hex-Request
|
806
|
+
----+----------------------+------------+---------------
|
807
|
+
0 | set_operation_params | FUNCTION |
|
808
|
+
1 | do_backward_flips | FUNCTION |
|
809
|
+
2 | headstand | UNKNOWN |
|
810
|
+
```
|
811
|
+
|
812
|
+
Example: Compare two databases
|
813
|
+
|
814
|
+
```bash
|
815
|
+
$ odxtools compare $BASE_DIR/odxtools/examples/somersault_modified.pdx -db $BASE_DIR/odxtools/examples/somersault.pdx -nd
|
816
|
+
|
817
|
+
Changes in file somersault_modified.pdx
|
818
|
+
(compared to somersault.pdx)
|
819
|
+
|
820
|
+
Overview of diagnostic layers (for somersault_modified.pdx)
|
821
|
+
| Name | Variant Type | Num. of Services | Num. of DOPs | Num. of comparams
|
822
|
+
----+----------------------+--------------+------------------+--------------+-------------------
|
823
|
+
0 | somersault | BASE-VARIANT | 6 | 10 | 10
|
824
|
+
1 | somersault_lazy | ECU-VARIANT | 5 | 10 | 10
|
825
|
+
2 | somersault_assiduous | ECU-VARIANT | 8 | 10 | 10
|
826
|
+
3 | somersault_young | ECU-VARIANT | 6 | 10 | 10
|
827
|
+
|
828
|
+
|
829
|
+
Overview of diagnostic layers (for somersault.pdx)
|
830
|
+
| Name | Variant Type | Num. of Services | Num. of DOPs | Num. of comparams
|
831
|
+
----+----------------------+--------------+------------------+--------------+-------------------
|
832
|
+
0 | somersault | BASE-VARIANT | 7 | 10 | 10
|
833
|
+
1 | somersault_lazy | ECU-VARIANT | 5 | 10 | 10
|
834
|
+
2 | somersault_assiduous | ECU-VARIANT | 8 | 10 | 10
|
835
|
+
|
836
|
+
Changed ecu variants:
|
837
|
+
New ecu variants:
|
838
|
+
somersault_young
|
839
|
+
Deleted ecu variants:
|
840
|
+
|
841
|
+
Changed diagnostic services for ecu variant: somersault_lazy
|
842
|
+
|
843
|
+
Renamed services
|
844
|
+
| Name | Semantic | Hex-Request | Old service name
|
845
|
+
----+---------------+------------+---------------+--------------------
|
846
|
+
0 | session_start | SESSION | 0x1000 | start_session
|
847
|
+
|
848
|
+
Services with parameter changes
|
849
|
+
| Name | Semantic | Hex-Request | Changed parameters
|
850
|
+
----+----------------+---------------+-------------+-----------------------------------------------------------------------------------------------
|
851
|
+
0 | session_start | SESSION | 0x1000 | positive response parameter 'can_do_backward_flips',
|
852
|
+
1 | session_stop | SESSION | 0x1001 | request parameter 'id', positive response parameter 'can_do_backward_flips',
|
853
|
+
2 | tester_present | TESTERPRESENT | 0x3E00 | request parameter 'id', positive response parameter 'status',
|
854
|
+
3 | report_status | CURRENTDATA | 0x2200 | positive response parameter 'dizzyness_level', positive response parameter 'happiness_level',
|
855
|
+
|
856
|
+
Detailed changes of diagnostic service session_start
|
857
|
+
|
858
|
+
Properties of 2. positive response parameter can_do_backward_flips have changed
|
859
|
+
| Property | Old Value | New Value
|
860
|
+
----+---------------+-------------+------------------
|
861
|
+
0 | Linked DOP | uint8 | boolean
|
862
|
+
1 | DOP data type | A_UINT32 | A_UNICODE2STRING
|
863
|
+
|
864
|
+
Detailed changes of diagnostic service session_stop
|
865
|
+
|
866
|
+
Properties of 2. request parameter id have changed
|
867
|
+
| Property | Old Value | New Value
|
868
|
+
----+------------+-------------+-------------
|
869
|
+
0 | Bit Length | 16 | 8
|
870
|
+
|
871
|
+
Properties of 2. positive response parameter can_do_backward_flips have changed
|
872
|
+
| Property | Old Value | New Value
|
873
|
+
----+---------------+-------------+------------------
|
874
|
+
0 | Linked DOP | uint8 | boolean
|
875
|
+
1 | DOP data type | A_UINT32 | A_UNICODE2STRING
|
876
|
+
|
877
|
+
Detailed changes of diagnostic service tester_present
|
878
|
+
|
879
|
+
Properties of 2. request parameter id have changed
|
880
|
+
| Property | Old Value | New Value
|
881
|
+
----+------------+-------------+-------------
|
882
|
+
0 | Value | 0x01 | 0x00
|
883
|
+
|
884
|
+
Properties of 2. positive response parameter status have changed
|
885
|
+
| Property | Old Value | New Value
|
886
|
+
----+------------+-------------+-------------
|
887
|
+
0 | Bit Length | 16 | 8
|
888
|
+
1 | Value | 0x0043 | 0x00
|
889
|
+
|
890
|
+
Detailed changes of diagnostic service report_status
|
891
|
+
|
892
|
+
Properties of 2. positive response parameter dizzyness_level have changed
|
893
|
+
| Property | Old Value | New Value
|
894
|
+
----+----------------+-----------------+-----------------
|
895
|
+
0 | Parameter name | happiness_level | dizzyness_level
|
896
|
+
1 | Linked DOP | happiness_level | dizzyness_level
|
897
|
+
|
898
|
+
Properties of 3. positive response parameter happiness_level have changed
|
899
|
+
| Property | Old Value | New Value
|
900
|
+
----+----------------+-----------------+-----------------
|
901
|
+
0 | Parameter name | dizzyness_level | happiness_level
|
902
|
+
1 | Linked DOP | dizzyness_level | happiness_level
|
903
|
+
|
904
|
+
Changed diagnostic services for ecu variant: somersault_assiduous
|
905
|
+
|
906
|
+
New services
|
907
|
+
| Name | Semantic | Hex-Request
|
908
|
+
----+----------+------------+---------------
|
909
|
+
0 | flicflac | FUNCTION |
|
910
|
+
|
911
|
+
Deleted services
|
912
|
+
| Name | Semantic | Hex-Request
|
913
|
+
----+----------------------+------------+---------------
|
914
|
+
0 | set_operation_params | FUNCTION |
|
915
|
+
|
916
|
+
Renamed services
|
917
|
+
| Name | Semantic | Hex-Request | Old service name
|
918
|
+
----+---------------+------------+---------------+--------------------
|
919
|
+
0 | session_start | SESSION | 0x1000 | start_session
|
920
|
+
|
921
|
+
Services with parameter changes
|
922
|
+
| Name | Semantic | Hex-Request | Changed parameters
|
923
|
+
----+-------------------+---------------+-------------+---------------------------------------------------------------------------------------------------------------------------------------------
|
924
|
+
0 | session_start | SESSION | 0x1000 | positive response parameter 'can_do_backward_flips',
|
925
|
+
1 | session_stop | SESSION | 0x1001 | request parameter 'id', positive response parameter 'can_do_backward_flips',
|
926
|
+
2 | tester_present | TESTERPRESENT | 0x3E00 | request parameter 'id', positive response parameter 'status',
|
927
|
+
3 | do_backward_flips | FUNCTION | | request parameter 'backward_soberness_check', positive response parameter 'num_flips_done', positive response parameter 'grumpiness_level',
|
928
|
+
4 | report_status | CURRENTDATA | 0x2200 | positive response parameter 'dizzyness_level', positive response parameter 'happiness_level',
|
929
|
+
5 | headstand | UNKNOWN | | request parameter list,
|
930
|
+
|
931
|
+
Detailed changes of diagnostic service session_start
|
932
|
+
|
933
|
+
Properties of 2. positive response parameter can_do_backward_flips have changed
|
934
|
+
| Property | Old Value | New Value
|
935
|
+
----+---------------+-------------+------------------
|
936
|
+
0 | Linked DOP | uint8 | boolean
|
937
|
+
1 | DOP data type | A_UINT32 | A_UNICODE2STRING
|
938
|
+
|
939
|
+
Detailed changes of diagnostic service session_stop
|
940
|
+
|
941
|
+
Properties of 2. request parameter id have changed
|
942
|
+
| Property | Old Value | New Value
|
943
|
+
----+------------+-------------+-------------
|
944
|
+
0 | Bit Length | 16 | 8
|
945
|
+
|
946
|
+
Properties of 2. positive response parameter can_do_backward_flips have changed
|
947
|
+
| Property | Old Value | New Value
|
948
|
+
----+---------------+-------------+------------------
|
949
|
+
0 | Linked DOP | uint8 | boolean
|
950
|
+
1 | DOP data type | A_UINT32 | A_UNICODE2STRING
|
951
|
+
|
952
|
+
Detailed changes of diagnostic service tester_present
|
953
|
+
|
954
|
+
Properties of 2. request parameter id have changed
|
955
|
+
| Property | Old Value | New Value
|
956
|
+
----+------------+-------------+-------------
|
957
|
+
0 | Value | 0x01 | 0x00
|
958
|
+
|
959
|
+
Properties of 2. positive response parameter status have changed
|
960
|
+
| Property | Old Value | New Value
|
961
|
+
----+------------+-------------+-------------
|
962
|
+
0 | Bit Length | 16 | 8
|
963
|
+
1 | Value | 0x0043 | 0x00
|
964
|
+
|
965
|
+
Detailed changes of diagnostic service do_backward_flips
|
966
|
+
|
967
|
+
Properties of 2. request parameter backward_soberness_check have changed
|
968
|
+
| Property | Old Value | New Value
|
969
|
+
----+----------------+----------------+--------------------------
|
970
|
+
0 | Parameter name | backward_check | backward_soberness_check
|
971
|
+
|
972
|
+
Properties of 2. positive response parameter num_flips_done have changed
|
973
|
+
| Property | Old Value | New Value
|
974
|
+
----+---------------+-------------+-------------
|
975
|
+
0 | Byte position | 1 |
|
976
|
+
|
977
|
+
Properties of 3. positive response parameter grumpiness_level have changed
|
978
|
+
| Property | Old Value | New Value
|
979
|
+
----+----------------+-------------+-------------
|
980
|
+
0 | Byte position | 2 |
|
981
|
+
1 | Parameter type | CODED-CONST | VALUE
|
982
|
+
|
983
|
+
Detailed changes of diagnostic service report_status
|
984
|
+
|
985
|
+
Properties of 2. positive response parameter dizzyness_level have changed
|
986
|
+
| Property | Old Value | New Value
|
987
|
+
----+----------------+-----------------+-----------------
|
988
|
+
0 | Parameter name | happiness_level | dizzyness_level
|
989
|
+
1 | Linked DOP | happiness_level | dizzyness_level
|
990
|
+
|
991
|
+
Properties of 3. positive response parameter happiness_level have changed
|
992
|
+
| Property | Old Value | New Value
|
993
|
+
----+----------------+-----------------+-----------------
|
994
|
+
0 | Parameter name | dizzyness_level | happiness_level
|
995
|
+
1 | Linked DOP | dizzyness_level | happiness_level
|
996
|
+
|
997
|
+
Detailed changes of diagnostic service headstand
|
998
|
+
|
999
|
+
List of request parameters for service headstand is not identical.
|
1000
|
+
| List | Values
|
1001
|
+
----+----------+---------------------
|
1002
|
+
0 | Old list | [sid, id, duration]
|
1003
|
+
1 | New list | [sid, duration]
|
663
1004
|
```
|
664
1005
|
|
665
1006
|
## Testing
|
@@ -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=Ftov2gfWnpbKgAOBc3uM35JEGNntyqoMCwpyeb8sU4w,20690
|
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
|
@@ -20,11 +20,11 @@ odxtools/createanydiagcodedtype.py,sha256=QIKSGnU6xL4DWImuXqrW6oNsWfcRphwdWi9lIS
|
|
20
20
|
odxtools/createcompanydatas.py,sha256=Lkyx5gIGCozaX412GiPRUzjFOa5sZvT1LYOf_ycysdE,582
|
21
21
|
odxtools/createecuvariantpatterns.py,sha256=FXHLGR4M791MRkpU2_keck88hoMYkuyPiCUxuGbUasQ,559
|
22
22
|
odxtools/createsdgs.py,sha256=tPdkPN4cHBWGddMWb7QLvyUIA9boa87da2Aj_2m3C2o,531
|
23
|
-
odxtools/database.py,sha256=-
|
23
|
+
odxtools/database.py,sha256=-zYf7p7cT-FN-MSEHubnUpKgNobYA1APvEeM4LYZSNk,6511
|
24
24
|
odxtools/dataobjectproperty.py,sha256=HPI33FYngl4wy_Nb7KQfUgYLYRbmDm2HKHLe9rOwJsc,6436
|
25
25
|
odxtools/decodestate.py,sha256=vSFnn2xEl_7e_WLlpIVvHelNAOISlPKGYTb4hQFkBPQ,443
|
26
26
|
odxtools/determinenumberofitems.py,sha256=L2u0Wv9KhRsXqOBnaKuFFOeG-FQE6pDpwRtdoGf1H3g,1562
|
27
|
-
odxtools/diagcodedtype.py,sha256=
|
27
|
+
odxtools/diagcodedtype.py,sha256=8BM1EHcCX84bf6TQufrUWm7xqufx-VHTky789aO1Si0,10744
|
28
28
|
odxtools/diagcomm.py,sha256=nS57xwrArzU22jbgJ5io7zpmq2P0Qz8fxnbqb60VIJg,7623
|
29
29
|
odxtools/diagdatadictionaryspec.py,sha256=Bo9Zt5oQ5At8ztZqqLOrnPO6Jk3sp6ry7vmTO2DXnLM,9111
|
30
30
|
odxtools/diaglayer.py,sha256=br_jcyXreEXuM3O_MH3ZZWAaYotP7PC1qSw02uIQDpw,43208
|
@@ -98,18 +98,19 @@ odxtools/unit.py,sha256=Yhf8Q2PkOnOImO7C7nehS59ua6kWd2da73VRQ0xNRfU,3701
|
|
98
98
|
odxtools/unitgroup.py,sha256=HCFwmUR_-N1_bfcDQiWV2rq29uRQWbVMbxSASw8P8ow,2101
|
99
99
|
odxtools/unitspec.py,sha256=WFifnGPLfaRzCUpZNY8lvB5_jXuoGJuvKcyL1R04oJ0,2981
|
100
100
|
odxtools/utils.py,sha256=JeUgIYnxysVELmSYbKH49IC9dU6B31Cwoo85Ag10V74,1983
|
101
|
-
odxtools/version.py,sha256=
|
101
|
+
odxtools/version.py,sha256=uQ1o6bfgOrVa8iy3C4FXIIz419pqzLk2K1vtbZmZoTM,411
|
102
102
|
odxtools/write_pdx_file.py,sha256=OrzmXmJ1rIZ6PBKws3muI_XL8IAwAqsXla-0cAQlKq0,6624
|
103
103
|
odxtools/xdoc.py,sha256=pUYo6l60ns9LOEdutE06WMcNy25yNVl1Ni4lMpYt1pY,1467
|
104
104
|
odxtools/cli/__init__.py,sha256=T7ano_FIyzBASxYpmcA5VJXU5bQLIy_Qk0HE_SDKelY,106
|
105
105
|
odxtools/cli/_parser_utils.py,sha256=8wS4PP-CXxnV3Fm5p9_A-4qGFO39MD8RjzyreyqYLq8,580
|
106
|
-
odxtools/cli/_print_utils.py,sha256=
|
106
|
+
odxtools/cli/_print_utils.py,sha256=2JwTwESxdqbB9rXKERcGP6v04e6b8Zy3gXAjzvCOgdw,11251
|
107
107
|
odxtools/cli/browse.py,sha256=2QfqhN2mcoK_gAZoNCg1Wbogsoxz5E64y7tTXohTems,15153
|
108
|
-
odxtools/cli/
|
108
|
+
odxtools/cli/compare.py,sha256=JE8vphsaAQ0V6JgddgPWxRxHWIWab3IkqO2vQaYNZOI,37264
|
109
|
+
odxtools/cli/decode.py,sha256=nts8wXh--nQepBGOmflRzS-trSGUYgKP0FXJaqkA6Fw,4287
|
109
110
|
odxtools/cli/dummy_sub_parser.py,sha256=0oe0b3TrqP1xAzNHn6aB5r_MupIUV6vBZe1t1Wo-PuI,1190
|
110
|
-
odxtools/cli/find.py,sha256=
|
111
|
-
odxtools/cli/list.py,sha256=
|
112
|
-
odxtools/cli/main.py,sha256=
|
111
|
+
odxtools/cli/find.py,sha256=aS2bFapLoqmYDE_lTS1S2FH0VbQjHKYNj2iiaKOoikg,4719
|
112
|
+
odxtools/cli/list.py,sha256=njTQ33YuD4oBIdsJRoF4zcWWeuXFO04Mmu3HPcORL58,8810
|
113
|
+
odxtools/cli/main.py,sha256=IMldf_aYiQf3rDLrNDW0SEMEdLgnYBiC042x_6euItI,1799
|
113
114
|
odxtools/cli/snoop.py,sha256=_0xelTnN7V_1Vsky1JaxuVQoeBP68FJr1JSeZOdRcFA,9049
|
114
115
|
odxtools/compumethods/compumethod.py,sha256=HDLLoRhzd_ujZZEzKYDTvaW_sNx_CoZOWufc3Hfn2_o,953
|
115
116
|
odxtools/compumethods/compurationalcoeffs.py,sha256=gRD0B2Ut03Rg4ixVPh2Mh6PY20RXzozGMxoP75vMr0U,782
|
@@ -170,9 +171,9 @@ odxtools/templates/macros/printStructure.xml.jinja2,sha256=uswYs2xse0B9hZut_FN1G
|
|
170
171
|
odxtools/templates/macros/printTable.xml.jinja2,sha256=DGd-TolTeBFoDuowd_KW0ZZT_etKRjwq9lia0yXror4,1466
|
171
172
|
odxtools/templates/macros/printUnitSpec.xml.jinja2,sha256=AJ5jWYKRmoIZkrd25R1KmjjgU6pfOqRiOQHtUAuS6GI,2813
|
172
173
|
odxtools/templates/macros/printVariant.xml.jinja2,sha256=nq9NnMmncbCNFx0AARc1CIVxt2ANfXgqstQAVZlwRj0,6337
|
173
|
-
odxtools-6.
|
174
|
-
odxtools-6.
|
175
|
-
odxtools-6.
|
176
|
-
odxtools-6.
|
177
|
-
odxtools-6.
|
178
|
-
odxtools-6.
|
174
|
+
odxtools-6.5.0.dist-info/LICENSE,sha256=NeGPFQdTa6EKeON3aShVlPAIquJnbbiOfj0suz6rzyQ,1074
|
175
|
+
odxtools-6.5.0.dist-info/METADATA,sha256=sZw3GQ-mC7q5pgjV9hAH9G6Z0aa2j79F5ZDtcG4q3i0,43597
|
176
|
+
odxtools-6.5.0.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
|
177
|
+
odxtools-6.5.0.dist-info/entry_points.txt,sha256=_sBDzuNoT8LbbCjfc-OJiUt5WPrtOq_x-rr9txhrPjY,53
|
178
|
+
odxtools-6.5.0.dist-info/top_level.txt,sha256=pdS02kE5ZdgsaBRZDpX3NBFlaSx3zotsqX4E4V6tXEI,9
|
179
|
+
odxtools-6.5.0.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|