cantools 41.4.2__tar.gz → 41.4.3__tar.gz
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.
- {cantools-41.4.2 → cantools-41.4.3}/PKG-INFO +1 -1
- {cantools-41.4.2 → cantools-41.4.3}/src/cantools/database/can/formats/dbc.py +49 -8
- {cantools-41.4.2 → cantools-41.4.3}/src/cantools.egg-info/PKG-INFO +1 -1
- {cantools-41.4.2 → cantools-41.4.3}/.gitattributes +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/.github/FUNDING.yml +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/.github/workflows/pythonpackage.yml +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/.gitignore +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/.readthedocs.yml +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/LICENSE +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/MANIFEST.in +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/README.rst +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/docs/Makefile +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/docs/conf.py +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/docs/index.rst +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/docs/make.bat +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/docs/monitor.png +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/docs/plot-1.png +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/docs/plot-2-axes.png +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/docs/plot-2-subplots.png +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/docs/plot-seaborn.png +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/docs/requirements.txt +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/examples/dbc_io/dbc_input.dbc +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/examples/dbc_io/main.py +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/examples/diagnostics/did.py +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/examples/hello_world.py +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/examples/motor_tester/README.rst +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/examples/motor_tester/main.py +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/examples/motor_tester/motor.py +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/examples/motor_tester/system.kcd +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/pyproject.toml +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/setup.cfg +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/src/cantools/__init__.py +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/src/cantools/__main__.py +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/src/cantools/autosar/__init__.py +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/src/cantools/autosar/end_to_end.py +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/src/cantools/autosar/secoc.py +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/src/cantools/autosar/snakeauth.py +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/src/cantools/database/__init__.py +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/src/cantools/database/can/__init__.py +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/src/cantools/database/can/attribute.py +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/src/cantools/database/can/attribute_definition.py +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/src/cantools/database/can/bus.py +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/src/cantools/database/can/c_source.py +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/src/cantools/database/can/database.py +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/src/cantools/database/can/environment_variable.py +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/src/cantools/database/can/formats/__init__.py +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/src/cantools/database/can/formats/arxml/__init__.py +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/src/cantools/database/can/formats/arxml/bus_specifics.py +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/src/cantools/database/can/formats/arxml/database_specifics.py +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/src/cantools/database/can/formats/arxml/ecu_extract_loader.py +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/src/cantools/database/can/formats/arxml/end_to_end_properties.py +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/src/cantools/database/can/formats/arxml/message_specifics.py +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/src/cantools/database/can/formats/arxml/node_specifics.py +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/src/cantools/database/can/formats/arxml/secoc_properties.py +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/src/cantools/database/can/formats/arxml/system_loader.py +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/src/cantools/database/can/formats/arxml/utils.py +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/src/cantools/database/can/formats/dbc_specifics.py +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/src/cantools/database/can/formats/kcd.py +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/src/cantools/database/can/formats/sym.py +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/src/cantools/database/can/formats/utils.py +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/src/cantools/database/can/internal_database.py +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/src/cantools/database/can/message.py +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/src/cantools/database/can/node.py +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/src/cantools/database/can/signal.py +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/src/cantools/database/can/signal_group.py +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/src/cantools/database/conversion.py +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/src/cantools/database/diagnostics/__init__.py +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/src/cantools/database/diagnostics/data.py +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/src/cantools/database/diagnostics/database.py +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/src/cantools/database/diagnostics/did.py +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/src/cantools/database/diagnostics/formats/__init__.py +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/src/cantools/database/diagnostics/formats/cdd.py +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/src/cantools/database/diagnostics/internal_database.py +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/src/cantools/database/errors.py +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/src/cantools/database/namedsignalvalue.py +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/src/cantools/database/utils.py +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/src/cantools/errors.py +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/src/cantools/j1939.py +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/src/cantools/logreader.py +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/src/cantools/py.typed +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/src/cantools/subparsers/__init__.py +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/src/cantools/subparsers/__utils__.py +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/src/cantools/subparsers/convert.py +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/src/cantools/subparsers/decode.py +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/src/cantools/subparsers/dump/__init__.py +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/src/cantools/subparsers/dump/formatting.py +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/src/cantools/subparsers/generate_c_source.py +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/src/cantools/subparsers/list.py +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/src/cantools/subparsers/monitor.py +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/src/cantools/subparsers/plot.py +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/src/cantools/tester.py +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/src/cantools/typechecking.py +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/src/cantools.egg-info/SOURCES.txt +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/src/cantools.egg-info/dependency_links.txt +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/src/cantools.egg-info/entry_points.txt +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/src/cantools.egg-info/requires.txt +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/src/cantools.egg-info/top_level.txt +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/__init__.py +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/arxml/compu_method_no_category.arxml +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/arxml/ecu-extract-4.2.arxml +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/arxml/system-3.2.3.arxml +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/arxml/system-4.2.arxml +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/arxml/system-DAI-3.1.2.arxml +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/arxml/system-bad-root-tag-4.2.arxml +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/arxml/system-dangling-reference-4.2.arxml +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/arxml/system-float-limits-missing-compu-scale-4.2.arxml +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/arxml/system-float-values.arxml +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/arxml/system-illegal-namespace-4.2.arxml +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/arxml/system-illegal-root-4.2.arxml +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/arxml/system-illegal-version-4.2.2.1.0.arxml +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/arxml/system-missing-denominator-4.2.arxml +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/arxml/system-missing-factor-4.2.arxml +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/arxml/system-missing-rational-4.2.arxml +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/c_source/abs.c +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/c_source/abs.h +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/c_source/camel_case_empty.c +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/c_source/camel_case_empty.h +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/c_source/choices.c +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/c_source/choices.h +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/c_source/floating_point.c +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/c_source/floating_point.h +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/c_source/floating_point_bit_fields.c +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/c_source/floating_point_bit_fields.h +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/c_source/floating_point_use_float.c +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/c_source/floating_point_use_float.h +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/c_source/letter_terminated_can_id_6_0.c +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/c_source/letter_terminated_can_id_6_0.h +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/c_source/min_max_only_6_0.c +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/c_source/min_max_only_6_0.h +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/c_source/motohawk.c +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/c_source/motohawk.h +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/c_source/motohawk_bit_fields.c +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/c_source/motohawk_bit_fields.h +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/c_source/motohawk_no_floating_point_numbers.c +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/c_source/motohawk_no_floating_point_numbers.h +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/c_source/motohawk_sender_node.c +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/c_source/motohawk_sender_node.h +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/c_source/motohawk_sender_node_no_floating_point_numbers.c +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/c_source/motohawk_sender_node_no_floating_point_numbers.h +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/c_source/motohawk_use_round.c +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/c_source/motohawk_use_round.h +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/c_source/multiplex.c +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/c_source/multiplex.h +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/c_source/multiplex_2.c +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/c_source/multiplex_2.h +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/c_source/multiplex_2_fuzzer.c +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/c_source/multiplex_2_fuzzer.h +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/c_source/multiplex_2_fuzzer.mk +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/c_source/my_database_name.c +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/c_source/my_database_name.h +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/c_source/no_signals.c +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/c_source/no_signals.h +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/c_source/open_actuator.c +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/c_source/open_actuator.h +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/c_source/open_actuator_no_floating_point_numbers.c +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/c_source/open_actuator_no_floating_point_numbers.h +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/c_source/open_actuator_sender_node.c +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/c_source/open_actuator_sender_node.h +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/c_source/open_actuator_sender_node_no_floating_point_numbers.c +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/c_source/open_actuator_sender_node_no_floating_point_numbers.h +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/c_source/padding_bit_order.c +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/c_source/padding_bit_order.h +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/c_source/signed.c +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/c_source/signed.h +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/c_source/signed_bit_fields.c +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/c_source/signed_bit_fields.h +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/c_source/vehicle.c +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/c_source/vehicle.h +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/cdd/example-diddatarefs.cdd +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/cdd/example.cdd +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/cdd/invalid-bo-example.cdd +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/cdd/le-example.cdd +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/dbc/BU_BO_REL_.dbc +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/dbc/BU_BO_REL_Message.dbc +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/dbc/CamelCaseEmpty.dbc +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/dbc/abs.dbc +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/dbc/add_two_dbc_files_1.dbc +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/dbc/add_two_dbc_files_2.dbc +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/dbc/attribute_Event.dbc +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/dbc/attributes.dbc +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/dbc/attributes_relation.dbc +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/dbc/bad_message_length.dbc +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/dbc/big_numbers.dbc +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/dbc/bus_comment.dbc +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/dbc/bus_comment_bare.dbc +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/dbc/bus_comment_bare_out.dbc +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/dbc/choices.dbc +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/dbc/choices_issue_with_name.dbc +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/dbc/comments_hex_and_motorola_converted_from_sym.dbc +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/dbc/cp1252.dbc +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/dbc/dump_signal_choices.dbc +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/dbc/emc32.dbc +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/dbc/empty_choice.dbc +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/dbc/empty_ns.dbc +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/dbc/fd_test.dbc +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/dbc/fd_test_int.dbc +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/dbc/floating_point.dbc +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/dbc/floating_point_use_float.dbc +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/dbc/foobar.dbc +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/dbc/is_in_phys_range.dbc +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/dbc/issue_163_newline.dbc +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/dbc/issue_168.DBC +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/dbc/issue_184_extended_mux_cascaded.dbc +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/dbc/issue_184_extended_mux_cascaded_dumped.dbc +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/dbc/issue_184_extended_mux_independent_multiplexors.dbc +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/dbc/issue_184_extended_mux_independent_multiplexors_dumped.dbc +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/dbc/issue_184_extended_mux_multiple_values.dbc +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/dbc/issue_184_extended_mux_multiple_values_dumped.dbc +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/dbc/issue_199.dbc +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/dbc/issue_199_extended.dbc +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/dbc/issue_207_sig_plus.dbc +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/dbc/issue_228.dbc +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/dbc/issue_62.dbc +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/dbc/issue_63.dbc +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/dbc/issue_636_negative_scaling.dbc +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/dbc/issue_725.dbc +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/dbc/j1939.dbc +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/dbc/long_names.dbc +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/dbc/long_names_multiple_relations.dbc +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/dbc/long_names_multiple_relations_dumped.dbc +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/dbc/message-dlc-zero.dbc +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/dbc/mod_name_len_dest.dbc +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/dbc/mod_name_len_src.dbc +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/dbc/motohawk.dbc +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/dbc/motohawk_fd.dbc +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/dbc/motohawk_use_round.dbc +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/dbc/motohawk_with_comments.dbc +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/dbc/msxii_system_can.dbc +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/dbc/multiple_senders.dbc +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/dbc/multiplex.dbc +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/dbc/multiplex_2.dbc +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/dbc/multiplex_2_dumped.dbc +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/dbc/multiplex_choices.dbc +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/dbc/multiplex_choices_dumped.dbc +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/dbc/multiplex_dumped.dbc +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/dbc/no_sender.dbc +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/dbc/no_signals.dbc +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/dbc/open_actuator.dbc +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/dbc/padding_bit_order.dbc +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/dbc/sig_groups.dbc +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/dbc/sig_groups_del.dbc +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/dbc/sig_groups_out.dbc +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/dbc/signed.dbc +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/dbc/socialledge-written-by-cantools-with-default-sort-signals.dbc +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/dbc/socialledge-written-by-cantools-with-sort-signals-by-name.dbc +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/dbc/socialledge-written-by-cantools.dbc +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/dbc/socialledge.dbc +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/dbc/test_extended_id_dump.dbc +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/dbc/test_multiplex_dump.dbc +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/dbc/timing.dbc +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/dbc/val_table.dbc +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/dbc/variable_dlc.dbc +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/dbc/vehicle.dbc +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/dbc/vframeformat_int.dbc +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/kcd/bad_message_length.kcd +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/kcd/dump.kcd +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/kcd/empty.kcd +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/kcd/message_layout.kcd +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/kcd/signal_range.kcd +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/kcd/tester.kcd +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/kcd/the_homer.kcd +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/kcd/vehicle.kcd +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/sym/bad_message_length.sym +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/sym/big-endian.sym +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/sym/comments_hex_and_motorola.sym +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/sym/empty-6.0.sym +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/sym/empty-enum-6.0.sym +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/sym/issue_138.sym +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/sym/jopp-5.0.sym +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/sym/jopp-6.0.sym +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/sym/letter-terminated-can-id-6.0.sym +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/sym/min-max-only-6.0.sym +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/sym/multiplexed_variables.sym +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/sym/receive-6.0.sym +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/sym/send-6.0.sym +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/sym/sendreceive-6.0.sym +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/sym/signal-types-6.0.sym +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/sym/special-chars-6.0.sym +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/sym/test_extended_id_dump.sym +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/sym/test_multiline_enum.sym +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/sym/test_multiplex_dump.sym +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/sym/type-extended-cycle-dash-p.sym +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/files/sym/variables-color-enum-6.0.sym +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/test_autosar.py +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/test_c_code/.gitignore +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/test_c_code/CMakeLists.txt +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/test_c_code/test_basic.c +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/test_c_code/test_basic.h +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/test_c_code/test_bit_fields.c +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/test_c_code/test_bit_fields.h +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/test_c_code/test_framework/CMakeLists.txt +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/test_c_code/test_framework/LICENSE.txt +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/test_c_code/test_framework/unity.c +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/test_c_code/test_framework/unity.h +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/test_c_code/test_framework/unity_internals.h +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/test_c_code/test_initial_values.c +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/test_c_code/test_initial_values.h +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/test_c_code/test_runner.c +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/test_command_line.py +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/test_conversion.py +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/test_convert.py +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/test_database.py +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/test_database_utils.py +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/test_diagnostics_database.py +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/test_dump.py +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/test_list.py +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/test_logreader.py +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/test_monitor.py +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/test_plot.py +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/test_plot_unittests.py +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/test_plot_without_mock.py +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tests/test_tester.py +0 -0
- {cantools-41.4.2 → cantools-41.4.3}/tox.ini +0 -0
|
@@ -146,6 +146,13 @@ ATTRIBUTE_DEFINITION_LONG_SIGNAL_NAME = AttributeDefinition(
|
|
|
146
146
|
kind='SG_',
|
|
147
147
|
type_name='STRING')
|
|
148
148
|
|
|
149
|
+
ATTRIBUTE_DEFINITION_BAUDRATE = AttributeDefinition(
|
|
150
|
+
name='Baudrate',
|
|
151
|
+
default_value=125_000,
|
|
152
|
+
type_name='INT',
|
|
153
|
+
minimum=0,
|
|
154
|
+
maximum=10*1024*1024)
|
|
155
|
+
|
|
149
156
|
ATTRIBUTE_DEFINITION_VFRAMEFORMAT = AttributeDefinition(
|
|
150
157
|
name='VFrameFormat',
|
|
151
158
|
default_value='StandardCAN',
|
|
@@ -670,6 +677,17 @@ def _dump_attribute_definitions(database: InternalDatabase) -> list[str]:
|
|
|
670
677
|
if 'GenSigStartValue' not in definitions and _need_startval_def(database):
|
|
671
678
|
definitions['GenSigStartValue'] = ATTRIBUTE_DEFINITION_GENSIGSTARTVALUE
|
|
672
679
|
|
|
680
|
+
# create 'Baudrate' attribute definition
|
|
681
|
+
if len(database.buses) == 1 and database.buses[0].baudrate is not None:
|
|
682
|
+
# add a definition of the `Baudrate` attribute if it is needed
|
|
683
|
+
# and not yet present
|
|
684
|
+
if 'Baudrate' not in definitions:
|
|
685
|
+
definitions['Baudrate'] = ATTRIBUTE_DEFINITION_BAUDRATE
|
|
686
|
+
# remove the definition of the `Baudrate` attribute if it is
|
|
687
|
+
# not needed
|
|
688
|
+
elif 'Baudrate' in definitions:
|
|
689
|
+
del definitions['Baudrate']
|
|
690
|
+
|
|
673
691
|
# create 'VFrameFormat' and 'CANFD_BRS' attribute definitions if bus is CAN FD
|
|
674
692
|
if _bus_is_canfd(database):
|
|
675
693
|
if 'VFrameFormat' not in definitions:
|
|
@@ -770,16 +788,36 @@ def _dump_attributes(database: InternalDatabase, sort_signals: type_sort_signals
|
|
|
770
788
|
|
|
771
789
|
attributes: list[type_sort_attribute] = []
|
|
772
790
|
|
|
791
|
+
# remove the old 'Baudrate' attribute if it exists. We synchronize
|
|
792
|
+
# that DBC attribute with the `.baudrate` attribute of the
|
|
793
|
+
# high-level bus description object below.
|
|
794
|
+
if database.dbc.attributes.get('Baudrate') is not None:
|
|
795
|
+
del database.dbc.attributes['Baudrate']
|
|
796
|
+
|
|
797
|
+
# add a new 'Baudrate' attribute
|
|
798
|
+
baudrate = None
|
|
799
|
+
if len(database.buses) == 1:
|
|
800
|
+
baudrate = database.buses[0].baudrate
|
|
801
|
+
if baudrate is not None:
|
|
802
|
+
baudrate_attr_def = database.dbc.attribute_definitions.get('Baudrate')
|
|
803
|
+
assert baudrate_attr_def is not None
|
|
804
|
+
database.dbc.attributes['Baudrate'] = Attribute[int](
|
|
805
|
+
value=int(baudrate),
|
|
806
|
+
definition=typing.cast("AttributeDefinition[int]", baudrate_attr_def),
|
|
807
|
+
)
|
|
808
|
+
|
|
773
809
|
for attribute in database.dbc.attributes.values():
|
|
774
810
|
attributes.append(('dbc', attribute, None, None, None, None))
|
|
775
811
|
|
|
776
812
|
for envvar in database.dbc.environment_variables.values():
|
|
777
|
-
|
|
778
|
-
|
|
813
|
+
if envvar.dbc is not None:
|
|
814
|
+
for attribute in envvar.dbc.attributes.values():
|
|
815
|
+
attributes.append(('envvar', attribute, None, None, None, envvar))
|
|
779
816
|
|
|
780
817
|
for node in database.nodes:
|
|
781
|
-
|
|
782
|
-
|
|
818
|
+
if node.dbc is not None:
|
|
819
|
+
for attribute in node.dbc.attributes.values():
|
|
820
|
+
attributes.append(('node', attribute, node, None, None, None))
|
|
783
821
|
|
|
784
822
|
for message in database.messages:
|
|
785
823
|
msg_attributes = OrderedDict[str, AttributeType]()
|
|
@@ -797,7 +835,7 @@ def _dump_attributes(database: InternalDatabase, sort_signals: type_sort_signals
|
|
|
797
835
|
if gen_msg_cycle_time_def is not None and msg_cycle_time != gen_msg_cycle_time_def.default_value:
|
|
798
836
|
msg_attributes['GenMsgCycleTime'] = Attribute(
|
|
799
837
|
value=msg_cycle_time,
|
|
800
|
-
definition=typing.cast(
|
|
838
|
+
definition=typing.cast("AttributeDefinition[int]", gen_msg_cycle_time_def),
|
|
801
839
|
)
|
|
802
840
|
elif 'GenMsgCycleTime' in msg_attributes:
|
|
803
841
|
del msg_attributes['GenMsgCycleTime']
|
|
@@ -1386,7 +1424,7 @@ def _load_signal_groups(tokens, attributes):
|
|
|
1386
1424
|
try:
|
|
1387
1425
|
return attributes[frame_id_dbc]['signal'][signal]
|
|
1388
1426
|
except KeyError:
|
|
1389
|
-
return
|
|
1427
|
+
return OrderedDict()
|
|
1390
1428
|
|
|
1391
1429
|
def get_signal_name(frame_id_dbc, name):
|
|
1392
1430
|
signal_attributes = get_attributes(frame_id_dbc, name)
|
|
@@ -1434,7 +1472,7 @@ def _load_signals(tokens,
|
|
|
1434
1472
|
try:
|
|
1435
1473
|
return attributes[frame_id_dbc]['signal'][signal]
|
|
1436
1474
|
except KeyError:
|
|
1437
|
-
return
|
|
1475
|
+
return OrderedDict()
|
|
1438
1476
|
|
|
1439
1477
|
def get_comment(frame_id_dbc, signal):
|
|
1440
1478
|
"""Get comment for given signal.
|
|
@@ -1480,8 +1518,11 @@ def _load_signals(tokens,
|
|
|
1480
1518
|
pass
|
|
1481
1519
|
|
|
1482
1520
|
if ids:
|
|
1521
|
+
# make the IDs unique (and sort them)
|
|
1483
1522
|
return list(set(ids))
|
|
1484
1523
|
|
|
1524
|
+
return None
|
|
1525
|
+
|
|
1485
1526
|
def get_multiplexer_signal(signal, multiplexer_signal):
|
|
1486
1527
|
if len(signal) != 2:
|
|
1487
1528
|
return
|
|
@@ -1540,7 +1581,7 @@ def _load_signals(tokens,
|
|
|
1540
1581
|
|
|
1541
1582
|
def get_signal_spn(frame_id_dbc, name):
|
|
1542
1583
|
signal_attributes = get_attributes(frame_id_dbc, name)
|
|
1543
|
-
if
|
|
1584
|
+
if 'SPN' in signal_attributes:
|
|
1544
1585
|
if (value := signal_attributes['SPN'].value) is not None:
|
|
1545
1586
|
return value
|
|
1546
1587
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cantools-41.4.2 → cantools-41.4.3}/src/cantools/database/can/formats/arxml/bus_specifics.py
RENAMED
|
File without changes
|
{cantools-41.4.2 → cantools-41.4.3}/src/cantools/database/can/formats/arxml/database_specifics.py
RENAMED
|
File without changes
|
{cantools-41.4.2 → cantools-41.4.3}/src/cantools/database/can/formats/arxml/ecu_extract_loader.py
RENAMED
|
File without changes
|
{cantools-41.4.2 → cantools-41.4.3}/src/cantools/database/can/formats/arxml/end_to_end_properties.py
RENAMED
|
File without changes
|
{cantools-41.4.2 → cantools-41.4.3}/src/cantools/database/can/formats/arxml/message_specifics.py
RENAMED
|
File without changes
|
{cantools-41.4.2 → cantools-41.4.3}/src/cantools/database/can/formats/arxml/node_specifics.py
RENAMED
|
File without changes
|
{cantools-41.4.2 → cantools-41.4.3}/src/cantools/database/can/formats/arxml/secoc_properties.py
RENAMED
|
File without changes
|
{cantools-41.4.2 → cantools-41.4.3}/src/cantools/database/can/formats/arxml/system_loader.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cantools-41.4.2 → cantools-41.4.3}/tests/files/arxml/system-illegal-version-4.2.2.1.0.arxml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cantools-41.4.2 → cantools-41.4.3}/tests/files/c_source/motohawk_no_floating_point_numbers.c
RENAMED
|
File without changes
|
{cantools-41.4.2 → cantools-41.4.3}/tests/files/c_source/motohawk_no_floating_point_numbers.h
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cantools-41.4.2 → cantools-41.4.3}/tests/files/c_source/open_actuator_no_floating_point_numbers.c
RENAMED
|
File without changes
|
{cantools-41.4.2 → cantools-41.4.3}/tests/files/c_source/open_actuator_no_floating_point_numbers.h
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|