From f94839c7eb06bfd228ad14467a0c27d03d32bc70 Mon Sep 17 00:00:00 2001 From: The foxBMS ReleaseBot Date: Fri, 20 Dec 2024 15:57:42 +0100 Subject: [PATCH] Minor release of foxBMS 2 (v1.8.0) * This version of foxBMS bundles with new hardware releases, most importantly a new BMS-Master. The BMS-Master version is bumped to ``v1.2.2``. For details on the BMS-Master see the changelog and the documentation. * The BMS-Master now comes with a streamlined supply concept, which only requires a single SBC and therefby making the hard- and software simpler. Detail on the SBC configuration, which must be flashed on the SBC prior to PCB assembly, are also found in the documentation. Now the CAN1 Enable and Standby signals have been wired directly to the MCU, instead of using I2C based port expander. To achieve software compatibility with older BMS-Master releases see the documentation. Further, new releases for all |bms-slaves| have been added. * Updated the Python environment (``2025-01-pale-fox``). See the documentation on how to install the update locally. * This commit introduces changes that are required for the bootloader. **The actual bootloader is not included in this commit.** * Changed the behavior of the ``BMS`` state machine. After startup, the reception of ``STANDBY`` request (CAN message ``f_BmsStateRequest``) is now necessary to enter BMS ``STANDBY``. * Improved the consistency of the CAN driver implementation. * Invalid flags in the CAN messages ``f_CellVoltages`` and ``f_CellTemperatures`` were transmitted inverted. * Balancing information is now transmitted via CAN. * The CAN1 enable and standby pins where moved from port expander 2 to discrete GPIOs. * A dedicated CAN message for the transmission of fatal errors was added. Diagnosis entries with a severity of ``DIAG_FATAL_ERROR`` lead to an opening of the contactors. This CAN message will be transmitted with a period of 100ms as soon as an active fatal error has been detected, until the error is cleared again. * The build commands have been streamlined. Consult the documentation for details. * Upgraded FreeRTOS to V10.4.6. * Improved unit test coverage. * Improved various sections of the documentation. * Fixed various bugs in ADES1830 AFE driver: * Invalid flags for cell temperatures were not set correctly. * Invalid flags for GPIO measurement values were not set correctly. * Diagnosis entry for ``DIAG_ID_AFE_COMMUNICATION_INTEGRITY`` was not called. * String and module voltage was previously not measured/calculated. For a detailed list of changes, please refer to the documentation at https://iisb-foxbms.iisb.fraunhofer.de/foxbms/gen2/docs/html/v1.8.0/general/changelog.html. --- .clang-format | 44 +- .gitattributes | 1 + .gitignore | 6 +- .pre-commit-config.yaml | 312 +- CITATION.cff | 4 +- INSTALL.md | 27 +- LICENSE.md | 6 +- README.md | 28 +- cli/README.md | 36 + cli/__init__.py | 2 + cli/__main__.py | 6 +- cli/cli.py | 14 +- cli/cmd_axivion/__init__.py | 2 + cli/cmd_axivion/axivion_impl.py | 45 +- cli/cmd_bootloader/__init__.py | 40 + cli/cmd_bootloader/app_constants.py | 93 + cli/cmd_bootloader/bootloader.py | 785 + cli/cmd_bootloader/bootloader_binary_file.py | 387 + cli/cmd_bootloader/bootloader_can.py | 412 + cli/cmd_bootloader/bootloader_can_basics.py | 306 + cli/cmd_bootloader/bootloader_can_messages.py | 264 + cli/cmd_bootloader/bootloader_impl.py | 122 + cli/cmd_bootloader/crc64_ti_impl.py | 113 + cli/cmd_build/__init__.py | 2 + cli/cmd_ci/__init__.py | 2 + cli/cmd_ci/check_ci_config.py | 170 +- cli/cmd_ci/check_coverage.py | 76 +- cli/cmd_ci/create_readme.py | 18 +- cli/cmd_cli_unittest/__init__.py | 2 + .../cli_unittest_constants.py} | 30 +- cli/cmd_cli_unittest/cli_unittest_impl.py | 17 +- cli/cmd_embedded_ut/__init__.py | 2 + cli/cmd_embedded_ut/embedded_ut_constants.py | 11 +- cli/cmd_embedded_ut/embedded_ut_impl.py | 259 +- cli/cmd_etl/__init__.py | 40 + cli/cmd_etl/batetl/__init__.py | 92 + cli/cmd_etl/batetl/__main__.py | 62 + cli/cmd_etl/batetl/cmd/__init__.py | 54 + cli/cmd_etl/batetl/cmd/can_decode_helper.py | 123 + cli/cmd_etl/batetl/cmd/can_filter_helper.py | 108 + cli/cmd_etl/batetl/etl/__init__.py | 40 + cli/cmd_etl/batetl/etl/can_decode.py | 152 + cli/cmd_etl/batetl/etl/can_filter.py | 111 + cli/cmd_etl/pyproject.toml | 61 + cli/cmd_ide/__init__.py | 2 + cli/cmd_ide/ide_impl.py | 26 +- cli/cmd_install/__init__.py | 2 + cli/cmd_install/install_impl.py | 13 +- cli/cmd_misc/__init__.py | 3 + cli/cmd_misc/check_test_files.py | 96 + cli/cmd_misc/crc_example.py | 2 +- cli/cmd_misc/doc_example.py | 2 +- cli/cmd_misc/eol_converter.py | 59 + cli/cmd_misc/run_uncrustify.py | 48 +- cli/cmd_misc/verify_checksums.py | 4 +- cli/cmd_pre_commit/__init__.py | 2 + cli/cmd_release/__init__.py | 40 + cli/cmd_release/release_impl.py | 47 + cli/cmd_script/__init__.py | 3 + cli/cmd_script/script_impl.py | 8 +- cli/commands/__init__.py | 2 + cli/commands/c_axivion.py | 34 +- cli/commands/c_bootloader.py | 263 + cli/commands/c_build.py | 4 +- cli/commands/c_ci.py | 23 +- cli/commands/c_cli_unittest.py | 9 +- cli/commands/c_embedded_ut.py | 21 +- cli/commands/c_etl.py | 59 + cli/commands/c_ide.py | 45 +- cli/commands/c_install.py | 7 +- cli/commands/c_misc.py | 86 +- cli/commands/c_pre_commit.py | 4 +- cli/commands/c_program.py | 8 +- cli/commands/c_release.py | 56 + cli/foxbms_version.py | 21 +- cli/helpers/__init__.py | 3 +- cli/helpers/{win32_vars.py => env_vars.py} | 0 cli/helpers/host_platform.py | 1 + cli/helpers/misc.py | 60 +- cli/helpers/spr.py | 27 +- cli/pre_commit_scripts/__init__.py | 4 +- .../check_cpp_style_comment.py | 71 + cli/pre_commit_scripts/check_doxygen.py | 74 +- cli/pre_commit_scripts/check_encoding.py | 14 +- cli/pre_commit_scripts/check_file_names.py | 34 +- cli/pre_commit_scripts/check_for_tabs.py | 74 + cli/pre_commit_scripts/check_include_guard.py | 2 +- cli/pre_commit_scripts/check_license_info.py | 127 +- cli/pre_commit_scripts/check_sections.py | 50 +- conf/README.md | 2 +- conf/bms/bms.json | 6 +- conf/bms/schema/bms.schema.json | 445 - conf/hcg/{hcg.dil => app.dil} | 0 conf/hcg/{hcg.hcg => app.hcg} | 2 +- conf/hcg/bootloader.dil | 11969 ++++++++++++++++ conf/hcg/bootloader.hcg | 885 ++ conf/tpl/c.c | 4 +- conf/tpl/c.h | 4 +- conf/tpl/test_c.c | 5 +- conf/tpl/test_c.h | 4 +- ...roject_posix.yml => app_project_posix.yml} | 45 +- ...roject_win32.yml => app_project_win32.yml} | 67 +- conf/unit/bootloader_project_posix.yml | 466 + conf/unit/bootloader_project_win32.yml | 496 + docs/_templates/fox-cli-class-template.rst | 35 + docs/_templates/fox-cli-module-template.rst | 68 + docs/conf.py | 33 +- .../style-guide/examples/c-004.c | 4 +- .../style-guide/examples/c-005.c | 4 +- .../style-guide/examples/c-005.h | 4 +- .../style-guide/examples/c-006-source.c | 4 +- .../style-guide/examples/c-006-source.h | 4 +- .../style-guide/examples/c-006-test.c | 4 +- .../style-guide/examples/c-006-test.h | 4 +- .../style-guide/examples/c-007_abc.c | 4 +- .../style-guide/examples/c-007_abc.h | 4 +- .../style-guide/examples/c-007_abc_cfg.c | 4 +- .../style-guide/examples/c-007_abc_cfg.h | 4 +- .../style-guide/examples/c-008.c | 4 +- .../style-guide/examples/c-008.h | 4 +- .../style-guide/examples/c-009.c | 4 +- .../style-guide/examples/c-011.c | 4 +- .../style-guide/examples/c-011.h | 4 +- .../style-guide/examples/c-012.c | 4 +- .../style-guide/examples/c-013.c | 4 +- .../style-guide/examples/c-013.h | 4 +- .../style-guide/examples/c-015.c | 4 +- .../style-guide/examples/c-015.h | 4 +- .../style-guide/examples/c-016.c | 4 +- .../style-guide/examples/c-017.c | 4 +- .../style-guide/examples/c-018.c | 4 +- .../style-guide/examples/c-019.c | 4 +- .../style-guide/examples/c-020.c | 4 +- .../style-guide/examples/c-021.c | 4 +- .../style-guide/examples/c-022.c | 4 +- .../style-guide/examples/c-023.c | 4 +- .../style-guide/examples/c-024.c | 4 +- .../style-guide/examples/c-025.c | 4 +- .../style-guide/examples/c-026.c | 4 +- .../style-guide/examples/c-027.c | 4 +- .../examples/c-028-battery-defines.c | 4 +- .../style-guide/examples/c-028.c | 4 +- .../style-guide/examples/wscript | 37 +- .../style-guide/guidelines_c.rst | 7 +- .../state-machine-example/state-machine.c | 4 +- .../state-machine-example/state-machine.h | 4 +- docs/{doxygen_src.conf.in => doxygen.conf.in} | 2 +- docs/doxygen_tests.conf.in | 2845 ---- docs/general/changelog-entries/v0.1.0.txt | 1 + docs/general/changelog-entries/v0.2.0.txt | 0 docs/general/changelog-entries/v0.3.0.txt | 70 + docs/general/changelog-entries/v1.0.0.txt | 57 + docs/general/changelog-entries/v1.0.1.txt | 52 + docs/general/changelog-entries/v1.0.2.txt | 35 + docs/general/changelog-entries/v1.1.0.txt | 133 + docs/general/changelog-entries/v1.1.1.txt | 24 + docs/general/changelog-entries/v1.1.2.txt | 50 + docs/general/changelog-entries/v1.2.0.txt | 63 + docs/general/changelog-entries/v1.2.1.txt | 78 + docs/general/changelog-entries/v1.3.0.txt | 140 + docs/general/changelog-entries/v1.4.0.txt | 77 + docs/general/changelog-entries/v1.4.1.txt | 46 + docs/general/changelog-entries/v1.5.0.txt | 108 + docs/general/changelog-entries/v1.5.1.txt | 22 + docs/general/changelog-entries/v1.6.0.txt | 108 + docs/general/changelog-entries/v1.7.0.txt | 181 + docs/general/changelog-entries/v1.8.0.txt | 181 + docs/general/changelog-entries/vx.y.z.txt | 14 + docs/general/changelog.rst | 1381 +- docs/general/commit-msgs/release-v1.8.0.txt | 45 + .../license-tables/license-info_ceedling.csv | 4 +- .../license-info_python_packages.csv | 112 +- docs/general/releases.csv | 1 + docs/general/team-ad-sc.rst | 3 - docs/general/team-dev.rst | 13 - docs/general/team-former.rst | 12 - docs/general/team.rst | 68 +- docs/getting-started/directories/_root.csv | 4 +- docs/getting-started/directories/conf.csv | 2 +- docs/getting-started/directories/src.csv | 4 +- docs/getting-started/directories/tests.csv | 1 - .../first-steps-on-hardware.rst | 28 +- .../{fox_py.rst => fox_cli.rst} | 14 +- .../getting-started/software-installation.rst | 355 +- .../ltc-ltc6820-changelog.rst | 2 +- .../maxim-max17841b-v1.0.0.rst | 12 +- ...m-max17841b-v1.0.0_uart_rx_connectors.csv} | 0 ...m-max17841b-v1.0.0_uart_tx_connectors.csv} | 0 docs/hardware/master.rst | 1 + .../ti-tms570lc4357-changelog.rst | 35 +- .../ti-tms570lc4357-v1.1.1.rst | 32 + ...oxbms_v1.1.1._bootloader_compatibility.png | Bin 0 -> 78501 bytes .../ti-tms570lc4357-v1.1.1_block_diagram.rst | 4 +- ...70lc4357-v1.1.1_functional_description.rst | 29 + .../ti-tms570lc4357-v1.2.2.rst | 51 + .../ti-tms570lc4357-v1.2.2._block-diagram.png | Bin 0 -> 262419 bytes .../pinout/ti-tms570lc4357-v1.2.2_can1.csv | 5 + .../pinout/ti-tms570lc4357-v1.2.2_can2.csv | 5 + .../pinout/ti-tms570lc4357-v1.2.2_debug.csv | 39 + .../ti-tms570lc4357-v1.2.2_ethernet.csv | 15 + .../ti-tms570lc4357-v1.2.2_extension.csv | 121 + .../ti-tms570lc4357-v1.2.2_interface.csv | 41 + .../ti-tms570lc4357-v1.2.2_interlock.csv | 3 + .../pinout/ti-tms570lc4357-v1.2.2_isomon.csv | 5 + .../pinout/ti-tms570lc4357-v1.2.2_rs485.csv | 7 + .../pinout/ti-tms570lc4357-v1.2.2_sps.csv | 5 + .../ti-tms570lc4357-v1.2.2_supply_ext.csv | 9 + .../ti-tms570lc4357-v1.2.2_block_diagram.rst | 17 + ...70lc4357-v1.2.2_functional_description.rst | 35 + .../ti-tms570lc4357-v1.2.2_pinout.rst | 180 + docs/hardware/slaves.rst | 2 + .../14-nxp-mc33775a-changelog.rst | 20 +- .../14-nxp-mc33775a-v1.0.2.rst | 115 + ...-mc33775a-v1.0.2_mechanical-dimensions.csv | 5 + .../18-ltc-ltc6813-1-changelog.rst | 12 +- .../18-ltc-ltc6813-1-v1.1.6.rst | 17 + docs/index.rst | 5 +- docs/macros.txt | 9 - docs/software/architecture/architecture.rst | 152 +- .../architecture/img/axivion_architecture.svg | 1092 +- .../architecture/img/sw-architecture.png | Bin 14302 -> 78335 bytes .../architecture/img/sw-architecture.pptx | Bin 0 -> 50991 bytes .../img/sw-tasks-continuous-blocking.png | Bin 0 -> 48422 bytes .../architecture/img/sw-tasks-cyclic.png | Bin 0 -> 56764 bytes .../architecture/img/sw-tasks-priorities.png | Bin 0 -> 41247 bytes docs/software/bootloader/bootloader.rst | 681 + .../bootloader/img/boot_fsm_state.png | Bin 0 -> 55474 bytes .../software/bootloader/img/can_boot_load.png | Bin 0 -> 23245 bytes .../bootloader/img/can_boot_reset.png | Bin 0 -> 18956 bytes docs/software/bootloader/img/can_boot_run.png | Bin 0 -> 24847 bytes .../software/bootloader/img/can_fsm_state.png | Bin 0 -> 124989 bytes .../img/can_fsm_state_partial_1.png | Bin 0 -> 48498 bytes .../img/can_fsm_state_partial_2.png | Bin 0 -> 17160 bytes ...ommunication_between_pc_and_bootloader.png | Bin 0 -> 87675 bytes .../build-environment/build-environment.rst | 10 +- .../build-environment_how-to.rst | 10 +- .../build-process/library-project_how-to.rst | 94 +- .../build-process/misc/libproject-example.c | 4 +- .../build-process/misc/libproject-example.h | 4 +- docs/software/build/build.rst | 82 +- .../software/build/waf-available-commands.csv | 37 +- .../compiler/compiler-configuration.rst | 2 +- .../linker_pulls/example_linker_output.txt | 2 +- docs/software/configuration/configuration.rst | 14 +- .../configuration/fstartup.c-check.txt | 10 +- .../without-halcogen_diff-includes.diff | 16 +- .../configuration/without-halcogen_how-to.rst | 5 +- docs/software/linker-script/linker-script.rst | 4 +- .../application/bms/bms-state-diagram.dot | 61 + docs/software/modules/application/bms/bms.rst | 50 +- .../driver/afe/adding-a-new-ic_how-to.rst | 4 +- .../modules/driver/afe/maxim/max1785x.rst | 4 +- .../modules/driver/can/can_how-to.rst | 33 +- .../modules/driver/can/can_how-to_tx_async.c | 9 +- .../modules/driver/can/can_how-to_tx_async.h | 4 +- .../driver/can/can_how-to_tx_async.rst | 32 +- .../modules/driver/can/can_how-to_tx_cyclic.c | 5 +- .../driver/can/can_how-to_tx_cyclic.rst | 36 +- docs/software/modules/driver/dma/dma.rst | 3 + .../driver/ts/adding-a-new-ts_how-to.rst | 4 +- .../modules/engine/database/database.rst | 24 + .../modules/engine/database/database_how-to.c | 5 +- .../database/img/sw-database-concept.png | Bin 0 -> 120012 bytes .../engine/database/img/sw-database.pptx | Bin 0 -> 48635 bytes docs/software/modules/engine/diag/diag.rst | 37 +- docs/software/modules/main/fassert.rst | 6 +- docs/software/modules/main/version.rst | 2 +- .../modules/task/ftask/ftask_how-to.c | 5 +- docs/software/unit-tests/abc.c | 5 +- docs/software/unit-tests/abc.h | 4 +- docs/software/unit-tests/run_abc.c | 5 +- docs/software/unit-tests/test_abc.c | 5 +- docs/software/unit-tests/unit-tests.rst | 2 +- .../software/unit-tests/unit-tests_how-to.rst | 82 +- docs/system/system-introduction.rst | 94 + docs/tools/.gitignore | 1 + docs/tools/debugger/debug-application.rst | 108 +- docs/tools/debugger/debugger-lauterbach.rst | 1 + docs/tools/debugger/debugger-ozone.rst | 109 - docs/tools/fox_py.rst | 23 + docs/tools/static-analysis/axivion.rst | 108 +- docs/tools/waf-tools/f_j_flash.rst | 16 - docs/tools/waf-tools/f_ozone.rst | 16 - docs/tools/waf-tools/waf-tools.rst | 2 - docs/wscript | 170 + fox.bat | 8 +- fox.ps1 | 2 +- fox.py | 14 +- fox.sh | 2 +- hardware/README.md | 6 +- pyproject.toml | 64 +- requirements.txt | 116 +- src/README.md | 4 +- src/app/application/algorithm/algorithm.c | 4 +- src/app/application/algorithm/algorithm.h | 6 +- .../algorithm/config/algorithm_cfg.c | 4 +- .../algorithm/config/algorithm_cfg.h | 4 +- .../algorithm/moving_average/moving_average.c | 6 +- .../algorithm/moving_average/moving_average.h | 6 +- .../soc/counting/soc_counting.c | 4 +- .../soc/counting/soc_counting_cfg.h | 4 +- .../state_estimation/soc/debug/soc_debug.c | 4 +- .../state_estimation/soc/none/soc_none.c | 4 +- .../soe/counting/soe_counting.c | 4 +- .../soe/counting/soe_counting_cfg.h | 4 +- .../state_estimation/soe/debug/soe_debug.c | 4 +- .../soe/debug/soe_debug_cfg.h | 4 +- .../state_estimation/soe/none/soe_none.c | 4 +- .../state_estimation/soe/none/soe_none_cfg.h | 4 +- .../sof/trapezoid/sof_trapezoid.c | 4 +- .../sof/trapezoid/sof_trapezoid.h | 4 +- .../sof/trapezoid/sof_trapezoid_cfg.c | 4 +- .../sof/trapezoid/sof_trapezoid_cfg.h | 4 +- .../state_estimation/soh/debug/soh_debug.c | 4 +- .../state_estimation/soh/none/soh_none.c | 4 +- .../state_estimation/state_estimation.c | 4 +- .../state_estimation/state_estimation.h | 4 +- src/app/application/bal/bal.c | 4 +- src/app/application/bal/bal.h | 4 +- .../bal/history/bal_strategy_history.c | 4 +- .../application/bal/none/bal_strategy_none.c | 4 +- .../bal/voltage/bal_strategy_voltage.c | 4 +- .../bal/voltage/bal_strategy_voltage.h | 4 +- src/app/application/bms/bms.c | 57 +- src/app/application/bms/bms.h | 16 +- src/app/application/config/bal_cfg.c | 6 +- src/app/application/config/bal_cfg.h | 4 +- src/app/application/config/battery_cell_cfg.c | 4 +- src/app/application/config/battery_cell_cfg.h | 4 +- .../application/config/battery_system_cfg.c | 4 +- .../application/config/battery_system_cfg.h | 4 +- src/app/application/config/bms_cfg.h | 4 +- src/app/application/config/plausibility_cfg.h | 4 +- src/app/application/config/soa_cfg.c | 4 +- src/app/application/config/soa_cfg.h | 4 +- .../application/plausibility/plausibility.c | 4 +- .../application/plausibility/plausibility.h | 4 +- src/app/application/redundancy/redundancy.c | 7 +- src/app/application/redundancy/redundancy.h | 4 +- src/app/application/soa/soa.c | 4 +- src/app/application/soa/soa.h | 4 +- src/app/application/wscript | 1 + src/{doxygen_src.h => app/doxygen_app.h} | 15 +- src/app/driver/adc/adc.c | 4 +- src/app/driver/adc/adc.h | 4 +- .../afe/adi/ades1830/adi_ades1830_balancing.c | 4 +- .../afe/adi/ades1830/adi_ades1830_defs.h | 4 +- .../adi/ades1830/adi_ades1830_gpio_voltages.c | 13 +- .../adi/ades1830/config/adi_ades1830_cfg.c | 56 +- .../afe/adi/common/ades183x/adi_ades183x.c | 34 +- .../afe/adi/common/ades183x/adi_ades183x.h | 4 +- .../common/ades183x/adi_ades183x_balancing.h | 4 +- .../common/ades183x/adi_ades183x_buffers.c | 4 +- .../common/ades183x/adi_ades183x_buffers.h | 4 +- .../common/ades183x/adi_ades183x_commands.c | 4 +- .../common/ades183x/adi_ades183x_commands.h | 4 +- .../ades183x/adi_ades183x_commands_voltages.c | 4 +- .../ades183x/adi_ades183x_commands_voltages.h | 4 +- .../adi/common/ades183x/adi_ades183x_defs.h | 4 +- .../common/ades183x/adi_ades183x_diagnostic.h | 21 +- .../ades183x/adi_ades183x_diagnostic_w.c | 33 +- .../ades183x/adi_ades183x_gpio_voltages.h | 4 +- .../common/ades183x/adi_ades183x_helpers.c | 4 +- .../common/ades183x/adi_ades183x_helpers.h | 4 +- .../ades183x/adi_ades183x_initialization.c | 4 +- .../ades183x/adi_ades183x_initialization.h | 4 +- .../ades183x/adi_ades183x_temperatures.c | 61 +- .../ades183x/adi_ades183x_temperatures.h | 6 +- .../common/ades183x/adi_ades183x_voltages.c | 78 +- .../common/ades183x/adi_ades183x_voltages.h | 15 +- .../common/ades183x/api/adi_ades183x_afe.c | 18 +- .../ades183x/api/adi_ades183x_afe_dma.c | 4 +- .../afe/adi/common/ades183x/api/wscript | 73 + .../common/ades183x/config/adi_ades183x_cfg.c | 4 +- .../common/ades183x/config/adi_ades183x_cfg.h | 4 +- .../common/ades183x/pec/adi_ades183x_pec.c | 4 +- .../common/ades183x/pec/adi_ades183x_pec.h | 4 +- .../afe/adi/common/ades183x/pec/wscript | 70 + src/app/driver/afe/api/afe.h | 18 +- src/app/driver/afe/api/afe_dma.h | 4 +- src/app/driver/afe/api/afe_plausibility.c | 4 +- src/app/driver/afe/api/afe_plausibility.h | 4 +- .../driver/afe/debug/can/api/debug_can_afe.c | 16 +- .../afe/debug/can/api/debug_can_afe_dma.c | 4 +- src/app/driver/afe/debug/can/debug_can.c | 4 +- src/app/driver/afe/debug/can/debug_can.h | 4 +- .../afe/debug/default/api/debug_default_afe.c | 16 +- .../debug/default/api/debug_default_afe_dma.c | 4 +- .../driver/afe/debug/default/debug_default.c | 4 +- .../driver/afe/debug/default/debug_default.h | 4 +- .../driver/afe/ltc/6806/config/ltc_6806_cfg.c | 4 +- .../driver/afe/ltc/6806/config/ltc_6806_cfg.h | 4 +- src/app/driver/afe/ltc/6806/ltc_6806.c | 22 +- .../afe/ltc/6813-1/config/ltc_6813-1_cfg.c | 4 +- .../afe/ltc/6813-1/config/ltc_6813-1_cfg.h | 4 +- src/app/driver/afe/ltc/6813-1/ltc_6813-1.c | 6 +- src/app/driver/afe/ltc/api/ltc_afe.c | 20 +- .../driver/afe/ltc/common/config/ltc_cfg.h | 4 +- src/app/driver/afe/ltc/common/ltc.h | 4 +- src/app/driver/afe/ltc/common/ltc_afe_dma.c | 4 +- src/app/driver/afe/ltc/common/ltc_afe_dma.h | 4 +- src/app/driver/afe/ltc/common/ltc_defs.h | 4 +- src/app/driver/afe/ltc/common/ltc_pec.c | 4 +- src/app/driver/afe/ltc/common/ltc_pec.h | 4 +- src/app/driver/afe/maxim/api/mxm_afe.c | 14 +- .../driver/afe/maxim/common/config/mxm_cfg.c | 4 +- .../driver/afe/maxim/common/config/mxm_cfg.h | 4 +- src/app/driver/afe/maxim/common/mxm_17841b.c | 4 +- src/app/driver/afe/maxim/common/mxm_17841b.h | 4 +- src/app/driver/afe/maxim/common/mxm_1785x.c | 4 +- src/app/driver/afe/maxim/common/mxm_1785x.h | 4 +- .../driver/afe/maxim/common/mxm_1785x_tools.c | 4 +- .../driver/afe/maxim/common/mxm_1785x_tools.h | 4 +- .../afe/maxim/common/mxm_41b_register_map.h | 4 +- src/app/driver/afe/maxim/common/mxm_afe_dma.c | 4 +- .../afe/maxim/common/mxm_basic_defines.h | 4 +- .../afe/maxim/common/mxm_battery_management.c | 8 +- .../afe/maxim/common/mxm_battery_management.h | 4 +- .../driver/afe/maxim/common/mxm_bit_extract.c | 4 +- .../driver/afe/maxim/common/mxm_bit_extract.h | 4 +- src/app/driver/afe/maxim/common/mxm_crc8.c | 4 +- src/app/driver/afe/maxim/common/mxm_crc8.h | 4 +- .../afe/maxim/common/mxm_register_map.h | 4 +- .../driver/afe/maxim/common/mxm_registry.c | 4 +- .../driver/afe/maxim/common/mxm_registry.h | 4 +- src/app/driver/afe/maxim/max17852/mxm_17852.c | 6 +- src/app/driver/afe/nxp/api/nxp_afe.c | 14 +- src/app/driver/afe/nxp/api/nxp_afe.h | 8 +- .../afe/nxp/mc33775a/api/nxp_mc33775a_afe.c | 14 +- .../nxp/mc33775a/config/nxp_mc33775a_cfg.c | 4 +- .../nxp/mc33775a/config/nxp_mc33775a_cfg.h | 5 +- src/app/driver/afe/nxp/mc33775a/nxp_afe_dma.c | 6 +- .../driver/afe/nxp/mc33775a/nxp_mc33775a-ll.c | 10 +- .../driver/afe/nxp/mc33775a/nxp_mc33775a-ll.h | 4 +- .../driver/afe/nxp/mc33775a/nxp_mc33775a.c | 4 +- .../driver/afe/nxp/mc33775a/nxp_mc33775a.h | 4 +- .../afe/nxp/mc33775a/nxp_mc33775a_defs.h | 4 +- src/app/driver/afe/ti/api/ti_afe.c | 14 +- src/app/driver/afe/ti/api/ti_afe.h | 18 +- .../afe/ti/common/api/ti_bq79xxx_afe_dma.c | 4 +- .../driver/afe/ti/dummy/api/ti_dummy_afe.c | 14 +- src/app/driver/afe/ti/dummy/ti_dummy.c | 14 +- src/app/driver/afe/ti/dummy/ti_dummy.h | 6 +- src/app/driver/can/can.c | 30 +- src/app/driver/can/can.h | 4 +- src/app/driver/can/cbs/can_helper.c | 5 +- src/app/driver/can/cbs/can_helper.h | 5 +- src/app/driver/can/cbs/rx/can_cbs_rx.h | 74 +- .../can/cbs/rx/can_cbs_rx_aerosol-sensor.c | 4 +- .../can/cbs/rx/can_cbs_rx_bms-state-request.c | 4 +- .../can/cbs/rx/can_cbs_rx_cell-temperatures.c | 21 +- .../can/cbs/rx/can_cbs_rx_cell-voltages.c | 17 +- .../can/cbs/rx/can_cbs_rx_current-sensor.c | 4 +- src/app/driver/can/cbs/rx/can_cbs_rx_debug.c | 4 +- .../driver/can/cbs/rx/can_cbs_rx_imd-info.c | 6 +- .../can/cbs/rx/can_cbs_rx_imd-response.c | 6 +- .../can/cbs/tx-async/can_cbs_tx_crash-dump.c | 4 +- .../can/cbs/tx-async/can_cbs_tx_crash-dump.h | 4 +- .../can_cbs_tx_debug-build-configuration.c | 6 +- .../can_cbs_tx_debug-build-configuration.h | 4 +- .../cbs/tx-async/can_cbs_tx_debug-response.c | 187 +- .../cbs/tx-async/can_cbs_tx_debug-response.h | 9 +- ..._tx_debug-unsupported-multiplexer-values.c | 4 +- ..._tx_debug-unsupported-multiplexer-values.h | 4 +- .../can/cbs/tx-async/can_cbs_tx_fatal-error.c | 109 + .../can_cbs_tx_fatal-error.h} | 59 +- .../can/cbs/tx-async/can_cbs_tx_imd-request.c | 4 +- .../can/cbs/tx-async/can_cbs_tx_imd-request.h | 4 +- .../tx-cyclic/can_cbs_tx_bms-state-details.c | 6 +- .../can/cbs/tx-cyclic/can_cbs_tx_bms-state.c | 183 +- .../tx-cyclic/can_cbs_tx_cell-temperatures.c | 139 +- .../cbs/tx-cyclic/can_cbs_tx_cell-voltages.c | 110 +- .../can/cbs/tx-cyclic/can_cbs_tx_cyclic.h | 12 +- .../cbs/tx-cyclic/can_cbs_tx_pack-limits.c | 4 +- .../can_cbs_tx_pack-minimum-maximum-values.c | 4 +- .../can_cbs_tx_pack-state-estimation.c | 4 +- .../cbs/tx-cyclic/can_cbs_tx_pack-values-p0.c | 4 +- .../cbs/tx-cyclic/can_cbs_tx_pack-values-p1.c | 4 +- ...can_cbs_tx_string-minimum-maximum-values.c | 4 +- .../can_cbs_tx_string-state-estimation.c | 4 +- .../cbs/tx-cyclic/can_cbs_tx_string-state.c | 20 +- .../tx-cyclic/can_cbs_tx_string-values-p0.c | 4 +- .../tx-cyclic/can_cbs_tx_string-values-p1.c | 4 +- src/app/driver/checksum/checksum.c | 7 +- src/app/driver/checksum/checksum.h | 4 +- src/app/driver/config/can_cfg.c | 66 +- src/app/driver/config/can_cfg.h | 53 +- .../config/can_cfg_rx-message-definitions.h | 36 +- src/app/driver/config/can_cfg_rx.c | 4 +- .../can_cfg_tx-async-message-definitions.h | 15 +- .../can_cfg_tx-cyclic-message-definitions.h | 4 +- src/app/driver/config/can_cfg_tx_cyclic.c | 4 +- src/app/driver/config/contactor_cfg.c | 4 +- src/app/driver/config/contactor_cfg.h | 4 +- src/app/driver/config/dma_cfg.c | 4 +- src/app/driver/config/dma_cfg.h | 6 +- src/app/driver/config/fram_cfg.c | 6 +- src/app/driver/config/fram_cfg.h | 4 +- src/app/driver/config/interlock_cfg.h | 4 +- src/app/driver/config/pex_cfg.c | 4 +- src/app/driver/config/pex_cfg.h | 4 +- src/app/driver/config/spi_cfg.c | 4 +- src/app/driver/config/spi_cfg.h | 4 +- src/app/driver/config/sps_cfg.c | 4 +- src/app/driver/config/sps_cfg.h | 4 +- src/app/driver/config/tsi_plausibility_cfg.h | 4 +- src/app/driver/contactor/contactor.c | 14 +- src/app/driver/contactor/contactor.h | 12 +- src/app/driver/crc/crc.c | 16 +- src/app/driver/crc/crc.h | 12 +- src/app/driver/dma/dma.c | 5 +- src/app/driver/dma/dma.h | 27 +- src/app/driver/foxmath/foxmath.c | 4 +- src/app/driver/foxmath/foxmath.h | 8 +- src/app/driver/foxmath/utils.c | 100 + src/app/driver/foxmath/utils.h | 23 +- src/app/driver/fram/fram.c | 14 +- src/app/driver/fram/fram.h | 4 +- src/app/driver/htsensor/htsensor.c | 6 +- src/app/driver/htsensor/htsensor.h | 4 +- src/app/driver/i2c/i2c.c | 11 +- src/app/driver/i2c/i2c.h | 6 +- .../driver/imd/bender/ir155/bender_ir155.c | 4 +- .../driver/imd/bender/ir155/bender_ir155.h | 4 +- .../imd/bender/ir155/bender_ir155_helper.c | 4 +- .../imd/bender/ir155/bender_ir155_helper.h | 4 +- .../bender/ir155/config/bender_ir155_cfg.h | 4 +- .../imd/bender/iso165c/bender_iso165c.c | 10 +- .../imd/bender/iso165c/bender_iso165c.h | 4 +- .../iso165c/config/bender_iso165c_cfg.h | 4 +- src/app/driver/imd/imd.c | 77 +- src/app/driver/imd/imd.h | 57 +- src/app/driver/imd/none/no-imd.c | 4 +- src/app/driver/imd/none/no-imd.h | 6 +- src/app/driver/interlock/interlock.c | 4 +- src/app/driver/interlock/interlock.h | 4 +- src/app/driver/io/io.c | 4 +- src/app/driver/io/io.h | 4 +- src/app/driver/led/led.c | 4 +- src/app/driver/led/led.h | 4 +- src/app/driver/mcu/mcu.c | 26 +- src/app/driver/mcu/mcu.h | 22 +- src/app/driver/meas/meas.c | 15 +- src/app/driver/meas/meas.h | 18 +- src/app/driver/pex/pex.c | 5 +- src/app/driver/pex/pex.h | 5 +- src/app/driver/pwm/pwm.c | 6 +- src/app/driver/pwm/pwm.h | 4 +- src/app/driver/rtc/rtc.c | 4 +- src/app/driver/rtc/rtc.h | 4 +- src/app/driver/sbc/nxpfs85xx.c | 18 +- src/app/driver/sbc/nxpfs85xx.h | 4 +- src/app/driver/sbc/sbc.c | 4 +- src/app/driver/sbc/sbc.h | 4 +- src/app/driver/spi/spi.c | 14 +- src/app/driver/spi/spi.h | 4 +- src/app/driver/spi/spi_cfg-helper.h | 4 +- src/app/driver/sps/sps.c | 14 +- src/app/driver/sps/sps.h | 9 +- src/app/driver/sps/sps_types.h | 4 +- src/app/driver/ts/api/tsi.h | 4 +- src/app/driver/ts/api/tsi_limits.c | 4 +- src/app/driver/ts/beta.c | 5 +- src/app/driver/ts/beta.h | 4 +- .../b57251v5103j060/epcos_b57251v5103j060.c | 4 +- .../b57251v5103j060/epcos_b57251v5103j060.h | 4 +- .../epcos_b57251v5103j060_lookup-table.c | 4 +- .../epcos_b57251v5103j060_polynomial.c | 4 +- .../b57861s0103f045/epcos_b57861s0103f045.c | 4 +- .../b57861s0103f045/epcos_b57861s0103f045.h | 4 +- .../epcos_b57861s0103f045_lookup-table.c | 4 +- .../epcos_b57861s0103f045_polynomial.c | 4 +- src/app/driver/ts/fake/none/fake_none.c | 4 +- src/app/driver/ts/fake/none/fake_none.h | 4 +- .../lookup-table/fake_none_lookup-table.c | 4 +- .../none/polynomial/fake_none_polynomial.c | 4 +- .../murata_ncxxxxh103_lookup-table.c | 4 +- .../ts/murata/ncxxxxh103/murata_ncxxxxh103.c | 4 +- .../ts/murata/ncxxxxh103/murata_ncxxxxh103.h | 4 +- .../polynomial/murata_ncxxxxh103_polynomial.c | 4 +- .../lookup-table/semitec_103jt_lookup-table.c | 5 +- .../driver/ts/semitec/103jt/semitec_103jt.c | 5 +- .../driver/ts/semitec/103jt/semitec_103jt.h | 4 +- .../tdk_ntcgs103jf103ft8_lookup-table.c | 80 + .../ntcgs103jf103ft8/tdk_ntcgs103jf103ft8.c | 228 + .../ntcgs103jf103ft8/tdk_ntcgs103jf103ft8.h | 126 + src/app/driver/ts/temperature_sensor_defs.h | 4 +- .../vishay_ntcalug01a103g_lookup-table.c | 5 +- .../vishay_ntcalug01a103g_polynomial.c | 5 +- .../ntcalug01a103g/vishay_ntcalug01a103g.c | 5 +- .../ntcalug01a103g/vishay_ntcalug01a103g.h | 4 +- .../vishay_ntcle317e4103sba_lookup-table.c | 5 +- .../vishay_ntcle317e4103sba.c | 5 +- .../vishay_ntcle317e4103sba.h | 4 +- .../vishay_ntcle413e2103f102l_lookup-table.c | 5 +- .../vishay_ntcle413e2103f102l.c | 7 +- .../vishay_ntcle413e2103f102l.h | 4 +- src/app/driver/wscript | 6 +- src/app/engine/config/database_cfg.c | 24 +- src/app/engine/config/database_cfg.h | 32 +- src/app/engine/config/diag_cfg.c | 200 +- src/app/engine/config/diag_cfg.h | 139 +- src/app/engine/config/sys_cfg.c | 4 +- src/app/engine/config/sys_cfg.h | 4 +- src/app/engine/config/sys_mon_cfg.c | 10 +- src/app/engine/config/sys_mon_cfg.h | 4 +- src/app/engine/database/database.c | 4 +- src/app/engine/database/database.h | 4 +- src/app/engine/database/database_helper.c | 4 +- src/app/engine/database/database_helper.h | 4 +- src/app/engine/diag/cbs/diag_cbs.h | 17 +- .../engine/diag/cbs/diag_cbs_aerosol-sensor.c | 4 +- src/app/engine/diag/cbs/diag_cbs_afe.c | 21 +- src/app/engine/diag/cbs/diag_cbs_bms.c | 4 +- src/app/engine/diag/cbs/diag_cbs_can.c | 6 +- src/app/engine/diag/cbs/diag_cbs_clamp30c.c | 92 + src/app/engine/diag/cbs/diag_cbs_contactor.c | 9 +- .../engine/diag/cbs/diag_cbs_current-sensor.c | 12 +- src/app/engine/diag/cbs/diag_cbs_current.c | 20 +- .../engine/diag/cbs/diag_cbs_deep-discharge.c | 6 +- src/app/engine/diag/cbs/diag_cbs_dummy.c | 4 +- src/app/engine/diag/cbs/diag_cbs_fram.c | 7 +- src/app/engine/diag/cbs/diag_cbs_i2c.c | 5 +- src/app/engine/diag/cbs/diag_cbs_insulation.c | 8 +- src/app/engine/diag/cbs/diag_cbs_interlock.c | 4 +- .../engine/diag/cbs/diag_cbs_plausibility.c | 10 +- .../diag/cbs/diag_cbs_power-measurement.c | 7 +- src/app/engine/diag/cbs/diag_cbs_rtc.c | 5 +- src/app/engine/diag/cbs/diag_cbs_sbc.c | 10 +- src/app/engine/diag/cbs/diag_cbs_sys-mon.c | 4 +- .../engine/diag/cbs/diag_cbs_temperature.c | 22 +- src/app/engine/diag/cbs/diag_cbs_voltage.c | 4 +- src/app/engine/diag/diag.c | 180 +- src/app/engine/diag/diag.h | 12 +- src/app/engine/hw_info/master_info.c | 33 +- src/app/engine/hw_info/master_info.h | 8 +- src/app/engine/sys/reset.c | 4 +- src/app/engine/sys/reset.h | 4 +- src/app/engine/sys/sys.c | 4 +- src/app/engine/sys/sys.h | 4 +- src/app/engine/sys_mon/sys_mon.c | 21 +- src/app/engine/sys_mon/sys_mon.h | 5 +- src/app/engine/wscript | 2 + .../startup.hash => app/hal/app-startup.hash} | 0 src/app/hal/wscript | 66 + src/app/main/app.cmd | 193 + .../{linker_script_hex.cmd => app_hex.cmd} | 6 +- src/app/main/fassert.c | 4 +- src/app/main/fstartup.c | 160 +- .../{config/version_cfg.h => app_build_cfg.h} | 59 +- src/app/main/include/fassert.h | 4 +- src/app/main/include/fstartup.h | 4 +- src/app/main/include/fstd_types.h | 5 +- src/app/main/include/fsystem.h | 4 +- src/app/main/include/general.h | 8 +- src/app/main/include/infinite-loop-helper.h | 7 +- src/app/main/include/main.h | 10 +- src/app/main/main.c | 8 +- src/app/main/wscript | 69 +- src/app/task/config/ftask_cfg.c | 6 +- src/app/task/config/ftask_cfg.h | 4 +- src/app/task/ftask/freertos/ftask_freertos.c | 4 +- src/app/task/ftask/ftask.c | 4 +- src/app/task/ftask/ftask.h | 4 +- src/app/task/os/freertos/os_freertos.c | 4 +- .../freertos/os_freertos_config-validation.h | 4 +- src/app/task/os/os.c | 4 +- src/app/task/os/os.h | 4 +- src/app/task/timer/timer.c | 142 + src/app/task/timer/timer.h | 149 + src/app/task/wscript | 3 + src/app/wscript | 2 +- src/bootloader/doxygen_bootloader.h | 95 + src/bootloader/hal/bootloader-startup.hash | 1 + src/{ => bootloader}/hal/wscript | 14 +- .../main/bootloader.cmd} | 62 +- src/bootloader/main/fassert.c | 86 + src/bootloader/main/fstartup.c | 296 + src/bootloader/main/include/fassert.h | 295 + src/bootloader/main/include/fstartup.h | 88 + .../main/include/fstd_types.h} | 67 +- src/bootloader/main/include/fstring.h | 79 + src/bootloader/main/include/fsystem.h | 150 + .../main/include/general.h} | 91 +- .../main/include/infinite-loop-helper.h | 76 + src/bootloader/main/include/main.h | 83 + src/bootloader/main/main.c | 92 + .../bootloader/main/wscript | 57 +- src/bootloader/wscript | 58 + src/opt/cells/config/lg_inr18650mj1.c | 4 +- src/opt/cells/config/lg_inr18650mj1.h | 4 +- src/opt/cells/config/panasonic_ncr18650bd.h | 4 +- src/os/freertos/History.txt | 11 +- src/os/freertos/README.ti-halcogen.md | 2 +- src/os/freertos/croutine.c | 2 +- src/os/freertos/event_groups.c | 2 +- src/os/freertos/include/FreeRTOS.h | 2 +- src/os/freertos/include/FreeRTOSConfig.h | 6 +- src/os/freertos/include/StackMacros.h | 2 +- src/os/freertos/include/atomic.h | 2 +- src/os/freertos/include/croutine.h | 74 +- .../freertos/include/deprecated_definitions.h | 2 +- src/os/freertos/include/event_groups.h | 106 +- src/os/freertos/include/list.h | 2 +- src/os/freertos/include/message_buffer.h | 96 +- src/os/freertos/include/mpu_prototypes.h | 2 +- src/os/freertos/include/mpu_wrappers.h | 2 +- src/os/freertos/include/portable.h | 2 +- src/os/freertos/include/projdefs.h | 2 +- src/os/freertos/include/queue.h | 150 +- src/os/freertos/include/semphr.h | 138 +- src/os/freertos/include/stack_macros.h | 2 +- src/os/freertos/include/stdint.readme | 2 +- src/os/freertos/include/stream_buffer.h | 94 +- src/os/freertos/include/task.h | 296 +- src/os/freertos/include/timers.h | 6 +- src/os/freertos/list.c | 2 +- .../portable/ccs/arm_cortex-r5/port.c | 4 +- .../portable/ccs/arm_cortex-r5/portasm.asm | 19 +- .../portable/ccs/arm_cortex-r5/portmacro.h | 16 +- src/os/freertos/portable/memmang/heap_1.c | 2 +- src/os/freertos/portable/memmang/heap_2.c | 4 +- src/os/freertos/portable/memmang/heap_3.c | 2 +- src/os/freertos/portable/memmang/heap_4.c | 2 +- src/os/freertos/portable/memmang/heap_5.c | 2 +- src/os/freertos/queue.c | 2 +- src/os/freertos/stream_buffer.c | 2 +- src/os/freertos/tasks.c | 4 +- src/os/freertos/timers.c | 2 +- src/version/version.h | 113 + src/wscript | 20 +- tests/README.md | 2 +- tests/axivion/README.md | 43 +- tests/axivion/axivion_config.json | 16 - tests/axivion/axivion_self_tests.json | 18 +- tests/axivion/axivion_self_tests.py | 8 +- tests/axivion/combine_report_files.py | 2 +- tests/axivion/config-test/.clang-format | 136 +- tests/axivion/config-test/README.md | 6 + .../coding-style-naming.enumerator.c | 22 + .../coding-style-naming.function.c | 37 + .../coding-style-naming.global-variable.c | 70 + ...ng-style-naming.global-variable_database.c | 24 + ...ng-style-naming.global-variable_database.h | 25 + ...le-naming.global-variable_database_usage.c | 32 + .../coding-style-naming.local-variable.c | 72 + ...yle-naming.local-variable_database_usage.c | 43 + .../config-test/coding-style-naming.macro.c | 22 + .../config-test/coding-style-naming.macro.h | 6 + .../config-test/coding-style-naming.macro_1.h | 9 + .../coding-style-naming.parameter_0.c | 126 + .../coding-style-naming.parameter_1.c | 35 + .../coding-style-naming.struct-field.c | 60 + .../coding-style-naming.typedefed-enum.c | 31 + .../coding-style-naming.typedefed-func-ptr.c | 3 + .../coding-style-naming.typedefed-struct.c | 31 + .../test_coding-style-naming.function.c | 18 + tests/axivion/config-test/test_macro-names.c | 15 - tests/axivion/config-test/test_macro-names.h | 9 - .../config-test/test_parameter-names-0.c | 123 - .../config-test/test_parameter-names-1.c | 33 - tests/axivion/rule_config_addon.json | 18 +- tests/axivion/rule_config_names.json | 35 +- tests/axivion/rule_config_names.py | 705 +- tests/axivion/scripts/README.md | 1 + .../ci_check_freshness_of_architecture_svg.py | 4 + .../scripts/gravis_export_architecture_svg.py | 6 + tests/axivion/targets/app/README.md | 3 + .../{ => targets/app}/architecture.gxl | 0 .../app}/architecture_config.json | 0 ...chitecture_hierarchy_belongs_to_layout.gvl | 0 tests/axivion/targets/app/axivion_config.json | 16 + .../axivion/{ => targets/app}/ci_config.json | 14 +- tests/axivion/{ => targets/app}/mapping.gxl | 10 +- tests/axivion/targets/bootloader/README.md | 3 + .../targets/bootloader/axivion_config.json | 15 + .../axivion/targets/bootloader/ci_config.json | 71 + .../violations/forbidden-violations.txt | 8 + .../violations/violation-free-files.txt | 16 +- tests/c-std/c-std-test-inline-helper.h | 4 +- tests/c-std/c-std-test.c | 4 +- tests/ccs/ccs_build_helper.py | 1 + .../expect-failure_cc-options.yaml | 112 + .../expect-failure_linker_pulls.json | 5 + .../expect-failure_paths_linux.txt | 0 .../expect-failure_paths_win32.txt | 7 + .../expect-failure/expect-failure_remarks.txt | 28 + .../test_expect_configure_failure.py | 94 + tests/cli/__init__.py | 2 + tests/cli/cmd_axivion/__init__.py | 2 + tests/cli/cmd_axivion/test_axivion_impl.py | 222 +- tests/cli/cmd_bootloader/.gitignore | 1 + tests/cli/cmd_bootloader/__init__.py | 40 + tests/cli/cmd_bootloader/invalid.dbc | 1 + .../cli/cmd_bootloader/test_app_constants.py | 40 + tests/cli/cmd_bootloader/test_bootloader.py | 809 ++ .../test_bootloader_binary_file.py | 353 + .../cli/cmd_bootloader/test_bootloader_can.py | 532 + .../test_bootloader_can_basics.py | 286 + .../test_bootloader_can_messages.py | 222 + .../cmd_bootloader/test_bootloader_impl.py | 189 + .../cli/cmd_bootloader/test_crc64_ti_impl.py | 83 + tests/cli/cmd_build/test_build_impl.py | 40 + tests/cli/cmd_ci/__init__.py | 2 + tests/cli/cmd_ci/test_check_ci_config.py | 40 + tests/cli/cmd_ci/test_check_coverage.py | 89 + tests/cli/cmd_ci/test_create_readme.py | 32 +- tests/cli/cmd_cli_unittest/__init__.py | 40 + .../test_cli_unittest_constants.py | 40 + .../test_cli_unittest_impl.py | 160 + .../test_embedded_ut_constants.py | 40 + .../cmd_embedded_ut/test_embedded_ut_impl.py | 105 + tests/cli/cmd_etl/__init__.py | 40 + tests/cli/cmd_etl/batetl/__init__.py | 40 + tests/cli/cmd_etl/batetl/cmd/__init__.py | 40 + .../batetl/cmd/test_can_decode_helper.py | 308 + .../batetl/cmd/test_can_filter_helper.py | 203 + tests/cli/cmd_etl/batetl/cmd/test_init.py | 74 + tests/cli/cmd_etl/batetl/etl/__init__.py | 40 + .../cli/cmd_etl/batetl/etl/test_can_decode.py | 234 + .../cli/cmd_etl/batetl/etl/test_can_filter.py | 114 + tests/cli/cmd_etl/batetl/test___main__.py | 68 + tests/cli/cmd_ide/__init__.py | 40 + tests/cli/cmd_ide/test_ide_impl.py | 167 + tests/cli/cmd_install/__init__.py | 40 + tests/cli/cmd_install/test_install_impl.py | 85 + tests/cli/cmd_misc/__init__.py | 40 + tests/cli/cmd_misc/test_check_test_files.py | 40 + tests/cli/cmd_misc/test_crc_example.py | 68 + tests/cli/cmd_misc/test_doc_example.py | 68 + tests/cli/cmd_misc/test_eol_converter.py | 74 + tests/cli/cmd_misc/test_run_uncrustify.py | 173 + tests/cli/cmd_misc/test_verify_checksums.py | 97 + tests/cli/cmd_pre_commit/__init__.py | 40 + .../cmd_pre_commit/test_pre_commit_impl.py | 70 + tests/cli/cmd_release/__init__.py | 40 + tests/cli/cmd_release/test_release_impl.py | 62 + tests/cli/cmd_script/__init__.py | 40 + tests/cli/cmd_script/test_script_impl.py | 83 + tests/cli/commands/__init__.py | 40 + tests/cli/commands/test_c_axivion.py | 40 + tests/cli/commands/test_c_bootloader.py | 40 + tests/cli/commands/test_c_build.py | 40 + tests/cli/commands/test_c_ci.py | 40 + tests/cli/commands/test_c_cli_unittest.py | 40 + tests/cli/commands/test_c_embedded_ut.py | 40 + tests/cli/commands/test_c_etl.py | 40 + tests/cli/commands/test_c_ide.py | 40 + tests/cli/commands/test_c_install.py | 40 + tests/cli/commands/test_c_misc.py | 40 + tests/cli/commands/test_c_pre_commit.py | 40 + tests/cli/commands/test_c_program.py | 40 + tests/cli/commands/test_c_release.py | 40 + tests/cli/helpers/__init__.py | 2 + tests/cli/helpers/test_env_vars.py | 99 + tests/cli/helpers/test_host_platform.py | 79 + tests/cli/helpers/test_misc.py | 113 + tests/cli/helpers/test_misc/checksum_test.txt | 2 + tests/cli/helpers/test_spr.py | 28 +- tests/cli/pre_commit_scripts/__init__.py | 40 + .../test_check_cpp_style_comment.py | 110 + .../.clang-format | 2 + .../cpp-style-comment_0.c | 1 + .../cpp-style-comment_1.c | 3 + .../cpp-style-comment_2.c | 3 + .../no-cpp-style-comment.c | 1 + .../pre_commit_scripts/test_check_doxygen.py | 244 + .../empty-line-between-brief-and-details.c | 55 + .../ignore-author-comment.c | 53 + .../invalid-encoding_utf-16.c | Bin 0 -> 24 bytes .../test_check_doxygen/invalid-version.c | 53 + .../test_check_doxygen/multiline-brief.c | 54 + .../test_check_doxygen/no-author-comment.c | 53 + .../test_check_doxygen/no-brief-comment.c | 53 + .../test_check_doxygen/no-date-comment.c | 53 + .../test_check_doxygen/no-details-comment.c | 53 + .../test_check_doxygen/no-doxygen-comments.c | 0 .../test_check_doxygen/no-file-comment.c | 53 + .../test_check_doxygen/no-ingroup-comment.c | 53 + .../test_check_doxygen/no-prefix-comment.c | 53 + .../test_check_doxygen/no-start-comment.c | 53 + .../test_check_doxygen/no-updated-comment.c | 53 + .../test_check_doxygen/valid-doxygen.c | 53 + .../pre_commit_scripts/test_check_encoding.py | 121 + .../test_check_encoding/ascii.txt | 4 + .../test_check_encoding/utf-16.txt | Bin 0 -> 24 bytes .../test_check_encoding/utf-8.txt | 1 + .../test_check_file_names.py | 86 + .../test_check_file_names/README.md | 1 + .../test_check_file_names/abcdef.txt | 1 + .../pre_commit_scripts/test_check_for_tabs.py | 114 + .../test_check_for_tabs/no-tabs.txt | 5 + .../test_check_for_tabs/tabs_0.txt | 1 + .../test_check_for_tabs/tabs_1.txt | 6 + .../test_check_for_tabs/tabs_2.txt | Bin 0 -> 88 bytes .../test_check_include_guard.py | 107 + .../test_check_include_guard/test_file.c | 0 .../test_file_empty.h | 0 .../test_file_invalid_content.h | 4 + .../test_file_multiple.h | 8 + .../test_file_valid.h | 6 + .../test_check_license_info.py | 124 + .../test_check_license_info/invalid-license.c | 66 + .../test_check_license_info/no-license.c | 23 + .../test_check_license_info/valid-license.asm | 36 + .../test_check_license_info/valid-license.bat | 36 + .../test_check_license_info/valid-license.c | 64 + .../test_check_license_info/valid-license.dot | 36 + .../test_check_license_info/valid-license.ps1 | 38 + .../test_check_license_info/valid-license.py | 42 + .../test_check_license_info/valid-license.sh | 38 + .../valid-license.toml | 36 + .../test_check_license_info/valid-license.yml | 36 + .../pre_commit_scripts/test_check_sections.py | 238 + .../invalid-sections-test-0.c | 69 + .../invalid-sections-test-0.h | 58 + .../invalid-sections-test-1.c | 70 + .../invalid-sections-test-1.h | 66 + .../invalid-sections-test-2.h | 70 + .../unknown-file-extension.abc | 64 + .../test_check_sections/valid-sections-src.c | 71 + .../test_check_sections/valid-sections-src.h | 70 + .../test_check_sections/valid-sections-test.c | 64 + .../test_check_sections/valid-sections-test.h | 64 + tests/cli/test___main__.py | 40 + tests/cli/test_cli.py | 428 + tests/cli/test_foxbms_version.py | 86 + tests/cli/test_main.py | 120 - tests/dbc/overlapping-signals.dbc | 6 +- tests/dbc/overlapping-signals.sym | 47 +- tests/re-names/README.md | 19 - tests/re-names/function.json | 40 - tests/re-names/global-variable.json | 46 - tests/re-names/local-variable.json | 27 - tests/re-names/macro.json | 26 - tests/re-names/test_names_regex.py | 134 - tests/re-names/typedefed-enum.json | 24 - tests/re-names/typedefed-struct.json | 24 - tests/unit-hw/README.md | 14 + tests/unit/README.md | 34 +- .../algorithm/config/test_algorithm_cfg.c | 28 +- .../moving_average/test_moving_average.c | 5 +- .../soc/counting/test_soc_counting.c | 7 +- .../soc/debug/test_soc_debug.c | 5 +- .../state_estimation/soc/none/test_soc_none.c | 4 +- .../soe/counting/test_soe_counting.c | 5 +- .../soe/debug/test_soe_debug.c | 5 +- .../state_estimation/soe/none/test_soe_none.c | 4 +- .../sof/trapezoid/test_sof_trapezoid.c | 5 +- .../sof/trapezoid/test_sof_trapezoid_cfg.c | 5 +- .../soh/debug/test_soh_debug.c | 5 +- .../state_estimation/soh/none/test_soh_none.c | 4 +- .../state_estimation/test_state_estimation.c | 5 +- .../application/algorithm/test_algorithm.c | 84 +- .../bal/history/test_bal_strategy_history.c | 11 +- .../bal/none/test_bal_strategy_none.c | 5 +- tests/unit/app/application/bal/test_bal.c | 5 +- .../bal/voltage/test_bal_strategy_voltage.c | 11 +- tests/unit/app/application/bms/test_bms.c | 225 +- .../config/battery_system_cfg_unit_test.h | 4 +- .../app/application/config/test_bal_cfg.c | 24 +- .../config/test_battery_cell_cfg.c | 5 +- .../config/test_battery_system_cfg.c | 5 +- .../app/application/config/test_soa_cfg.c | 5 +- .../plausibility/test_plausibility.c | 5 +- .../application/redundancy/test_redundancy.c | 44 +- tests/unit/app/application/soa/test_soa.c | 4 +- tests/unit/app/doxygen_app_unit_test.h | 124 + tests/unit/app/driver/adc/test_adc.c | 5 +- .../adi_ades1830_helpers_test-data-rdb.c | 5 +- .../adi_ades1830_helpers_test-data-wdb.c | 4 +- .../adi/ades1830/api/test_adi_ades1830_afe.c | 13 +- .../ades1830/api/test_adi_ades1830_afe_dma.c | 5 +- .../ades1830/config/test_adi_ades1830_cfg.c | 5 +- .../adi_ades1830_helpers_test-data-rdb.h | 4 +- .../adi_ades1830_helpers_test-data-wdb.h | 4 +- .../adi/ades1830/pec/test_adi_ades1830_pec.c | 5 +- .../afe/adi/ades1830/test_adi_ades1830.c | 105 +- .../ades1830/test_adi_ades1830_balancing.c | 26 +- .../adi/ades1830/test_adi_ades1830_buffers.c | 5 +- .../adi/ades1830/test_adi_ades1830_commands.c | 5 +- .../test_adi_ades1830_commands_voltages.c | 5 +- .../ades1830/test_adi_ades1830_diagnostic_w.c | 8 +- .../test_adi_ades1830_gpio_voltages.c | 168 +- .../adi/ades1830/test_adi_ades1830_helpers.c | 125 +- .../test_adi_ades1830_initialization.c | 5 +- .../ades1830/test_adi_ades1830_temperatures.c | 50 +- .../test_adi_ades1830_temperatures_2.c | 66 +- .../adi/ades1830/test_adi_ades1830_voltages.c | 198 +- .../ades183x/api/test_adi_ades183x_afe.c | 5 +- .../ades183x/api/test_adi_ades183x_afe_dma.c | 5 +- .../ades183x/config/test_adi_ades183x_cfg.c | 5 +- .../ades183x/pec/test_adi_ades183x_pec.c | 5 +- .../adi/common/ades183x/test_adi_ades183x.c | 5 +- .../ades183x/test_adi_ades183x_buffers.c | 5 +- .../ades183x/test_adi_ades183x_commands.c | 5 +- .../test_adi_ades183x_commands_voltages.c | 5 +- .../ades183x/test_adi_ades183x_diagnostic_w.c | 5 +- .../ades183x/test_adi_ades183x_helpers.c | 5 +- .../test_adi_ades183x_initialization.c | 5 +- .../ades183x/test_adi_ades183x_temperatures.c | 5 +- .../ades183x/test_adi_ades183x_voltages.c | 5 +- .../driver/afe/api/test_afe_plausibility.c | 28 +- .../afe/debug/can/api/test_debug_can_afe.c | 12 +- .../debug/can/api/test_debug_can_afe_dma.c | 5 +- .../app/driver/afe/debug/can/test_debug_can.c | 32 +- .../default/api/test_debug_default_afe.c | 12 +- .../default/api/test_debug_default_afe_dma.c | 5 +- .../afe/debug/default/test_debug_default.c | 21 +- .../afe/ltc/6806/config/test_ltc_6806_cfg.c | 7 +- .../app/driver/afe/ltc/6806/test_ltc_6806.c | 6 +- .../ltc/6806/test_ltc_6806_pec_in_arrays.c | 5 +- .../ltc/6813-1/config/test_ltc_6813-1_cfg.c | 7 +- .../driver/afe/ltc/6813-1/test_ltc_6813-1.c | 5 +- .../6813-1/test_ltc_6813-1_pec_in_arrays.c | 6 +- .../app/driver/afe/ltc/api/test_ltc_afe.c | 5 +- .../driver/afe/ltc/common/test_ltc_afe_dma.c | 5 +- .../app/driver/afe/ltc/common/test_ltc_pec.c | 5 +- .../app/driver/afe/maxim/api/test_mxm_afe.c | 5 +- .../afe/maxim/common/config/test_mxm_cfg.c | 7 +- .../driver/afe/maxim/common/test_mxm_17841b.c | 21 +- .../driver/afe/maxim/common/test_mxm_1785x.c | 9 +- .../afe/maxim/common/test_mxm_1785x_tools.c | 9 +- .../afe/maxim/common/test_mxm_afe_dma.c | 5 +- .../common/test_mxm_battery_management.c | 7 +- .../afe/maxim/common/test_mxm_bit_extract.c | 7 +- .../driver/afe/maxim/common/test_mxm_crc8.c | 7 +- .../afe/maxim/common/test_mxm_register_map.c | 8 +- .../afe/maxim/common/test_mxm_registry.c | 7 +- .../afe/maxim/max17852/test_mxm_17852.c | 7 +- .../app/driver/afe/nxp/api/test_nxp_afe.c | 5 +- .../nxp/mc33775a/api/test_nxp_mc33775a_afe.c | 5 +- .../mc33775a/config/test_nxp_mc33775a_cfg.c | 5 +- .../afe/nxp/mc33775a/test_nxp_afe_dma.c | 9 +- .../afe/nxp/mc33775a/test_nxp_mc33775a-ll.c | 5 +- .../afe/nxp/mc33775a/test_nxp_mc33775a.c | 42 +- .../unit/app/driver/afe/ti/api/test_ti_afe.c | 5 +- .../ti/common/api/test_ti_bq79xxx_afe_dma.c | 6 +- .../afe/ti/dummy/api/test_ti_dummy_afe.c | 5 +- .../app/driver/afe/ti/dummy/test_ti_dummy.c | 5 +- .../cbs/rx/test_can_cbs_rx_aerosol-sensor.c | 8 +- .../rx/test_can_cbs_rx_bms-state-request.c | 22 +- .../rx/test_can_cbs_rx_cell-temperatures.c | 61 +- .../cbs/rx/test_can_cbs_rx_cell-voltages.c | 6 +- .../cbs/rx/test_can_cbs_rx_current-sensor.c | 5 +- .../driver/can/cbs/rx/test_can_cbs_rx_debug.c | 5 +- .../can/cbs/rx/test_can_cbs_rx_imd-info.c | 6 +- .../can/cbs/rx/test_can_cbs_rx_imd-response.c | 6 +- .../unit/app/driver/can/cbs/test_can_helper.c | 10 +- .../cbs/tx-async/test_can_cbs_tx_crash-dump.c | 5 +- ...est_can_cbs_tx_debug-build-configuration.c | 8 +- .../tx-async/test_can_cbs_tx_debug-response.c | 630 +- ..._tx_debug-unsupported-multiplexer-values.c | 5 +- .../tx-async/test_can_cbs_tx_fatal-error.c | 123 + .../tx-async/test_can_cbs_tx_imd-request.c | 20 +- .../test_can_cbs_tx_bms-state-details.c | 5 +- .../cbs/tx-cyclic/test_can_cbs_tx_bms-state.c | 596 +- .../test_can_cbs_tx_cell-temperatures.c | 259 +- .../tx-cyclic/test_can_cbs_tx_cell-voltages.c | 260 +- .../tx-cyclic/test_can_cbs_tx_pack-limits.c | 4 +- ...t_can_cbs_tx_pack-minimum-maximum-values.c | 4 +- .../test_can_cbs_tx_pack-state-estimation.c | 4 +- .../test_can_cbs_tx_pack-values-p0.c | 9 +- .../test_can_cbs_tx_pack-values-p1.c | 6 +- ...can_cbs_tx_string-minimum-maximum-values.c | 10 +- .../test_can_cbs_tx_string-state-estimation.c | 29 +- .../tx-cyclic/test_can_cbs_tx_string-state.c | 46 +- .../test_can_cbs_tx_string-values-p0.c | 12 +- .../test_can_cbs_tx_string-values-p1.c | 6 +- tests/unit/app/driver/can/test_can.c | 22 +- tests/unit/app/driver/can/test_can_1.c | 8 +- tests/unit/app/driver/can/test_can_2.c | 8 +- .../unit/app/driver/checksum/test_checksum.c | 6 +- tests/unit/app/driver/config/test_can_cfg.c | 5 +- .../unit/app/driver/config/test_can_cfg_rx.c | 5 +- .../driver/config/test_can_cfg_tx_cyclic.c | 5 +- .../app/driver/config/test_contactor_cfg.c | 7 +- tests/unit/app/driver/config/test_dma_cfg.c | 5 +- tests/unit/app/driver/config/test_fram_cfg.c | 5 +- tests/unit/app/driver/config/test_pex_cfg.c | 5 +- tests/unit/app/driver/config/test_spi_cfg.c | 10 +- tests/unit/app/driver/config/test_sps_cfg.c | 5 +- .../app/driver/contactor/test_contactor.c | 103 +- tests/unit/app/driver/crc/test_crc.c | 17 +- tests/unit/app/driver/dma/test_dma.c | 5 +- tests/unit/app/driver/foxmath/test_foxmath.c | 5 +- tests/unit/app/driver/foxmath/test_utils.c | 122 + tests/unit/app/driver/fram/test_fram.c | 14 +- .../unit/app/driver/htsensor/test_htsensor.c | 5 +- tests/unit/app/driver/i2c/test_i2c.c | 12 +- .../imd/bender/ir155/test_bender_ir155.c | 5 +- .../bender/ir155/test_bender_ir155_helper.c | 5 +- .../imd/bender/iso165c/test_bender_iso165c.c | 45 +- tests/unit/app/driver/imd/none/test_no-imd.c | 5 +- tests/unit/app/driver/imd/test_imd.c | 88 +- .../app/driver/interlock/test_interlock.c | 85 +- tests/unit/app/driver/io/test_io.c | 10 +- tests/unit/app/driver/led/test_led.c | 23 +- tests/unit/app/driver/mcu/test_mcu.c | 5 +- tests/unit/app/driver/meas/test_meas.c | 5 +- tests/unit/app/driver/pex/test_pex.c | 4 +- tests/unit/app/driver/pwm/test_pwm.c | 14 +- tests/unit/app/driver/rtc/test_rtc.c | 5 +- tests/unit/app/driver/sbc/test_nxpfs85xx.c | 40 +- tests/unit/app/driver/sbc/test_sbc.c | 11 +- tests/unit/app/driver/spi/test_spi.c | 78 +- tests/unit/app/driver/spi/test_spi_adi.c | 4 +- tests/unit/app/driver/spi/test_spi_debug.c | 4 +- tests/unit/app/driver/spi/test_spi_ltc.c | 4 +- tests/unit/app/driver/spi/test_spi_mxm.c | 4 +- tests/unit/app/driver/spi/test_spi_nxp.c | 4 +- tests/unit/app/driver/spi/test_spi_st.c | 232 + tests/unit/app/driver/spi/test_spi_ti.c | 4 +- tests/unit/app/driver/sps/test_sps.c | 5 +- .../unit/app/driver/ts/api/test_tsi_limits.c | 7 +- .../test_epcos_b57251v5103j060_lookup-table.c | 5 +- .../test_epcos_b57251v5103j060_polynomial.c | 5 +- .../test_epcos_b57251v5103j060.c | 5 +- .../test_epcos_b57861s0103f045_lookup-table.c | 5 +- .../test_epcos_b57861s0103f045_polynomial.c | 6 +- .../test_epcos_b57861s0103f045.c | 5 +- .../test_fake_none_lookup-table.c | 5 +- .../polynomial/test_fake_none_polynomial.c | 5 +- .../app/driver/ts/fake/none/test_fake_none.c | 5 +- .../test_murata_ncxxxxh103_lookup-table.c | 5 +- .../test_murata_ncxxxxh103_polynomial.c | 5 +- .../ncxxxxh103/test_murata_ncxxxxh103.c | 7 +- .../test_semitec_103jt_lookup-table.c | 5 +- .../ts/semitec/103jt/test_semitec_103jt.c | 5 +- .../test_tdk_ntcgs103jf103ft8_lookup-table.c | 85 + .../test_tdk_ntcgs103jf103ft8.c | 87 + tests/unit/app/driver/ts/test_beta.c | 8 +- .../test_vishay_ntcalug01a103g_lookup-table.c | 5 +- .../test_vishay_ntcalug01a103g_polynomial.c | 6 +- .../test_vishay_ntcalug01a103g.c | 5 +- ...est_vishay_ntcle317e4103sba_lookup-table.c | 5 +- .../test_vishay_ntcle317e4103sba.c | 5 +- ...t_vishay_ntcle413e2103f102l_lookup-table.c | 5 +- .../test_vishay_ntcle413e2103f102l.c | 5 +- .../app/engine/config/test_database_cfg.c | 5 +- tests/unit/app/engine/config/test_diag_cfg.c | 24 +- tests/unit/app/engine/config/test_sys_cfg.c | 24 +- .../unit/app/engine/config/test_sys_mon_cfg.c | 5 +- .../unit/app/engine/database/test_database.c | 160 +- .../engine/database/test_database_helper.c | 5 +- .../diag/cbs/test_diag_cbs_aerosol-sensor.c | 5 +- .../app/engine/diag/cbs/test_diag_cbs_afe.c | 5 +- .../app/engine/diag/cbs/test_diag_cbs_bms.c | 7 +- .../app/engine/diag/cbs/test_diag_cbs_can.c | 24 +- .../engine/diag/cbs/test_diag_cbs_clamp30c.c | 104 + .../engine/diag/cbs/test_diag_cbs_contactor.c | 5 +- .../diag/cbs/test_diag_cbs_current-sensor.c | 21 +- .../engine/diag/cbs/test_diag_cbs_current.c | 18 +- .../diag/cbs/test_diag_cbs_deep-discharge.c | 5 +- .../app/engine/diag/cbs/test_diag_cbs_dummy.c | 5 +- .../app/engine/diag/cbs/test_diag_cbs_fram.c | 8 +- .../app/engine/diag/cbs/test_diag_cbs_i2c.c | 8 +- .../diag/cbs/test_diag_cbs_insulation.c | 7 +- .../engine/diag/cbs/test_diag_cbs_interlock.c | 5 +- .../diag/cbs/test_diag_cbs_plausibility.c | 7 +- .../cbs/test_diag_cbs_power-measurement.c | 5 +- .../app/engine/diag/cbs/test_diag_cbs_rtc.c | 5 +- .../app/engine/diag/cbs/test_diag_cbs_sbc.c | 9 +- .../engine/diag/cbs/test_diag_cbs_sys-mon.c | 5 +- .../diag/cbs/test_diag_cbs_temperature.c | 5 +- .../engine/diag/cbs/test_diag_cbs_voltage.c | 5 +- tests/unit/app/engine/diag/test_diag.c | 160 +- .../app/engine/hw_info/test_master_info.c | 58 +- tests/unit/app/engine/sys/test_reset.c | 5 +- tests/unit/app/engine/sys/test_sys.c | 7 +- tests/unit/app/engine/sys_mon/test_sys_mon.c | 32 +- tests/unit/app/main/helper/mock_esm.h | 72 + tests/unit/app/main/test_fassert.c | 8 +- tests/unit/app/main/test_fstartup.c | 20 +- tests/unit/app/main/test_main.c | 11 +- tests/unit/app/task/config/test_ftask_cfg.c | 12 +- .../task/ftask/freertos/test_ftask_freertos.c | 5 +- tests/unit/app/task/ftask/test_ftask.c | 7 +- .../app/task/os/freertos/test_os_freertos.c | 11 +- tests/unit/app/task/os/test_os.c | 5 +- tests/unit/app/task/timer/test_timer.c | 175 + tests/unit/axivion/call_irlink.py | 2 +- tests/unit/axivion/ci_config.json | 4 +- .../bootloader/doxygen_bootloader_unit_test.h | 124 + tests/unit/bootloader/main/helper/mock_esm.h | 72 + tests/unit/bootloader/main/test_fassert.c | 79 + tests/unit/bootloader/main/test_fstartup.c | 107 + tests/unit/bootloader/main/test_main.c | 93 + tests/unit/build.json | 3581 ++--- tests/unit/doxygen_tests.h | 4 +- tests/unit/gen_hcg/wscript | 46 +- .../opt/cells/config/test_lg_inr18650mj1.c | 5 +- tests/unit/support/test_algorithm_stubs.h | 4 +- tests/unit/support/test_assert_helper.h | 4 +- ...test_can_mpu_prototype_queue_create_stub.h | 4 +- tests/unit/support/test_ignore_list.h | 4 +- tests/unit/support/test_pec_helper.h | 4 +- tests/unit/wscript | 26 +- tests/variants/lib-build/lib-build_main.c | 5 +- tools/crc/README.md | 15 +- tools/crc/crc-10_0x48f.c | 4 +- tools/crc/crc-15_0xc599.c | 4 +- tools/crc/crc16-0x9eb2h.ipynb | 158 - tools/crc/crc8-0xa6.ipynb | 161 - tools/dbc/foxbms-bootloader.dbc | 92 + tools/dbc/foxbms-bootloader.sym | 93 + tools/dbc/foxbms.dbc | 29 +- tools/dbc/foxbms.sym | 59 +- tools/debugger/lauterbach/README.md | 44 +- tools/debugger/lauterbach/commands.md | 32 - tools/debugger/lauterbach/config.t32.in | 6 +- tools/debugger/lauterbach/get_macro_values.py | 4 +- tools/debugger/lauterbach/init.cmm.in | 329 +- .../lauterbach/load_macro_values.cmm.in | 2 +- tools/debugger/lauterbach/t32.cmm.in | 24 +- tools/debugger/ozone/README.md | 9 - tools/debugger/ozone/foxbms.jdebug.config | 46 - tools/debugger/ozone/foxbms.jflash | 90 - tools/deploy/deploy_internal_server.sh | 28 +- .../c_cpp_properties.json | 0 .../project-include-path.txt} | 8 +- tools/ide/vscode/app/settings.json | 71 + tools/ide/vscode/{src => app}/tasks.json | 76 +- .../{src => bootloader}/c_cpp_properties.json | 0 .../bootloader/project-include-path.txt | 3 + tools/ide/vscode/bootloader/settings.json | 71 + tools/ide/vscode/bootloader/tasks.json | 87 + tools/ide/vscode/cspell.json | 56 +- .../embedded-test-app/c_cpp_properties.json | 24 + .../launch.json | 22 +- .../project-include-path.txt | 9 + .../settings.json | 23 +- .../tasks.json | 20 +- .../c_cpp_properties.json | 24 + .../embedded-test-bootloader/launch.json | 45 + .../project-include-path.txt | 9 + .../settings.json | 23 +- .../embedded-test-bootloader/tasks.json | 41 + .../embedded-tests/e-project-include-path.txt | 9 - .../project-include-path.txt} | 8 +- tools/ide/vscode/generic/settings.json | 40 +- tools/ide/vscode/generic/tasks.json | 100 +- tools/utils/update_version.py | 124 +- tools/vendor/ceedling/GIT_COMMIT_SHA | 2 +- tools/vendor/ceedling/README.md | 14 +- tools/vendor/ceedling/bin/actions_wrapper.rb | 8 + tools/vendor/ceedling/bin/app_cfg.rb | 29 +- tools/vendor/ceedling/bin/ceedling | 13 +- tools/vendor/ceedling/bin/cli.rb | 173 +- tools/vendor/ceedling/bin/cli_handler.rb | 105 +- tools/vendor/ceedling/bin/cli_helper.rb | 85 +- tools/vendor/ceedling/bin/projectinator.rb | 28 +- tools/vendor/ceedling/bin/versionator.rb | 20 +- .../lib/ceedling/build_batchinator.rb | 59 +- .../lib/ceedling/config_matchinator.rb | 14 +- .../ceedling/lib/ceedling/configurator.rb | 151 +- .../lib/ceedling/configurator_builder.rb | 27 +- .../lib/ceedling/configurator_plugins.rb | 8 +- .../lib/ceedling/configurator_setup.rb | 493 +- .../lib/ceedling/configurator_validator.rb | 29 + .../vendor/ceedling/lib/ceedling/constants.rb | 13 +- .../vendor/ceedling/lib/ceedling/defaults.rb | 266 +- .../ceedling/lib/ceedling/defineinator.rb | 9 +- .../ceedling/lib/ceedling/exceptions.rb | 32 +- .../ceedling/lib/ceedling/file_finder.rb | 45 +- .../lib/ceedling/file_finder_helper.rb | 2 +- .../ceedling/file_path_collection_utils.rb | 21 +- .../ceedling/lib/ceedling/flaginator.rb | 9 +- .../vendor/ceedling/lib/ceedling/generator.rb | 13 +- .../vendor/ceedling/lib/ceedling/loginator.rb | 100 +- .../vendor/ceedling/lib/ceedling/objects.yml | 2 + .../ceedling/lib/ceedling/plugin_manager.rb | 4 +- .../vendor/ceedling/lib/ceedling/rakefile.rb | 29 +- .../ceedling/lib/ceedling/rules_release.rake | 4 +- .../ceedling/lib/ceedling/rules_tests.rake | 23 +- .../ceedling/lib/ceedling/setupinator.rb | 29 +- .../ceedling/lib/ceedling/tasks_release.rake | 16 +- .../lib/ceedling/test_context_extractor.rb | 58 +- .../ceedling/lib/ceedling/test_invoker.rb | 77 +- .../lib/ceedling/test_invoker_helper.rb | 102 +- .../ceedling/lib/ceedling/tool_executor.rb | 69 +- .../lib/ceedling/tool_executor_helper.rb | 56 +- .../ceedling/lib/ceedling/tool_validator.rb | 5 +- .../ceedling/lib/ceedling/verbosinator.rb | 7 +- .../ceedling/plugins/bullseye/bullseye.rake | 22 +- .../ceedling/plugins/bullseye/lib/bullseye.rb | 1 - .../plugins/dependencies/lib/dependencies.rb | 6 +- tools/vendor/ceedling/plugins/gcov/README.md | 7 + .../ceedling/plugins/gcov/config/defaults.yml | 8 + .../plugins/gcov/config/defaults_gcov.rb | 17 +- tools/vendor/ceedling/plugins/gcov/gcov.rake | 34 +- .../vendor/ceedling/plugins/gcov/lib/gcov.rb | 34 +- .../plugins/gcov/lib/gcovr_reportinator.rb | 54 +- .../gcov/lib/reportgenerator_reportinator.rb | 2 +- .../plugins/module_generator/README.md | 8 + .../module_generator/lib/module_generator.rb | 14 +- .../vendor/ceedling/vendor/cmock/LICENSE.txt | 2 +- .../cmock/config/production_environment.rb | 2 +- .../vendor/cmock/config/test_environment.rb | 2 +- .../vendor/ceedling/vendor/cmock/lib/cmock.rb | 27 +- .../ceedling/vendor/cmock/lib/cmock_config.rb | 21 +- .../vendor/cmock/lib/cmock_file_writer.rb | 8 +- .../vendor/cmock/lib/cmock_generator.rb | 22 +- .../cmock/lib/cmock_generator_plugin_array.rb | 14 +- .../lib/cmock_generator_plugin_callback.rb | 3 +- .../lib/cmock_generator_plugin_cexception.rb | 3 +- .../lib/cmock_generator_plugin_expect.rb | 12 +- .../cmock_generator_plugin_expect_any_args.rb | 9 +- .../lib/cmock_generator_plugin_ignore.rb | 7 +- ...cmock_generator_plugin_ignore_stateless.rb | 7 +- .../cmock_generator_plugin_return_thru_ptr.rb | 4 +- .../vendor/cmock/lib/cmock_generator_utils.rb | 10 +- .../vendor/cmock/lib/cmock_header_parser.rb | 55 +- .../vendor/cmock/lib/cmock_plugin_manager.rb | 4 +- .../cmock/lib/cmock_unityhelper_parser.rb | 7 +- .../vendor/cmock/lib/cmock_version.rb | 22 + .../vendor/ceedling/vendor/cmock/src/cmock.h | 4 +- .../vendor/unity/auto/generate_module.rb | 2 +- .../vendor/unity/auto/generate_test_runner.rb | 14 +- .../vendor/unity/auto/stylize_as_junit.rb | 7 +- .../vendor/ceedling/vendor/unity/src/unity.c | 47 +- .../vendor/unity/src/unity_internals.h | 81 +- tools/waf-tools/bms_config_validator.py | 190 + tools/waf-tools/f_axivion.py | 30 +- tools/waf-tools/f_check_db_vars.py | 2 +- tools/waf-tools/f_hcg.py | 248 +- tools/waf-tools/f_j_flash.py | 225 - tools/waf-tools/f_lauterbach.py | 103 +- tools/waf-tools/f_ozone.py | 105 - tools/waf-tools/f_sphinx_build.py | 3 +- tools/waf-tools/f_ti_arm_cgt.py | 448 +- tools/waf-tools/f_ti_arm_cgt_cc_options.py | 46 +- tools/waf-tools/f_ti_arm_tools.py | 13 +- tools/waf-tools/f_unit_test.py | 18 +- tools/waf-tools/f_vscode.py | 324 +- wscript | 508 +- 1336 files changed, 55073 insertions(+), 16081 deletions(-) create mode 100644 cli/README.md create mode 100755 cli/cmd_bootloader/__init__.py create mode 100755 cli/cmd_bootloader/app_constants.py create mode 100755 cli/cmd_bootloader/bootloader.py create mode 100755 cli/cmd_bootloader/bootloader_binary_file.py create mode 100755 cli/cmd_bootloader/bootloader_can.py create mode 100755 cli/cmd_bootloader/bootloader_can_basics.py create mode 100755 cli/cmd_bootloader/bootloader_can_messages.py create mode 100755 cli/cmd_bootloader/bootloader_impl.py create mode 100755 cli/cmd_bootloader/crc64_ti_impl.py rename cli/{helpers/ansi_colors.py => cmd_cli_unittest/cli_unittest_constants.py} (81%) create mode 100755 cli/cmd_etl/__init__.py create mode 100755 cli/cmd_etl/batetl/__init__.py create mode 100755 cli/cmd_etl/batetl/__main__.py create mode 100755 cli/cmd_etl/batetl/cmd/__init__.py create mode 100755 cli/cmd_etl/batetl/cmd/can_decode_helper.py create mode 100755 cli/cmd_etl/batetl/cmd/can_filter_helper.py create mode 100755 cli/cmd_etl/batetl/etl/__init__.py create mode 100755 cli/cmd_etl/batetl/etl/can_decode.py create mode 100755 cli/cmd_etl/batetl/etl/can_filter.py create mode 100644 cli/cmd_etl/pyproject.toml create mode 100755 cli/cmd_misc/check_test_files.py create mode 100755 cli/cmd_misc/eol_converter.py create mode 100755 cli/cmd_release/__init__.py create mode 100755 cli/cmd_release/release_impl.py create mode 100755 cli/commands/c_bootloader.py create mode 100755 cli/commands/c_etl.py create mode 100755 cli/commands/c_release.py rename cli/helpers/{win32_vars.py => env_vars.py} (100%) create mode 100755 cli/pre_commit_scripts/check_cpp_style_comment.py create mode 100755 cli/pre_commit_scripts/check_for_tabs.py delete mode 100644 conf/bms/schema/bms.schema.json rename conf/hcg/{hcg.dil => app.dil} (100%) rename conf/hcg/{hcg.hcg => app.hcg} (99%) create mode 100644 conf/hcg/bootloader.dil create mode 100644 conf/hcg/bootloader.hcg rename conf/unit/{project_posix.yml => app_project_posix.yml} (94%) rename conf/unit/{project_win32.yml => app_project_win32.yml} (90%) create mode 100644 conf/unit/bootloader_project_posix.yml create mode 100644 conf/unit/bootloader_project_win32.yml create mode 100644 docs/_templates/fox-cli-class-template.rst create mode 100644 docs/_templates/fox-cli-module-template.rst rename docs/{doxygen_src.conf.in => doxygen.conf.in} (99%) delete mode 100644 docs/doxygen_tests.conf.in create mode 100644 docs/general/changelog-entries/v0.1.0.txt create mode 100644 docs/general/changelog-entries/v0.2.0.txt create mode 100644 docs/general/changelog-entries/v0.3.0.txt create mode 100644 docs/general/changelog-entries/v1.0.0.txt create mode 100644 docs/general/changelog-entries/v1.0.1.txt create mode 100644 docs/general/changelog-entries/v1.0.2.txt create mode 100644 docs/general/changelog-entries/v1.1.0.txt create mode 100644 docs/general/changelog-entries/v1.1.1.txt create mode 100644 docs/general/changelog-entries/v1.1.2.txt create mode 100644 docs/general/changelog-entries/v1.2.0.txt create mode 100644 docs/general/changelog-entries/v1.2.1.txt create mode 100644 docs/general/changelog-entries/v1.3.0.txt create mode 100644 docs/general/changelog-entries/v1.4.0.txt create mode 100644 docs/general/changelog-entries/v1.4.1.txt create mode 100644 docs/general/changelog-entries/v1.5.0.txt create mode 100644 docs/general/changelog-entries/v1.5.1.txt create mode 100644 docs/general/changelog-entries/v1.6.0.txt create mode 100644 docs/general/changelog-entries/v1.7.0.txt create mode 100644 docs/general/changelog-entries/v1.8.0.txt create mode 100644 docs/general/changelog-entries/vx.y.z.txt create mode 100644 docs/general/commit-msgs/release-v1.8.0.txt delete mode 100644 docs/general/team-ad-sc.rst delete mode 100644 docs/general/team-dev.rst delete mode 100644 docs/general/team-former.rst rename docs/getting-started/{fox_py.rst => fox_cli.rst} (64%) rename docs/hardware/interfaces/maxim-max17841b-vx.x.x/maxim-max17841b-v1.0.0/{maxim-max17841b-v1.0.0_uartrx_connectors.csv => maxim-max17841b-v1.0.0_uart_rx_connectors.csv} (100%) rename docs/hardware/interfaces/maxim-max17841b-vx.x.x/maxim-max17841b-v1.0.0/{maxim-max17841b-v1.0.0_uarttx_connectors.csv => maxim-max17841b-v1.0.0_uart_tx_connectors.csv} (100%) create mode 100644 docs/hardware/master/ti-tms570lc4357-vx.x.x/ti-tms570lc4357-v1.1.1/img/foxbms_v1.1.1._bootloader_compatibility.png create mode 100644 docs/hardware/master/ti-tms570lc4357-vx.x.x/ti-tms570lc4357-v1.2.2.rst create mode 100644 docs/hardware/master/ti-tms570lc4357-vx.x.x/ti-tms570lc4357-v1.2.2/img/ti-tms570lc4357-v1.2.2._block-diagram.png create mode 100644 docs/hardware/master/ti-tms570lc4357-vx.x.x/ti-tms570lc4357-v1.2.2/pinout/ti-tms570lc4357-v1.2.2_can1.csv create mode 100644 docs/hardware/master/ti-tms570lc4357-vx.x.x/ti-tms570lc4357-v1.2.2/pinout/ti-tms570lc4357-v1.2.2_can2.csv create mode 100644 docs/hardware/master/ti-tms570lc4357-vx.x.x/ti-tms570lc4357-v1.2.2/pinout/ti-tms570lc4357-v1.2.2_debug.csv create mode 100644 docs/hardware/master/ti-tms570lc4357-vx.x.x/ti-tms570lc4357-v1.2.2/pinout/ti-tms570lc4357-v1.2.2_ethernet.csv create mode 100644 docs/hardware/master/ti-tms570lc4357-vx.x.x/ti-tms570lc4357-v1.2.2/pinout/ti-tms570lc4357-v1.2.2_extension.csv create mode 100644 docs/hardware/master/ti-tms570lc4357-vx.x.x/ti-tms570lc4357-v1.2.2/pinout/ti-tms570lc4357-v1.2.2_interface.csv create mode 100644 docs/hardware/master/ti-tms570lc4357-vx.x.x/ti-tms570lc4357-v1.2.2/pinout/ti-tms570lc4357-v1.2.2_interlock.csv create mode 100644 docs/hardware/master/ti-tms570lc4357-vx.x.x/ti-tms570lc4357-v1.2.2/pinout/ti-tms570lc4357-v1.2.2_isomon.csv create mode 100644 docs/hardware/master/ti-tms570lc4357-vx.x.x/ti-tms570lc4357-v1.2.2/pinout/ti-tms570lc4357-v1.2.2_rs485.csv create mode 100644 docs/hardware/master/ti-tms570lc4357-vx.x.x/ti-tms570lc4357-v1.2.2/pinout/ti-tms570lc4357-v1.2.2_sps.csv create mode 100644 docs/hardware/master/ti-tms570lc4357-vx.x.x/ti-tms570lc4357-v1.2.2/pinout/ti-tms570lc4357-v1.2.2_supply_ext.csv create mode 100644 docs/hardware/master/ti-tms570lc4357-vx.x.x/ti-tms570lc4357-v1.2.2/ti-tms570lc4357-v1.2.2_block_diagram.rst create mode 100644 docs/hardware/master/ti-tms570lc4357-vx.x.x/ti-tms570lc4357-v1.2.2/ti-tms570lc4357-v1.2.2_functional_description.rst create mode 100644 docs/hardware/master/ti-tms570lc4357-vx.x.x/ti-tms570lc4357-v1.2.2/ti-tms570lc4357-v1.2.2_pinout.rst create mode 100644 docs/hardware/slaves/14-nxp-mc33775a-vx.x.x/14-nxp-mc33775a-v1.0.2.rst create mode 100644 docs/hardware/slaves/14-nxp-mc33775a-vx.x.x/14-nxp-mc33775a-v1.0.2/14-nxp-mc33775a-v1.0.2_mechanical-dimensions.csv create mode 100644 docs/hardware/slaves/18-ltc-ltc6813-1-vx.x.x/18-ltc-ltc6813-1-v1.1.6.rst create mode 100644 docs/software/architecture/img/sw-architecture.pptx create mode 100644 docs/software/architecture/img/sw-tasks-continuous-blocking.png create mode 100644 docs/software/architecture/img/sw-tasks-cyclic.png create mode 100644 docs/software/architecture/img/sw-tasks-priorities.png create mode 100644 docs/software/bootloader/bootloader.rst create mode 100644 docs/software/bootloader/img/boot_fsm_state.png create mode 100644 docs/software/bootloader/img/can_boot_load.png create mode 100644 docs/software/bootloader/img/can_boot_reset.png create mode 100644 docs/software/bootloader/img/can_boot_run.png create mode 100644 docs/software/bootloader/img/can_fsm_state.png create mode 100644 docs/software/bootloader/img/can_fsm_state_partial_1.png create mode 100644 docs/software/bootloader/img/can_fsm_state_partial_2.png create mode 100644 docs/software/bootloader/img/communication_between_pc_and_bootloader.png create mode 100644 docs/software/modules/application/bms/bms-state-diagram.dot create mode 100644 docs/software/modules/engine/database/img/sw-database-concept.png create mode 100644 docs/software/modules/engine/database/img/sw-database.pptx create mode 100644 docs/tools/.gitignore delete mode 100644 docs/tools/debugger/debugger-ozone.rst create mode 100644 docs/tools/fox_py.rst delete mode 100644 docs/tools/waf-tools/f_j_flash.rst delete mode 100644 docs/tools/waf-tools/f_ozone.rst create mode 100755 docs/wscript rename src/{doxygen_src.h => app/doxygen_app.h} (94%) create mode 100755 src/app/driver/afe/adi/common/ades183x/api/wscript create mode 100755 src/app/driver/afe/adi/common/ades183x/pec/wscript create mode 100644 src/app/driver/can/cbs/tx-async/can_cbs_tx_fatal-error.c rename src/app/driver/can/cbs/{rx/can_cbs_rx_imd-info.h => tx-async/can_cbs_tx_fatal-error.h} (60%) create mode 100644 src/app/driver/foxmath/utils.c create mode 100644 src/app/driver/ts/tdk/ntcgs103jf103ft8/lookup-table/tdk_ntcgs103jf103ft8_lookup-table.c create mode 100644 src/app/driver/ts/tdk/ntcgs103jf103ft8/tdk_ntcgs103jf103ft8.c create mode 100644 src/app/driver/ts/tdk/ntcgs103jf103ft8/tdk_ntcgs103jf103ft8.h create mode 100644 src/app/engine/diag/cbs/diag_cbs_clamp30c.c rename src/{hal/startup.hash => app/hal/app-startup.hash} (100%) create mode 100755 src/app/hal/wscript create mode 100644 src/app/main/app.cmd rename src/app/main/{linker_script_hex.cmd => app_hex.cmd} (90%) rename src/app/main/include/{config/version_cfg.h => app_build_cfg.h} (72%) create mode 100644 src/app/task/timer/timer.c create mode 100644 src/app/task/timer/timer.h create mode 100644 src/bootloader/doxygen_bootloader.h create mode 100644 src/bootloader/hal/bootloader-startup.hash rename src/{ => bootloader}/hal/wscript (87%) rename src/{app/main/linker_script_elf.cmd => bootloader/main/bootloader.cmd} (77%) create mode 100644 src/bootloader/main/fassert.c create mode 100644 src/bootloader/main/fstartup.c create mode 100644 src/bootloader/main/include/fassert.h create mode 100644 src/bootloader/main/include/fstartup.h rename src/{app/driver/afe/nxp/mc33775a/nxp_afe_dma.h => bootloader/main/include/fstd_types.h} (71%) create mode 100644 src/bootloader/main/include/fstring.h create mode 100644 src/bootloader/main/include/fsystem.h rename src/{app/driver/can/cbs/rx/can_cbs_rx_imd-response.h => bootloader/main/include/general.h} (55%) create mode 100644 src/bootloader/main/include/infinite-loop-helper.h create mode 100644 src/bootloader/main/include/main.h create mode 100644 src/bootloader/main/main.c rename tools/waf-tools/f_helpers.py => src/bootloader/main/wscript (69%) create mode 100755 src/bootloader/wscript create mode 100644 src/version/version.h delete mode 100644 tests/axivion/axivion_config.json create mode 100644 tests/axivion/config-test/coding-style-naming.enumerator.c create mode 100644 tests/axivion/config-test/coding-style-naming.function.c create mode 100644 tests/axivion/config-test/coding-style-naming.global-variable.c create mode 100644 tests/axivion/config-test/coding-style-naming.global-variable_database.c create mode 100644 tests/axivion/config-test/coding-style-naming.global-variable_database.h create mode 100644 tests/axivion/config-test/coding-style-naming.global-variable_database_usage.c create mode 100644 tests/axivion/config-test/coding-style-naming.local-variable.c create mode 100644 tests/axivion/config-test/coding-style-naming.local-variable_database_usage.c create mode 100644 tests/axivion/config-test/coding-style-naming.macro.c create mode 100644 tests/axivion/config-test/coding-style-naming.macro.h create mode 100644 tests/axivion/config-test/coding-style-naming.macro_1.h create mode 100644 tests/axivion/config-test/coding-style-naming.parameter_0.c create mode 100644 tests/axivion/config-test/coding-style-naming.parameter_1.c create mode 100644 tests/axivion/config-test/coding-style-naming.struct-field.c create mode 100644 tests/axivion/config-test/coding-style-naming.typedefed-enum.c create mode 100644 tests/axivion/config-test/coding-style-naming.typedefed-func-ptr.c create mode 100644 tests/axivion/config-test/coding-style-naming.typedefed-struct.c create mode 100644 tests/axivion/config-test/test_coding-style-naming.function.c delete mode 100644 tests/axivion/config-test/test_macro-names.c delete mode 100644 tests/axivion/config-test/test_macro-names.h delete mode 100644 tests/axivion/config-test/test_parameter-names-0.c delete mode 100644 tests/axivion/config-test/test_parameter-names-1.c create mode 100644 tests/axivion/targets/app/README.md rename tests/axivion/{ => targets/app}/architecture.gxl (100%) rename tests/axivion/{ => targets/app}/architecture_config.json (100%) rename tests/axivion/{ => targets/app}/architecture_hierarchy_belongs_to_layout.gvl (100%) create mode 100644 tests/axivion/targets/app/axivion_config.json rename tests/axivion/{ => targets/app}/ci_config.json (73%) rename tests/axivion/{ => targets/app}/mapping.gxl (99%) create mode 100644 tests/axivion/targets/bootloader/README.md create mode 100644 tests/axivion/targets/bootloader/axivion_config.json create mode 100644 tests/axivion/targets/bootloader/ci_config.json create mode 100644 tests/ccs/expect-failure/expect-failure_cc-options.yaml create mode 100644 tests/ccs/expect-failure/expect-failure_linker_pulls.json create mode 100644 tests/ccs/expect-failure/expect-failure_paths_linux.txt create mode 100644 tests/ccs/expect-failure/expect-failure_paths_win32.txt create mode 100644 tests/ccs/expect-failure/expect-failure_remarks.txt create mode 100755 tests/ccs/expect-failure/test_expect_configure_failure.py create mode 100644 tests/cli/cmd_bootloader/.gitignore create mode 100755 tests/cli/cmd_bootloader/__init__.py create mode 100644 tests/cli/cmd_bootloader/invalid.dbc create mode 100755 tests/cli/cmd_bootloader/test_app_constants.py create mode 100755 tests/cli/cmd_bootloader/test_bootloader.py create mode 100755 tests/cli/cmd_bootloader/test_bootloader_binary_file.py create mode 100755 tests/cli/cmd_bootloader/test_bootloader_can.py create mode 100755 tests/cli/cmd_bootloader/test_bootloader_can_basics.py create mode 100755 tests/cli/cmd_bootloader/test_bootloader_can_messages.py create mode 100755 tests/cli/cmd_bootloader/test_bootloader_impl.py create mode 100755 tests/cli/cmd_bootloader/test_crc64_ti_impl.py create mode 100755 tests/cli/cmd_build/test_build_impl.py create mode 100755 tests/cli/cmd_ci/test_check_ci_config.py create mode 100755 tests/cli/cmd_ci/test_check_coverage.py create mode 100755 tests/cli/cmd_cli_unittest/__init__.py create mode 100755 tests/cli/cmd_cli_unittest/test_cli_unittest_constants.py create mode 100755 tests/cli/cmd_cli_unittest/test_cli_unittest_impl.py create mode 100755 tests/cli/cmd_embedded_ut/test_embedded_ut_constants.py create mode 100755 tests/cli/cmd_embedded_ut/test_embedded_ut_impl.py create mode 100755 tests/cli/cmd_etl/__init__.py create mode 100755 tests/cli/cmd_etl/batetl/__init__.py create mode 100755 tests/cli/cmd_etl/batetl/cmd/__init__.py create mode 100755 tests/cli/cmd_etl/batetl/cmd/test_can_decode_helper.py create mode 100755 tests/cli/cmd_etl/batetl/cmd/test_can_filter_helper.py create mode 100755 tests/cli/cmd_etl/batetl/cmd/test_init.py create mode 100755 tests/cli/cmd_etl/batetl/etl/__init__.py create mode 100755 tests/cli/cmd_etl/batetl/etl/test_can_decode.py create mode 100755 tests/cli/cmd_etl/batetl/etl/test_can_filter.py create mode 100755 tests/cli/cmd_etl/batetl/test___main__.py create mode 100755 tests/cli/cmd_ide/__init__.py create mode 100755 tests/cli/cmd_ide/test_ide_impl.py create mode 100755 tests/cli/cmd_install/__init__.py create mode 100755 tests/cli/cmd_install/test_install_impl.py create mode 100755 tests/cli/cmd_misc/__init__.py create mode 100755 tests/cli/cmd_misc/test_check_test_files.py create mode 100755 tests/cli/cmd_misc/test_crc_example.py create mode 100755 tests/cli/cmd_misc/test_doc_example.py create mode 100755 tests/cli/cmd_misc/test_eol_converter.py create mode 100755 tests/cli/cmd_misc/test_run_uncrustify.py create mode 100755 tests/cli/cmd_misc/test_verify_checksums.py create mode 100755 tests/cli/cmd_pre_commit/__init__.py create mode 100755 tests/cli/cmd_pre_commit/test_pre_commit_impl.py create mode 100755 tests/cli/cmd_release/__init__.py create mode 100755 tests/cli/cmd_release/test_release_impl.py create mode 100755 tests/cli/cmd_script/__init__.py create mode 100755 tests/cli/cmd_script/test_script_impl.py create mode 100755 tests/cli/commands/__init__.py create mode 100755 tests/cli/commands/test_c_axivion.py create mode 100755 tests/cli/commands/test_c_bootloader.py create mode 100755 tests/cli/commands/test_c_build.py create mode 100755 tests/cli/commands/test_c_ci.py create mode 100755 tests/cli/commands/test_c_cli_unittest.py create mode 100755 tests/cli/commands/test_c_embedded_ut.py create mode 100755 tests/cli/commands/test_c_etl.py create mode 100755 tests/cli/commands/test_c_ide.py create mode 100755 tests/cli/commands/test_c_install.py create mode 100755 tests/cli/commands/test_c_misc.py create mode 100755 tests/cli/commands/test_c_pre_commit.py create mode 100755 tests/cli/commands/test_c_program.py create mode 100755 tests/cli/commands/test_c_release.py create mode 100755 tests/cli/helpers/test_env_vars.py create mode 100755 tests/cli/helpers/test_host_platform.py create mode 100755 tests/cli/helpers/test_misc.py create mode 100644 tests/cli/helpers/test_misc/checksum_test.txt create mode 100755 tests/cli/pre_commit_scripts/__init__.py create mode 100755 tests/cli/pre_commit_scripts/test_check_cpp_style_comment.py create mode 100644 tests/cli/pre_commit_scripts/test_check_cpp_style_comment/.clang-format create mode 100644 tests/cli/pre_commit_scripts/test_check_cpp_style_comment/cpp-style-comment_0.c create mode 100644 tests/cli/pre_commit_scripts/test_check_cpp_style_comment/cpp-style-comment_1.c create mode 100644 tests/cli/pre_commit_scripts/test_check_cpp_style_comment/cpp-style-comment_2.c create mode 100644 tests/cli/pre_commit_scripts/test_check_cpp_style_comment/no-cpp-style-comment.c create mode 100755 tests/cli/pre_commit_scripts/test_check_doxygen.py create mode 100644 tests/cli/pre_commit_scripts/test_check_doxygen/empty-line-between-brief-and-details.c create mode 100644 tests/cli/pre_commit_scripts/test_check_doxygen/ignore-author-comment.c create mode 100644 tests/cli/pre_commit_scripts/test_check_doxygen/invalid-encoding_utf-16.c create mode 100644 tests/cli/pre_commit_scripts/test_check_doxygen/invalid-version.c create mode 100644 tests/cli/pre_commit_scripts/test_check_doxygen/multiline-brief.c create mode 100644 tests/cli/pre_commit_scripts/test_check_doxygen/no-author-comment.c create mode 100644 tests/cli/pre_commit_scripts/test_check_doxygen/no-brief-comment.c create mode 100644 tests/cli/pre_commit_scripts/test_check_doxygen/no-date-comment.c create mode 100644 tests/cli/pre_commit_scripts/test_check_doxygen/no-details-comment.c create mode 100644 tests/cli/pre_commit_scripts/test_check_doxygen/no-doxygen-comments.c create mode 100644 tests/cli/pre_commit_scripts/test_check_doxygen/no-file-comment.c create mode 100644 tests/cli/pre_commit_scripts/test_check_doxygen/no-ingroup-comment.c create mode 100644 tests/cli/pre_commit_scripts/test_check_doxygen/no-prefix-comment.c create mode 100644 tests/cli/pre_commit_scripts/test_check_doxygen/no-start-comment.c create mode 100644 tests/cli/pre_commit_scripts/test_check_doxygen/no-updated-comment.c create mode 100644 tests/cli/pre_commit_scripts/test_check_doxygen/valid-doxygen.c create mode 100755 tests/cli/pre_commit_scripts/test_check_encoding.py create mode 100644 tests/cli/pre_commit_scripts/test_check_encoding/ascii.txt create mode 100644 tests/cli/pre_commit_scripts/test_check_encoding/utf-16.txt create mode 100644 tests/cli/pre_commit_scripts/test_check_encoding/utf-8.txt create mode 100755 tests/cli/pre_commit_scripts/test_check_file_names.py create mode 100644 tests/cli/pre_commit_scripts/test_check_file_names/README.md create mode 100644 tests/cli/pre_commit_scripts/test_check_file_names/abcdef.txt create mode 100755 tests/cli/pre_commit_scripts/test_check_for_tabs.py create mode 100644 tests/cli/pre_commit_scripts/test_check_for_tabs/no-tabs.txt create mode 100644 tests/cli/pre_commit_scripts/test_check_for_tabs/tabs_0.txt create mode 100644 tests/cli/pre_commit_scripts/test_check_for_tabs/tabs_1.txt create mode 100644 tests/cli/pre_commit_scripts/test_check_for_tabs/tabs_2.txt create mode 100755 tests/cli/pre_commit_scripts/test_check_include_guard.py create mode 100644 tests/cli/pre_commit_scripts/test_check_include_guard/test_file.c create mode 100644 tests/cli/pre_commit_scripts/test_check_include_guard/test_file_empty.h create mode 100644 tests/cli/pre_commit_scripts/test_check_include_guard/test_file_invalid_content.h create mode 100644 tests/cli/pre_commit_scripts/test_check_include_guard/test_file_multiple.h create mode 100644 tests/cli/pre_commit_scripts/test_check_include_guard/test_file_valid.h create mode 100755 tests/cli/pre_commit_scripts/test_check_license_info.py create mode 100644 tests/cli/pre_commit_scripts/test_check_license_info/invalid-license.c create mode 100644 tests/cli/pre_commit_scripts/test_check_license_info/no-license.c create mode 100644 tests/cli/pre_commit_scripts/test_check_license_info/valid-license.asm create mode 100644 tests/cli/pre_commit_scripts/test_check_license_info/valid-license.bat create mode 100644 tests/cli/pre_commit_scripts/test_check_license_info/valid-license.c create mode 100644 tests/cli/pre_commit_scripts/test_check_license_info/valid-license.dot create mode 100755 tests/cli/pre_commit_scripts/test_check_license_info/valid-license.ps1 create mode 100755 tests/cli/pre_commit_scripts/test_check_license_info/valid-license.py create mode 100755 tests/cli/pre_commit_scripts/test_check_license_info/valid-license.sh create mode 100644 tests/cli/pre_commit_scripts/test_check_license_info/valid-license.toml create mode 100644 tests/cli/pre_commit_scripts/test_check_license_info/valid-license.yml create mode 100755 tests/cli/pre_commit_scripts/test_check_sections.py create mode 100644 tests/cli/pre_commit_scripts/test_check_sections/invalid-sections-test-0.c create mode 100644 tests/cli/pre_commit_scripts/test_check_sections/invalid-sections-test-0.h create mode 100644 tests/cli/pre_commit_scripts/test_check_sections/invalid-sections-test-1.c create mode 100644 tests/cli/pre_commit_scripts/test_check_sections/invalid-sections-test-1.h create mode 100644 tests/cli/pre_commit_scripts/test_check_sections/invalid-sections-test-2.h create mode 100644 tests/cli/pre_commit_scripts/test_check_sections/unknown-file-extension.abc create mode 100644 tests/cli/pre_commit_scripts/test_check_sections/valid-sections-src.c create mode 100644 tests/cli/pre_commit_scripts/test_check_sections/valid-sections-src.h create mode 100644 tests/cli/pre_commit_scripts/test_check_sections/valid-sections-test.c create mode 100644 tests/cli/pre_commit_scripts/test_check_sections/valid-sections-test.h create mode 100755 tests/cli/test___main__.py create mode 100755 tests/cli/test_cli.py create mode 100755 tests/cli/test_foxbms_version.py delete mode 100755 tests/cli/test_main.py delete mode 100644 tests/re-names/README.md delete mode 100644 tests/re-names/function.json delete mode 100644 tests/re-names/global-variable.json delete mode 100644 tests/re-names/local-variable.json delete mode 100644 tests/re-names/macro.json delete mode 100755 tests/re-names/test_names_regex.py delete mode 100644 tests/re-names/typedefed-enum.json delete mode 100644 tests/re-names/typedefed-struct.json create mode 100644 tests/unit-hw/README.md create mode 100644 tests/unit/app/doxygen_app_unit_test.h rename tests/unit/app/driver/afe/adi/ades1830/{ => include}/adi_ades1830_helpers_test-data-rdb.h (98%) rename tests/unit/app/driver/afe/adi/ades1830/{ => include}/adi_ades1830_helpers_test-data-wdb.h (98%) create mode 100644 tests/unit/app/driver/can/cbs/tx-async/test_can_cbs_tx_fatal-error.c create mode 100644 tests/unit/app/driver/foxmath/test_utils.c create mode 100644 tests/unit/app/driver/spi/test_spi_st.c create mode 100644 tests/unit/app/driver/ts/tdk/ntcgs103jf103ft8/lookup-table/test_tdk_ntcgs103jf103ft8_lookup-table.c create mode 100644 tests/unit/app/driver/ts/tdk/ntcgs103jf103ft8/test_tdk_ntcgs103jf103ft8.c create mode 100644 tests/unit/app/engine/diag/cbs/test_diag_cbs_clamp30c.c create mode 100644 tests/unit/app/main/helper/mock_esm.h create mode 100644 tests/unit/app/task/timer/test_timer.c create mode 100644 tests/unit/bootloader/doxygen_bootloader_unit_test.h create mode 100644 tests/unit/bootloader/main/helper/mock_esm.h create mode 100644 tests/unit/bootloader/main/test_fassert.c create mode 100644 tests/unit/bootloader/main/test_fstartup.c create mode 100644 tests/unit/bootloader/main/test_main.c delete mode 100644 tools/crc/crc16-0x9eb2h.ipynb delete mode 100644 tools/crc/crc8-0xa6.ipynb create mode 100644 tools/dbc/foxbms-bootloader.dbc create mode 100644 tools/dbc/foxbms-bootloader.sym delete mode 100644 tools/debugger/lauterbach/commands.md delete mode 100644 tools/debugger/ozone/README.md delete mode 100644 tools/debugger/ozone/foxbms.jdebug.config delete mode 100644 tools/debugger/ozone/foxbms.jflash rename tools/ide/vscode/{embedded-tests => app}/c_cpp_properties.json (100%) rename tools/ide/vscode/{generic/g-project-include-path.txt => app/project-include-path.txt} (92%) create mode 100644 tools/ide/vscode/app/settings.json rename tools/ide/vscode/{src => app}/tasks.json (52%) rename tools/ide/vscode/{src => bootloader}/c_cpp_properties.json (100%) create mode 100644 tools/ide/vscode/bootloader/project-include-path.txt create mode 100644 tools/ide/vscode/bootloader/settings.json create mode 100644 tools/ide/vscode/bootloader/tasks.json create mode 100644 tools/ide/vscode/embedded-test-app/c_cpp_properties.json rename tools/ide/vscode/{embedded-tests => embedded-test-app}/launch.json (53%) create mode 100644 tools/ide/vscode/embedded-test-app/project-include-path.txt rename tools/ide/vscode/{embedded-tests => embedded-test-app}/settings.json (82%) rename tools/ide/vscode/{embedded-tests => embedded-test-app}/tasks.json (53%) create mode 100644 tools/ide/vscode/embedded-test-bootloader/c_cpp_properties.json create mode 100644 tools/ide/vscode/embedded-test-bootloader/launch.json create mode 100644 tools/ide/vscode/embedded-test-bootloader/project-include-path.txt rename tools/ide/vscode/{src => embedded-test-bootloader}/settings.json (82%) create mode 100644 tools/ide/vscode/embedded-test-bootloader/tasks.json delete mode 100644 tools/ide/vscode/embedded-tests/e-project-include-path.txt rename tools/ide/vscode/{src/s-project-include-path.txt => generic/project-include-path.txt} (92%) create mode 100644 tools/vendor/ceedling/vendor/cmock/lib/cmock_version.rb create mode 100755 tools/waf-tools/bms_config_validator.py delete mode 100755 tools/waf-tools/f_j_flash.py delete mode 100755 tools/waf-tools/f_ozone.py diff --git a/.clang-format b/.clang-format index 36ab1c5d..574fb1ad 100644 --- a/.clang-format +++ b/.clang-format @@ -4,13 +4,6 @@ Language: Cpp AccessModifierOffset: -2 AlignAfterOpenBracket: AlwaysBreak AlignArrayOfStructures: None -AlignConsecutiveMacros: - Enabled: true - AcrossEmptyLines: false - AcrossComments: false - AlignCompound: false - AlignFunctionPointers: false - PadOperators: false AlignConsecutiveAssignments: Enabled: true AcrossEmptyLines: false @@ -32,6 +25,13 @@ AlignConsecutiveDeclarations: AlignCompound: false AlignFunctionPointers: false PadOperators: false +AlignConsecutiveMacros: + Enabled: true + AcrossEmptyLines: false + AcrossComments: false + AlignCompound: false + AlignFunctionPointers: false + PadOperators: false AlignConsecutiveShortCaseStatements: Enabled: false AcrossEmptyLines: false @@ -45,13 +45,13 @@ AlignTrailingComments: AllowAllArgumentsOnNextLine: true AllowAllParametersOfDeclarationOnNextLine: false AllowBreakBeforeNoexceptSpecifier: Never -AllowShortBlocksOnASingleLine: false +AllowShortBlocksOnASingleLine: Never AllowShortCaseLabelsOnASingleLine: false AllowShortCompoundRequirementOnASingleLine: false AllowShortEnumsOnASingleLine: false AllowShortFunctionsOnASingleLine: InlineOnly -AllowShortLambdasOnASingleLine: All AllowShortIfStatementsOnASingleLine: Never +AllowShortLambdasOnASingleLine: All AllowShortLoopsOnASingleLine: false AlwaysBreakAfterDefinitionReturnType: None AlwaysBreakAfterReturnType: None @@ -60,17 +60,18 @@ AlwaysBreakTemplateDeclarations: MultiLine AttributeMacros: [] BinPackArguments: false BinPackParameters: false +BitFieldColonSpacing: Both BraceWrapping: AfterCaseLabel: false AfterClass: false AfterControlStatement: Never AfterEnum: false + AfterExternBlock: false AfterFunction: false AfterNamespace: false AfterObjCDeclaration: false AfterStruct: false AfterUnion: false - AfterExternBlock: false BeforeCatch: false BeforeElse: false BeforeLambdaBody: false @@ -81,15 +82,15 @@ BraceWrapping: SplitEmptyNamespace: true BreakAdjacentStringLiterals: true BreakAfterAttributes: Leave +BreakAfterJavaFieldAnnotations: false BreakArrays: true BreakBeforeBinaryOperators: None -BreakBeforeConceptDeclarations: true +BreakBeforeConceptDeclarations: Always BreakBeforeBraces: Attach BreakBeforeInlineASMColon: OnlyMultiline -BreakInheritanceList: BeforeColon BreakBeforeTernaryOperators: true BreakConstructorInitializers: BeforeColon -BreakAfterJavaFieldAnnotations: false +BreakInheritanceList: BeforeColon BreakStringLiterals: true ColumnLimit: 120 CommentPragmas: "^ IWYU pragma:" @@ -140,12 +141,11 @@ IncludeCategories: IncludeIsMainRegex: "(_cfg)?$" IncludeIsMainSourceRegex: "" IndentAccessModifiers: false -IndentCaseLabels: true IndentCaseBlocks: false - +IndentCaseLabels: true +IndentExternBlock: AfterExternBlock IndentGotoLabels: true IndentPPDirectives: None -IndentExternBlock: AfterExternBlock IndentRequiresClause: true IndentWidth: 4 IndentWrappedFunctionNames: false @@ -184,8 +184,8 @@ PenaltyBreakScopeResolution: 500 PenaltyBreakString: 1000 PenaltyBreakTemplateDeclaration: 10 PenaltyExcessCharacter: 1000000 -PenaltyReturnTypeOnItsOwnLine: 100000 PenaltyIndentedWhitespace: 0 +PenaltyReturnTypeOnItsOwnLine: 100000 PointerAlignment: Right PPIndentWidth: -1 QualifierAlignment: Leave @@ -205,6 +205,7 @@ SortUsingDeclarations: LexicographicNumeric SpaceAfterCStyleCast: false SpaceAfterLogicalNot: false SpaceAfterTemplateKeyword: true +SpaceAroundPointerQualifiers: Default SpaceBeforeAssignmentOperators: true SpaceBeforeCaseColon: false SpaceBeforeCpp11BracedList: false @@ -212,7 +213,6 @@ SpaceBeforeCtorInitializerColon: true SpaceBeforeInheritanceColon: true SpaceBeforeJsonColon: false SpaceBeforeParens: ControlStatements -SpaceAroundPointerQualifiers: Default SpaceBeforeParensOptions: AfterControlStatements: true AfterForeachMacros: true @@ -225,6 +225,7 @@ SpaceBeforeParensOptions: AfterRequiresInExpression: false BeforeNonEmptyParentheses: false SpaceBeforeRangeBasedForLoopColon: true +SpaceBeforeSquareBrackets: false SpaceInEmptyBlock: false SpacesBeforeTrailingComments: 2 SpacesInAngles: Never @@ -233,9 +234,12 @@ SpacesInLineCommentPrefix: Minimum: 1 Maximum: -1 SpacesInParens: Never +SpacesInParensOptions: + InCStyleCasts: false + InConditionalStatements: false + InEmptyParentheses: false + Other: false SpacesInSquareBrackets: false -SpaceBeforeSquareBrackets: false -BitFieldColonSpacing: Both Standard: Latest StatementAttributeLikeMacros: [] StatementMacros: [] diff --git a/.gitattributes b/.gitattributes index bbb455d0..e8c720bd 100644 --- a/.gitattributes +++ b/.gitattributes @@ -34,3 +34,4 @@ tests/axivion/qualification-test/qualification-kit/**/*.py -diff -merge -text *.jpg binary *.sh text eol=lf +tests/cli/helpers/test_misc/checksum_test.txt eol=lf diff --git a/.gitignore b/.gitignore index 29a3ad63..82dc3421 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,4 @@ -/.vscode/ -/src/.vscode/ -/tests/unit/.vscode/ +**/.vscode/ /build/ /build-tools-tests/ /*build/ @@ -35,6 +33,8 @@ dictionary.dic file.log* lex.txt +*.egg-info +dist/ __pycache__ .mypy_cache/ /qa-chain/* diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 8e1ad865..830896f9 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -55,10 +55,6 @@ exclude: | tools/waf )$ repos: - - repo: meta - hooks: - # - id: check-useless-excludes - - id: check-hooks-apply - repo: https://github.com/pre-commit/pre-commit-hooks rev: v4.6.0 hooks: @@ -90,7 +86,14 @@ repos: - id: check-toml - id: check-vcs-permalinks - id: check-yaml - exclude: \.gitlab-ci\.yml + # .gitlab/ci_pipeline/build_app_embedded.yml --> duplicate key - but its not + exclude: | + (?x)^( + \.gitlab/ci_pipeline/build_app_embedded\.yml| + \.gitlab/ci_pipeline/build\.ccs\.yml| + \.gitlab/ci_pipeline/build_embedded\.yml| + \.gitlab/ci_pipeline/static_program_analysis\.yml + )$ args: [--allow-multiple-documents] - id: debug-statements files: | @@ -105,6 +108,12 @@ repos: - id: forbid-submodules - id: mixed-line-ending args: [--fix=no] + exclude: | + (?x)^( + tests/cli/pre_commit_scripts/test_check_doxygen/invalid-encoding_utf-16.c| + tests/cli/pre_commit_scripts/test_check_encoding/utf-16.txt| + tests/cli/pre_commit_scripts/test_check_for_tabs/tabs_2.txt + )$ - id: name-tests-test args: [--unittest] exclude: | @@ -113,6 +122,7 @@ repos: tests/can/check_ids\.py| tests/can/check_implemented\.py| tests/ccs/ccs_build_helper\.py| + tests/cli/pre_commit_scripts/test_check_license_info/valid-license.py| tests/c-std/c-std-test\.py| tests/dbc/check_parseable\.py| tests/dbc/overlapping-signals\.py| @@ -138,13 +148,21 @@ repos: )$ - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.5.1 + rev: v0.7.0 hooks: - id: ruff args: [--fix] + exclude: | + (?x)^( + .*(\.ipynb) + )$ - id: ruff-format + exclude: | + (?x)^( + .*(\.ipynb) + )$ - repo: https://github.com/asottile/pyupgrade - rev: v3.16.0 + rev: v3.18.0 hooks: - id: pyupgrade files: | @@ -155,7 +173,7 @@ repos: - repo: local hooks: - id: check-file-name - name: file name check + name: check file names entry: file names must be alphanumeric and lower-case language: fail files: "[^a-z0-9._/-]" @@ -187,15 +205,19 @@ repos: )$ require_serial: true - repo: https://github.com/pre-commit/mirrors-clang-format - rev: "v18.1.8" + rev: "v19.1.2" hooks: - id: clang-format args: [--style=file] types_or: [c] + exclude: | + (?x)^( + tests/cli/pre_commit_scripts/test_check_doxygen/invalid-encoding_utf-16.c + )$ - repo: local hooks: - id: check-license-header - name: check Python-files for the correct license header + name: check license header [python] files: | (?x)^( .*(\.py)| @@ -203,69 +225,129 @@ repos: )$ exclude: | (?x)^( - tests/hil/.*\.py + tests/hil/.*\.py| + cli/cmd_bootloader/crc64_ti_impl.py )$ language: system - entry: python cli/pre_commit_scripts/check_license_info.py --file-type=py + entry: python cli/pre_commit_scripts/check_license_info.py --file-type=py --license-type=BSD-3-Clause + - id: check-license-header-confidential + name: check license header confidential [python] + types: [python] + files: tests/hil/.*\.py + language: system + entry: python cli/pre_commit_scripts/check_license_info.py --file-type=py --license-type=confidential - id: check-license-header - name: check C-files for the correct license header + name: check license header [c] types: [c] language: system - entry: python cli/pre_commit_scripts/check_license_info.py --file-type=c + entry: python cli/pre_commit_scripts/check_license_info.py --file-type=c --license-type=BSD-3-Clause exclude: | (?x)^( + src/(app|bootloader)/main/fstartup\.c| src/app/driver/afe/nxp/mc33775a/nxp_mc33775a-ll\.[c|h]| src/app/driver/afe/nxp/mc33775a/vendor/.*| src/app/driver/sbc/fs8x_driver/.*| - tests/axivion/config-test/test_macro-names\.[c|h]|| - tests/axivion/config-test/test_parameter-names-\d\.[c|h] + src/bootloader/driver/crc/vendor/crc64_calc\.[c|h]| + tests/axivion/config-test/(test_)?coding-style-naming\..*\.[c|h]| + tests/cli/pre_commit_scripts/test_check_license_info/invalid-license\.c| + tests/cli/pre_commit_scripts/test_check_license_info/no-license\.c| + tests/cli/pre_commit_scripts/test_check_cpp_style_comment/cpp-style-comment_[0|1|2].c| + tests/cli/pre_commit_scripts/test_check_cpp_style_comment/no-cpp-style-comment.c| + tests/cli/pre_commit_scripts/test_check_doxygen/no-doxygen-comments.c| + tests/cli/pre_commit_scripts/test_check_doxygen/invalid-encoding_utf-16.c| + tests/cli/pre_commit_scripts/test_check_include_guard/test_file_empty.h| + tests/cli/pre_commit_scripts/test_check_include_guard/test_file_invalid_content.h| + tests/cli/pre_commit_scripts/test_check_include_guard/test_file.c| + tests/cli/pre_commit_scripts/test_check_include_guard/test_file_multiple.h| + tests/cli/pre_commit_scripts/test_check_include_guard/test_file_valid.h )$ - id: check-license-header - name: check YAML-files for the correct license header + name: check license header [asm] + files: .*(\.asm) + language: system + entry: python cli/pre_commit_scripts/check_license_info.py --file-type=asm --license-type=BSD-3-Clause + - id: check-license-header + name: check license header [yaml] types: [yaml] language: system - entry: python cli/pre_commit_scripts/check_license_info.py --file-type=yaml + entry: python cli/pre_commit_scripts/check_license_info.py --file-type=yaml --license-type=BSD-3-Clause exclude: | (?x)^( - .*\.clang-format| - conf/unit/project_posix\.yml| - conf/unit/project_win32\.yml| - tests/hil/.* + \.gitlab-ci\.yml| + \.gitlab/ci_pipeline/.*\.yml| + .*\.clang-format| + conf/unit/.*_project_(posix|win32)\.yml| + tests/hil/.* + )$ + - id: check-license-header-confidential + name: check license header confidential [yaml] + types: [yaml] + language: system + entry: python cli/pre_commit_scripts/check_license_info.py --file-type=yaml --license-type=confidential + exclude: | + (?x)^( + .*\.clang-format| + \.pre-commit-config\.yaml| + conf/cc/cc-options\.yaml| + conf/unit/.*_project_(posix|win32)\.yml| + conf/unit/vsc-settings\.yml| + docs/software/build-process/misc/libcc-options\.yaml| + tests/ccs/expect-failure/expect-failure_cc-options\.yaml| + tests/ccs/ccs.*/ccs.*_cc-options\.yaml| + tests/cli/pre_commit_scripts/test_check_license_info/valid-license.yml| + tests/variants/lib-build/lib-build_cc-options\.yaml )$ - id: check-license-header - name: check toml-files for the correct license header + name: check license header [toml] types: [toml] language: system - entry: python cli/pre_commit_scripts/check_license_info.py --file-type=toml + entry: python cli/pre_commit_scripts/check_license_info.py --file-type=toml --license-type=BSD-3-Clause - id: check-license-header - name: check pwsh-files for the correct license header + name: check license header [pwsh] + types: [powershell] + language: system + entry: python cli/pre_commit_scripts/check_license_info.py --file-type=pwsh --license-type=BSD-3-Clause + exclude: tests/hil/exec_hil.ps1 + - id: check-license-header-confidential + name: check license header confidential [pwsh] types: [powershell] language: system - entry: python cli/pre_commit_scripts/check_license_info.py --file-type=pwsh + entry: python cli/pre_commit_scripts/check_license_info.py --file-type=pwsh --license-type=confidential + exclude: | + (?x)^( + fox\.ps1| + conf/tpl/pwsh_script\.ps1| + tests/cli/pre_commit_scripts/test_check_license_info/valid-license\.ps1| + tests/variants/lib-build/lib-build\.ps1 + )$ - id: check-license-header - name: check bat-files for the correct license header + name: check license header [batch] types: [batch] - exclude: tests/hil/.* language: system - entry: python cli/pre_commit_scripts/check_license_info.py --file-type=batch + entry: python cli/pre_commit_scripts/check_license_info.py --file-type=batch --license-type=BSD-3-Clause - id: check-license-header - name: check shell-files for the correct license header + name: check license header [shell] types: [shell] language: system - entry: python cli/pre_commit_scripts/check_license_info.py --file-type=shell + entry: python cli/pre_commit_scripts/check_license_info.py --file-type=shell --license-type=BSD-3-Clause - id: check-license-header - name: check dot-files for the correct license header + name: check license header [dot] language: system - entry: python cli/pre_commit_scripts/check_license_info.py --file-type=dot + entry: python cli/pre_commit_scripts/check_license_info.py --file-type=dot --license-type=BSD-3-Clause files: .*(\.dot) - id: check-file-encoding - name: check C-files use the ASCII encoding + name: check encoding [c] language: system entry: python cli/pre_commit_scripts/check_encoding.py --encoding=ascii types: [c] - exclude: src/app/driver/afe/nxp/mc33775a/vendor/.* + exclude: | + (?x)^( + src/app/driver/afe/nxp/mc33775a/vendor/.*| + tests/cli/pre_commit_scripts/test_check_doxygen/invalid-encoding_utf-16.c + )$ + - id: check-file-encoding - name: check sym/dbc-files use the ASCII encoding + name: check encoding [dbc, sym] language: system entry: python cli/pre_commit_scripts/check_encoding.py --encoding=ascii files: | @@ -274,17 +356,18 @@ repos: .*\.(sym) )$ - id: check-file-encoding - name: check all other files use UTF-8 encoding + name: check encoding [default] language: system entry: python cli/pre_commit_scripts/check_encoding.py --encoding=utf-8 - exclude_types: [c, png, jpeg, icon] + types: [text] + exclude_types: [c] exclude: | (?x)^( - .*\.(pptx)| - .*\.(vsdx) + tests/cli/pre_commit_scripts/test_check_encoding/utf-16.txt| + tests/cli/pre_commit_scripts/test_check_for_tabs/tabs_2.txt )$ - id: unique-file-names - name: check that file names are unique in the repository + name: check file name uniqueness language: system entry: python cli/pre_commit_scripts/check_file_names.py exclude: | @@ -292,35 +375,91 @@ repos: .*\.clang-format| .*\.dummy| .*\.gitignore| - .*__init__.py| - .*__main__.py| - .*main.py| - .*misc.py| + .*__init__\.py| + .*__main__\.py| + .*main\.py| + .*misc\.py| .*README\.md| .*wscript| - tests/axivion/axivion_config\.json| - tests/axivion/ci_config\.json| + pyproject\.toml| + LICENSE\.md| + cli/cmd_etl/pyproject\.toml| + src/(app|bootloader)/driver/(can|config)/can_cfg\.[c|h]| + src/(app|bootloader)/driver/can(/cbs)?/can_helper\.[c|h]| + src/(app|bootloader)/driver/can/can\.[c|h]| + src/(app|bootloader)/driver/crc/crc\.[c|h]| + src/(app|bootloader)/driver/io/io\.[c|h]| + src/(app|bootloader)/driver/mcu/mcu\.h| + src/(app|bootloader)/main/fassert\.c| + src/(app|bootloader)/main/fstartup\.c| + src/(app|bootloader)/main/include/fassert\.h| + src/(app|bootloader)/main/include/fstartup\.h| + src/(app|bootloader)/main/include/fstd_types\.h| + src/(app|bootloader)/main/include/fsystem\.h| + src/(app|bootloader)/main/include/general\.h| + src/(app|bootloader)/main/include/infinite-loop-helper\.h| + src/(app|bootloader)/main/include/main\.h| + src/(app|bootloader)/main/main\.c| + src/app/driver/afe/ltc/common/ltc_defs\.h| + src/app/driver/config/can_cfg\.[c|h]| + src/app/driver/interlock/interlock\.c| + src/os/freertos/LICENSE\.md| + tests/axivion/addon-test/test_file_comments/interlock\.c| + tests/axivion/addon-test/test_file_comments/ltc_defs\.h| tests/axivion/compiler_config\.json| + tests/axivion/errata_config\.json| + tests/axivion/targets/.*/axivion_config\.json| + tests/axivion/targets/.*/ci_config\.json| + tests/axivion/targets/.*/errata_config\.json| + tests/unit/(app|bootloader)/driver/(can|config)/test_can_cfg\.c| + tests/unit/(app|bootloader)/driver/can(/cbs)?/test_can_helper\.c| + tests/unit/(app|bootloader)/driver/can/test_can\.c| + tests/unit/(app|bootloader)/driver/crc/test_crc\.c| + tests/unit/(app|bootloader)/driver/io/test_io\.c| + tests/unit/(app|bootloader)/main/test_fassert\.c| + tests/unit/(app|bootloader)/main/test_fstartup\.c| + tests/unit/(app|bootloader)/main/helper/mock_esm.h| + tests/unit/(app|bootloader)/main/test_main\.c| tests/unit/axivion/axivion_config\.json| tests/unit/axivion/ci_config\.json| tests/unit/axivion/compiler_config\.json| tools/ide/vscode/.*/c_cpp_properties\.json| + tools/ide/vscode/.*/launch\.json| + tools/ide/vscode/.*/project-include-path\.txt| tools/ide/vscode/.*/settings\.json| tools/ide/vscode/.*/tasks\.json| tools/vendor/ceedling/plugins/dependencies/example/boss/src/main\.c )$ + - id: check-for-tabs + name: check for tabs + language: system + entry: python cli/pre_commit_scripts/check_for_tabs.py + types: [text] + exclude: | + (?x)^( + src/app/driver/afe/nxp/mc33775a/vendor/uc_msg_t\.[c|h]| + tests/cli/pre_commit_scripts/test_check_for_tabs/tabs_0.txt| + tests/cli/pre_commit_scripts/test_check_for_tabs/tabs_1.txt| + tests/cli/pre_commit_scripts/test_check_for_tabs/tabs_2.txt + )$ - id: check-include-guard - name: check C-header use the correct include guard + name: check include guard language: system entry: python cli/pre_commit_scripts/check_include_guard.py types: [c] exclude: | (?x)^( src/app/driver/afe/nxp/mc33775a/vendor/.*| - src/app/driver/sbc/fs8x_driver/.* + src/app/driver/sbc/fs8x_driver/.*| + tests/axivion/config-test/coding-style-naming\.macro_1\.h| + tests/cli/pre_commit_scripts/test_check_include_guard/test_file_empty.h| + tests/cli/pre_commit_scripts/test_check_include_guard/test_file_invalid_content.h| + tests/cli/pre_commit_scripts/test_check_include_guard/test_file.c| + tests/cli/pre_commit_scripts/test_check_include_guard/test_file_multiple.h| + tests/cli/pre_commit_scripts/test_check_include_guard/test_file_valid.h )$ - id: check-c-section-markers - name: check C-files in 'src' use the correct section markers + name: check section marker [src] language: system entry: python cli/pre_commit_scripts/check_sections.py --file-type=src types: [c] @@ -332,13 +471,26 @@ repos: docs/software/unit-tests/test_abc\.c| src/app/driver/afe/nxp/mc33775a/vendor/.*| src/app/driver/sbc/fs8x_driver/.*| + src/bootloader/driver/crc/vendor/.*\.[c|h]| tests/axivion/axivion_preinc\.h| - tests/axivion/config-test/test_macro-names\.[c|h]| - tests/axivion/config-test/test_parameter-names-\d\.c| - tests/unit.* + tests/axivion/config-test/(test_)?coding-style-naming\..*\.[c|h]| + tests/cli/pre_commit_scripts/test_check_license_info/invalid-license\.c| + tests/cli/pre_commit_scripts/test_check_license_info/no-license\.c| + tests/cli/pre_commit_scripts/test_check_cpp_style_comment/no-cpp-style-comment.c| + tests/cli/pre_commit_scripts/test_check_cpp_style_comment/cpp-style-comment_[0|1|2].c| + tests/cli/pre_commit_scripts/test_check_doxygen/.*| + tests/cli/pre_commit_scripts/test_check_include_guard/test_file_empty.h| + tests/cli/pre_commit_scripts/test_check_include_guard/test_file_invalid_content.h| + tests/cli/pre_commit_scripts/test_check_include_guard/test_file.c| + tests/cli/pre_commit_scripts/test_check_include_guard/test_file_multiple.h| + tests/cli/pre_commit_scripts/test_check_include_guard/test_file_valid.h| + tests/cli/pre_commit_scripts/test_check_sections/valid-sections-test.[c|h]| + tests/cli/pre_commit_scripts/test_check_sections/invalid-sections-test-\d\.[c|h]| + tests/cli/pre_commit_scripts/test_check_license_info/valid-license.c| + tests/unit/.* )$ - id: check-c-section-markers - name: check C-files in 'tests' use the correct section markers + name: check section marker [test] language: system entry: python cli/pre_commit_scripts/check_sections.py --file-type=test types: [c] @@ -383,27 +535,67 @@ repos: docs/software/unit-tests/run_abc\.c| src/.*| tests/axivion/axivion_preinc\.h| - tests/axivion/config-test/test_macro-names\.[c|h]| - tests/axivion/config-test/test_parameter-names-\d\.c| + tests/axivion/config-test/(test_)?coding-style-naming\..*\.[c|h]| tests/c-std/c-std-test\.c| + tests/cli/pre_commit_scripts/test_check_license_info/invalid-license\.c| + tests/cli/pre_commit_scripts/test_check_license_info/no-license\.c| + tests/cli/pre_commit_scripts/test_check_cpp_style_comment/cpp-style-comment_[0|1|2].c| + tests/cli/pre_commit_scripts/test_check_cpp_style_comment/no-cpp-style-comment.c| + tests/cli/pre_commit_scripts/test_check_doxygen/.*| + tests/cli/pre_commit_scripts/test_check_include_guard/test_file_empty.h| + tests/cli/pre_commit_scripts/test_check_include_guard/test_file_invalid_content.h| + tests/cli/pre_commit_scripts/test_check_include_guard/test_file.c| + tests/cli/pre_commit_scripts/test_check_include_guard/test_file_multiple.h| + tests/cli/pre_commit_scripts/test_check_include_guard/test_file_valid.h| tests/unit/app/driver/afe/adi/common/ades183x.*| + tests/unit-hw/.*| tests/variants/lib-build/lib-build_main\.c| + tests/cli/pre_commit_scripts/test_check_sections/valid-sections-src.[c|h]| + tests/cli/pre_commit_scripts/test_file_empty.h| + tests/cli/pre_commit_scripts/test_file_invalid_content.h| + tests/cli/pre_commit_scripts/test_file.c| + tests/cli/pre_commit_scripts/test_file_multiple.h| + tests/cli/pre_commit_scripts/test_file_valid.h| + tests/cli/pre_commit_scripts/test_check_license_info/valid-license.c| + tests/cli/pre_commit_scripts/test_check_sections/invalid-sections-test-\d\.[c|h]| tools/crc/crc-10_0x48f\.c| tools/crc/crc-15_0xc599\.c )$ - id: check-doxygen-comments - name: check C-files have a well defined doxygen comment + name: check doxygen comment language: system entry: python cli/pre_commit_scripts/check_doxygen.py types: [c] exclude: | (?x)^( + src/(app|bootloader)/main/fstartup\.c| src/app/driver/afe/nxp/mc33775a/nxp_mc33775a-ll\.h| src/app/driver/afe/nxp/mc33775a/vendor/.*| src/app/driver/sbc/fs8x_driver/.*| - tests/axivion/axivion_preinc\.h | - tests/axivion/config-test/test_macro-names\.[c|h]| - tests/axivion/config-test/test_parameter-names-\d\.c + src/bootloader/driver/crc/vendor/crc64_calc\.[c|h]| + tests/axivion/axivion_preinc\.h| + tests/axivion/config-test/(test_)?coding-style-naming\..*\.[c|h]| + tests/cli/pre_commit_scripts/test_check_cpp_style_comment/cpp-style-comment_[0|1|2].c| + tests/cli/pre_commit_scripts/test_check_cpp_style_comment/no-cpp-style-comment.c| + tests/cli/pre_commit_scripts/test_check_doxygen.*| + tests/cli/pre_commit_scripts/test_check_include_guard/test_file_empty.h| + tests/cli/pre_commit_scripts/test_check_include_guard/test_file_invalid_content.h| + tests/cli/pre_commit_scripts/test_check_include_guard/test_file.c| + tests/cli/pre_commit_scripts/test_check_include_guard/test_file_multiple.h| + tests/cli/pre_commit_scripts/test_check_include_guard/test_file_valid.h + )$ + - id: check-comment-style + name: check C comment style + language: system + entry: python cli/pre_commit_scripts/check_cpp_style_comment.py + types: [c] + exclude: | + (?x)^( + + tests/axivion/axivion_preinc\.h^| + tests/axivion/config-test/.*\.[c|h]| + tests/cli/pre_commit_scripts/test_check_cpp_style_comment/cpp-style-comment_[0|1|2].c| + tests/cli/pre_commit_scripts/test_check_doxygen/invalid-encoding_utf-16.c )$ - repo: https://github.com/shellcheck-py/shellcheck-py rev: v0.10.0.1 diff --git a/CITATION.cff b/CITATION.cff index 22b82bde..bad99ed3 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -46,5 +46,5 @@ keywords: - "BMS" message: "If the foxBMS project contributes to a project that leads to a scientific publication, please acknowledge this fact by citing." title: "foxBMS - The Most Advanced Open Source BMS Platform: foxBMS 2" -version: "1.7.0" -date-released: 2024-08-08 +version: "1.8.0" +date-released: 2024-12-20 diff --git a/INSTALL.md b/INSTALL.md index f85804c4..9422058f 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -47,6 +47,11 @@ less user interaction during the installation) for the host machine see 1. Install [Python](https://www.python.org/).\ If you have already installed Python from this step can be skipped. + + > **_NOTE 3:_** + > + > The minimum required Python version is 3.10. + 1. Open a terminal and run `py --version`, this should print something like `Python 3.12.4` or similar to the terminal: @@ -55,31 +60,31 @@ less user interaction during the installation) for the host machine see Python 3.12.4 ``` -1. Create a virtual environment **2024-08-pale-fox** by running in `cmd.exe` or +1. Create a virtual environment **2025-01-pale-fox** by running in `cmd.exe` or `PowerShell`. - `cmd.exe`: ```cmd - py -m venv %USERPROFILE%\foxbms-envs\2024-08-pale-fox + py -m venv %USERPROFILE%\foxbms-envs\2025-01-pale-fox ``` - `PowerShell`: ```pwsh - py -m venv $env:USERPROFILE\foxbms-envs\2024-08-pale-fox + py -m venv $env:USERPROFILE\foxbms-envs\2025-01-pale-fox ``` 1. Activate the virtual environment by running in `cmd.exe` or ``PowerShell`. - `cmd.exe`: ```cmd - %USERPROFILE%\foxbms-envs\2024-08-pale-fox\Scripts\activate.bat + %USERPROFILE%\foxbms-envs\2025-01-pale-fox\Scripts\activate.bat ``` - `PowerShell`: ```pwsh - &"$env:USERPROFILE\foxbms-envs\2024-08-pale-fox\Scripts\activate.ps1" + &"$env:USERPROFILE\foxbms-envs\2025-01-pale-fox\Scripts\activate.ps1" ``` 1. Install the required packages by running: @@ -104,13 +109,13 @@ less user interaction during the installation) for the host machine see 1. Install GCC - > **_NOTE:_** Installing MinWG64 requires 7-Zip to be installed. - 7-Zip can be download from https://7-zip.org. + > **_NOTE:_** Installing MinGW64 requires 7-Zip to be installed. + 7-Zip can be download from . 1. Download MinGW-W64 version x86_64-posix-seh from [sourceforge.net](https://sourceforge.net/projects/mingw-w64/files/mingw-w64/) - (use this [7z-archive]( - https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/mingw-builds/8.1.0/threads-posix/seh/x86_64-8.1.0-release-posix-seh-rt_v6-rev0.7z)). + (**use exactly this [7z-archive]( + https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/mingw-builds/8.1.0/threads-posix/seh/x86_64-8.1.0-release-posix-seh-rt_v6-rev0.7z)**). 1. Extract the archive. 1. Copy the extracted mingw64 directory to `C:\mingw64\x86_64-8.1.0-release-posix-seh-rt_v6-rev0`. @@ -160,11 +165,10 @@ less user interaction during the installation) for the host machine see [Visual Studio Code](https://code.visualstudio.com). 1. Install code: |foxbms| recommends installing |code| with the `User Installer`, which does not require elevated rights. - 1. *Optional:* Let the installer add code to the `PATH` variable. + 1. _Optional:_ Let the installer add code to the `PATH` variable. All required software is now installed. - ## Environment Updates Sometimes it might be required to update the build environment. @@ -190,6 +194,7 @@ To update the build environment the following steps must be done: ```pwsh py -m venv $env:USERPROFILE\foxbms-envs\ ``` + 1. Activate the virtual environment by running in `cmd.exe` or ``PowerShell`. - `cmd.exe`: diff --git a/LICENSE.md b/LICENSE.md index b1fd4c13..726d3301 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -21,9 +21,9 @@ We kindly request you to use one or more of the following phrases to refer to foxBMS in your hardware, software, documentation or advertising materials: -- ″This product uses parts of foxBMS®″ -- ″This product includes parts of foxBMS®″ -- ″This product is derived from foxBMS®″ +- "This product uses parts of foxBMS®" +- "This product includes parts of foxBMS®" +- "This product is derived from foxBMS®" If you use foxBMS in your products, we encourage you to contact us at: diff --git a/README.md b/README.md index 879cde85..0abf9f3d 100644 --- a/README.md +++ b/README.md @@ -43,21 +43,19 @@ See [INSTALL.md](./INSTALL.md) for installation instructions. The repository is structured as follows: -| Directory Name | Content Description | -| ---------------- | ------------------------------------------------------------------------------------------------------------------------------- | -| `.` | The repository root contains the license information, installation instructions, a link to the changelog, the main build script | -| `conf` | Contains all high level configurations | -| `docs` | Documentation source files | -| `hardware` | Hardware schematic and layout information | -| `src` | Parent directory for all source files for the BMS embedded software | -| `tests` | Tests for embedded sources, the tool chain, the conda environment and scripts | -| `tools` | Tools needed to build foxBMS binaries and additional tools to work with foxBMS | - -The toplevel directories ([`conf`](./conf), [`docs`](./docs), [`src`](./src), -[`tests`](./tests), and [`tools`](./tools)) each have a `README.md` that -explain the content of the directory ([`conf/README.md`](conf/README.md), -[`docs/README.md`](docs/README.md), [`src/README.md`](src/README.md), -[`tests/README.md`](tests/README.md), [`tools/README.md`](tools/README.md)). +| Directory Name | Content Description | +| ------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | +| `.` | The repository root contains the license information, installation instructions, a link to the changelog, the main build script | +| [`cli`](./cli) | CLI tool to interact with the repository | +| [`conf`](./conf) | Contains all high level configurations | +| [`docs`](./docs) | Documentation source files | +| [`hardware`](./hardware) | Hardware schematic and layout information | +| [`src`](./src) | Parent directory for all source files for the BMS embedded software | +| [`tests`](./tests) | Tests for embedded sources, the tool chain, and scripts | +| [`tools`](./tools) | Tools needed to build foxBMS binaries and additional tools to work with foxBMS | + +These directories each have a `README.md` that explain the content of the +directory. ## License diff --git a/cli/README.md b/cli/README.md new file mode 100644 index 00000000..16c2944c --- /dev/null +++ b/cli/README.md @@ -0,0 +1,36 @@ +# `cli` Directory Description + +| Directory Name | Long Name | Content Description | +| ---------------- | --------------------------- | ------------------------------------------------------------------------ | +| `cmd_*` | Command_* | Actual implementation of the specific CLI command | +| `commands` | Commands | Defintion of all CLI commands | +| `helpers` | Helpers | Helper functions that are used by several parts of the CLI tool | +| `pre-commit` | pre-commit | Scripts that are run as part of the `pre-commit` framework | + +## How to implement a new command? + +The new command `my-command` would be implemented as follows: + +- Add a new file `cmd_my_command/my_command_impl.py` +- Add a new file `commands/c_my_command.py` + Add + + ```python + import click + + from ..cmd_my_command import my_command_impl + + # Add the new CLI commands afterwards using click, e.g., as follows: + @click.command("my-command") + @click.pass_context + def run_my_command(ctx: click.Context) -> None: + """Add help message here""" + # my_command_impl.do_something must return a `SubprocessResult` object + # pass the CLI arguments to `do_something` if additional arguments and/or + # options are needed + ret = my_command_impl.do_something() + ctx.exit(ret.returncode) + ``` + +- Implement the required feature(s) in `cmd_my_command/my_command_impl.py` (add + as many files/submodules as needed in `cmd_my_command/`). diff --git a/cli/__init__.py b/cli/__init__.py index 2271a78a..2d2fd861 100755 --- a/cli/__init__.py +++ b/cli/__init__.py @@ -36,3 +36,5 @@ # - "This product uses parts of foxBMS®" # - "This product includes parts of foxBMS®" # - "This product is derived from foxBMS®" + +"""foxBMS 2 command line interface""" diff --git a/cli/__main__.py b/cli/__main__.py index 376aab8c..87448a56 100755 --- a/cli/__main__.py +++ b/cli/__main__.py @@ -39,10 +39,10 @@ """Mark this module as not callable.""" -import sys -from pathlib import Path +import sys # pragma: no cover +from pathlib import Path # pragma: no cover -from .cli import main +from .cli import main # pragma: no cover if __name__ == "__main__": cwd = Path.cwd() diff --git a/cli/cli.py b/cli/cli.py index 6b1f459e..c66e1baf 100755 --- a/cli/cli.py +++ b/cli/cli.py @@ -37,7 +37,7 @@ # - "This product includes parts of foxBMS®" # - "This product is derived from foxBMS®" -"""Implements the command line interface to the Battery System Designer tool.""" +"""Implements the command line interface to the 'cli' tool.'""" import sys import warnings @@ -58,15 +58,18 @@ sys.exit(1) from .commands.c_axivion import axivion +from .commands.c_bootloader import bootloader from .commands.c_build import waf from .commands.c_ci import ci from .commands.c_cli_unittest import cli_unittest from .commands.c_embedded_ut import ceedling +from .commands.c_etl import etl from .commands.c_ide import ide from .commands.c_install import install from .commands.c_misc import misc from .commands.c_pre_commit import pre_commit from .commands.c_program import run_program, run_script +from .commands.c_release import release from .foxbms_version import __version__ warnings.simplefilter(action="ignore", category=FutureWarning) @@ -110,13 +113,16 @@ def main( main.add_command(axivion) +main.add_command(bootloader) +main.add_command(ceedling) main.add_command(ci) main.add_command(cli_unittest) -main.add_command(waf) -main.add_command(ceedling) +main.add_command(etl) main.add_command(ide) main.add_command(install) main.add_command(misc) main.add_command(pre_commit) -main.add_command(run_script) +main.add_command(release) main.add_command(run_program) +main.add_command(run_script) +main.add_command(waf) diff --git a/cli/cmd_axivion/__init__.py b/cli/cmd_axivion/__init__.py index 2271a78a..9c714980 100755 --- a/cli/cmd_axivion/__init__.py +++ b/cli/cmd_axivion/__init__.py @@ -36,3 +36,5 @@ # - "This product uses parts of foxBMS®" # - "This product includes parts of foxBMS®" # - "This product is derived from foxBMS®" + +"""Implements the functionalities behind the 'axivion' command""" diff --git a/cli/cmd_axivion/axivion_impl.py b/cli/cmd_axivion/axivion_impl.py index 4c72d7b9..8c3147d4 100755 --- a/cli/cmd_axivion/axivion_impl.py +++ b/cli/cmd_axivion/axivion_impl.py @@ -45,11 +45,12 @@ import sys from pathlib import Path +from click import secho + from ..cmd_script import script_impl -from ..helpers.ansi_colors import RED -from ..helpers.misc import PROJECT_ROOT, eprint +from ..helpers.env_vars import PROGRAMFILES, PROGRAMFILESX86, USERPROFILE +from ..helpers.misc import PROJECT_ROOT from ..helpers.spr import SubprocessResult, run_process -from ..helpers.win32_vars import PROGRAMFILES, PROGRAMFILESX86, USERPROFILE GRAVIS_EXPORT_SCRIPT = ( PROJECT_ROOT / "tests/axivion/scripts/gravis_export_architecture_svg.py" @@ -82,7 +83,7 @@ def export_architecture(verbosity: int = 0) -> SubprocessResult: - """Calls the architecture export script""" + """Calls the architecture export script.""" gravis = shutil.which("gravis") if not gravis: path = ( @@ -93,7 +94,7 @@ def export_architecture(verbosity: int = 0) -> SubprocessResult: gravis = shutil.which("gravis", path=path) logging.debug("Gravis: %s", gravis) if not gravis: - eprint("Could not find gravis", color=RED, err=True) + secho("Could not find gravis!", fg="red", err=True) return SubprocessResult(1) cmd = [gravis, "--script", str(GRAVIS_EXPORT_SCRIPT)] if verbosity: @@ -102,7 +103,7 @@ def export_architecture(verbosity: int = 0) -> SubprocessResult: def check_if_architecture_up_to_date(verbosity: int = 0) -> SubprocessResult: - """Calls the architecture up-to-date check script""" + """Calls the architecture up-to-date check script.""" cmd = [sys.executable, str(ARCHITECTURE_UP_TO_DATE_SCRIPT)] if verbosity: cmd.append("-" + verbosity * "v") @@ -110,7 +111,7 @@ def check_if_architecture_up_to_date(verbosity: int = 0) -> SubprocessResult: def check_versions(verbosity: int = 0) -> SubprocessResult: - """Calls the architecture up-to-date check script""" + """Calls the architecture up-to-date check script.""" cmd = [sys.executable, str(VERSION_CHECK_SCRIPT)] if verbosity: cmd.append("-" + verbosity * "v") @@ -118,7 +119,7 @@ def check_versions(verbosity: int = 0) -> SubprocessResult: def check_violations(check_violations_args: list[str]) -> int: - """Runs the violations check script on the provided analysis report file""" + """Runs the violations check script on the provided analysis report file.""" err = 0 cmd = [str(CHECK_VIOLATIONS_SCRIPT)] + check_violations_args script_impl.run_python_script(cmd, cwd=PROJECT_ROOT) @@ -129,7 +130,7 @@ def combine_report_files( reports: list[Path], verbosity: int = 0, ): - """Combines several Axivion analysis reports to one""" + """Combines several Axivion analysis reports to one.""" base_cmd = [sys.executable, str(COMBINE_REPORTS_SCRIPT)] cmd = base_cmd + [str(i) for i in reports] if verbosity: @@ -139,7 +140,7 @@ def combine_report_files( def self_test(script_args: list[str]) -> SubprocessResult: - """Calls the architecture export script""" + """Calls the architecture export script.""" gravis = shutil.which("gravis") if not gravis: path = ( @@ -150,16 +151,16 @@ def self_test(script_args: list[str]) -> SubprocessResult: gravis = shutil.which("gravis", path=path) logging.debug("Gravis: %s", gravis) if not gravis: - eprint("Could not find gravis", color=RED, err=True) + secho("Could not find gravis!", fg="red", err=True) return SubprocessResult(1) cmd = [sys.executable, str(SELF_TEST_SCRIPT)] + script_args return run_process(cmd=cmd, cwd=PROJECT_ROOT, stderr=None, stdout=None) def run_local_analysis( - dashboard_url: str, variant: str, branch: str + dashboard_url: str, variant: str, branch: str, project: str = "app" ) -> SubprocessResult: - """Runs a local Axivion analysis""" + """Runs a local Axivion analysis.""" if not dashboard_url: if AXIVION_DASHBOARD_URL: dashboard_url = AXIVION_DASHBOARD_URL @@ -171,7 +172,7 @@ def run_local_analysis( if not branch: branch = "master" - bauhaus_config = PROJECT_ROOT / "tests/axivion" + bauhaus_config = PROJECT_ROOT / f"tests/axivion/targets/{project}" requests_ca_bundle = Path(USERPROFILE) / ".bauhaus/auto.crt" project_name = "foxbms-2" project_shadow_repo = Path(USERPROFILE) / f".bauhaus/{project_name}" @@ -189,9 +190,9 @@ def run_local_analysis( return run_analysis(env=env) -def run_analysis(env=None) -> SubprocessResult: - """Runs Axivion analysis""" - axivion_build_dir = PROJECT_ROOT / "build/axivion" +def run_analysis(env: dict = None) -> SubprocessResult: + """Runs Axivion analysis.""" + axivion_build_dir = PROJECT_ROOT / "build/app_spa" axivion_build_dir.mkdir(parents=True, exist_ok=True) if env.get("AXIVION_LOCAL_BUILD", ""): env["SKIP_PREBUILD_CLEAN"] = env["AXIVION_LOCAL_BUILD"] @@ -204,19 +205,19 @@ def run_analysis(env=None) -> SubprocessResult: 1, out="", err="Could not find 'axivion_config' executable." ) cmd = [axivion_ci] - return run_process(cmd, env=env) + return run_process(cmd, env=env, stdout=None, stderr=None) def start_local_dashserver(db_file: Path) -> SubprocessResult: - """Starts a local Axivion dashserver""" + """Starts a local Axivion dashserver.""" cmd = ["dashserver", "start", "--local", "--noauth", f"--install_file={db_file}"] return run_process(cmd) def make_race_pdfs( - ir_file: Path = IR_FILE, rfg_file: Path = RFG_FILE + ir_file: Path = IR_FILE, rfg_file: Path = RFG_FILE, project: str = "app" ) -> SubprocessResult: - """Creates the race""" + """Creates the race.""" if not MAKE_RACE_PDFS_SCRIPT.is_file(): return SubprocessResult( 1, @@ -230,7 +231,7 @@ def make_race_pdfs( err=f"{ir_file} does not exist.", ) env = os.environ.copy() - env["BAUHAUS_CONFIG"] = str(PROJECT_ROOT / "tests/axivion") + env["BAUHAUS_CONFIG"] = str(PROJECT_ROOT / f"tests/axivion/targets/{project}") cmd = [MAKE_RACE_PDFS_SCRIPT, ir_file] if rfg_file: cmd.append(rfg_file) diff --git a/cli/cmd_bootloader/__init__.py b/cli/cmd_bootloader/__init__.py new file mode 100755 index 00000000..42c8bae0 --- /dev/null +++ b/cli/cmd_bootloader/__init__.py @@ -0,0 +1,40 @@ +#!/usr/bin/env python3 +# +# Copyright (c) 2010 - 2024, Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V. +# All rights reserved. +# +# SPDX-License-Identifier: BSD-3-Clause +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# +# 1. Redistributions of source code must retain the above copyright notice, this +# list of conditions and the following disclaimer. +# +# 2. Redistributions in binary form must reproduce the above copyright notice, +# this list of conditions and the following disclaimer in the documentation +# and/or other materials provided with the distribution. +# +# 3. Neither the name of the copyright holder nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +# We kindly request you to use one or more of the following phrases to refer to +# foxBMS in your hardware, software, documentation or advertising materials: +# +# - "This product uses parts of foxBMS®" +# - "This product includes parts of foxBMS®" +# - "This product is derived from foxBMS®" + +"""Implements the functionalities behind the 'bootloader' command""" diff --git a/cli/cmd_bootloader/app_constants.py b/cli/cmd_bootloader/app_constants.py new file mode 100755 index 00000000..6d38617c --- /dev/null +++ b/cli/cmd_bootloader/app_constants.py @@ -0,0 +1,93 @@ +#!/usr/bin/env python3 +# +# Copyright (c) 2010 - 2024, Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V. +# All rights reserved. +# +# SPDX-License-Identifier: BSD-3-Clause +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# +# 1. Redistributions of source code must retain the above copyright notice, this +# list of conditions and the following disclaimer. +# +# 2. Redistributions in binary form must reproduce the above copyright notice, +# this list of conditions and the following disclaimer in the documentation +# and/or other materials provided with the distribution. +# +# 3. Neither the name of the copyright holder nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +# We kindly request you to use one or more of the following phrases to refer to +# foxBMS in your hardware, software, documentation or advertising materials: +# +# - "This product uses parts of foxBMS®" +# - "This product includes parts of foxBMS®" +# - "This product is derived from foxBMS®" + +"""Defines MCU and binary specific constants. These values shall be aligned +with the embedded counterpart implementation of the bootloader.""" + +from dataclasses import dataclass + + +@dataclass +class FlashSector: + """Description of the memory map of a flash memory""" + + idx: int #: ID of the sector + size_in_bytes: int #: size of the sector in bytes + + +#: program size of the embedded application +# This value should be the sum of the sizes of the flash sectors that are going to be written. +# The maximum value is 0x3E0000. For example, if the whole program size is 0x9EEEE, +# a storage area of the foxbms hardware larger than this value must be specified +# This means that flash sectors 7, 8, 9, and 10 will be chosen, resulting in a +# total size of 0xA0000 (0x20000 + 0x20000 + 0x20000 + 0x40000). +APP_SIZE = 0x3E0000 + +#: Memory map of the application on the TMS570-based foxBMS BMS-Master +APP_MEMORY_MAP = [ + FlashSector(7, 0x20000), + FlashSector(8, 0x20000), + FlashSector(9, 0x20000), + FlashSector(10, 0x40000), + FlashSector(11, 0x40000), + FlashSector(12, 0x40000), + FlashSector(13, 0x40000), + FlashSector(14, 0x40000), + FlashSector(15, 0x40000), + FlashSector(16, 0x20000), + FlashSector(17, 0x20000), + FlashSector(18, 0x20000), + FlashSector(19, 0x20000), + FlashSector(20, 0x20000), + FlashSector(21, 0x20000), + FlashSector(22, 0x20000), + FlashSector(23, 0x20000), + FlashSector(24, 0x20000), + FlashSector(25, 0x20000), + FlashSector(26, 0x20000), + FlashSector(27, 0x20000), + FlashSector(28, 0x20000), + FlashSector(29, 0x20000), + FlashSector(30, 0x20000), + FlashSector(31, 0x20000), +] + +NUM_OF_BYTES_PER_DATA_LOOPS = 8 #: TBD +SIZE_OF_SUB_SECTOR_IN_LOOPS = 1024 #: TBD +SIZE_OF_VECTOR_TABLE_IN_BYTES = 32 #: TBD diff --git a/cli/cmd_bootloader/bootloader.py b/cli/cmd_bootloader/bootloader.py new file mode 100755 index 00000000..a78d0ad4 --- /dev/null +++ b/cli/cmd_bootloader/bootloader.py @@ -0,0 +1,785 @@ +#!/usr/bin/env python3 +# +# Copyright (c) 2010 - 2024, Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V. +# All rights reserved. +# +# SPDX-License-Identifier: BSD-3-Clause +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# +# 1. Redistributions of source code must retain the above copyright notice, this +# list of conditions and the following disclaimer. +# +# 2. Redistributions in binary form must reproduce the above copyright notice, +# this list of conditions and the following disclaimer in the documentation +# and/or other materials provided with the distribution. +# +# 3. Neither the name of the copyright holder nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +# We kindly request you to use one or more of the following phrases to refer to +# foxBMS in your hardware, software, documentation or advertising materials: +# +# - "This product uses parts of foxBMS®" +# - "This product includes parts of foxBMS®" +# - "This product is derived from foxBMS®" + +"""This file implements the bootloader class to communicate with the bootloader +inside hardware (foxbms board) to assist the booting process of foxbms (send +binary files and commands).""" + +import logging +import math +import sys +import time +from abc import ABC, abstractmethod +from dataclasses import dataclass +from enum import Enum +from pathlib import Path +from typing import Optional, Tuple, TypedDict, cast + +from .app_constants import ( + APP_MEMORY_MAP, + NUM_OF_BYTES_PER_DATA_LOOPS, + SIZE_OF_SUB_SECTOR_IN_LOOPS, +) +from .bootloader_binary_file import BootloaderBinaryFile +from .bootloader_can_messages import ( + AcknowledgeMessage, + AcknowledgeMessageType, + BootFsmState, + CanFsmState, + StatusCode, +) + + +class CanBusConfigHelper(TypedDict): + """Helper""" + + interface: str + channel: str + bitrate: int + + +@dataclass +class CanBusConfig: + """Type of CAN connection (must be supported by python-can).""" + + interface: str + channel: str + bitrate: int + + def as_dict(self) -> CanBusConfigHelper: + """Return the""" + tmp: CanBusConfigHelper = { + "interface": self.interface, + "channel": self.channel, + "bitrate": self.bitrate, + } + return tmp + + +class BootloaderInterface(ABC): + """Abstract class of the bootloader communication interface.""" + + @abstractmethod + def run_app_on_bootloader(self) -> bool: + """Run the application on bootloader. + + Returns: + True if the application has been started successfully, False + otherwise. + """ + + @abstractmethod + def reset_bootloader( + self, time_to_wait: float = 15.0, num_of_repeat: int = 5 + ) -> bool: + """Reset bootloader. + + Args: + time_to_wait: time to wait for bootloader to reset itself. + + Returns: + True if the bootloader has been successfully reset, False + otherwise. + """ + + @abstractmethod + def get_bootloader_state(self) -> Tuple[Optional[str], Optional[str]]: + """Get the bootloader's current state. + + Returns: + CanFsmState, BootFsmState. + """ + + @abstractmethod + def get_current_num_of_loops(self) -> Optional[int]: + """Get the bootloader's current transfer data loop number. + + Returns: + Current number of data transfer loops. + """ + + @abstractmethod + def get_bootloader_version_num( + self, + ) -> Tuple[Optional[int], Optional[int], Optional[int]]: + """Get the bootloader's version number. + + Returns: + Current version number (MajorVersionNumber, MinorVersionNumber, + PatchVersionNumber) of the bootloader. + """ + + @abstractmethod + def start_transfer(self) -> bool: + """Inform bootloader to start the transfer program process. + + Returns: + True if bootloader has successfully started the process, False + otherwise. + """ + + @abstractmethod + def send_program_info( + self, + len_of_program_in_bytes: int, + num_of_transfer_loops: int, + ) -> bool: + """Send program info to bootloader and check its states. + + Args: + len_of_program_in_bytes: the length of the program in bytes. + num_of_transfer_loops: the number of total transfer loops. + + Returns: + True if bootloader has received info, False otherwise. + """ + + @abstractmethod + def send_loop_number_to_bootloader(self, num_of_loop: int) -> None: + """Send the current loop number of the to-be-transferred data to + bootloader. + + Args: + num_of_loop: the current loop number (starts from 1). + """ + + @abstractmethod + def send_data_to_bootloader(self, data_8_bytes: int): + """Send data in 8 bytes to bootloader. + + Args: + data_8_bytes: data in 8 bytes. + """ + + @abstractmethod + def send_crc( + self, crc_8_bytes: int, is_crc_of_vector_table: bool = False + ) -> Tuple[bool, bool]: + """Send crc signature to bootloader and get the feedback from bootloader. + + Args: + crc_8_bytes: maximal 0xffffffffffffffff. + is_crc_of_vector_table: True if it is the crc of vector table. + + Returns: + True, if a ACK message has been received. + True, if the YesNoAnswer is "Yes". + """ + + @abstractmethod + def wait_can_ack_msg( + self, + acknowledge_msg: Enum, + timeout_total: float = 1.0, + timeout_ack: float = 0.3, + processed_level: Enum = StatusCode.ReceivedAndProcessed, + ) -> Optional[AcknowledgeMessageType]: + """Wait for a certain ACK message. + + Args: + acknowledge_msg: the type of ACK message. + timeout_total: total time to wait. + timeout_ack: time to wait for a single message. + processed_level: the ACK message need to have at least this + processed_level. + + Returns: + Acknowledged message from bootloader + """ + + +class Bootloader: + """ + Implementation of the communication between host-implementation of the + bootloader and the embedded bootloader. + """ + + def __init__( + self, + interface: BootloaderInterface, + path_app_binary: Optional[Path] = None, + app_size: Optional[int] = None, + path_crc_64_table: Optional[Path] = None, + ): + """Init function. + + Args: + interface: the communication interface of the bootloader + path_app_binary: the path of the binary file + app_size: the size of the binary file of the application + path_crc_64_table: the path of the temporary file that stores the + CRC table + """ + + # Initialize the binary file object for bootloader + self.binary_file = None + if path_app_binary: + self.binary_file = BootloaderBinaryFile( + path_app_binary=path_app_binary, + app_size=app_size, + path_crc_64_table=path_crc_64_table, + ) + + # Get the communication interface + self.interface = interface + + def check_target(self) -> bool: + """Check if the bootloader can be reached and print its current status. + + Returns: + True if the bootloader can be reached, False otherwise. + """ + + # Get and check the bootloader state and the loop number + can_fsm_state, boot_fsm_state = self.interface.get_bootloader_state() + current_num_of_loops = self.interface.get_current_num_of_loops() + if not (can_fsm_state or boot_fsm_state or current_num_of_loops): + # Check if the foxBMS application is running + bms_state = self.interface.get_foxbms_state() + if bms_state: + logging.info( + "FoxBMS application is running. FoxBMS status: %s ", + bms_state, + ) + return True + logging.error( + "Cannot get any status of bootloader successfully, check " + "the CAN connection and the power status of the hardware." + ) + return False + + # Get and check the version info of bootloader + major_version_number, minor_version_number, patch_version_number = ( + self.interface.get_bootloader_version_num() + ) + if ( + (not major_version_number) + or (not minor_version_number) + or (not patch_version_number) + ): + logging.error( + "Cannot get the version number of bootloader successfully, abort." + ) + return False + logging.info( + "Successfully communicated with bootloader (v%d.%d.%d): " + "can_fsm_state: '%s', boot_fsm_state: '%s', " + "current_num_of_loops: '%s'", + major_version_number, + minor_version_number, + patch_version_number, + can_fsm_state, + boot_fsm_state, + current_num_of_loops, + ) + return True + + def send_and_validate_vector_table(self) -> bool: + """Send vector table to the bootloader + + Returns: + True if vector table has been successfully sent, False otherwise + """ + + logging.info("Sending vector table...") + + # Send 4 * 8 bytes of vector table to bootloader + self.binary_file = cast(BootloaderBinaryFile, self.binary_file) + for i_vector in range(4): + self.interface.send_data_to_bootloader( + self.binary_file.data64_vector_table[i_vector] + ) + msg = self.interface.wait_can_ack_msg(AcknowledgeMessage.ReceivedVectorTable) + if not msg: + logging.error("Cannot send the vector table.") + return False + logging.info("Successfully sent vector table.") + + # Send 8 bytes of CRC signature of the vector table to bootloader + is_crc_received, is_crc_valid = self.interface.send_crc( + self.binary_file.crc64_vector_table, is_crc_of_vector_table=True + ) + if not is_crc_received: + logging.error("Cannot send CRC of vector table.") + return False + if not is_crc_valid: + logging.error("Vector table is not validated.") + return False + logging.info("The vector table has been successfully validated.") + return True + + def send_data_as_a_sub_sector( + self, i_loop_start: int, i_loop_end: int, is_first_sub_sector: bool = True + ) -> bool: + """Send one sub-sector of data to bootloader. + + Args: + i_loop_start: start index of data loops to send (min. 1) + i_loop_end: end index of data loops to send + + Returns: + True if the data has been successfully sent, False otherwise + """ + i_loop = i_loop_start + time_start = time.time() + self.binary_file = cast(BootloaderBinaryFile, self.binary_file) + while i_loop <= i_loop_end: + # Since the minimal i_loop is 1, the index will be i_loop - 1 + _, data_8_bytes = self.binary_file.get_crc_and_data_by_index(i_loop - 1) + self.interface.send_loop_number_to_bootloader(num_of_loop=i_loop) + + # There is an additional process in the first subsector to run + # in bootloader, because of that, there should be some delay to + # send the data to prevent dropping data + if is_first_sub_sector and (i_loop == i_loop_start): + time.sleep(0.01) + self.interface.send_data_to_bootloader(data_8_bytes) + i_loop += 1 + + # Wait ACK message for the last loop in this subsector loops + msg = self.interface.wait_can_ack_msg(AcknowledgeMessage.ReceivedSubSectorData) + if not msg: + logging.error( + "loop_%s to loop_%s data could not be send.", + i_loop_start, + i_loop_end, + ) + return False + logging.info( + "loop_%s to loop_%s data have been successfully sent! It takes in total %s s", + i_loop_start, + i_loop_end, + time.time() - time_start, + ) + return True + + def _get_sub_sector_loops(self, idx: int, max_idx: int) -> Tuple[int, int]: + """Get the start and end loop number (i_loop) of one subsector. + + Args: + idx: the start index of the loop number (min. 1) + max_idx: the maximum index of the loop number, which is the total + loop number. + + Returns: + the start i_loop and the end i_loop of the subsector + """ + if idx < 1: + sys.exit( + f"The index of the loop number should start from 1, it is now {idx}." + ) + size_of_sub_sector_in_loops = 1024 + if max_idx < size_of_sub_sector_in_loops: + sys.exit( + "The max_idx is smaller than size_of_sub_sector_in_loops " + f"{size_of_sub_sector_in_loops}." + ) + i_loop_sub_sector_start = idx + i_max_sub_sector_loop = ( + math.floor(max_idx / size_of_sub_sector_in_loops) + * size_of_sub_sector_in_loops + ) + if idx > i_max_sub_sector_loop: + i_loop_sub_sector_end = max_idx + else: + i_loop_sub_sector_end = ( + math.ceil(idx / size_of_sub_sector_in_loops) + * size_of_sub_sector_in_loops + ) + return i_loop_sub_sector_start, i_loop_sub_sector_end + + def send_data_as_a_sector( + self, + i_loop: int, + total_num_of_loops: int, + size_of_sector_in_loops: int, + times_of_repeat: int = 3, + ) -> bool: + """Send data of one sector to the embedded bootloader. + + Args: + i_loop: start loop number + total_num_of_loops: total loop number + times_of_repeat: time to repeat if a subsector cannot be + successfully sent + + Returns: + True if this sector data has been successfully sent, False + otherwise + """ + self.binary_file = cast(BootloaderBinaryFile, self.binary_file) + size_of_sub_sector_in_loops = SIZE_OF_SUB_SECTOR_IN_LOOPS + i_loop_start = i_loop + if (i_loop + size_of_sector_in_loops) > total_num_of_loops: + # Last sector + i_loop_end = total_num_of_loops + else: + i_loop_end = i_loop + size_of_sector_in_loops - 1 + logging.info("This sector is from i_loop %d to %d", i_loop_start, i_loop_end) + is_first_sub_sector = True + time_start = time.time() + while i_loop <= i_loop_end: + i_loop_sub_sector_start, i_loop_sub_sector_end = self._get_sub_sector_loops( + idx=i_loop, + max_idx=total_num_of_loops, + ) + # Send one sector of data (16384 loops) + ret_val = False + for _ in range(times_of_repeat + 1): + ret_val = self.send_data_as_a_sub_sector( + i_loop_start=i_loop_sub_sector_start, + i_loop_end=i_loop_sub_sector_end, + is_first_sub_sector=is_first_sub_sector, + ) + if ret_val: + break + if not ret_val: + logging.error("Error when sending data as subsector.") + return False + is_first_sub_sector = False + i_loop += size_of_sub_sector_in_loops + + # Send crc data + logging.info( + "Finished sending '%s' to '%s' data for this sector. Starting validation...", + i_loop_start, + i_loop_end, + ) + crc_8_bytes, _ = self.binary_file.get_crc_and_data_by_index(i_loop_end - 1) + is_crc_received, is_crc_valid = self.interface.send_crc(crc_8_bytes=crc_8_bytes) + if not is_crc_received: + logging.error("The CRC cannot be received by the embedded bootloader.") + return False + if not is_crc_valid: + logging.error( + "The validation process for this sector in the bootloader failed." + ) + return False + + logging.info( + "Successfully sent sector (loop_%s to loop_%s) (took %s s).", + i_loop_start, + i_loop_end, + time.time() - time_start, + ) + return True + + @staticmethod + def _get_sector_size_using_num_of_data_loops(i_loop: int): + start_num_of_data_loops = 1 + for flash_sector in APP_MEMORY_MAP: + size_of_sector_in_loops = int( + flash_sector.size_in_bytes / NUM_OF_BYTES_PER_DATA_LOOPS + ) + end_num_of_data_loops = ( + start_num_of_data_loops + size_of_sector_in_loops - 1 + ) + if start_num_of_data_loops <= i_loop <= end_num_of_data_loops: + return size_of_sector_in_loops + start_num_of_data_loops += size_of_sector_in_loops + return None + + def send_app_data( + self, + i_loop: int, + ) -> bool: + """Send the application binary file as data in 8 bytes (and calculated + crc in 8 bytes) to the embedded bootloader. + + Args: + i_loop: the start data loop number (must be 1 or greater). + """ + if i_loop < 1: + sys.exit("The input loop number is smaller than the minimum (1).") + self.binary_file = cast(BootloaderBinaryFile, self.binary_file) + + # Start transferring data in loops + start_time = time.time() + while i_loop <= self.binary_file.len_of_program_in_8_bytes: + size_of_sector_in_loops = self._get_sector_size_using_num_of_data_loops( + i_loop + ) + if not size_of_sector_in_loops: + logging.error( + "Cannot find the size of the sector using the loop number '%s'.", + i_loop, + ) + return False + time.sleep(0.3) + if not self.send_data_as_a_sector( + i_loop=i_loop, + total_num_of_loops=self.binary_file.len_of_program_in_8_bytes, + size_of_sector_in_loops=size_of_sector_in_loops, + ): + logging.error("Cannot transfer this sector of data.") + return False + i_loop += size_of_sector_in_loops + + logging.info( + "Successfully finish sending loop data (took %s s).", + time.time() - start_time, + ) + return True + + def reset_bootloader(self) -> bool: + """Reset bootloader + + Returns: + True if the bootloader has been successfully reset, False + otherwise. + """ + logging.info("Resetting bootloader ...") + if self.interface.reset_bootloader() is not True: + logging.error("Cannot reset bootloader.") + return False + logging.info("Successfully reset bootloader.") + return True + + def run_app(self) -> bool: + """Run application on bootloader + + Returns: + True if bootloader has been successfully informed to run + application, False otherwise. + """ + if self.interface.run_app_on_bootloader() is not True: + logging.error("Cannot inform embedded bootloader to run app.") + return False + return True + + def send_pre_info(self) -> bool: + """Send CAN message to the embedded bootloader to let the embedded + bootloader prepare for receiving the application data. + + Returns: + True if the pre-info has been successfully sent to + the bootloader, False otherwise. + """ + # Send command to start the transmission of program + logging.info("Prepare bootloader to start receiving program info...") + if not self.interface.start_transfer(): + logging.error("Cannot start to send the application program.") + return False + + # Send program relevant information + self.binary_file = cast(BootloaderBinaryFile, self.binary_file) + logging.info( + "Sending program info: len_of_program_in_bytes %s, " + "num_of_transfer_loops %s...", + self.binary_file.len_of_program_in_bytes, + self.binary_file.len_of_program_in_8_bytes, + ) + if not self.interface.send_program_info( + len_of_program_in_bytes=self.binary_file.len_of_program_in_bytes, + num_of_transfer_loops=self.binary_file.len_of_program_in_8_bytes, + ): + logging.error("Cannot send pre-info to the bootloader.") + return False + logging.info("Successfully send pre-info to the bootloader.") + return True + + @staticmethod + def _check_if_data_transfer_resumable( + can_fsm_state: str, boot_fsm_state: str, current_num_of_loops: int + ) -> bool: + """Check if the data transfer operation is in a resumable state. + + Args: + can_fsm_state: can_fsm_state + boot_fsm_state: boot_fsm_state + current_num_of_loops: current_num_of_loops + + Returns: + True if data transfer resumable, False otherwise. + """ + + # Check boot_fsm_state + if boot_fsm_state != BootFsmState.BootFsmStateLoad.name: + return False + + # Check can_fsm_state + if can_fsm_state not in ( + CanFsmState.CanFsmStateReceived8BytesData.name, + CanFsmState.CanFsmStateReceived8BytesCrc.name, + CanFsmState.CanFsmStateFinishedFinalValidation.name, + ): + return False + + # Check the current number of loops + if current_num_of_loops < 2: + return False + + return True + + @staticmethod + def _check_if_bootloader_at_the_beginning( + can_fsm_state: str, boot_fsm_state: str, current_num_of_loops: int + ) -> bool: + """Check if bootloader at the start states. + + Args: + can_fsm_state: can_fsm_state + boot_fsm_state: boot_fsm_state + current_num_of_loops: current_num_of_loops + + Returns: + True if bootloader at the start states, False otherwise. + """ + + # Check boot_fsm_state + if boot_fsm_state != BootFsmState.BootFsmStateWait.name: + return False + + # Check can_fsm_state + if can_fsm_state != CanFsmState.CanFsmStateNoCommunication.name: + return False + + # Check the current number of loops + if current_num_of_loops != 0: + return False + + return True + + @staticmethod + def _check_if_only_send_vector_table( + can_fsm_state: str, boot_fsm_state: str + ) -> bool: + """Check if only the vector table needs to be transmitted. + + Args: + can_fsm_state: can_fsm_state + boot_fsm_state: boot_fsm_state + + Returns: + True if only the vector table needs to be transmitted, False + otherwise. + """ + # Check boot_fsm_state + if boot_fsm_state != BootFsmState.BootFsmStateLoad.name: + return False + + # Check can_fsm_state + if can_fsm_state != CanFsmState.CanFsmFinishedTransferVectorTable.name: + return False + + return True + + def send_app_binary(self): + """Transfer the app binary to the embedded bootloader""" + # The times to repeat sending app if it fails. + times_of_repeat = 3 + + # Check the state of bootloader (hardware side) + logging.info( + "Checking the state of the bootloader and the current loop number..." + ) + can_fsm_state, boot_fsm_state = self.interface.get_bootloader_state() + current_num_of_loops = self.interface.get_current_num_of_loops() + logging.info( + "can_fsm_state: %s, boot_fsm_state: %s, current_num_of_loops: %s", + can_fsm_state, + boot_fsm_state, + current_num_of_loops, + ) + # Check there is a value for each input argument + if ( + (not can_fsm_state) + or (not boot_fsm_state) + or (current_num_of_loops is None) + ): + sys.exit("Cannot get all states of the bootloader.") + + # Estimate if the data transfer need to be started from the beginning + is_send_pre_info = self._check_if_bootloader_at_the_beginning( + can_fsm_state, boot_fsm_state, current_num_of_loops + ) + + # Check if the data transfer is resumable + is_resume_data_transfer = self._check_if_data_transfer_resumable( + can_fsm_state, boot_fsm_state, current_num_of_loops + ) + + # Send app binary based on if the data transfer is resumable + i_loop = 1 + only_send_vector_table = False + + # If not send_pre_info + if not is_send_pre_info: + if is_resume_data_transfer: + logging.info("The data transfer is resumable, try to resume...") + only_send_vector_table = self._check_if_only_send_vector_table( + can_fsm_state, boot_fsm_state + ) + i_loop = current_num_of_loops + else: + logging.warning( + "Cannot resume sending data to bootloader. Resetting bootloader." + ) + if not self.reset_bootloader(): + return False + is_send_pre_info = True + + # Send pre-info to bootloader + if is_send_pre_info: + if not self.send_pre_info(): + return False + + # Send app data + ret_val = False + for _ in range(times_of_repeat + 1): + if only_send_vector_table: + ret_val = self.send_and_validate_vector_table() + else: + if self.send_app_data(i_loop): + ret_val = self.send_and_validate_vector_table() + only_send_vector_table = True + if ret_val: + break + time.sleep(3) + + # Check if the app data and vector table has been successfully sent + if not ret_val: + logging.error("Error while sending app data.") + return False + + logging.info( + "Successfully finished sending application data and vector table " + "to the bootloader." + ) + return True diff --git a/cli/cmd_bootloader/bootloader_binary_file.py b/cli/cmd_bootloader/bootloader_binary_file.py new file mode 100755 index 00000000..7540a5ef --- /dev/null +++ b/cli/cmd_bootloader/bootloader_binary_file.py @@ -0,0 +1,387 @@ +#!/usr/bin/env python3 +# +# Copyright (c) 2010 - 2024, Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V. +# All rights reserved. +# +# SPDX-License-Identifier: BSD-3-Clause +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# +# 1. Redistributions of source code must retain the above copyright notice, this +# list of conditions and the following disclaimer. +# +# 2. Redistributions in binary form must reproduce the above copyright notice, +# this list of conditions and the following disclaimer in the documentation +# and/or other materials provided with the distribution. +# +# 3. Neither the name of the copyright holder nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +# We kindly request you to use one or more of the following phrases to refer to +# foxBMS in your hardware, software, documentation or advertising materials: +# +# - "This product uses parts of foxBMS®" +# - "This product includes parts of foxBMS®" +# - "This product is derived from foxBMS®" + + +"""Implementation for handling and preparing an application binary for usage +with the Bootloader. +This includes e.g., calculating a CRC table of the application binary. +Note: As the TMS570 is a big endian MCU, all operations are implemented as +such. +""" + +import json +import logging +import sys +from pathlib import Path +from typing import Optional, Tuple + +import numpy as np + +from ..helpers.misc import FOXBMS_BIN_FILE, PROJECT_BUILD_ROOT, get_sha256_file_hash_str +from .app_constants import APP_MEMORY_MAP, APP_SIZE, SIZE_OF_VECTOR_TABLE_IN_BYTES +from .crc64_ti_impl import generate_crc_64_for_tms570_on_board_crc_calculation + +CRC_TABLE_COLUMN_IDX = { + "data_64_bits_hex": 1, + "crc_64_bits_hex": 2, + "data_64_bits": 3, + "crc_64_bits": 4, +} +PATH_CRC_64_TABLE = PROJECT_BUILD_ROOT / "bootloader_crc_64_bits.csv" + +NUM_OF_BYTES_IN_8_BYTES = 8 + + +# pylint: disable-next=too-many-instance-attributes +class BootloaderBinaryFile: + """Class to handle an application binary file and prepare the binary data + for bootloader usage (e.g., calculate a CRC for of the application binary). + """ + + def __init__( + self, + path_app_binary: Path = FOXBMS_BIN_FILE, + app_size: Optional[int] = APP_SIZE, + path_crc_64_table: Optional[Path] = PATH_CRC_64_TABLE, + ): + """Initialization function + + Args: + path_app_binary: the path of the binary file of the application + that will be sent + app_size: the size of the binary file of the application which + should be the sum of the sector sizes + path_crc_64_table: the path of the temporary file that stores the + CRC table + """ + + # Input sanitation + if not path_app_binary.is_file(): + sys.exit(f"Binary '{path_app_binary}' does not exist.") + self.app_file = path_app_binary + + if not path_crc_64_table: + path_crc_64_table = PATH_CRC_64_TABLE + self.crc64_table_file = path_crc_64_table + self.app_hash_file = self.crc64_table_file.with_suffix(".json") + + # Parse the binary file + byte_array_original = self._parse_binary_file() + + # Extract the vector table from the byte array and convert it into one + # number (uint64) + self.data64_vector_table = self.get_data64_vector_table( + byte_array_original[:SIZE_OF_VECTOR_TABLE_IN_BYTES] + ) + + # Use default app_size + if not app_size: + app_size = APP_SIZE + + # Check if the app size is valid + if not self._check_app_size(app_size): + sys.exit( + "The app size is invalid.\n" + "The app size must be the sum of sizes of the used sectors." + ) + + # Append the byte array with zeros to let it have the size of app_size + byte_array_with_zeros = self.fill_byte_array_with_app_size( + byte_array=byte_array_original[SIZE_OF_VECTOR_TABLE_IN_BYTES:], + app_size=app_size, + ) + + # Calculate the CRC (uint64) for vector table + self.crc64_vector_table = self._calculate_crc64_for_vector_table() + + # Extract the byte_array for app (without the part for vector table) + self.byte_array = byte_array_with_zeros + + # Length of program + self.len_of_program_in_bytes = len(self.byte_array) + self.len_of_program_in_8_bytes = int( + self.len_of_program_in_bytes / NUM_OF_BYTES_IN_8_BYTES + ) + + # Dictionary that specifies the column names of the generated CRC table + self.crc_table_column_idx = CRC_TABLE_COLUMN_IDX + + # Check if there is csv files that stores the CRC table + if self._is_crc64_table_valid(): + self.array_csv = np.genfromtxt( + self.crc64_table_file, delimiter=",", dtype=str + ) + else: + self.array_csv = self._create_crc64_table() + + def _parse_binary_file(self) -> bytearray: + """Parse the binary file into a byte array. + Returns: + byte array of the application binary + """ + with open(self.app_file, "rb") as file: + bin_array_in_bytes = bytearray(file.read()) + if (len(bin_array_in_bytes) % NUM_OF_BYTES_IN_8_BYTES) != 0: + num_of_zero_bytes_to_fill = NUM_OF_BYTES_IN_8_BYTES - ( + len(bin_array_in_bytes) % NUM_OF_BYTES_IN_8_BYTES + ) + for _ in range(num_of_zero_bytes_to_fill): + bin_array_in_bytes.append(0) + return bin_array_in_bytes + + def _calculate_crc64_for_vector_table(self) -> int: + """Calculates the 64-bits CRC signature of the vector table. + + Returns: + calculated 64-bit CRC signature + """ + crc_64_bits = 0 + for i_vector_table_part in range(4): + crc_64_bits = generate_crc_64_for_tms570_on_board_crc_calculation( + data_64_bits=self.data64_vector_table[i_vector_table_part], + crc_64_bits=crc_64_bits, + ) + return crc_64_bits + + def _is_crc64_table_valid(self) -> bool: + """This function checks if the csv file contains the CRC table for + this binary file. + + Returns: + True if the CRC table is valid, False otherwise + """ + if not self.crc64_table_file.is_file(): + logging.info( + "'%s' does not exist, need to run CRC table calculation.", + self.crc64_table_file, + ) + return False + if not self.app_hash_file.is_file(): + logging.info( + "'%s' does not exist, need to run CRC table calculation.", + self.app_hash_file, + ) + return False + + try: + old_hash_obj = json.loads(self.app_hash_file.read_text(encoding="utf-8")) + except json.decoder.JSONDecodeError: + logging.info( + "'%s' is invalid, need to run CRC table calculation.", + self.app_hash_file, + ) + return False + + try: + old_hash = old_hash_obj[self.app_file.as_posix()] + except KeyError: + logging.info( + "Key '%s' does not exist in '%s', need to run CRC table calculation.", + self.app_file.as_posix(), + self.app_hash_file, + ) + return False + + current_hash = get_sha256_file_hash_str(self.app_file) + + if current_hash != old_hash: + logging.info( + "App binary '%s' changed, need to run CRC table calculation.", + self.app_file, + ) + return False + + logging.info("'%s' is valid, loading CRC table from it", self.crc64_table_file) + return True + + def _create_crc64_table(self) -> np.ndarray: + """Generate a CRC 64 table (as numpy.ndarray) for the application binary + Returns: + numpy array of the CRC table + """ + logging.debug("Generating CRC table at '%s'", self.crc64_table_file) + current_hash = get_sha256_file_hash_str(self.app_file) + with open(self.app_hash_file, "w", encoding="utf-8") as f: + f.write(json.dumps({self.app_file.as_posix(): current_hash}, indent=2)) + + # Calculate the list_crc_64_bits + logging.info( + "Calculating CRC table for '%s' (takes some time...)", self.app_file + ) + + list_csv = [] + list_name = [""] + list(self.crc_table_column_idx.keys()) + list_csv.append(list_name) + crc_64_bits = 0 + for i_data_in_8_bytes in range(self.len_of_program_in_8_bytes): + if i_data_in_8_bytes % 1000 == 0: + logging.info( + "CRC table calculation: %.0f%%", + int((i_data_in_8_bytes / self.len_of_program_in_8_bytes) * 100), + ) + data_64_bits = int.from_bytes( + self.byte_array[ + i_data_in_8_bytes * NUM_OF_BYTES_IN_8_BYTES : ( + i_data_in_8_bytes + 1 + ) + * NUM_OF_BYTES_IN_8_BYTES + ], + "big", + ) + crc_64_bits = generate_crc_64_for_tms570_on_board_crc_calculation( + data_64_bits=data_64_bits, crc_64_bits=crc_64_bits + ) + list_csv.append( + [ + f"{i_data_in_8_bytes}", + f"{hex(data_64_bits)}", + f"{hex(crc_64_bits)}", + f"{data_64_bits}", + f"{crc_64_bits}", + ] + ) + logging.info("CRC table calculation: 100%") + + # Create a Numpy array from the list of CRC + crc64 = np.array(list_csv) + np.savetxt(self.crc64_table_file, crc64, delimiter=",", fmt="%s") + + return crc64 + + def get_crc_and_data_by_index(self, index_of_8_bytes: int) -> Tuple[int, int]: + """Get the CRC signature and data in 64 bits from the CRC table array + based on the index. + + Args: + index_of_8_bytes: index of the CRC table array + + Returns: + TBD + """ + + # Check if the data is the same as current byte array + if int(self.array_csv[index_of_8_bytes + 1][1], 16) != int( + self.byte_array[ + index_of_8_bytes * NUM_OF_BYTES_IN_8_BYTES : (index_of_8_bytes + 1) + * NUM_OF_BYTES_IN_8_BYTES + ].hex(), + 16, + ): + sys.exit( + "The data in byte_array does not match the one in array_csv, " + "the CRC table might be outdated." + ) + + return int( + self.array_csv[index_of_8_bytes + 1][ + self.crc_table_column_idx["crc_64_bits_hex"] + ], + 16, + ), int( + self.array_csv[index_of_8_bytes + 1][ + self.crc_table_column_idx["data_64_bits_hex"] + ], + 16, + ) + + @staticmethod + def _check_app_size(app_size_input: int) -> bool: + """Check if the size of app is valid. + + In the C code part of the bootloader, during data transmission, + the CRC calculation will be executed for each sector (using the + result of the previous CRC calculation as the initial value). + The final CRC calculation result will be stored in the flash of the + MCU. + Before running the application, a new CRC calculation will be + performed on the entire size of the application memory, and the result + will be compared with the stored CRC signature from the data + transmission. + The application will only run if the calculated CRCs match. + Due to this validation process, the size of the application needs to be + the sum of the sector sizes. + + Args: + app_size_input: the size of application that needs to be checked. + Returns: + True if the app size is valid, False otherwise. + """ + app_size = 0 + for flash_sector in APP_MEMORY_MAP: + app_size += flash_sector.size_in_bytes + if app_size == app_size_input: + return True + return False + + @staticmethod + def get_data64_vector_table(byte_array_vector_table: bytearray) -> list[int]: + """Convert byte array of vector table to list of integer. + + Args: + byte_array_vector_table: byte array of vector table + + Returns: + list of integers + """ + data64_vector_table = [] + for i in range(4): + data64 = int.from_bytes(byte_array_vector_table[i * 8 : (i + 1) * 8], "big") + data64_vector_table.append(data64) + return data64_vector_table + + @staticmethod + def fill_byte_array_with_app_size( + byte_array: bytearray, app_size: int + ) -> bytearray: + """Fill a byte array to a certain size. + + Args: + byte_array: byte array to be filled + app_size: size of the app + + Returns: + new byte array with the given size + """ + while len(byte_array) < app_size: + byte_array.append(0) + + if len(byte_array) > app_size: + byte_array = byte_array[:app_size] + + return byte_array diff --git a/cli/cmd_bootloader/bootloader_can.py b/cli/cmd_bootloader/bootloader_can.py new file mode 100755 index 00000000..6323a4bb --- /dev/null +++ b/cli/cmd_bootloader/bootloader_can.py @@ -0,0 +1,412 @@ +#!/usr/bin/env python3 +# +# Copyright (c) 2010 - 2024, Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V. +# All rights reserved. +# +# SPDX-License-Identifier: BSD-3-Clause +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# +# 1. Redistributions of source code must retain the above copyright notice, this +# list of conditions and the following disclaimer. +# +# 2. Redistributions in binary form must reproduce the above copyright notice, +# this list of conditions and the following disclaimer in the documentation +# and/or other materials provided with the distribution. +# +# 3. Neither the name of the copyright holder nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +# We kindly request you to use one or more of the following phrases to refer to +# foxBMS in your hardware, software, documentation or advertising materials: +# +# - "This product uses parts of foxBMS®" +# - "This product includes parts of foxBMS®" +# - "This product is derived from foxBMS®" + +"""This file implement the can module (CanInterface) to communicate with +bootloader in a higher level.""" + +import logging +import time +from enum import Enum +from typing import Optional, Tuple, Union, cast + +from can import BusABC +from can.interfaces.pcan import PcanBus +from can.interfaces.virtual import VirtualBus + +from ..helpers.misc import APP_DBC_FILE +from .bootloader import BootloaderInterface +from .bootloader_can_basics import BootloaderCanBasics +from .bootloader_can_messages import ( + AcknowledgeMessage, + AcknowledgeMessageType, + BootFsmState, + CanFsmState, + RequestCode, + StatusCode, + YesNoAnswer, +) + + +class BootloaderInterfaceCan(BootloaderInterface): + """ + This class implements all CAN relevant functions and can be used to wait " + or receive specified messages on CAN bus. + """ + + def __init__(self, can_bus: Union[VirtualBus, PcanBus, BusABC]): + """Init function. + + Args: + can_bus: CAN bus object + """ + self.can = BootloaderCanBasics(can_bus=can_bus) + + def send_crc( + self, crc_8_bytes: int, is_crc_of_vector_table: bool = False + ) -> Tuple[bool, bool]: + """Send crc signature to bootloader and get the feedback from bootloader. + + Args: + crc_8_bytes: maximal 0xffffffffffffffff. + is_crc_of_vector_table: True if it is the crc of vector table. + + Returns: + True, if a ACK message has been received. + True, if the YesNoAnswer is "Yes". + """ + self.can.send_crc_to_bootloader(crc_8_bytes) + if is_crc_of_vector_table: + ack_crc_msg = self.can.wait_can_ack_msg( + AcknowledgeMessage.ReceivedCrcOfVectorTable, + timeout_total=120, + timeout_ack=30, + ) + else: + ack_crc_msg = self.can.wait_can_ack_msg( + AcknowledgeMessage.Received8BytesCrc, timeout_total=120, timeout_ack=30 + ) + if not ack_crc_msg: + logging.error("Cannot receive ACK message.") + return False, False + is_crc_valid = ack_crc_msg["YesNoAnswer"] == "Yes" + if is_crc_valid: + logging.debug("Successfully send 8 bytes crc to bootloader.") + else: + logging.debug("The validation for this sector failed.") + return True, is_crc_valid + + def send_program_info( + self, + len_of_program_in_bytes: int, + num_of_transfer_loops: int, + ) -> bool: + """Send program info to bootloader and check its states. + + Args: + len_of_program_in_bytes: the length of the program in bytes. + num_of_transfer_loops: the number of total transfer loops. + + Returns: + True if bootloader has received info, False otherwise. + """ + logging.debug("Start sending program info to bootloader ...") + self.can.send_transfer_program_info_to_bootloader( + len_of_program_in_bytes=len_of_program_in_bytes, + num_of_transfer_loops=num_of_transfer_loops, + ) + + msg = self.can.wait_can_ack_msg(AcknowledgeMessage.ReceivedProgramInfo) + if not msg: + logging.error( + "Cannot receive the ACK message containing 'ReceivedAndProcessed'." + ) + return False + + if msg["YesNoAnswer"] != YesNoAnswer.Yes.name: + logging.error( + "The program info is not valid, check if the program length " + "is larger than the maximum and/or if the " + "num_of_transfer_loops is correct." + ) + return False + + can_fsm_state, _ = self.get_bootloader_state() + if can_fsm_state != CanFsmState.CanFsmStateWaitForDataLoops.name: + logging.error( + "Cannot change the state of CAN module to wait for data loops." + ) + return False + logging.debug("Successfully start the transfer process on bootloader.") + return True + + def send_loop_number_to_bootloader(self, num_of_loop: int) -> None: + """Send the current loop number of the to-be-transferred data to + bootloader. + + Args: + num_of_loop: the current loop number (starting from 1). + """ + return self.can.send_loop_number_to_bootloader(num_of_loop=num_of_loop) + + def send_data_to_bootloader(self, data_8_bytes: int) -> None: + """Send data in 8 bytes to bootloader. + + Args: + data_8_bytes: data in 8 bytes. + """ + self.can.send_data_to_bootloader(data_8_bytes=data_8_bytes) + + def wait_can_ack_msg( + self, + acknowledge_msg: Enum, + timeout_total: float = 1.0, + timeout_ack: float = 0.3, + processed_level: Enum = StatusCode.ReceivedAndProcessed, + ) -> Optional[AcknowledgeMessageType]: + """Wait for a certain ACK message. + + Args: + acknowledge_msg: the type of ACK message. + timeout_total: total time to wait. + timeout_ack: time to wait for a single message. + processed_level: the ACK message needs to have at least this + processed_level. + + Returns: + acknowledged message from bootloader + """ + + return self.can.wait_can_ack_msg( + acknowledge_msg=acknowledge_msg, + timeout_total=timeout_total, + timeout_ack=timeout_ack, + processed_level=processed_level, + ) + + def start_transfer(self) -> bool: + """Inform bootloader to start the transfer program process. + + Returns: + True if the bootloader has successfully started the process, False + otherwise. + """ + logging.debug( + "Send request to start CAN communication to transfer the program..." + ) + self.can.send_request_to_bootloader(RequestCode.CmdToTransferProgram) + if not self.can.wait_can_ack_msg( + AcknowledgeMessage.ReceivedCmdToTransferProgram + ): + logging.error( + "Cannot receive the ACK message to start transferring the program." + ) + return False + can_fsm_state, _ = self.get_bootloader_state() + if can_fsm_state != CanFsmState.CanFsmStateWaitForInfo.name: + logging.error( + "Cannot set the CAN FSM state of the bootloader to %s.", + CanFsmState.CanFsmStateWaitForInfo.name, + ) + return False + logging.debug("Successfully started the transfer process on the bootloader.") + return True + + def reset_bootloader( + self, time_to_wait: float = 15.0, num_of_repeat: int = 5 + ) -> bool: + """Reset bootloader. + + Args: + time_to_wait: time to wait for bootloader to reset itself. + + Returns: + True if the bootloader has been successfully reset, False + otherwise. + """ + logging.debug("Sending request to bootloader to reset boot process ...") + self.can.send_request_to_bootloader(RequestCode.CmdToResetBootProcess) + if not self.can.wait_can_ack_msg( + AcknowledgeMessage.ReceivedCmdToResetBootProcess, + processed_level=StatusCode.ReceivedAndInProcessing, + timeout_total=10, + timeout_ack=1, + ): + logging.error("Cannot receive ACK message to reset boot process.") + return False + time.sleep(time_to_wait) + + for _ in range(num_of_repeat): + can_fsm_state, boot_fsm_state = self.get_bootloader_state() + if can_fsm_state: + break + time.sleep(1) + + logging.debug( + "can_fsm_state: %s, boot_fsm_state: %s", can_fsm_state, boot_fsm_state + ) + current_num_of_loops = self.get_current_num_of_loops() + if ( + (can_fsm_state != CanFsmState.CanFsmStateNoCommunication.name) + or (boot_fsm_state != BootFsmState.BootFsmStateWait.name) + or (current_num_of_loops != 0) + ): + logging.error("Bootloader cannot be successfully reset.") + return False + logging.debug("Successfully reset bootloader.") + return True + + def run_app_on_bootloader(self) -> bool: + """Run the BMS application on the BMS-Master (i.e., jump from the + bootloader into the application via BMS state request.) + + Returns: + True if the application has been started successfully, + False otherwise. + """ + logging.info("Sending request to run application...") + self.can.send_request_to_bootloader(RequestCode.CmdToRunProgram) + if not self.can.wait_can_ack_msg( + AcknowledgeMessage.ReceivedCmdToRunProgram, + processed_level=StatusCode.ReceivedAndInProcessing, + ): + logging.error("Did not receive ACK message to run application.") + return False + # Check if there is validated program available + msg_ack = self.can.wait_can_ack_msg( + AcknowledgeMessage.ReceivedCmdToRunProgram, + timeout_total=5, + timeout_ack=0.3, + processed_level=StatusCode.ReceivedAndProcessed, + ) + if not msg_ack: + logging.error( + "Did not receive ACK message with program availability message.\n" + "There might be no application program available on the BMS-Master." + ) + return False + + if msg_ack["YesNoAnswer"] != YesNoAnswer.Yes.name: + logging.error("There is no valid program available on the BMS.") + return False + + logging.info( + "There is a validated program available on the BMS-Master.\n" + "Jumping into application..." + ) + time.sleep(2) + logging.info( + "Successfully informed bootloader to run the BMS application.\n" + "Checking if the application is running..." + ) + bms_state = self.get_foxbms_state() + if not bms_state: + logging.error("Could not jump into the application.") + return False + logging.info( + "Successfully jumped into the application. foxBMS status: %s ", + bms_state, + ) + return True + + def get_foxbms_state(self) -> Optional[str]: + """Get the current state of foxBMS application if it is running. + + Returns: + None if no application is running, otherwise the current bms state. + """ + msg = None + bms_state = None + msg = self.can.wait_can_message( + arbitration_id=0x220, + dbc_file=APP_DBC_FILE, + timeout_total=15, + timeout_bus_recv=0.1, + ) + if msg: + bms_state = cast(dict, msg)["BmsState"] + return bms_state + + def get_bootloader_state(self) -> Tuple[Optional[str], Optional[str]]: + """Ask bootloader for its current state. + + Returns: + CanFsmState, BootFsmState. + """ + logging.debug("Sending request to bootloader to get bootloader states...") + self.can.send_request_to_bootloader(RequestCode.CmdToGetBootloaderInfo) + msg_bootloader_fsm_states = self.can.wait_bootloader_state_msg() + if msg_bootloader_fsm_states: + can_fsm_state = msg_bootloader_fsm_states["CanFsmState"] + boot_fsm_state = msg_bootloader_fsm_states["BootFsmState"] + logging.debug( + "can_fsm_state: %s, boot_fsm_state: %s", can_fsm_state, boot_fsm_state + ) + return can_fsm_state, boot_fsm_state + logging.error("Cannot get the state of bootloader.") + return None, None + + def get_current_num_of_loops(self) -> Optional[int]: + """Ask the bootloader to get its current number of data transfer loops. + + Returns: + The current number of data transfer loops on bootloader. + """ + logging.debug("Sending request to bootloader to ask for number of loops...") + self.can.send_request_to_bootloader(RequestCode.CmdToGetDataTransferInfo) + msg_data_transfer_info = self.can.wait_data_transfer_info_msg() + if msg_data_transfer_info: + current_num_of_loops = msg_data_transfer_info["CurrentLoopNumber"] + logging.debug("current_num_of_loops: %d", current_num_of_loops) + return current_num_of_loops + logging.error( + "Cannot get the current number of data transfer loops of bootloader." + ) + return None + + def get_bootloader_version_num( + self, + ) -> Tuple[Optional[int], Optional[int], Optional[int]]: + """Get the bootloader's version number. + + Returns: + Current version number (MajorVersionNumber, MinorVersionNumber, + PatchVersionNumber) of the bootloader. + """ + logging.debug("Sending request to bootloader to ask for the version number...") + self.can.send_request_to_bootloader(RequestCode.CmdToGetVersionInfo) + + msg_bootloader_version_info = self.can.wait_bootloader_version_info_msg() + + if msg_bootloader_version_info: + major_version_number = msg_bootloader_version_info["MajorVersionNumber"] + minor_version_number = msg_bootloader_version_info["MinorVersionNumber"] + patch_version_number = msg_bootloader_version_info["PatchVersionNumber"] + + logging.debug( + "The version number of bootloader: %d.%d.%d", + major_version_number, + minor_version_number, + patch_version_number, + ) + return major_version_number, minor_version_number, patch_version_number + + logging.error( + "Cannot get the current number of data transfer loops of bootloader." + ) + return None, None, None diff --git a/cli/cmd_bootloader/bootloader_can_basics.py b/cli/cmd_bootloader/bootloader_can_basics.py new file mode 100755 index 00000000..f710c5cd --- /dev/null +++ b/cli/cmd_bootloader/bootloader_can_basics.py @@ -0,0 +1,306 @@ +#!/usr/bin/env python3 +# +# Copyright (c) 2010 - 2024, Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V. +# All rights reserved. +# +# SPDX-License-Identifier: BSD-3-Clause +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# +# 1. Redistributions of source code must retain the above copyright notice, this +# list of conditions and the following disclaimer. +# +# 2. Redistributions in binary form must reproduce the above copyright notice, +# this list of conditions and the following disclaimer in the documentation +# and/or other materials provided with the distribution. +# +# 3. Neither the name of the copyright holder nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +# We kindly request you to use one or more of the following phrases to refer to +# foxBMS in your hardware, software, documentation or advertising materials: +# +# - "This product uses parts of foxBMS®" +# - "This product includes parts of foxBMS®" +# - "This product is derived from foxBMS®" + +"""This file implement the basic functions of CAN module (CanInterface) to send +and receive bootloader relevant CAN messages via CAN bus.""" + +import logging +import sys +import time +from enum import Enum +from pathlib import Path +from typing import Optional, Union, cast + +import can +from can.interfaces.pcan import PcanBus +from can.interfaces.virtual import VirtualBus +from cantools import database +from cantools.typechecking import DecodeResultType, SignalDictType + +from ..helpers.misc import BOOTLOADER_DBC_FILE +from .bootloader_can_messages import ( + AcknowledgeMessageType, + BootloaderFsmStatesType, + BootloaderVersionInfoType, + DataTransferInfoType, + Messages, + StatusCode, +) + + +class BootloaderCanBasics: + """ + This class implements all CAN relevant functions and can be used to wait or + receive specified messages on CAN bus. + """ + + def __init__( + self, + can_bus: Union[VirtualBus, PcanBus, can.BusABC], + dbc_file: Path = BOOTLOADER_DBC_FILE, + ): + """Init function. + + Args: + can_bus: CAN bus object + """ + if not dbc_file.is_file(): + sys.exit(f"File '{dbc_file}' does not exist.") + db = database.load_file(dbc_file) + self.db = cast(database.can.database.Database, db) + self.can_bus = can_bus + self.messages = Messages() + + # pylint: disable=too-many-arguments,too-many-positional-arguments + def wait_can_message( + self, + arbitration_id: int, + dbc_file: Optional[Path] = None, + mux_value: Optional[str] = None, + params: Optional[dict] = None, + timeout_total: float = 1.0, + timeout_bus_recv: float = 1.0, + ) -> Optional[DecodeResultType]: + """This function wait for a specified CAN message. + Args: + arbitration_id: id of the CAN message e.g., 0x480 + params: a dictionary that contains the variable name + and its value to be filtered. e.g., {'AcknowledgeFlag':'Received'}. + In this case, a message (with the required arbitration_id) will + be thrown away if the value of 'AcknowledgeFlag' is different + from 'Received'. + timeout_total: the time limit [s] for the whole waiting process. + timeout_bus_recv: the time limit [s] to receive one message. + + Returns: + The waited message, which value will be replaced with a string of + enums if it is defined in the dbc file. + """ + + if not dbc_file: + db = self.db + else: + if not dbc_file.is_file(): + sys.exit(f"File '{dbc_file}' does not exist.") + else: + db = database.load_file(dbc_file) + + if not params: + params = {} + goto_next_message = False + start_time = time.time() + while (not timeout_total) or (time.time() - start_time <= timeout_total): + message = self.can_bus.recv(timeout=timeout_bus_recv) + if (message is not None) and (message.arbitration_id == arbitration_id): + msg = db.decode_message(message.arbitration_id, message.data) + msg = cast(SignalDictType, msg) + if mux_value: + # Exit in advance if mux value does not match + mux_key_name = list(msg.keys())[0] + if "_Mux" not in mux_key_name: + return None + if msg[mux_key_name] != mux_value: + return None + msg.pop(mux_key_name) + for key in params.keys(): + if key in msg.keys(): + if msg[key] != params[key]: + goto_next_message = True + break + if goto_next_message: + goto_next_message = False + continue + logging.debug("Received message: %s", msg) + return msg + return None + + def send_can_message_to_bootloader(self, *args: dict) -> None: + """The function is to send any CAN messages contained in the dbc file. + + Args: + *args: list of CAN messages to be sent. + """ + # Send message on the bus + for msg in args: + msg_name = msg["Name"] + msg.pop("Name") + logging.debug("Sending CAN message: '%s': '%s'", msg_name, msg) + message = self.db.get_message_by_name(msg_name) + data = message.encode(msg) + message_send = can.Message( + arbitration_id=message.frame_id, data=data, is_extended_id=False + ) + try: + self.can_bus.send(message_send) + logging.debug("Message sent on '%s'.", self.can_bus.channel_info) + except can.CanError as e: + logging.error("'%s', message not sent.", e) + + def send_request_to_bootloader(self, request_code: Enum) -> None: + """The function is to send a request CAN message to bootloader. + + Args: + request_code: a member of the enum RequestCode. + """ + self.send_can_message_to_bootloader( + self.messages.get_message_request_msg(request_code) + ) + + def send_data_to_bootloader(self, data_8_bytes: int) -> None: + """The function is to send a data CAN message (8 bytes) to bootloader. + + Args: + data_8_bytes: maximal 0xffffffffffffffff. + """ + self.send_can_message_to_bootloader( + self.messages.get_message_data_8_bytes(data_8_bytes) + ) + + def send_crc_to_bootloader(self, crc_8_bytes: int) -> None: + """The function is to send a CRC CAN message (8 bytes) to bootloader. + + Args: + crc_8_bytes: maximal 0xffffffffffffffff. + """ + self.send_can_message_to_bootloader( + self.messages.get_message_crc_8_bytes(crc_8_bytes) + ) + + def send_transfer_program_info_to_bootloader( + self, len_of_program_in_bytes: int, num_of_transfer_loops: int + ) -> None: + """The function is to send a transfer process info CAN message to the + bootloader. + + Args: + len_of_program: the length of the program in bytes. + num_of_transfer_loops: the number of total transfer loops. + """ + # len_of_program: check int value (uint32 max?) + self.send_can_message_to_bootloader( + self.messages.get_message_transfer_program_info( + len_of_program_in_bytes, num_of_transfer_loops + ) + ) + + def send_loop_number_to_bootloader(self, num_of_loop: int) -> None: + """Send loop number CAN message to bootloader. + + Args: + num_of_loop: the number of data transfer loops. + """ + # num_of_loop: check int value (uint16 max?) + self.send_can_message_to_bootloader( + self.messages.get_message_loop_info(num_of_loop) + ) + + def wait_bootloader_state_msg(self) -> Optional[BootloaderFsmStatesType]: + """Waits for the CAN messages containing the state of bootloader. + + Returns: + CAN message containing FSM states of bootloader. + """ + arbitration_id_bootloader_fsm_states = self.db.get_message_by_name( + "f_BootloaderFsmStates" + ).frame_id + msg = self.wait_can_message(arbitration_id_bootloader_fsm_states) + msg_bootloader_fsm_states = cast(BootloaderFsmStatesType, msg) + return msg_bootloader_fsm_states + + def wait_data_transfer_info_msg(self) -> Optional[DataTransferInfoType]: + """This function is to wait for the messages contain the information of the data transfer. + + Returns: + CAN message containing data transfer info (the current loop number). + """ + arbitration_id_data_transfer_info = self.db.get_message_by_name( + "f_DataTransferInfo" + ).frame_id + msg = self.wait_can_message(arbitration_id_data_transfer_info) + msg_data_transfer_info = cast(DataTransferInfoType, msg) + return msg_data_transfer_info + + def wait_bootloader_version_info_msg(self) -> Optional[BootloaderVersionInfoType]: + """This function is to wait for the messages contain the version information + of the bootloader. + + Returns: + CAN message containing data transfer info (the current loop number). + """ + arbitration_id_bootloader_version_info = self.db.get_message_by_name( + "f_BootloaderVersionInfo" + ).frame_id + msg = self.wait_can_message( + arbitration_id_bootloader_version_info, mux_value="BootloaderVersionInfo" + ) + msg_bootloader_version_info = cast(BootloaderVersionInfoType, msg) + return msg_bootloader_version_info + + def wait_can_ack_msg( + self, + acknowledge_msg: Enum, + timeout_total: float = 1.0, + timeout_ack: float = 0.3, + processed_level: Enum = StatusCode.ReceivedAndProcessed, + ) -> Optional[AcknowledgeMessageType]: + """Wait for a certain CAN acknowledge message + + Args: + acknowledge_msg: the type of ACK message + timeout_total: total time to wait + timeout_ack: time to wait for a single message + processed_level: the ACK message need to have at least this + processed_level + + Returns: + acknowledged message + """ + start_time = time.time() + while time.time() - start_time <= timeout_total: + message = self.can_bus.recv(timeout=timeout_ack) + if message and (message.arbitration_id == 0x480): + msg = self.db.decode_message(message.arbitration_id, message.data) + msg_ack = cast(AcknowledgeMessageType, msg) + if ( + (msg_ack["AcknowledgeFlag"] == "Received") + and (msg_ack["AcknowledgeMessage"] == acknowledge_msg.name) + and msg_ack["StatusCode"] == processed_level.name + ): + return msg_ack + return None diff --git a/cli/cmd_bootloader/bootloader_can_messages.py b/cli/cmd_bootloader/bootloader_can_messages.py new file mode 100755 index 00000000..46c26372 --- /dev/null +++ b/cli/cmd_bootloader/bootloader_can_messages.py @@ -0,0 +1,264 @@ +#!/usr/bin/env python3 +# +# Copyright (c) 2010 - 2024, Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V. +# All rights reserved. +# +# SPDX-License-Identifier: BSD-3-Clause +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# +# 1. Redistributions of source code must retain the above copyright notice, this +# list of conditions and the following disclaimer. +# +# 2. Redistributions in binary form must reproduce the above copyright notice, +# this list of conditions and the following disclaimer in the documentation +# and/or other materials provided with the distribution. +# +# 3. Neither the name of the copyright holder nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +# We kindly request you to use one or more of the following phrases to refer to +# foxBMS in your hardware, software, documentation or advertising materials: +# +# - "This product uses parts of foxBMS®" +# - "This product includes parts of foxBMS®" +# - "This product is derived from foxBMS®" + +"""This file contains all enums of CAN messages and functions to get specfied +can messages in dict. The members of the Enum classes that end with 'Str' have +the string type of value.""" + +import sys +from enum import Enum +from pathlib import Path +from typing import Optional, TypedDict, cast + +import cantools +import cantools.database + +from ..helpers.misc import BOOTLOADER_DBC_FILE + + +def extract_enum_from_dbc_file( + enum_name: str, dbc_file: Path = BOOTLOADER_DBC_FILE +) -> Optional[Enum]: + """Extract enum from the dbc file. + + Args: + dbc_file: .dbc file where the definition of CAN messages are saved. + enum_name: the name of the enum. + + Returns: + enum with the name of the enum. + """ + + # Load the DBC file + if not dbc_file.is_file(): + sys.exit(f"The input '{dbc_file}' is not a file.") + + db = cantools.database.load_file(dbc_file) + db = cast(cantools.database.can.database.Database, db) + # Loop through all messages to find the right one with right signal name + for message in db.messages: + for signal in message.signals: + if signal.name == enum_name: + if not signal.choices: + sys.exit(f"There is no enum for signal '{enum_name}'.") + choices = {str(value): key for key, value in signal.choices.items()} + dynamic_enum = Enum(enum_name, choices) + return dynamic_enum + + # If no such message available + sys.exit(f"Cannot find signal '{enum_name}' in the dbc file.") + + +# Extracted enums from dbc file +YesNoAnswer = extract_enum_from_dbc_file("YesNoAnswer") +AcknowledgeFlag = extract_enum_from_dbc_file("AcknowledgeFlag") +AcknowledgeMessage = extract_enum_from_dbc_file("AcknowledgeMessage") +StatusCode = extract_enum_from_dbc_file("StatusCode") +RequestCode = extract_enum_from_dbc_file("RequestCode8Bits") +CanFsmState = extract_enum_from_dbc_file("CanFsmState") +BootFsmState = extract_enum_from_dbc_file("BootFsmState") + + +class AcknowledgeMessageType(TypedDict): + """This class specify the type of the received acknowledge message.""" + + AcknowledgeFlag: str + AcknowledgeMessage: str + StatusCode: str + YesNoAnswer: str + + +class DataTransferInfoType(TypedDict): + """This class specify the type of the received data transfer info message.""" + + CurrentLoopNumber: int + + +class BootloaderVersionInfoType(TypedDict): + """This class specify the type of the received bootloader version info message.""" + + DirtyFlag: int + MajorVersionNumber: int + MinorVersionNumber: int + PatchVersionNumber: int + ReleaseDistance: int + ReleaseDistanceOverflow: int + UnderVersionControl: int + + +class BootloaderFsmStatesType(TypedDict): + """This class specify the type of the bootloader FSM states.""" + + CanFsmState: str + BootFsmState: str + + +class Messages: + """This class provides the methods to get valid messages""" + + def __init__(self, dbc_file: Path = BOOTLOADER_DBC_FILE): + if not dbc_file.is_file(): + sys.exit(f"The provided dbc file '{dbc_file}' does not exist.") + + db = cantools.database.load_file(dbc_file) + self.db = cast(cantools.database.can.database.Database, db) + self.message_names = [ + message.name for message in getattr(self.db, "messages", []) + ] + if not self.message_names: + sys.exit("There are no messages in the database file.") + + def _get_message(self, name: str, **kwargs): + """Get valid CAN message. + + Args: + name: name of this CAN message. + + Returns: + A valid CAN message. + """ + if name in self.message_names: + can_message = self.db.get_message_by_name(name) + else: + sys.exit( + f"The name of message '{name}' cannot be found in the CAN database." + ) + message = {} + message["Name"] = name + signal_names = [signal.name for signal in can_message.signals] + for key, value in kwargs.items(): + if key in signal_names: + signal = can_message.get_signal_by_name(key) + if not self._check_range(signal, value): + sys.exit(f"The value of the signal '{key}' is out of range.") + if not self._check_enum(signal, value): + sys.exit( + f"The value of the signal '{key}' is not in the " + "corresponding enum." + ) + message[key] = value + else: + sys.exit(f"Cannot find the signal '{key}' in CAN message '{name}'.") + return message + + def _check_range( + self, signal: cantools.database.can.signal.Signal, signal_value: float + ): + """Check if the CAN signal value is in its range. + + Args: + signal: signal of the CAN message. + signal_value: CAN signal value to be checked. + + Returns: + True if the CAN signal value is in range. + """ + if (signal_value > cast(float, signal.maximum)) or ( + signal_value < cast(float, signal.minimum) + ): + return False + return True + + def _check_enum( + self, signal: cantools.database.can.signal.Signal, signal_value: int + ): + """Check if the CAN signal value is one of its enum values, + if this signal has enum. + + Args: + signal: signal of the CAN message. + signal_value: the signal value to be checked. + + Returns: + True if either the CAN signal does not have enum or the signal + value is one of the enum values. + """ + if signal.choices: + choices = [key for key, _ in signal.choices.items()] + if signal_value not in choices: + return False + return True + + def get_message_request_msg(self, request_code: Enum) -> dict: + """Get request CAN message for sending. + + Returns: + dict: message. + """ + return self._get_message( + name="f_BootloaderActionRequest", RequestCode8Bits=request_code.value + ) + + def get_message_transfer_program_info( + self, len_of_program_in_bytes: int, num_of_transfer_loops: int + ) -> dict: + """Get transfer program info CAN message for sending. + + Returns: + dict: a CAN message. + """ + return self._get_message( + name="f_TransferProcessInfo", + ProgramLength=len_of_program_in_bytes, + RequiredTransferLoops=num_of_transfer_loops, + ) + + def get_message_data_8_bytes(self, data_8_bytes: int) -> dict: + """Get data 8 bytes CAN message for sending. + + Returns: + dict: message. + """ + return self._get_message(name="f_Data8Bytes", Data=data_8_bytes) + + def get_message_crc_8_bytes(self, crc_8_bytes: int) -> dict: + """Get CRC 8 bytes CAN message for sending. + + Returns: + dict: message. + """ + return self._get_message(name="f_Crc8Bytes", Crc=crc_8_bytes) + + def get_message_loop_info(self, num_of_loop: int) -> dict: + """Get loop info CAN message for sending. + + Returns: + dict: message. + """ + return self._get_message(name="f_LoopInfo", LoopNumber=num_of_loop) diff --git a/cli/cmd_bootloader/bootloader_impl.py b/cli/cmd_bootloader/bootloader_impl.py new file mode 100755 index 00000000..a5c246f7 --- /dev/null +++ b/cli/cmd_bootloader/bootloader_impl.py @@ -0,0 +1,122 @@ +#!/usr/bin/env python3 +# +# Copyright (c) 2010 - 2024, Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V. +# All rights reserved. +# +# SPDX-License-Identifier: BSD-3-Clause +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# +# 1. Redistributions of source code must retain the above copyright notice, this +# list of conditions and the following disclaimer. +# +# 2. Redistributions in binary form must reproduce the above copyright notice, +# this list of conditions and the following disclaimer in the documentation +# and/or other materials provided with the distribution. +# +# 3. Neither the name of the copyright holder nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +# We kindly request you to use one or more of the following phrases to refer to +# foxBMS in your hardware, software, documentation or advertising materials: +# +# - "This product uses parts of foxBMS®" +# - "This product includes parts of foxBMS®" +# - "This product is derived from foxBMS®" + +"""Implements the functionalities behind the 'bootloader' command""" + +import logging +from pathlib import Path +from typing import Optional + +import can + +from ..helpers.misc import FOXBMS_BIN_FILE +from .bootloader import Bootloader, CanBusConfig +from .bootloader_can import BootloaderInterfaceCan + + +def check_bootloader(bus_cfg: CanBusConfig | Bootloader) -> int: + """Check the status of bootloader""" + if isinstance(bus_cfg, Bootloader): + logging.debug("Checking if the bootloader is online...") + if not bus_cfg.check_target(): + return 2 + logging.info("Bootloader is running.") + return 0 + if isinstance(bus_cfg, CanBusConfig): + with can.Bus(**bus_cfg.as_dict()) as can_bus: + interface = BootloaderInterfaceCan(can_bus=can_bus) + bd = Bootloader(interface=interface, path_app_binary=None) + logging.debug("Checking if the bootloader is online...") + if not bd.check_target(): + logging.error("Checking the status of bootloader not successful.") + return 1 + logging.info("Bootloader is running.") + return 0 + else: + logging.error("Invalid bootloader configuration.") + return 99 + + +def run_app(bus_cfg: CanBusConfig) -> int: + """Send command to bootloader to run the application.""" + with can.Bus(**bus_cfg.as_dict()) as can_bus: + interface = BootloaderInterfaceCan(can_bus=can_bus) + bd = Bootloader(interface=interface, path_app_binary=None) + if check_bootloader(bd): + return 1 + logging.debug("Running the application...") + if not bd.run_app(): + logging.error("Running the application was not successful.") + return 2 + logging.info("Application is running.") + return 0 + + +def reset_bootloader(bus_cfg: CanBusConfig) -> int: + """Send command to reset bootloader.""" + with can.Bus(**bus_cfg.as_dict()) as can_bus: + interface = BootloaderInterfaceCan(can_bus=can_bus) + bd = Bootloader(interface=interface, path_app_binary=None) + if check_bootloader(bd): + return 1 + logging.debug("Resetting bootloader ...") + if not bd.reset_bootloader(): + logging.error("Resetting bootloader was not successful.") + return 2 + logging.info("Successfully reset bootloader.") + return 0 + + +def load_app(bus_cfg: CanBusConfig, binary: Optional[Path]) -> int: + """Load a new binary on the target""" + with can.Bus(**bus_cfg.as_dict()) as can_bus: + if not binary: + binary = FOXBMS_BIN_FILE + interface = BootloaderInterfaceCan(can_bus=can_bus) + bd = Bootloader(interface=interface, path_app_binary=binary) + if check_bootloader(bd): + return 1 + logging.debug("Uploading application to target...") + if not bd.send_app_binary(): + logging.error( + "Sending the application binary to the bootloader was not successful." + ) + return 2 + logging.info("Successfully uploaded application to the target.") + return 0 diff --git a/cli/cmd_bootloader/crc64_ti_impl.py b/cli/cmd_bootloader/crc64_ti_impl.py new file mode 100755 index 00000000..7eb30080 --- /dev/null +++ b/cli/cmd_bootloader/crc64_ti_impl.py @@ -0,0 +1,113 @@ +#!/usr/bin/env python3 + +"""Implementation of the CRC64 Polynomial +x\\ :sup:`64` + x\\ :sup:`4` + x\\ :sup:`3` + x + 1 + +See the document (available at https://www.ti.com/lit/an/spna235/spna235.pdf) + +.. code-block:: text + + Texas Instruments + Application Report + SPNA235-August 2016 + Using the CRC Module on Herculesâ„¢-Based Microcontrollers + +and the accompanying linked software examples (available at +http://www.ti.com/lit/zip/spna235). + +The CRC function 'generate_crc_64_for_tms570_on_board_crc_calculation' is +implemented in Python based on the example code from 'CRC64_calc.c' +(which is part of http://www.ti.com/lit/zip/spna235). + +'CRC64_calc.c' is released under the following license: + +.. code-block:: c + + /* + * CRC64_calc.c + * + * Function to calculate CRC64 in software. + * + * Copyright (C) 2016 Texas Instruments Incorporated - http://www.ti.com/ + * + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the + * distribution. + * + * Neither the name of Texas Instruments Incorporated nor the names of + * its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +""" + + +def generate_crc_64_for_tms570_on_board_crc_calculation( + data_64_bits: int, crc_64_bits: int = 0 +) -> int: + """Python-port of the TI CRC64 implementation + x\\ :sup:`64` + x\\ :sup:`4` + x\\ :sup:`3` + x + 1 + + Args: + data_64_bits: 64-bit data that works as input data for crc calculation. + crc_64_bits: 64-bit crc signature that works as the root for crc + calculation. + + Returns: + generated CRC signature + """ + # Because of big endian, the lower 32-bit data/crc will be swapped with the + # higher 32-bit data/crc + crc_64_bits = (crc_64_bits >> 32) | ((crc_64_bits & 0xFFFFFFFF) << 32) + data_64_bits = (data_64_bits >> 32) | ((data_64_bits & 0xFFFFFFFF) << 32) + + mask_bits = 0xFFFFFFFFFFFFFFFF ^ ((1 << 0) | (1 << 1) | (1 << 3) | (1 << 4)) + + # Do crc calculation + next_crc = crc_64_bits + for i in range(63, -1, -1): + # Shift the whole crc without processing it one step left + body_next_crc = next_crc << 1 + + # Mask it with 0, 1, 3, 4 + mask_next_crc = body_next_crc & mask_bits + + # The first bit of th new crc + crc_bit_start = (next_crc >> 63) ^ ((data_64_bits >> i) & 1) + + # Calculate the bit to be filled in 1, 3, 4 + bit_one = crc_bit_start ^ ((next_crc >> 0) & 1) + bit_three = crc_bit_start ^ ((next_crc >> 2) & 1) + bit_four = crc_bit_start ^ ((next_crc >> 3) & 1) + + # Process it by xor the corresponding bits + next_crc = mask_next_crc | ( + (crc_bit_start << 0) | (bit_one << 1) | (bit_three << 3) | (bit_four << 4) + ) + + # Swap the crc_64_bits back + crc_64_bits = (next_crc >> 32) | ((next_crc & 0xFFFFFFFF) << 32) + + return crc_64_bits diff --git a/cli/cmd_build/__init__.py b/cli/cmd_build/__init__.py index 2271a78a..ecde1472 100755 --- a/cli/cmd_build/__init__.py +++ b/cli/cmd_build/__init__.py @@ -36,3 +36,5 @@ # - "This product uses parts of foxBMS®" # - "This product includes parts of foxBMS®" # - "This product is derived from foxBMS®" + +"""Implements the functionalities behind the 'waf' command""" diff --git a/cli/cmd_ci/__init__.py b/cli/cmd_ci/__init__.py index 2271a78a..a654c118 100755 --- a/cli/cmd_ci/__init__.py +++ b/cli/cmd_ci/__init__.py @@ -36,3 +36,5 @@ # - "This product uses parts of foxBMS®" # - "This product includes parts of foxBMS®" # - "This product is derived from foxBMS®" + +"""Implements the functionalities behind the 'ci' command""" diff --git a/cli/cmd_ci/check_ci_config.py b/cli/cmd_ci/check_ci_config.py index 6c9d0463..a68a6a74 100755 --- a/cli/cmd_ci/check_ci_config.py +++ b/cli/cmd_ci/check_ci_config.py @@ -40,24 +40,31 @@ """Checks that the GitLab CI configuration adheres to some rules""" import logging +import os import sys -from dataclasses import dataclass +from dataclasses import dataclass, field +from pathlib import Path import yaml +from click import secho -from ..helpers.ansi_colors import RED -from ..helpers.misc import PROJECT_ROOT, eprint +from ..helpers.misc import PROJECT_ROOT -CI_CONFIG = PROJECT_ROOT / ".gitlab-ci.yml" +CI_MAIN_CONFIG = PROJECT_ROOT / ".gitlab-ci.yml" +CI_PIPELINE_DIR = PROJECT_ROOT / ".gitlab/ci_pipeline" -@dataclass +@dataclass(order=True) class Stage: """container for stage""" + sort_index: int = field(init=False) name: str prefix: str + def __post_init__(self): + self.sort_index = self.name + class VerificationError: # pylint:disable=too-few-public-methods """Error class""" @@ -72,30 +79,104 @@ def log(self, msg) -> int: return self.error_level -def check_ci_config() -> int: - """Reads the '.gitlab-ci.yml' file and validates it""" - err = 0 - if not CI_CONFIG.is_file(): - eprint(f"File '{CI_CONFIG}' does not exist.", err=True, color=RED) - err += 1 - if err: - return err - with open(CI_CONFIG, encoding="utf-8") as f: +def read_config() -> dict: + """Reads the '.gitlab-ci.yml' file""" + with open(CI_MAIN_CONFIG, encoding="utf-8") as f: ci_config_txt = f.read() try: ci_config: dict = yaml.load(ci_config_txt, Loader=yaml.Loader) except yaml.YAMLError as exc: - sys.exit(f"{CI_CONFIG} is not a valid yaml file {exc}).") + sys.exit(f"{CI_MAIN_CONFIG} is not a valid yaml file {exc}).") + err = 0 + if "include" not in ci_config.keys(): + sys.exit(f"Expected 'include' key to be defined in '{CI_MAIN_CONFIG}'.") + + for included_yml in ci_config["include"]: + tmp = Path(included_yml["local"]) + if not tmp.is_file(): + err += 1 + logging.error("Could not find file '%s'.", tmp) + continue + + included_ci_config_txt = tmp.read_text(encoding="utf-8") + try: + included_ci_config: dict = yaml.load( + included_ci_config_txt, Loader=yaml.Loader + ) + except yaml.YAMLError as exc: + err += 1 + logging.error( + "'%s' is not a valid yaml file '%s'.", + included_yml["local"], + exc, + ) + continue + ci_config = {**ci_config, **included_ci_config} + # del ci_config["include"] + + if err: + sys.exit("Could not find some included file(s).") + return ci_config + +def get_stages(ci_config: dict) -> list[Stage]: + """Returns a list of stage objects""" stages = [ Stage(i, "".join([j[0] for j in i.split("_")])) for i in ci_config.get("stages", []) ] if not stages: sys.exit("Could not determine stages.") + return stages + + +def check_ci_config() -> int: # pylint:disable=too-many-branches + """Reads the '.gitlab-ci.yml' file and validates it.""" + if not CI_MAIN_CONFIG.is_file(): + secho(f"File '{CI_MAIN_CONFIG}' does not exist.", fg="reg", err=True) + return 1 + + ci_config = read_config() + + stages = get_stages(ci_config) + + tmp = [] + for i in stages: # configure is not an own file + if i.name != "configure": + tmp.append(i) + + stage_files = list(CI_PIPELINE_DIR.glob("*.yml")) + + if len(tmp) != len(stage_files): + secho( + f"Number of stages ({len(tmp)}) does not match the number " + f"stage files ({len(stage_files)}).", + fg="red", + err=True, + ) + return 1 + + if len(ci_config["include"]) != len(stage_files): + secho( + f"Number of included stages ({len(ci_config['include'])} does " + f"not match the number stage files {len(stage_files)}.", + fg="red", + err=True, + ) + secho( + f"included files: {os.linesep.join(sorted(i['local'] for i in ci_config['include']))}", + fg="red", + err=True, + ) + secho( + f"stage files: {os.linesep.join(sorted(i for i in stage_files))}", + fg="red", + err=True, + ) + return 1 # check that all job use the correct prefix - special_keys = ["variables", "workflow", "stages", "before_script"] + special_keys = ["variables", "workflow", "stages", "before_script", "include"] prefixes = tuple(f"{i.prefix}_" for i in stages) error = VerificationError() for k in ci_config.keys(): @@ -104,23 +185,37 @@ def check_ci_config() -> int: if not k.startswith(prefixes): error.log(f"Job '{k}' uses the wrong prefix.") - # all files that are listed in '.parallel-build-bin-and-spa' shall be - # gathered along with the respective binaries - parallel_build_bin_and_spa_artifact_strings = [] - for i in ci_config[".parallel-build-bin-and-spa-template"]["parallel"]["matrix"]: + if not ( + ci_config[".parallel-build_app_embedded-template"] + == ci_config[".parallel-build_app_spa-template"] + ): + err_msg = ( + "Error:The build matrix defined in\n" + f" {CI_PIPELINE_DIR / 'build_app_embedded.yml'}: " + "key '.parallel-build_app_embedded-template'\nand\n" + f" {CI_PIPELINE_DIR / 'static_program_analysis.yml'}: " + "key '.parallel-build_app_spa-template'\n" + "need to be equal." + ) + secho(err_msg, fg="red", err=True) + + # all files that are listed in '.parallel-build_app_embedded-and-spa' shall + # be gathered along with the respective binaries + parallel_build_app_embedded_and_spa_artifact_strings = [] + for i in ci_config[".parallel-build_app_embedded-template"]["parallel"]["matrix"]: artifact_parts = [] for _, v in i.items(): artifact_parts.append(str(v)) artifact_string = ", ".join(artifact_parts) - parallel_build_bin_and_spa_artifact_strings.append(artifact_string) + parallel_build_app_embedded_and_spa_artifact_strings.append(artifact_string) # construct expected binaries so that none is missed. # creating jobs are 'bb_all_config_variants' and 'spa_build' expected = [] - for i in parallel_build_bin_and_spa_artifact_strings: + for i in parallel_build_app_embedded_and_spa_artifact_strings: expected.extend( [ - f"bb_all_config_variants_0: [{i}]", + f"bae_all_config_variants: [{i}]", f"spa_build: [{i}]", ] ) @@ -131,7 +226,7 @@ def check_ci_config() -> int: ) # all testes that are run on the HIL shall be defined via the - # ".parallel-build-bin-and-spa" key. + # ".parallel-build_app_embedded-and-spa" key. # all HIL tests shall start with 'th_test', expect for the known helpers for k, v in ci_config.items(): if not k.startswith("th_"): @@ -147,18 +242,35 @@ def check_ci_config() -> int: error.log( f"The first entry for '{k}:needs:' shall be 'th_ensure_power_supply_is_off'.", ) - if len(needs) > 2: + + if k == "th_bootload_on_hardware_unit_tests": + if not needs[-1] == "bbe_tms570_on_hardware_unit_test": + error.log( + f"The last entry for '{k}:needs:' shall be 'bbe_tms570_on_hardware_unit_test'.", + ) + continue + if k == "th_flash_and_test_bootloader": + if not needs[-1] == "bbe_tms570": + error.log( + f"The last entry for '{k}:needs:' shall be 'bbe_tms570'.", + ) + continue + if not needs[-1] == "th_flash_and_test_bootloader": + # ensure that the bootloader has been flashed + error.log( + f"The last entry for '{k}:needs:' shall be 'th_flash_and_test_bootloader'.", + ) + if len(needs) > 3: error.log(f"Too many artifacts specified in '{k}:needs:'.") - if len(needs) < 2: + if len(needs) < 3: error.log(f"Too few artifacts specified in '{k}:needs:'.") continue # second element now guaranteed if needs[1] not in [ - x for x in expected if x.startswith("bb_all_config_variants_0: [") + x for x in expected if x.startswith("bae_all_config_variants: [") ]: error.log( f"The test '{k}' specifies an artifact that is is not " - "specified in '.parallel-build-bin-and-spa'", + "specified in '.parallel-build_app_embedded-and-spa'", ) - return min(error.error_level, 255) diff --git a/cli/cmd_ci/check_coverage.py b/cli/cmd_ci/check_coverage.py index 1260c5d2..7bd91a59 100755 --- a/cli/cmd_ci/check_coverage.py +++ b/cli/cmd_ci/check_coverage.py @@ -40,11 +40,20 @@ """Checks that the GitLab CI configuration adheres to some rules""" import logging +import math import os +import sys from pathlib import Path +from tomllib import loads +from typing import get_args from xml.etree import ElementTree +from click import echo, secho + +from ..cmd_cli_unittest.cli_unittest_constants import CliUnitTestVariants +from ..cmd_embedded_ut.embedded_ut_constants import EmbeddedUnitTestVariants from ..helpers.host_platform import PLATFORM +from ..helpers.misc import PROJECT_ROOT CI_COMMIT_REF_NAME = os.getenv("CI_COMMIT_REF_NAME") TARGET_BRANCH = os.getenv("TARGET_BRANCH", "master") @@ -56,13 +65,16 @@ class Coverage: - """Coverage information from Cobertura report""" + """Coverage information from Cobertura report.""" def __init__(self, cobertura_report: Path) -> None: + if not cobertura_report.is_file(): + secho(f"File '{cobertura_report}' does not exist.", fg="red", err=True) + sys.exit(1) root = ElementTree.parse(cobertura_report).getroot() for coverage in root.iter("coverage"): - self.line_rate = coverage.attrib["line-rate"] - self.branch_rate = coverage.attrib["branch-rate"] + self.line_rate = float(coverage.attrib["line-rate"]) + self.branch_rate = float(coverage.attrib["branch-rate"]) def compare(self, branch: "Coverage") -> int: """Compares two coverage reports""" @@ -91,21 +103,65 @@ def __str__(self) -> str: return f"line-rate: {self.line_rate}\nbranch-rate: {self.branch_rate}" -def check_coverage() -> int: - """Compares two coverage reports""" +def check_coverage( + project: EmbeddedUnitTestVariants | CliUnitTestVariants = "app", +) -> int: + """Compares two coverage reports.""" + if project in get_args(EmbeddedUnitTestVariants): + infix = "_host_unit_test" + cobertura_xml = "artifacts/gcov/gcovr/GcovCoverageCobertura.xml" + elif project in get_args(CliUnitTestVariants): + infix = "-selftest" + cobertura_xml = "CoberturaCoverageCliSelfTest.xml" + else: + sys.exit( + "Something went wrong.\nExpect argument " + f"{get_args(EmbeddedUnitTestVariants) + get_args(CliUnitTestVariants)} " + f"but got '{project}'." + ) + cobertura_archive_master = Path( - "master-artifacts/build/unit_test/artifacts/gcov/gcovr/GcovCoverageCobertura.xml" + f"master-artifacts/build/{project}{infix}/{cobertura_xml}" ) - coverage_master = Coverage(cobertura_archive_master) logging.info("'%s'-branch coverage:\n%s", TARGET_BRANCH, coverage_master) - cobertura_archive_branch = Path( - "build/unit_test/artifacts/gcov/gcovr/GcovCoverageCobertura.xml" - ) + cobertura_archive_branch = Path(f"build/{project}{infix}/{cobertura_xml}") coverage_branch = Coverage(cobertura_archive_branch) logging.info("'%s'-branch coverage:\n%s", CI_COMMIT_REF_NAME, coverage_branch) comparison = coverage_master.compare(coverage_branch) + + if project == "cli": + tmp = PROJECT_ROOT / "pyproject.toml" + if not tmp.is_file(): + comparison += 1 + cfg = loads(tmp.read_text(encoding="utf-8")) + try: + fail_under = float(cfg["tool"]["coverage"]["report"]["fail_under"]) + except KeyError: + secho( + f"File '{tmp}' does not specify the key 'fail_under' in " + "section '[tool.coverage.report]'.", + fg="red", + err=True, + ) + return comparison + 1 + except ValueError: + secho("Could not convert key 'fail_under' to int.", fg="red", err=True) + return comparison + 1 + # conversion necessary as coverage.py uses 0% to 100%, while Cobertura + # uses 0.0 to 1.0. + fail_under /= 100 + if not math.isclose(fail_under, coverage_branch.line_rate, abs_tol=0.02): + secho( + "Key 'fail_under' in section '[tool.coverage.report]' in File " + f"'{tmp}' is not up-to-date ({fail_under} vs. " + f"{coverage_branch.line_rate} (line rate))", + fg="red", + err=True, + ) + return comparison + 1 + echo(f"Coverage rate is {coverage_branch.line_rate}.") return comparison diff --git a/cli/cmd_ci/create_readme.py b/cli/cmd_ci/create_readme.py index 3f5a9364..bce5a883 100755 --- a/cli/cmd_ci/create_readme.py +++ b/cli/cmd_ci/create_readme.py @@ -43,9 +43,9 @@ import sys import yaml +from click import secho -from ..helpers.ansi_colors import RED -from ..helpers.misc import PROJECT_ROOT, eprint +from ..helpers.misc import PROJECT_ROOT CI_CONFIG = PROJECT_ROOT / ".gitlab-ci.yml" CI_README = PROJECT_ROOT / ".gitlab/README.md" @@ -60,10 +60,10 @@ def create_readme() -> int: # pylint:disable=too-many-branches """Reads the '.gitlab-ci.yml' file and creates the 'README.md'.""" err = 0 if not CI_CONFIG.is_file(): - eprint(f"File '{CI_CONFIG}' does not exist.", err=True, color=RED) + secho(f"File '{CI_CONFIG}' does not exist.", fg="red", err=True) err += 1 if not CI_README.is_file(): - eprint(f"File '{CI_README}' does not exist.", err=True, color=RED) + secho(f"File '{CI_README}' does not exist.", fg="red", err=True) err += 1 if err: return err @@ -73,6 +73,15 @@ def create_readme() -> int: # pylint:disable=too-many-branches ci_config: dict = yaml.load(ci_config_txt, Loader=yaml.Loader) except yaml.YAMLError as exc: sys.exit(f"{CI_CONFIG} is not a valid yaml file {exc}).") + if "include" in list(ci_config.keys()): + for included_yml in ci_config["include"]: + with open(included_yml["local"], encoding="utf-8") as f: + included_ci_config_txt = f.read() + start_position_of_block = included_ci_config_txt.find(MARKER) + included_ci_config_txt = included_ci_config_txt[ + start_position_of_block - 1 : + ] + ci_config_txt = ci_config_txt + included_ci_config_txt if not ci_config.get("stages", []): sys.exit("Could not determine stages.") @@ -84,6 +93,7 @@ def create_readme() -> int: # pylint:disable=too-many-branches markdown: list[str] = [] lines = ci_config_txt.splitlines() for i, line in enumerate(lines): + # start of a block is defined as 78 # symbols in a row if not in_block: if line == MARKER: in_block = True diff --git a/cli/cmd_cli_unittest/__init__.py b/cli/cmd_cli_unittest/__init__.py index 2271a78a..e8e0499a 100755 --- a/cli/cmd_cli_unittest/__init__.py +++ b/cli/cmd_cli_unittest/__init__.py @@ -36,3 +36,5 @@ # - "This product uses parts of foxBMS®" # - "This product includes parts of foxBMS®" # - "This product is derived from foxBMS®" + +"""Implements the functionalities behind the 'cli-unittest' command""" diff --git a/cli/helpers/ansi_colors.py b/cli/cmd_cli_unittest/cli_unittest_constants.py similarity index 81% rename from cli/helpers/ansi_colors.py rename to cli/cmd_cli_unittest/cli_unittest_constants.py index b33ed50d..7cf66a99 100755 --- a/cli/helpers/ansi_colors.py +++ b/cli/cmd_cli_unittest/cli_unittest_constants.py @@ -37,29 +37,11 @@ # - "This product includes parts of foxBMS®" # - "This product is derived from foxBMS®" -"""ANSI color codes""" +"""Constants that are related to the CLI unit tests (paths etc.)""" -import os +from typing import Literal -if os.getenv("NO_COLOR", ""): - BLACK = "" - RED = "" - GREEN = "" - YELLOW = "" - BLUE = "" - MAGENTA = "" - CYAN = "" - LIGHT_GRAY = "" - WHITE = "" - RESET = "" -else: - BLACK = "\033[30m" - RED = "\033[31m" - GREEN = "\033[32m" - YELLOW = "\033[33m" - BLUE = "\033[34m" - MAGENTA = "\033[35m" - CYAN = "\033[36m" - LIGHT_GRAY = "\033[37m" - WHITE = "\033[97m" - RESET = "\033[0m" +from ..helpers.misc import PROJECT_BUILD_ROOT + +CliUnitTestVariants = Literal["cli"] +UNIT_TEST_BUILD_DIR_CLI = PROJECT_BUILD_ROOT / "cli-selftest" diff --git a/cli/cmd_cli_unittest/cli_unittest_impl.py b/cli/cmd_cli_unittest/cli_unittest_impl.py index e8703a7e..1670e81f 100755 --- a/cli/cmd_cli_unittest/cli_unittest_impl.py +++ b/cli/cmd_cli_unittest/cli_unittest_impl.py @@ -42,11 +42,12 @@ import logging import os import sys +from pathlib import Path from typing import Sequence -from pathlib import Path +from click import secho -from ..helpers.misc import PROJECT_ROOT +from ..helpers.misc import PROJECT_BUILD_ROOT, PROJECT_ROOT, terminal_link_print from ..helpers.spr import SubprocessResult, run_process UNIT_TEST_MODULE_BASE_COMMAND = [sys.executable, "-m", "unittest"] @@ -61,9 +62,10 @@ def run_unittest_module(args: list[str]) -> SubprocessResult: def run_script_tests(coverage_report: bool = False) -> SubprocessResult: - """Run unit tests on Python modules and files in the repository""" + """Run unit tests on Python modules and files in the repository.""" if coverage_report: out_dir = PROJECT_ROOT / "build/cli-selftest" + _ = [i.unlink() for i in out_dir.rglob("**") if i.is_file()] out_dir.mkdir(exist_ok=True, parents=True) cmd: Sequence[str | Path] = COVERAGE_MODULE_BASE_COMMAND + [ "run", @@ -92,4 +94,13 @@ def run_script_tests(coverage_report: bool = False) -> SubprocessResult: f"tests{os.sep}cli", ] ret = run_process(cmd, cwd=PROJECT_ROOT, stdout=None, stderr=None) + + report_link = PROJECT_BUILD_ROOT / "cli-selftest/index.html" + if not ret.returncode: + secho("\nThe cli unit tests were successful.", fg="green") + else: + secho("The cli unit tests were not successful.", fg="red", err=True) + if report_link.is_file() and not ret.returncode: + secho(f"\ncoverage report: {terminal_link_print(report_link)}") + return ret diff --git a/cli/cmd_embedded_ut/__init__.py b/cli/cmd_embedded_ut/__init__.py index 2271a78a..ddeaf7dd 100755 --- a/cli/cmd_embedded_ut/__init__.py +++ b/cli/cmd_embedded_ut/__init__.py @@ -36,3 +36,5 @@ # - "This product uses parts of foxBMS®" # - "This product includes parts of foxBMS®" # - "This product is derived from foxBMS®" + +"""Implements the functionalities behind the 'ceedling' command""" diff --git a/cli/cmd_embedded_ut/embedded_ut_constants.py b/cli/cmd_embedded_ut/embedded_ut_constants.py index 37d442e9..8451bd02 100755 --- a/cli/cmd_embedded_ut/embedded_ut_constants.py +++ b/cli/cmd_embedded_ut/embedded_ut_constants.py @@ -39,8 +39,13 @@ """Constants that are related to the embedded unit tests (paths etc.)""" -from ..helpers.misc import PROJECT_ROOT +from typing import Literal + +from ..helpers.misc import PROJECT_BUILD_ROOT, PROJECT_ROOT + +# needs to be aligned with build tool definition +EmbeddedUnitTestVariants = Literal["app", "bootloader"] +UNIT_TEST_BUILD_DIR_APP = PROJECT_BUILD_ROOT / "app_host_unit_test" +UNIT_TEST_BUILD_DIR_BL = PROJECT_BUILD_ROOT / "bootloader_host_unit_test" -# needs to be aligned with build tool defintion -UNIT_TEST_BUILD_DIR = PROJECT_ROOT / "build/unit_test" CEEDLING_BINARY = PROJECT_ROOT / "tools/vendor/ceedling/bin/ceedling" diff --git a/cli/cmd_embedded_ut/embedded_ut_impl.py b/cli/cmd_embedded_ut/embedded_ut_impl.py index e888ebed..6ca4bad5 100755 --- a/cli/cmd_embedded_ut/embedded_ut_impl.py +++ b/cli/cmd_embedded_ut/embedded_ut_impl.py @@ -48,33 +48,56 @@ import sys from dataclasses import dataclass from pathlib import Path +from typing import get_args -from ..helpers.ansi_colors import RED, YELLOW -from ..helpers.misc import PROJECT_ROOT, eprint, get_multiple_files_hash_str +from click import secho + +from ..helpers.host_platform import PLATFORM +from ..helpers.misc import ( + PROJECT_ROOT, + get_multiple_files_hash_str, + terminal_link_print, +) from ..helpers.spr import SubprocessResult, run_process -from .embedded_ut_constants import CEEDLING_BINARY, UNIT_TEST_BUILD_DIR - -_CEEDLING_PROJECT_FILE_SRC = PROJECT_ROOT / "conf/unit/project_.yml" -CEEDLING_PROJECT_FILE_TGT = UNIT_TEST_BUILD_DIR / "project.yml" -HALCOGEN_HCG_SRC = PROJECT_ROOT / "conf/hcg/hcg.hcg" -HALCOGEN_HCG_TGT = UNIT_TEST_BUILD_DIR / "hcg.hcg" -HALCOGEN_DIL_SRC = PROJECT_ROOT / "conf/hcg/hcg.dil" -HALCOGEN_DIL_TGT = UNIT_TEST_BUILD_DIR / "hcg.dil" - -if sys.platform.lower() == "linux": - CEEDLING_PROJECT_FILE_SRC = Path( - str(_CEEDLING_PROJECT_FILE_SRC).replace("", "posix") +from .embedded_ut_constants import ( + CEEDLING_BINARY, + UNIT_TEST_BUILD_DIR_APP, + UNIT_TEST_BUILD_DIR_BL, + EmbeddedUnitTestVariants, +) + +_CEEDLING_PROJECT_FILE_SRC_APP = PROJECT_ROOT / "conf/unit/app_project_.yml" +_CEEDLING_PROJECT_FILE_SRC_BL = ( + PROJECT_ROOT / "conf/unit/bootloader_project_.yml" +) +CEEDLING_PROJECT_FILE_TGT_APP = UNIT_TEST_BUILD_DIR_APP / "project.yml" +CEEDLING_PROJECT_FILE_TGT_BL = UNIT_TEST_BUILD_DIR_BL / "project.yml" +HALCOGEN_HCG_SRC_APP = PROJECT_ROOT / "conf/hcg/app.hcg" +HALCOGEN_HCG_SRC_BL = PROJECT_ROOT / "conf/hcg/bootloader.hcg" +HALCOGEN_HCG_TGT_APP = UNIT_TEST_BUILD_DIR_APP / "app.hcg" +HALCOGEN_HCG_TGT_BL = UNIT_TEST_BUILD_DIR_BL / "bootloader.hcg" +HALCOGEN_DIL_SRC_APP = PROJECT_ROOT / "conf/hcg/app.dil" +HALCOGEN_DIL_SRC_BL = PROJECT_ROOT / "conf/hcg/bootloader.dil" +HALCOGEN_DIL_TGT_APP = UNIT_TEST_BUILD_DIR_APP / "app.dil" +HALCOGEN_DIL_TGT_BL = UNIT_TEST_BUILD_DIR_BL / "bootloader.dil" + +if PLATFORM == "linux": + CEEDLING_PROJECT_FILE_SRC_APP = Path( + str(_CEEDLING_PROJECT_FILE_SRC_APP).replace("", "posix") + ) + CEEDLING_PROJECT_FILE_SRC_BL = Path( + str(_CEEDLING_PROJECT_FILE_SRC_BL).replace("", "posix") ) -elif sys.platform.lower() == "win32": - CEEDLING_PROJECT_FILE_SRC = Path( - str(_CEEDLING_PROJECT_FILE_SRC).replace("", "win32") +elif PLATFORM == "win32": + CEEDLING_PROJECT_FILE_SRC_APP = Path( + str(_CEEDLING_PROJECT_FILE_SRC_APP).replace("", "win32") ) -else: - CEEDLING_PROJECT_FILE_SRC = Path( - str(_CEEDLING_PROJECT_FILE_SRC).replace("", "posix") + CEEDLING_PROJECT_FILE_SRC_BL = Path( + str(_CEEDLING_PROJECT_FILE_SRC_BL).replace("", "win32") ) - sys.exit(f"Something went wrong at '{Path(__file__).stem}'") +else: # pragma: no cover + sys.exit(f"Something went wrong in '{Path(__file__).stem}'") @dataclass @@ -85,79 +108,130 @@ class SourceTargetPair: tgt: Path -SOURCE_TARGET_PAIRS = [ - SourceTargetPair(CEEDLING_PROJECT_FILE_SRC, CEEDLING_PROJECT_FILE_TGT), - SourceTargetPair(HALCOGEN_HCG_SRC, HALCOGEN_HCG_TGT), - SourceTargetPair(HALCOGEN_DIL_SRC, HALCOGEN_DIL_TGT), -] +SOURCE_TARGET_PAIRS = { + "app": [ + SourceTargetPair(CEEDLING_PROJECT_FILE_SRC_APP, CEEDLING_PROJECT_FILE_TGT_APP), + SourceTargetPair(HALCOGEN_HCG_SRC_APP, HALCOGEN_HCG_TGT_APP), + SourceTargetPair(HALCOGEN_DIL_SRC_APP, HALCOGEN_DIL_TGT_APP), + ], + "bootloader": [ + SourceTargetPair(CEEDLING_PROJECT_FILE_SRC_BL, CEEDLING_PROJECT_FILE_TGT_BL), + SourceTargetPair(HALCOGEN_HCG_SRC_BL, HALCOGEN_HCG_TGT_BL), + SourceTargetPair(HALCOGEN_DIL_SRC_BL, HALCOGEN_DIL_TGT_BL), + ], +} + + +def _cleanup_hcg_sources(base_dir: Path) -> None: + # this list shall be in sync with + # - ./wscript for all unit test build variants + # - ./src/app/hal/wscript for the target build + # - ./src/bootloader/hal/wscript for the target build + remove = [ + "source/HL_sys_startup.c", + "source/HL_sys_main.c", + "source/HL_sys_link.cmd", + ] + + freertos_config_file = base_dir / "include/FreeRTOSConfig.h" + if freertos_config_file.is_file(): + for line in freertos_config_file.read_text(encoding="utf-8").splitlines(): + mach = re.search( + r"#define configCPU_CLOCK_HZ.*\( \( unsigned portLONG \) ([0-9]+) \)", + line, + ) + if mach: + frequency = mach.group(1) + break + if not frequency: + secho("Could not determine clock frequency.", color="red", err=True) + + # needs to be aligned with build tool defintion and the unit tests + tmp = base_dir / "include/config_cpu_clock_hz.h" + define_guard = tmp.name.upper().replace(".H", "_H_") + tmp.write_text( + f"#ifndef {define_guard}\n" + f"#define {define_guard}\n" + f"#define HALCOGEN_CPU_CLOCK_HZ ({frequency})\n" + f"#endif /* {define_guard} */\n", + encoding="utf-8", + ) + # remove generated files we do not need (FreeRTOS (we ship our own copy)) + remove.extend( + [ + freertos_config_file, + base_dir / "include/FreeRTOS.h", + ] + + list(base_dir.glob("source/os_*.asm")) + + list(base_dir.glob("source/os_*.c")) + + list(base_dir.glob("include/os_*.h")) + ) -def _cleanup_hcg_sources() -> None: - freertos_config_file = UNIT_TEST_BUILD_DIR / "include/FreeRTOSConfig.h" + for i in remove: + (base_dir / i).unlink() - if not freertos_config_file.is_file(): - eprint("Could not find 'FreeRTOSConfig.h'.", err=True, color=RED) - for line in freertos_config_file.read_text(encoding="utf-8").splitlines(): - mach = re.search( - r"#define configCPU_CLOCK_HZ.*\( \( unsigned portLONG \) ([0-9]+) \)", - line, +def make_unit_test_dir(project: EmbeddedUnitTestVariants = "app") -> None: + """Create the unit test directory, if it does not exist""" + if project == "app": + base = UNIT_TEST_BUILD_DIR_APP + elif project == "bootloader": + base = UNIT_TEST_BUILD_DIR_BL + else: + sys.exit( + "Something went wrong.\nExpect argument from list " + f"{get_args(EmbeddedUnitTestVariants)}, but got '{project}'." ) - if mach: - frequency = mach.group(1) - break - if not frequency: - eprint("Could not determine clock frequency.", err=True, color=RED) - - tmp = UNIT_TEST_BUILD_DIR / "include/config_cpu_clock_hz.h" - define_guard = tmp.name.upper().replace(".H", "_H_") - tmp.write_text( - f"#ifndef {define_guard}\n" - f"#define {define_guard}\n" - f"#define HALCOGEN_CPU_CLOCK_HZ ({frequency})\n" - f"#endif /* {define_guard} */\n", - encoding="utf-8", - ) - - # remove generated files we do not need (FreeRTOS (we ship our own copy)) - (UNIT_TEST_BUILD_DIR / "source/HL_sys_link.cmd").unlink() - (UNIT_TEST_BUILD_DIR / "include/FreeRTOS.h").unlink() - (UNIT_TEST_BUILD_DIR / "include/FreeRTOSConfig.h").unlink() - for i in UNIT_TEST_BUILD_DIR.glob("source/os_*.asm"): - i.unlink() - for i in UNIT_TEST_BUILD_DIR.glob("source/os_*.c"): - i.unlink() - for i in UNIT_TEST_BUILD_DIR.glob("include/os_*.h"): - i.unlink() + base.mkdir(parents=True, exist_ok=True) + (base / "include").mkdir(parents=True, exist_ok=True) -def make_unit_test_dir() -> None: - """Create the unit test directory,if it does not exist""" - UNIT_TEST_BUILD_DIR.mkdir(parents=True, exist_ok=True) - return (UNIT_TEST_BUILD_DIR / "include").mkdir(parents=True, exist_ok=True) +def run_embedded_tests( + args: None | list[str] = None, + project: EmbeddedUnitTestVariants = "app", + stderr=None, + stdout=None, +) -> SubprocessResult: + """Run the embedded sources tests""" + secho(f"Testing project: '{project}'") + secho("Running 'ceedling' directly: all arguments are passed to ceedling verbatim") + + if project == "app": + base_dir = UNIT_TEST_BUILD_DIR_APP + input_hcg = HALCOGEN_HCG_TGT_APP + input_dil = HALCOGEN_DIL_SRC_APP + output_dil = HALCOGEN_DIL_TGT_APP + elif project == "bootloader": + base_dir = UNIT_TEST_BUILD_DIR_BL + input_hcg = HALCOGEN_HCG_TGT_BL + input_dil = HALCOGEN_DIL_SRC_BL + output_dil = HALCOGEN_DIL_TGT_BL + else: + sys.exit( + "Something went wrong.\nExpect argument from list " + f"{get_args(EmbeddedUnitTestVariants)}, but got '{project}'." + ) -def run_embedded_tests(args: list[str], stderr=None, stdout=None) -> SubprocessResult: - """Run the embedded sources tests""" - eprint("Running 'ceedling' directly: all arguments are passed to ceedling verbatim") if not args: args = ["help"] logging.debug("arguments to ceedling are: %s", args) - make_unit_test_dir() + make_unit_test_dir(project) hcg_needs_to_run = False # update input files if needed - for i in SOURCE_TARGET_PAIRS: + for i in SOURCE_TARGET_PAIRS[project]: if not Path(i.tgt).is_file() or not filecmp.cmp(i.src, i.tgt): shutil.copyfile(i.src, i.tgt) hcg_needs_to_run = True # if only help is requested, no need to run HALCoGen: if args == ["help"]: - return _run_ceedling(args, stderr=stderr, stdout=stdout) + return _run_ceedling(args, cwd=base_dir, stderr=stderr, stdout=stdout) # check if HALCoGen has run and the files are uptodate - hcg_files_hash_pickle = UNIT_TEST_BUILD_DIR / "manual_runner.pickle" + hcg_files_hash_pickle = base_dir / "manual_runner.pickle" if hcg_files_hash_pickle.is_file(): with open(hcg_files_hash_pickle, "rb") as f: try: @@ -170,8 +244,7 @@ def run_embedded_tests(args: list[str], stderr=None, stdout=None) -> SubprocessR hcg_needs_to_run = True current_hcg_files_hash = get_multiple_files_hash_str( - list(UNIT_TEST_BUILD_DIR.glob("source/*.c")) - + list(UNIT_TEST_BUILD_DIR.glob("include/*.h")) + list(base_dir.glob("source/*.c")) + list(base_dir.glob("include/*.h")) ) if old_hcg_files_hash != current_hcg_files_hash: @@ -179,14 +252,14 @@ def run_embedded_tests(args: list[str], stderr=None, stdout=None) -> SubprocessR halcogen = shutil.which("halcogen") if not halcogen: - eprint("Could not find program 'HALCogen'.", err=True, color=RED) - eprint("Assuming HALCoGen sources are available...", err=True, color=YELLOW) + secho("Could not find program 'HALCogen'.", color="red", err=True) + secho("Assuming HALCoGen sources are available...", color="yellow", err=True) # check if need to re-run HALCoGen # if any([stored_file_hashes.hcg.changed, stored_file_hashes.dil.changed]): if halcogen and hcg_needs_to_run: - cmd = [halcogen, "-i", str(HALCOGEN_HCG_TGT)] - cwd = UNIT_TEST_BUILD_DIR + cmd = [halcogen, "-i", str(input_hcg)] + cwd = base_dir logging.debug("running subprocess '%s' in '%s'.", cmd, cwd) with subprocess.Popen(cmd, cwd=cwd) as p: p.communicate() @@ -196,10 +269,9 @@ def run_embedded_tests(args: list[str], stderr=None, stdout=None) -> SubprocessR out="", err="Could not successfully run HALCoGen, exiting...", ) - _cleanup_hcg_sources() + _cleanup_hcg_sources(base_dir) current_hcg_files_hash = get_multiple_files_hash_str( - list(UNIT_TEST_BUILD_DIR.glob("source/*.c")) - + list(UNIT_TEST_BUILD_DIR.glob("include/*.h")) + list(base_dir.glob("source/*.c")) + list(base_dir.glob("include/*.h")) ) with open(hcg_files_hash_pickle, "wb") as f: @@ -207,18 +279,35 @@ def run_embedded_tests(args: list[str], stderr=None, stdout=None) -> SubprocessR # HALCoGen alters the dil file when generating the code, therefore we # need copy it again... - shutil.copyfile(HALCOGEN_DIL_SRC, HALCOGEN_DIL_TGT) + shutil.copyfile(input_dil, output_dil) # copy sources and generating files worked fine, let's run ceedling - err = _run_ceedling(args, stderr=stderr, stdout=stdout) + err = _run_ceedling(args, cwd=base_dir, stderr=stderr, stdout=stdout) + + report_link = base_dir / "artifacts/gcov/gcovr/GcovCoverageResults.html" + if not err.returncode: + secho(f"\nThe {project} unit tests were successful.", fg="green") + else: + secho(f"The {project} unit tests were not successful.", fg="red") + if ( + report_link.is_file() + and not err.returncode + and any(True for i in args if i.startswith("gcov")) + ): + secho(f"\ncoverage report: {terminal_link_print(report_link)}", fg="green") return err -def _run_ceedling(args: list[str], stderr=None, stdout=None) -> SubprocessResult: +def _run_ceedling( + args: list[str], cwd: Path = UNIT_TEST_BUILD_DIR_APP, stderr=None, stdout=None +) -> SubprocessResult: """Runs ceedling with the provided arguments""" ruby = shutil.which("ruby") if not ruby: - eprint("Could not find program 'ceedling'.", err=True, color=RED) + secho("Could not find program 'ruby'.", fg="red", err=True) return SubprocessResult(1) cmd = [ruby, str(CEEDLING_BINARY)] + args - return run_process(cmd, cwd=UNIT_TEST_BUILD_DIR, stderr=stderr, stdout=stdout) + if not CEEDLING_BINARY.is_file(): + secho("Could not find program 'ceedling'.", fg="red", err=True) + return SubprocessResult(1) + return run_process(cmd, cwd=cwd, stderr=stderr, stdout=stdout) diff --git a/cli/cmd_etl/__init__.py b/cli/cmd_etl/__init__.py new file mode 100755 index 00000000..007db9c3 --- /dev/null +++ b/cli/cmd_etl/__init__.py @@ -0,0 +1,40 @@ +#!/usr/bin/env python3 +# +# Copyright (c) 2010 - 2024, Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V. +# All rights reserved. +# +# SPDX-License-Identifier: BSD-3-Clause +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# +# 1. Redistributions of source code must retain the above copyright notice, this +# list of conditions and the following disclaimer. +# +# 2. Redistributions in binary form must reproduce the above copyright notice, +# this list of conditions and the following disclaimer in the documentation +# and/or other materials provided with the distribution. +# +# 3. Neither the name of the copyright holder nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +# We kindly request you to use one or more of the following phrases to refer to +# foxBMS in your hardware, software, documentation or advertising materials: +# +# - "This product uses parts of foxBMS®" +# - "This product includes parts of foxBMS®" +# - "This product is derived from foxBMS®" + +"""Adds batetl as module to cli""" diff --git a/cli/cmd_etl/batetl/__init__.py b/cli/cmd_etl/batetl/__init__.py new file mode 100755 index 00000000..f867ef1a --- /dev/null +++ b/cli/cmd_etl/batetl/__init__.py @@ -0,0 +1,92 @@ +#!/usr/bin/env python3 +# +# Copyright (c) 2010 - 2024, Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V. +# All rights reserved. +# +# SPDX-License-Identifier: BSD-3-Clause +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# +# 1. Redistributions of source code must retain the above copyright notice, this +# list of conditions and the following disclaimer. +# +# 2. Redistributions in binary form must reproduce the above copyright notice, +# this list of conditions and the following disclaimer in the documentation +# and/or other materials provided with the distribution. +# +# 3. Neither the name of the copyright holder nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +# We kindly request you to use one or more of the following phrases to refer to +# foxBMS in your hardware, software, documentation or advertising materials: +# +# - "This product uses parts of foxBMS®" +# - "This product includes parts of foxBMS®" +# - "This product is derived from foxBMS®" + +"""Implements the functionalities behind the 'etl' commands""" + +from pathlib import Path + +import click + +from .cmd.can_decode_helper import can_decode_setup, run_decode2file, run_decode2stdout +from .cmd.can_filter_helper import can_filter_setup, run_filter + + +@click.command("filter") +@click.option( + "-c", + "--config", + type=click.Path(exists=True, file_okay=True, dir_okay=False, path_type=Path), + required=True, + help="Configuration files", +) +@click.pass_context +def cmd_filter( + ctx: click.Context, + config: Path, +) -> None: + """Filters CAN messages out of a stream of data.""" + filter_obj = can_filter_setup(config) + run_filter(filter_obj) + ctx.exit(0) + + +@click.command("decode") +@click.option( + "-c", + "--config", + type=click.Path(exists=True, file_okay=True, dir_okay=False, path_type=Path), + required=True, + help="Configuration files", +) +@click.option( + "-o", + "--output", + type=click.Path(exists=True, file_okay=False, dir_okay=True, path_type=Path), + required=False, + help="Output folder", +) +@click.pass_context +def cmd_decode(ctx: click.Context, config: Path, output: Path | None = None) -> None: + """Decodes CAN messages out of a stream of data.""" + decode_obj = can_decode_setup(config) + if output: + run_decode2file(decode_obj, output) + else: + run_decode2stdout(decode_obj) + ctx.exit(0) diff --git a/cli/cmd_etl/batetl/__main__.py b/cli/cmd_etl/batetl/__main__.py new file mode 100755 index 00000000..8f681d49 --- /dev/null +++ b/cli/cmd_etl/batetl/__main__.py @@ -0,0 +1,62 @@ +#!/usr/bin/env python3 +# +# Copyright (c) 2010 - 2024, Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V. +# All rights reserved. +# +# SPDX-License-Identifier: BSD-3-Clause +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# +# 1. Redistributions of source code must retain the above copyright notice, this +# list of conditions and the following disclaimer. +# +# 2. Redistributions in binary form must reproduce the above copyright notice, +# this list of conditions and the following disclaimer in the documentation +# and/or other materials provided with the distribution. +# +# 3. Neither the name of the copyright holder nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +# We kindly request you to use one or more of the following phrases to refer to +# foxBMS in your hardware, software, documentation or advertising materials: +# +# - "This product uses parts of foxBMS®" +# - "This product includes parts of foxBMS®" +# - "This product is derived from foxBMS®" + +"""Defines the direct execution of the ETL package entry points""" + +import click + +from . import cmd_decode, cmd_filter + +CONTEXT_SETTINGS = {"help_option_names": ["-h", "--help"]} + + +@click.group(context_settings=CONTEXT_SETTINGS, hidden=False) +def entry_point() -> None: + """Extract Transform Load functionalities via command line. + + These scripts and tools will simplifiy the collection of + foxBMS 2 data and their analysis. + """ + + +entry_point.add_command(cmd_filter) +entry_point.add_command(cmd_decode) + +if __name__ == "__main__": + entry_point() diff --git a/cli/cmd_etl/batetl/cmd/__init__.py b/cli/cmd_etl/batetl/cmd/__init__.py new file mode 100755 index 00000000..cf44ca6f --- /dev/null +++ b/cli/cmd_etl/batetl/cmd/__init__.py @@ -0,0 +1,54 @@ +#!/usr/bin/env python3 +# +# Copyright (c) 2010 - 2024, Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V. +# All rights reserved. +# +# SPDX-License-Identifier: BSD-3-Clause +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# +# 1. Redistributions of source code must retain the above copyright notice, this +# list of conditions and the following disclaimer. +# +# 2. Redistributions in binary form must reproduce the above copyright notice, +# this list of conditions and the following disclaimer in the documentation +# and/or other materials provided with the distribution. +# +# 3. Neither the name of the copyright holder nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +# We kindly request you to use one or more of the following phrases to refer to +# foxBMS in your hardware, software, documentation or advertising materials: +# +# - "This product uses parts of foxBMS®" +# - "This product includes parts of foxBMS®" +# - "This product is derived from foxBMS®" + +"""Basic functions for the subcommand definitions""" + +from pathlib import Path + +import yaml + + +def read_config(config: Path) -> dict: + """Reads the configuration yml files + + :param config: Path to the configuration yml file + :return: A dictionary with all configurations + """ + with open(config, encoding="utf-8") as f: + return yaml.safe_load(f) diff --git a/cli/cmd_etl/batetl/cmd/can_decode_helper.py b/cli/cmd_etl/batetl/cmd/can_decode_helper.py new file mode 100755 index 00000000..9241cfa3 --- /dev/null +++ b/cli/cmd_etl/batetl/cmd/can_decode_helper.py @@ -0,0 +1,123 @@ +#!/usr/bin/env python3 +# +# Copyright (c) 2010 - 2024, Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V. +# All rights reserved. +# +# SPDX-License-Identifier: BSD-3-Clause +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# +# 1. Redistributions of source code must retain the above copyright notice, this +# list of conditions and the following disclaimer. +# +# 2. Redistributions in binary form must reproduce the above copyright notice, +# this list of conditions and the following disclaimer in the documentation +# and/or other materials provided with the distribution. +# +# 3. Neither the name of the copyright holder nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +# We kindly request you to use one or more of the following phrases to refer to +# foxBMS in your hardware, software, documentation or advertising materials: +# +# - "This product uses parts of foxBMS®" +# - "This product includes parts of foxBMS®" +# - "This product is derived from foxBMS®" + +"""CAN decode subcommand implementation""" + +import logging +import sys +from pathlib import Path + +from ..etl.can_decode import CANDecode +from . import read_config + + +def can_decode_setup(config: Path) -> CANDecode: + """Reads config file and creates the CANDecode object + + :param config: Path to the configuration file + :return: CANDecode object + """ + config_dict = read_config(config) + validate_decode_config(config_dict) + return CANDecode(**config_dict) + + +def validate_decode_config(config_dict: dict) -> None: + """Validates the configuration file of the decode subcommand + + :param config_dict: Dictionary with configurations + """ + if "dbc" not in config_dict: + logging.error("Configuration file is missing 'dbc' parameter.") + sys.exit(1) + if not isinstance(config_dict["dbc"], str): + logging.error("'dbc' in the configuration file is not a string.") + sys.exit(1) + if "timestamp_pos" not in config_dict: + logging.error("'Configuration file is missing 'timestamp_pos' parameter'.") + sys.exit(1) + if not isinstance(config_dict["timestamp_pos"], int): + logging.error("'timestamp_pos' is not an integer.") + sys.exit(1) + if "id_pos" not in config_dict: + logging.error("'Configuration file is missing 'id_pos' parameter'.") + sys.exit(1) + if not isinstance(config_dict["id_pos"], int): + logging.error("'id_pos' is not an integer.") + sys.exit(1) + if "data_pos" not in config_dict: + logging.error("'Configuration file is missing 'data_pos' parameter'.") + sys.exit(1) + if not isinstance(config_dict["data_pos"], int): + logging.error("'data_pos' is not an integer.") + sys.exit(1) + + +def run_decode2stdout(decode_obj: CANDecode) -> None: + """Executes the can decode step + + :param decode_obj: Object which handles the decoding + """ + for msg in sys.stdin: + msg_name, msg_decoded = decode_obj.decode_msg(msg) + if msg_name: + sys.stdout.write(msg_decoded) + + +def run_decode2file(decode_obj: CANDecode, output_folder: Path) -> None: + """Executes the can decode step + + :param decode_obj: Object which handles the decoding + :param output_folder: Folder in which the decoded data should be saved + """ + output_files = {} + try: + for msg in sys.stdin: + msg_name, msg_decoded = decode_obj.decode_msg(msg) + if msg_name: + if msg_name in output_files: + output_files[msg_name].write(msg_decoded) + else: + file_name = output_folder / f"{msg_name}.json" + f = open(file_name, mode="w", encoding="utf-8") # pylint: disable=consider-using-with + output_files[msg_name] = f + f.write(msg_decoded) + finally: + for f in output_files.values(): + f.close() diff --git a/cli/cmd_etl/batetl/cmd/can_filter_helper.py b/cli/cmd_etl/batetl/cmd/can_filter_helper.py new file mode 100755 index 00000000..dc737bcd --- /dev/null +++ b/cli/cmd_etl/batetl/cmd/can_filter_helper.py @@ -0,0 +1,108 @@ +#!/usr/bin/env python3 +# +# Copyright (c) 2010 - 2024, Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V. +# All rights reserved. +# +# SPDX-License-Identifier: BSD-3-Clause +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# +# 1. Redistributions of source code must retain the above copyright notice, this +# list of conditions and the following disclaimer. +# +# 2. Redistributions in binary form must reproduce the above copyright notice, +# this list of conditions and the following disclaimer in the documentation +# and/or other materials provided with the distribution. +# +# 3. Neither the name of the copyright holder nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +# We kindly request you to use one or more of the following phrases to refer to +# foxBMS in your hardware, software, documentation or advertising materials: +# +# - "This product uses parts of foxBMS®" +# - "This product includes parts of foxBMS®" +# - "This product is derived from foxBMS®" + +"""CAN filter subcommand implementation""" + +import logging +import re +import sys +from pathlib import Path + +from ..etl.can_filter import CANFilter +from . import read_config + + +def can_filter_setup(config: Path) -> CANFilter: + """Reads config file and creates the CANFilter object + + :param config: Path to the configuration file + :return: CANFilter object + """ + config_dict = read_config(config) + validate_filter_config(config_dict) + return CANFilter(**config_dict) + + +def validate_filter_config(config_dict: dict) -> None: + """Validates the configuration file of the filter subcommand + + :param config_dict: Dictionary with configurations + """ + if "id_pos" not in config_dict: + logging.error("Configuration file is missing 'id_pos' parameter.") + sys.exit(1) + if not isinstance(config_dict["id_pos"], int): + logging.error("'id_pos' in the configuration file is not an integer.") + sys.exit(1) + if "ids" not in config_dict: + logging.error("'Configuration file is missing 'ids' parameter'.") + sys.exit(1) + if not isinstance(config_dict["ids"], list): + logging.error("'ids' is not a list.") + sys.exit(1) + if not all(isinstance(x, str) for x in config_dict["ids"]): + logging.error("Not all ids are defined as string. Missing quotes ?") + sys.exit(1) + for i in config_dict["ids"]: + if not re.search("^[0-9A-F]+(-[0-9A-F]+){0,1}$", i): + logging.error("'ids' are not defined as hexadecimal values!") + sys.exit(1) + if "sampling" in config_dict: + if not isinstance(config_dict["sampling"], dict): + logging.error("'sampling' is not a dictionary.") + sys.exit(1) + if not all(isinstance(x, str) for x in config_dict["sampling"]): + logging.error( + "Not all ids in sampling are defined as string. Missing quotes ?" + ) + sys.exit(1) + if not set(config_dict["sampling"]).issubset(set(config_dict["ids"])): + logging.error("Defined sampling is not a subset of the ids.") + sys.exit(1) + + +def run_filter(filter_obj: CANFilter) -> None: + """Executes the filter step + + :param filter_obj: Object which handles the filtering + """ + for msg in sys.stdin: + filtered_msg = filter_obj.filter_msg(msg) + if filtered_msg: + sys.stdout.write(filtered_msg) diff --git a/cli/cmd_etl/batetl/etl/__init__.py b/cli/cmd_etl/batetl/etl/__init__.py new file mode 100755 index 00000000..b9987db4 --- /dev/null +++ b/cli/cmd_etl/batetl/etl/__init__.py @@ -0,0 +1,40 @@ +#!/usr/bin/env python3 +# +# Copyright (c) 2010 - 2024, Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V. +# All rights reserved. +# +# SPDX-License-Identifier: BSD-3-Clause +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# +# 1. Redistributions of source code must retain the above copyright notice, this +# list of conditions and the following disclaimer. +# +# 2. Redistributions in binary form must reproduce the above copyright notice, +# this list of conditions and the following disclaimer in the documentation +# and/or other materials provided with the distribution. +# +# 3. Neither the name of the copyright holder nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +# We kindly request you to use one or more of the following phrases to refer to +# foxBMS in your hardware, software, documentation or advertising materials: +# +# - "This product uses parts of foxBMS®" +# - "This product includes parts of foxBMS®" +# - "This product is derived from foxBMS®" + +"""Implements the ETL functionalities""" diff --git a/cli/cmd_etl/batetl/etl/can_decode.py b/cli/cmd_etl/batetl/etl/can_decode.py new file mode 100755 index 00000000..d1f9e621 --- /dev/null +++ b/cli/cmd_etl/batetl/etl/can_decode.py @@ -0,0 +1,152 @@ +#!/usr/bin/env python3 +# +# Copyright (c) 2010 - 2024, Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V. +# All rights reserved. +# +# SPDX-License-Identifier: BSD-3-Clause +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# +# 1. Redistributions of source code must retain the above copyright notice, this +# list of conditions and the following disclaimer. +# +# 2. Redistributions in binary form must reproduce the above copyright notice, +# this list of conditions and the following disclaimer in the documentation +# and/or other materials provided with the distribution. +# +# 3. Neither the name of the copyright holder nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +# We kindly request you to use one or more of the following phrases to refer to +# foxBMS in your hardware, software, documentation or advertising materials: +# +# - "This product uses parts of foxBMS®" +# - "This product includes parts of foxBMS®" +# - "This product is derived from foxBMS®" + +"""Filters CAN messages""" + +import logging +from pathlib import Path + +from cantools import database +from cantools.database.can.signal import Signal + + +class CANDecode: # pylint: disable=too-few-public-methods + """Class to decode CAN messages + + :param dbc: Path to the .dbc file + :param timestamp_pos: Position of the timestamp in a CAN message + :param id_pos: Position of the CAN id in a CAN message + :param data_pos: Position of the data in a CAN message + """ + + def __init__( + self, dbc: str, timestamp_pos: int, id_pos: int, data_pos: int + ) -> None: + try: + self._database = database.load_file( + Path(dbc), database_format="dbc", encoding="utf-8" + ) + except database.UnsupportedDatabaseFormatError: + logging.error("Invalid DBC file") + raise SystemExit(1) from None + self._timestamp_pos = timestamp_pos + self._id_pos = id_pos + self._data_pos = data_pos + + def decode_msg(self, msg: str) -> tuple[int, str] | tuple[None, None]: + """Method to the decoded passed CAN messages. + + :param msg: CAN message as string + :return: Either a tuple with the message name and the decoded message + or in case of an exception an empty tuple + """ + try: + return self._handle_decoding(msg) + except IndexError: + logging.info("Index error at msg: %s", msg) + return None, None + except ValueError: + logging.info( + "CAN id or data in msg %s contain non-hexadecimal " + "values. Wrong id-pos or data-pos ?", + msg, + ) + return None, None + except KeyError: + logging.info("CAN id in msg %s is not listed in the DBC file", msg) + return None, None + except database.DecodeError: + # happens if the CAN msg is not complete + logging.info("CAN msg %s can not be decoded", msg) + return None, None + + def _handle_decoding(self, msg: str) -> tuple[str, str]: + """Handles the decoding of the CAN message without exception handling + + :param msg: CAN message as string + :return: A tuple with the message name and the decoded message + """ + msg_parts = [x for x in msg.lstrip().split() if x] + # convert id to hex value + msg_id = int(msg_parts[self._id_pos], 16) + can_message = self._database.get_message_by_frame_id(msg_id) + data = bytes.fromhex( + " ".join(msg_parts[self._data_pos : can_message.length + self._data_pos]) + ) + decoded_data = self._database.decode_message(msg_id, data) + timestamp_format = f'"Timestamp": {msg_parts[self._timestamp_pos]}' + if can_message.is_multiplexed(): + decoded_signals = list(decoded_data.keys()) + # remove multiplexer from msg signals + signal_list = [ + signal + for signal in can_message.signals + if signal.name in decoded_signals and not signal.is_multiplexer + ] + data_format = CANDecode._data_format(msg_id, signal_list, decoded_data) + return can_message.name, "{{{},{}}}\n".format( # pylint: disable=consider-using-f-string + timestamp_format, + data_format, + ) + # list of all non multiplexed signals + signal_list = can_message.signals + # pass a list with can signal objects + data_format = CANDecode._data_format(msg_id, signal_list, decoded_data) + return can_message.name, "{{{},{}}}\n".format(timestamp_format, data_format) # pylint: disable=consider-using-f-string + + @staticmethod + def _data_format( + msg_id: int, signals: list[Signal], decoded_data: dict[str, str] + ) -> str: + """returns the decoded CAN data as comma separated string compatible + to json object notation + + :param msg_id: The CAN id of the message + :param signals: List containing all signals as cantools signal objects + :param decoded_data: Decoded data of each signal as dictionary + :return: Decoded data as json object {timestamp,data} + """ + return "".join( + [ + f'"{msg_id}_{signal.name}_{signal.unit}":"{decoded_data[signal.name]}",' + if signal.unit is None + else f'"{msg_id}_{signal.name}_{signal.unit}":{decoded_data[signal.name]},' + for signal in signals + ] + )[:-1] # trailing comma diff --git a/cli/cmd_etl/batetl/etl/can_filter.py b/cli/cmd_etl/batetl/etl/can_filter.py new file mode 100755 index 00000000..836522b2 --- /dev/null +++ b/cli/cmd_etl/batetl/etl/can_filter.py @@ -0,0 +1,111 @@ +#!/usr/bin/env python3 +# +# Copyright (c) 2010 - 2024, Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V. +# All rights reserved. +# +# SPDX-License-Identifier: BSD-3-Clause +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# +# 1. Redistributions of source code must retain the above copyright notice, this +# list of conditions and the following disclaimer. +# +# 2. Redistributions in binary form must reproduce the above copyright notice, +# this list of conditions and the following disclaimer in the documentation +# and/or other materials provided with the distribution. +# +# 3. Neither the name of the copyright holder nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +# We kindly request you to use one or more of the following phrases to refer to +# foxBMS in your hardware, software, documentation or advertising materials: +# +# - "This product uses parts of foxBMS®" +# - "This product includes parts of foxBMS®" +# - "This product is derived from foxBMS®" + +"""Filters CAN messages""" + + +class CANFilter: + """Implements the CAN message filter functionalities + + :param _ids: CAN ids which should be filtered + :param _id_pos: Position of the CAN ids in the log file + :param _sampling: Number of specific CAN messages that + should be stored + """ + + def __init__( + self, ids: list[str], id_pos: int, sampling: dict[str, int] | None = None + ) -> None: + self._ids = self.extend_ids(ids) + self._id_pos = id_pos + self._sampling = sampling + if sampling: + self._occurrence = {x: 0 for x in sampling} + + def filter_msg(self, msg: str) -> str | None: + """Filters the incoming CAN message with + respect to the _ids, _id_pos and _sampling. + This function handles only CAN messages + with whitespace separated parts. + + :param msg: One CAN messages as string + :return: One CAN message that fulfills the + filter conditions + """ + try: + msg_parts = [x for x in msg.lstrip().split() if x] + msg_id = msg_parts[self._id_pos] + if msg_id not in self._ids: + return None + if self._sampling and msg_id in self._sampling: + self._occurrence[msg_id] += 1 + if self._occurrence[msg_id] % self._sampling[msg_id] == 0: + self._occurrence[msg_id] = 0 + return msg + return None + return msg + except IndexError: + return None + + @staticmethod + def extend_ids(ids: list[str]) -> list[str]: + """Extends the list with CAN ids with + respect to the used abbreviations as 201-20F. + + This function only accepts only ids in + hexadecimal. + + :param ids: List with CAN ids + :return: Extended list with CAN ids + + Note: + """ + copy_ids = ids.copy() + for can_id in ids: + if "-" in can_id: + id_split = can_id.split("-") + start = int(id_split[0], 16) + end = int(id_split[1], 16) + copy_ids.remove(can_id) + for i in range(start, end + 1): + # hex(i)[2:] removes 0x + new_id = hex(i)[2:].upper() + if new_id not in copy_ids: + copy_ids.append(new_id) + return copy_ids diff --git a/cli/cmd_etl/pyproject.toml b/cli/cmd_etl/pyproject.toml new file mode 100644 index 00000000..4de70361 --- /dev/null +++ b/cli/cmd_etl/pyproject.toml @@ -0,0 +1,61 @@ +# Copyright (c) 2010 - 2024, Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V. +# All rights reserved. +# +# SPDX-License-Identifier: BSD-3-Clause +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# +# 1. Redistributions of source code must retain the above copyright notice, this +# list of conditions and the following disclaimer. +# +# 2. Redistributions in binary form must reproduce the above copyright notice, +# this list of conditions and the following disclaimer in the documentation +# and/or other materials provided with the distribution. +# +# 3. Neither the name of the copyright holder nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +# We kindly request you to use one or more of the following phrases to refer to +# foxBMS in your hardware, software, documentation or advertising materials: +# +# - "This product uses parts of foxBMS®" +# - "This product includes parts of foxBMS®" +# - "This product is derived from foxBMS®" + +[build-system] +requires = ["setuptools >= 70.2.0"] +build-backend = "setuptools.build_meta" + +[tool.setuptools.packages.find] +where = ["."] +include = ["batetl*"] +namespaces = false + +[project] +name = "batetl" +version = "1.0.0" +dependencies = ["click>=8.1.7"] +requires-python = ">=3.10" +authors = [ + {name = "foxBMS Team", email = "info@foxbms.org"}, +] +description = "ETL tools for foxBMS 2" +keywords = ["ETL", "battery", "foxBMS"] + +[project.urls] +Homepage = "https://foxbms.org/" +Documentation = "https://docs.foxbms.org/" +Repository = "https://github.com/foxBMS/foxbms-2" diff --git a/cli/cmd_ide/__init__.py b/cli/cmd_ide/__init__.py index 2271a78a..d004f270 100755 --- a/cli/cmd_ide/__init__.py +++ b/cli/cmd_ide/__init__.py @@ -36,3 +36,5 @@ # - "This product uses parts of foxBMS®" # - "This product includes parts of foxBMS®" # - "This product is derived from foxBMS®" + +"""Implements the functionalities behind the 'ide' command""" diff --git a/cli/cmd_ide/ide_impl.py b/cli/cmd_ide/ide_impl.py index c860ee51..aebb2f4e 100755 --- a/cli/cmd_ide/ide_impl.py +++ b/cli/cmd_ide/ide_impl.py @@ -48,22 +48,32 @@ def open_ide_generic() -> int: - """Open VS Code in the repository root""" + """Open VS Code in the repository root.""" return open_ide(PROJECT_ROOT) -def open_ide_src() -> int: - """Open VS Code in the 'src' directory""" - return open_ide(PROJECT_ROOT / "src") +def open_ide_app() -> int: + """Open VS Code in the 'src/app' directory.""" + return open_ide(PROJECT_ROOT / "src/app") -def open_ide_embedded_unit_tests() -> int: - """Open VS Code in the 'tests/unit' directory""" - return open_ide(PROJECT_ROOT / "tests/unit") +def open_ide_bootloader() -> int: + """Open VS Code in the 'src/bootloader' directory.""" + return open_ide(PROJECT_ROOT / "src/bootloader") + + +def open_ide_embedded_unit_test_app() -> int: + """Open VS Code in the 'tests/unit/app' directory.""" + return open_ide(PROJECT_ROOT / "tests/unit/app") + + +def open_ide_embedded_unit_test_bootloader() -> int: + """Open VS Code in the 'tests/unit/bootloader' directory.""" + return open_ide(PROJECT_ROOT / "tests/unit/bootloader") def open_ide(wd: Path = PROJECT_ROOT) -> int: - """Open VS Code for the provided path""" + """Open VS Code for the provided path.""" vs_code = shutil.which("code") if not vs_code: logging.error("Could not find 'code' binary.") diff --git a/cli/cmd_install/__init__.py b/cli/cmd_install/__init__.py index 2271a78a..9b884e3d 100755 --- a/cli/cmd_install/__init__.py +++ b/cli/cmd_install/__init__.py @@ -36,3 +36,5 @@ # - "This product uses parts of foxBMS®" # - "This product includes parts of foxBMS®" # - "This product is derived from foxBMS®" + +"""Implements the functionalities behind the 'install' command""" diff --git a/cli/cmd_install/install_impl.py b/cli/cmd_install/install_impl.py index be21d105..7910dca6 100755 --- a/cli/cmd_install/install_impl.py +++ b/cli/cmd_install/install_impl.py @@ -44,9 +44,10 @@ import shutil from copy import deepcopy -from ..helpers.ansi_colors import RED, GREEN +from click import secho + from ..helpers.host_platform import PLATFORM -from ..helpers.misc import PROJECT_ROOT, eprint +from ..helpers.misc import PROJECT_ROOT INSTALL_MESSAGE = f"""See {PROJECT_ROOT/ 'INSTALL.md'} for the installation\ instructions for the foxBMS toolchain.""" @@ -63,7 +64,7 @@ def check_for_all_softwares(): - """Checks whether all software is available or not""" + """Checks whether all software is available or not.""" tmp = deepcopy(REQUIRED_SOFTWARE) paths_file = (PROJECT_ROOT / f"conf/env/paths_{PLATFORM}.txt").read_text( encoding="utf-8" @@ -79,13 +80,13 @@ def check_for_all_softwares(): def all_software_available() -> int: - """Simplified wrapper to check whether all software is available or not""" + """Simplified wrapper to check whether all software is available or not.""" err = 0 for k, v in check_for_all_softwares().items(): logging.debug("%s: %s", k, v) if not v["path"]: - eprint(f"{k}: {v}", color=RED, err=True) + secho(f"{k}: {v}", fg="red", err=True) err += 1 if not err: - eprint("All required software is installed.", color=GREEN) + secho("All required software is installed.", fg="green") return err diff --git a/cli/cmd_misc/__init__.py b/cli/cmd_misc/__init__.py index 2271a78a..fc4ce36e 100755 --- a/cli/cmd_misc/__init__.py +++ b/cli/cmd_misc/__init__.py @@ -36,3 +36,6 @@ # - "This product uses parts of foxBMS®" # - "This product includes parts of foxBMS®" # - "This product is derived from foxBMS®" + +"""Implements various functions and features that did not fit in any other +category""" diff --git a/cli/cmd_misc/check_test_files.py b/cli/cmd_misc/check_test_files.py new file mode 100755 index 00000000..b181a8cf --- /dev/null +++ b/cli/cmd_misc/check_test_files.py @@ -0,0 +1,96 @@ +#!/usr/bin/env python3 +# +# Copyright (c) 2010 - 2024, Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V. +# All rights reserved. +# +# SPDX-License-Identifier: BSD-3-Clause +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# +# 1. Redistributions of source code must retain the above copyright notice, this +# list of conditions and the following disclaimer. +# +# 2. Redistributions in binary form must reproduce the above copyright notice, +# this list of conditions and the following disclaimer in the documentation +# and/or other materials provided with the distribution. +# +# 3. Neither the name of the copyright holder nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +# We kindly request you to use one or more of the following phrases to refer to +# foxBMS in your hardware, software, documentation or advertising materials: +# +# - "This product uses parts of foxBMS®" +# - "This product includes parts of foxBMS®" +# - "This product is derived from foxBMS®" + +"""Run uncrustify on the FreeRTOS sources in the foxBMS source tree""" + +import ast +import os +from pathlib import Path + +from click import secho + +from ..helpers.misc import PROJECT_ROOT +from ..helpers.spr import SubprocessResult + + +def check_for_test_files(verbose: int = 0) -> SubprocessResult: + """Check whether all python files have a test file""" + result = SubprocessResult(0) + + # 1. check that all test files exist + cli_files = (PROJECT_ROOT / "cli").rglob("**/*.py") + test_files = [ + i.relative_to(PROJECT_ROOT) + for i in (PROJECT_ROOT / "tests/cli").rglob("**/*.py") + ] + + for i in cli_files: + if i.name in ("__init__.py"): + continue + expected_test_file = ( + Path("tests") / i.relative_to(PROJECT_ROOT).parent / f"test_{i.name}" + ) + if expected_test_file not in test_files: + result += SubprocessResult(1) + secho( + f"'{i}' expects a test file in '{PROJECT_ROOT/expected_test_file}'.", + fg="red", + err=True, + ) + if result.returncode: + secho("Expected test files are missing.", fg="red", err=True) + else: + if verbose: + secho("Found all expected test files.", fg="green") + + # 2. check that all test have the correct style + for i in test_files: + mod = ast.parse(i.read_text(encoding="utf-8")) + cli_file = Path( + str(i).replace("tests" + os.sep, "").replace(os.sep + "test_", os.sep) + ).as_posix() + if not str(ast.get_docstring(mod)).startswith(f"Testing file '{cli_file}'."): + result += SubprocessResult(1) + secho( + f"{i} is missing a docstring starting with " + f'"""Testing file \'{cli_file}\'."""', + fg="red", + err=True, + ) + return result diff --git a/cli/cmd_misc/crc_example.py b/cli/cmd_misc/crc_example.py index af1dfba3..e4521cfc 100755 --- a/cli/cmd_misc/crc_example.py +++ b/cli/cmd_misc/crc_example.py @@ -47,6 +47,6 @@ def run_crc_build() -> SubprocessResult: - """builds the CRC example source code in tools/crc""" + """builds the CRC example source code in tools/crc.""" ret = run_waf(args=["configure", "build"], cwd=CRC_DIR, stdout=None, stderr=None) return ret diff --git a/cli/cmd_misc/doc_example.py b/cli/cmd_misc/doc_example.py index db1ca91d..bb928b34 100755 --- a/cli/cmd_misc/doc_example.py +++ b/cli/cmd_misc/doc_example.py @@ -47,7 +47,7 @@ def run_doc_build() -> SubprocessResult: - """build the documentation example source code in docs/software/unit-tests""" + """build the documentation example source code in docs/software/unit-tests.""" ret = run_waf( args=["configure", "build"], cwd=DOC_UNIT_TEST_EXAMPLE_DIR, diff --git a/cli/cmd_misc/eol_converter.py b/cli/cmd_misc/eol_converter.py new file mode 100755 index 00000000..343a74f5 --- /dev/null +++ b/cli/cmd_misc/eol_converter.py @@ -0,0 +1,59 @@ +#!/usr/bin/env python3 +# +# Copyright (c) 2010 - 2024, Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V. +# All rights reserved. +# +# SPDX-License-Identifier: BSD-3-Clause +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# +# 1. Redistributions of source code must retain the above copyright notice, this +# list of conditions and the following disclaimer. +# +# 2. Redistributions in binary form must reproduce the above copyright notice, +# this list of conditions and the following disclaimer in the documentation +# and/or other materials provided with the distribution. +# +# 3. Neither the name of the copyright holder nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +# We kindly request you to use one or more of the following phrases to refer to +# foxBMS in your hardware, software, documentation or advertising materials: +# +# - "This product uses parts of foxBMS®" +# - "This product includes parts of foxBMS®" +# - "This product is derived from foxBMS®" + +"""Uses waf to build the CRC example""" + +import logging +from pathlib import Path +from typing import Sequence + +from ..helpers.misc import EOL, convert_eol + + +def convert(to: EOL, files: Sequence[Path]): + """Convert the EOL of a list of files to dos or unix.""" + if to == "dos": + eol_from = "unix" + else: + eol_from = "dos" + + files = [i for i in files if i.is_file()] + for i in files: + logging.debug("%s-->%s: %s", eol_from, to, i) + convert_eol(i, eol_from=eol_from, eol_to=to) diff --git a/cli/cmd_misc/run_uncrustify.py b/cli/cmd_misc/run_uncrustify.py index f7833270..b5cb8cfc 100755 --- a/cli/cmd_misc/run_uncrustify.py +++ b/cli/cmd_misc/run_uncrustify.py @@ -36,43 +36,6 @@ # - "This product uses parts of foxBMS®" # - "This product includes parts of foxBMS®" # - "This product is derived from foxBMS®" -# -# Copyright (c) 2010 - 2024, Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V. -# All rights reserved. -# -# SPDX-License-Identifier: BSD-3-Clause -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# -# 1. Redistributions of source code must retain the above copyright notice, this -# list of conditions and the following disclaimer. -# -# 2. Redistributions in binary form must reproduce the above copyright notice, -# this list of conditions and the following disclaimer in the documentation -# and/or other materials provided with the distribution. -# -# 3. Neither the name of the copyright holder nor the names of its -# contributors may be used to endorse or promote products derived from -# this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# -# We kindly request you to use one or more of the following phrases to refer to -# foxBMS in your hardware, software, documentation or advertising materials: -# -# - "This product uses parts of foxBMS®" -# - "This product includes parts of foxBMS®" -# - "This product is derived from foxBMS®" """Run uncrustify on the FreeRTOS sources in the foxBMS source tree""" @@ -82,11 +45,12 @@ from pathlib import Path from shutil import which -from ..helpers.ansi_colors import RED +from click import secho + +from ..helpers.env_vars import HOMEDRIVE from ..helpers.host_platform import PLATFORM -from ..helpers.misc import PROJECT_ROOT, eprint +from ..helpers.misc import PROJECT_ROOT from ..helpers.spr import SubprocessResult, run_process -from ..helpers.win32_vars import HOMEDRIVE ROOT = Path(__file__).parent.parent.parent @@ -122,7 +86,7 @@ def lint_freertos(check=True) -> int: uncrustify = which("uncrustify", path=uncrustify_install_path) if not uncrustify: - eprint("Could not find uncrustify.", err=True, color=RED) + secho("Could not find uncrustify.", fg="red", err=True) return 1 uncrustify_args = [ @@ -138,7 +102,7 @@ def lint_freertos(check=True) -> int: for i in FREERTOS_FILES: if not Path(i).is_file(): err += 1 - logging.error("'%s' is not a file.", i) + secho(f"'{Path(i).absolute()}' is not a file.", fg="red", err=True) continue logging.debug("Start worker for file '%s'", i) futures.append( diff --git a/cli/cmd_misc/verify_checksums.py b/cli/cmd_misc/verify_checksums.py index b8d09763..9d3bbc48 100755 --- a/cli/cmd_misc/verify_checksums.py +++ b/cli/cmd_misc/verify_checksums.py @@ -46,8 +46,8 @@ from ..helpers.misc import get_multiple_files_hash_str -def verify(files: Path | list[Path], known_hash: str) -> int: - """Verifies the checksum of directory""" +def verify(files: str | Path | list[Path | str], known_hash: str) -> int: + """Verifies the checksum of directory.""" # ensure we have a list if isinstance(files, list): pass diff --git a/cli/cmd_pre_commit/__init__.py b/cli/cmd_pre_commit/__init__.py index 2271a78a..cb09f80c 100755 --- a/cli/cmd_pre_commit/__init__.py +++ b/cli/cmd_pre_commit/__init__.py @@ -36,3 +36,5 @@ # - "This product uses parts of foxBMS®" # - "This product includes parts of foxBMS®" # - "This product is derived from foxBMS®" + +"""Implements the functionalities behind the 'pre-commit' command""" diff --git a/cli/cmd_release/__init__.py b/cli/cmd_release/__init__.py new file mode 100755 index 00000000..5f566d6e --- /dev/null +++ b/cli/cmd_release/__init__.py @@ -0,0 +1,40 @@ +#!/usr/bin/env python3 +# +# Copyright (c) 2010 - 2024, Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V. +# All rights reserved. +# +# SPDX-License-Identifier: BSD-3-Clause +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# +# 1. Redistributions of source code must retain the above copyright notice, this +# list of conditions and the following disclaimer. +# +# 2. Redistributions in binary form must reproduce the above copyright notice, +# this list of conditions and the following disclaimer in the documentation +# and/or other materials provided with the distribution. +# +# 3. Neither the name of the copyright holder nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +# We kindly request you to use one or more of the following phrases to refer to +# foxBMS in your hardware, software, documentation or advertising materials: +# +# - "This product uses parts of foxBMS®" +# - "This product includes parts of foxBMS®" +# - "This product is derived from foxBMS®" + +"""Implements the functionalities behind the 'release' command""" diff --git a/cli/cmd_release/release_impl.py b/cli/cmd_release/release_impl.py new file mode 100755 index 00000000..92f7bb9f --- /dev/null +++ b/cli/cmd_release/release_impl.py @@ -0,0 +1,47 @@ +#!/usr/bin/env python3 +# +# Copyright (c) 2010 - 2024, Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V. +# All rights reserved. +# +# SPDX-License-Identifier: BSD-3-Clause +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# +# 1. Redistributions of source code must retain the above copyright notice, this +# list of conditions and the following disclaimer. +# +# 2. Redistributions in binary form must reproduce the above copyright notice, +# this list of conditions and the following disclaimer in the documentation +# and/or other materials provided with the distribution. +# +# 3. Neither the name of the copyright holder nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +# We kindly request you to use one or more of the following phrases to refer to +# foxBMS in your hardware, software, documentation or advertising materials: +# +# - "This product uses parts of foxBMS®" +# - "This product includes parts of foxBMS®" +# - "This product is derived from foxBMS®" + +"""Implements the functionalities behind the 'release' command""" + +from ..helpers.spr import SubprocessResult + + +def dummy() -> SubprocessResult: + """Run the dummy command.""" + return SubprocessResult(0, "", "") diff --git a/cli/cmd_script/__init__.py b/cli/cmd_script/__init__.py index 2271a78a..5b32df48 100755 --- a/cli/cmd_script/__init__.py +++ b/cli/cmd_script/__init__.py @@ -36,3 +36,6 @@ # - "This product uses parts of foxBMS®" # - "This product includes parts of foxBMS®" # - "This product is derived from foxBMS®" + +"""Implements the functionalities behind the 'run-program' and 'run-script' +command.""" diff --git a/cli/cmd_script/script_impl.py b/cli/cmd_script/script_impl.py index 60b03935..6c8e257b 100755 --- a/cli/cmd_script/script_impl.py +++ b/cli/cmd_script/script_impl.py @@ -37,12 +37,14 @@ # - "This product includes parts of foxBMS®" # - "This product is derived from foxBMS®" -"""Implements the functionalities behind the 'pre-commit' command""" +"""Implements the functionalities behind the 'run-program' and 'run-script' +command.""" import sys - from pathlib import Path +from click import echo + from ..helpers.misc import PROJECT_ROOT from ..helpers.spr import SubprocessResult, run_process @@ -52,7 +54,7 @@ def run_python_script( ) -> SubprocessResult: """Run the waf binary with the provided arguments.""" if not python_args: - print("No Arguments provided.") + echo("No Arguments provided.") return SubprocessResult() cmd = [sys.executable] + python_args err = run_program(cmd, cwd=cwd, stdout=stdout, stderr=stderr) diff --git a/cli/commands/__init__.py b/cli/commands/__init__.py index 2271a78a..36b39a20 100755 --- a/cli/commands/__init__.py +++ b/cli/commands/__init__.py @@ -36,3 +36,5 @@ # - "This product uses parts of foxBMS®" # - "This product includes parts of foxBMS®" # - "This product is derived from foxBMS®" + +"""CLI commands defintion""" diff --git a/cli/commands/c_axivion.py b/cli/commands/c_axivion.py index 2b963847..bc1c06ce 100755 --- a/cli/commands/c_axivion.py +++ b/cli/commands/c_axivion.py @@ -49,12 +49,12 @@ @click.group(context_settings=CONTEXT_SETTINGS, invoke_without_command=True) -@click.option("-v", "--verbose", default=0, count=True, help="Verbose information") +@click.option("-v", "--verbose", default=0, count=True, help="Verbose information.") @click.option( "--check-versions", default=False, is_flag=True, - help="Check that all Axivion configuration files have the same version", + help="Check that all Axivion configuration files have the same version.", ) @click.pass_context def axivion( @@ -75,31 +75,31 @@ def axivion( @click.argument("script_args", nargs=-1, type=click.UNPROCESSED) @click.pass_context def cmd_self_test(ctx: click.Context, script_args: tuple[str]) -> None: - """Axivion self-and configuration tests""" + """Axivion self-and configuration tests.""" ret = axivion_impl.self_test(list(script_args)) ctx.exit(ret.returncode) @axivion.command("export-architecture") -@click.option("-v", "--verbose", default=0, count=True, help="Verbose information") +@click.option("-v", "--verbose", default=0, count=True, help="Verbose information.") @click.pass_context def cmd_export_architecture( ctx: click.Context, verbose: int, ) -> None: - """Exports the architecture file""" + """Exports the architecture file.""" ret = axivion_impl.export_architecture(verbose) ctx.exit(ret.returncode) @axivion.command("check-architecture-up-to-date") -@click.option("-v", "--verbose", default=0, count=True, help="Verbose information") +@click.option("-v", "--verbose", default=0, count=True, help="Verbose information.") @click.pass_context def cmd_check_architecture_uptodate( ctx: click.Context, verbose: int, ) -> None: - """Checks whether the architecture file is up-to-date""" + """Checks whether the architecture file is up-to-date.""" ret = axivion_impl.check_if_architecture_up_to_date(verbose) ctx.exit(ret.returncode) @@ -114,13 +114,13 @@ def cmd_check_architecture_uptodate( @click.argument("check_violations_args", nargs=-1, type=click.UNPROCESSED) @click.pass_context def cmd_check_violations(ctx: click.Context, check_violations_args: tuple[str]) -> None: - """Checks for Axivion violations (uses the 'check_violations.py' script)""" + """Checks for Axivion violations (uses the 'check_violations.py' script).""" ret = axivion_impl.check_violations(list(check_violations_args)) ctx.exit(ret) @axivion.command("combine-reports") -@click.option("-v", "--verbose", default=0, count=True, help="Verbose information") +@click.option("-v", "--verbose", default=0, count=True, help="Verbose information.") @click.argument( "reports", nargs=-1, @@ -133,7 +133,7 @@ def cmd_combine_reports( verbose: int, reports: list[Path], ) -> None: - """Combines several reports into one""" + """Combines several reports into one.""" if not reports: click.echo("No reports provided.", err=True) ctx.exit(1) @@ -142,9 +142,9 @@ def cmd_combine_reports( @axivion.command("local-analysis") -@click.option("-u", "--dashboard-url", help="Axivion Dashboard URL") -@click.option("-v", "--variant", help="Build variant") -@click.option("-b", "--branch", help="git branch") +@click.option("-u", "--dashboard-url", help="Axivion Dashboard URL.") +@click.option("-v", "--variant", help="Build variant.") +@click.option("-b", "--branch", help="git branch.") @click.pass_context def cmd_local_analysis( ctx: click.Context, @@ -152,7 +152,7 @@ def cmd_local_analysis( variant: str, branch: str, ) -> None: - """Runs a local analysis""" + """Runs a local analysis.""" ret = axivion_impl.run_local_analysis(dashboard_url, variant, branch) ctx.exit(ret.returncode) @@ -163,11 +163,11 @@ def cmd_local_analysis( "--db-file", is_eager=True, type=click.Path(exists=True, dir_okay=False, path_type=Path), - help="Database file to be installed", + help="Database file to be installed.", ) @click.pass_context def cmd_local_dashserver(ctx: click.Context, db_file: Path) -> None: - """Starts a local dashserver""" + """Starts a local dashserver.""" ret = axivion_impl.start_local_dashserver(db_file) ctx.exit(ret.returncode) @@ -175,6 +175,6 @@ def cmd_local_dashserver(ctx: click.Context, db_file: Path) -> None: @axivion.command("make-race-pdfs") @click.pass_context def cmd_make_race_pdfs(ctx: click.Context) -> None: - """Creates the race pdfs""" + """Creates the race pdfs.""" ret = axivion_impl.make_race_pdfs() ctx.exit(ret.returncode) diff --git a/cli/commands/c_bootloader.py b/cli/commands/c_bootloader.py new file mode 100755 index 00000000..542f5a04 --- /dev/null +++ b/cli/commands/c_bootloader.py @@ -0,0 +1,263 @@ +#!/usr/bin/env python3 +# +# Copyright (c) 2010 - 2024, Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V. +# All rights reserved. +# +# SPDX-License-Identifier: BSD-3-Clause +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# +# 1. Redistributions of source code must retain the above copyright notice, this +# list of conditions and the following disclaimer. +# +# 2. Redistributions in binary form must reproduce the above copyright notice, +# this list of conditions and the following disclaimer in the documentation +# and/or other materials provided with the distribution. +# +# 3. Neither the name of the copyright holder nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +# We kindly request you to use one or more of the following phrases to refer to +# foxBMS in your hardware, software, documentation or advertising materials: +# +# - "This product uses parts of foxBMS®" +# - "This product includes parts of foxBMS®" +# - "This product is derived from foxBMS®" + +"""Command line interface definition for the 'bootloader' command""" + +import logging +import sys +from pathlib import Path + +import click + +from ..cmd_bootloader.bootloader import CanBusConfig + +# show can.pcan warnings only when it is relevant +if "-h" in sys.argv or "--help" in sys.argv or "bootloader" not in sys.argv: + logging.getLogger("can.pcan").setLevel(logging.CRITICAL) + + +# pylint:disable=wrong-import-position +from ..cmd_bootloader import bootloader_impl +from ..helpers.misc import PROJECT_ROOT, set_logging_level_cb + +# pylint:enable=wrong-import-position +CONTEXT_SETTINGS = { + "help_option_names": ["-h", "--help"], +} + + +@click.group(context_settings=CONTEXT_SETTINGS) +def bootloader() -> None: + """Command line tool to interact with the embedded bootloader.""" + + +@bootloader.command("run-app") +@click.pass_context +@click.option( + "-v", + "--verbose", + default=0, + count=True, + help="Verbose information", + callback=set_logging_level_cb, +) +@click.option( + "-i", + "--interface", + default="pcan", + type=click.Choice(["pcan"]), + help="CAN interface", +) +@click.option( + "-c", + "--channel", + default="PCAN_USBBUS1", + type=click.Choice(["PCAN_USBBUS1", "PCAN_USBBUS2"]), + help="CAN channel", +) +@click.option( + "-b", + "--bitrate", + default="500000", + type=click.Choice(["500000"]), + help="CAN Baudrate", +) +def cmd_run_app( + ctx: click.Context, + verbose: int, # pylint: disable=unused-argument + interface: str, + channel: str, + bitrate: str, +) -> None: + """Run the BMS application.""" + try: + bitrate_int = int(bitrate) + except ValueError: + ctx.exit("Could not convert provided bitrate to integer.") + bus_cfg = CanBusConfig(interface=interface, channel=channel, bitrate=bitrate_int) + ctx.exit(bootloader_impl.run_app(bus_cfg)) + + +@bootloader.command("load-app") +@click.pass_context +@click.option( + "-v", + "--verbose", + default=0, + count=True, + help="Verbose information", + callback=set_logging_level_cb, +) +@click.argument( + "binary", + default=PROJECT_ROOT / "build/app_embedded/src/app/main/foxbms.bin", + is_eager=True, + type=click.Path(exists=True, readable=True, dir_okay=False, path_type=Path), +) +@click.option( + "-i", + "--interface", + default="pcan", + type=click.Choice(["pcan"]), + help="CAN interface", +) +@click.option( + "-c", + "--channel", + default="PCAN_USBBUS1", + type=click.Choice(["PCAN_USBBUS1", "PCAN_USBBUS2"]), + help="CAN channel", +) +@click.option( + "-b", + "--bitrate", + default="500000", + type=click.Choice(["500000"]), + help="CAN Baudrate", +) +# pylint: disable-next=too-many-arguments,too-many-positional-arguments +def cmd_load_app( + ctx: click.Context, + verbose: int, # pylint: disable=unused-argument + binary: Path, + interface: str, + channel: str, + bitrate: str, +) -> None: + """Load the application program on the BMS.""" + try: + bitrate_int = int(bitrate) + except ValueError: + ctx.exit("Could not convert provided bitrate to integer.") + bus_cfg = CanBusConfig(interface=interface, channel=channel, bitrate=bitrate_int) + ctx.exit(bootloader_impl.load_app(bus_cfg, binary)) + + +@bootloader.command("reset") +@click.pass_context +@click.option( + "-v", + "--verbose", + default=0, + count=True, + help="Verbose information", + callback=set_logging_level_cb, +) +@click.option( + "-i", + "--interface", + default="pcan", + type=click.Choice(["pcan"]), + help="CAN interface", +) +@click.option( + "-c", + "--channel", + default="PCAN_USBBUS1", + type=click.Choice(["PCAN_USBBUS1", "PCAN_USBBUS2"]), + help="CAN channel", +) +@click.option( + "-b", + "--bitrate", + default="500000", + type=click.Choice(["500000"]), + help="CAN Baudrate", +) +def cmd_reset( + ctx: click.Context, + verbose: int, # pylint: disable=unused-argument + interface: str, + channel: str, + bitrate: str, +) -> None: + """Reset the bootloader.""" + try: + bitrate_int = int(bitrate) + except ValueError: + ctx.exit("Could not convert provided bitrate to integer.") + bus_cfg = CanBusConfig(interface=interface, channel=channel, bitrate=bitrate_int) + ctx.exit(bootloader_impl.reset_bootloader(bus_cfg)) + + +@bootloader.command("check") +@click.pass_context +@click.option( + "-v", + "--verbose", + default=0, + count=True, + help="Verbose information", + callback=set_logging_level_cb, +) +@click.option( + "-i", + "--interface", + default="pcan", + type=click.Choice(["pcan"]), + help="CAN interface", +) +@click.option( + "-c", + "--channel", + default="PCAN_USBBUS1", + type=click.Choice(["PCAN_USBBUS1", "PCAN_USBBUS2"]), + help="CAN channel", +) +@click.option( + "-b", + "--bitrate", + default="500000", + type=click.Choice(["500000"]), + help="CAN Baudrate", +) +def cmd_check( + ctx: click.Context, + verbose: int, # pylint: disable=unused-argument + interface: str, + channel: str, + bitrate: str, +) -> None: + """Check the state of bootloader.""" + try: + bitrate_int = int(bitrate) + except ValueError: + ctx.exit("Could not convert provided bitrate to integer.") + bus_cfg = CanBusConfig(interface=interface, channel=channel, bitrate=bitrate_int) + ctx.exit(bootloader_impl.check_bootloader(bus_cfg)) diff --git a/cli/commands/c_build.py b/cli/commands/c_build.py index bbe0bbc7..5e39ac3e 100755 --- a/cli/commands/c_build.py +++ b/cli/commands/c_build.py @@ -53,7 +53,7 @@ "--cwd", type=click.Path(exists=True, file_okay=False, dir_okay=True), is_eager=True, - help="Directory where 'waf' is run", + help="Directory where 'waf' is run.", ) @click.argument("waf_args", nargs=-1, type=click.UNPROCESSED) @click.pass_context @@ -62,7 +62,7 @@ def waf( cwd: str, waf_args: tuple[str], ) -> None: - """Run the 'waf' tool""" + """Run the 'waf' tool.""" if cwd: ret = build_impl.run_waf(list(waf_args), cwd=cwd, stdout=None, stderr=None) else: diff --git a/cli/commands/c_ci.py b/cli/commands/c_ci.py index 616029fa..dd0a3320 100755 --- a/cli/commands/c_ci.py +++ b/cli/commands/c_ci.py @@ -37,15 +37,18 @@ # - "This product includes parts of foxBMS®" # - "This product is derived from foxBMS®" -"""Command line interface definition for CI tools""" +"""Command line interface definition for CI tools.""" from pathlib import Path +from typing import get_args import click from ..cmd_ci.check_ci_config import check_ci_config from ..cmd_ci.check_coverage import check_coverage from ..cmd_ci.create_readme import create_readme +from ..cmd_cli_unittest.cli_unittest_constants import CliUnitTestVariants +from ..cmd_embedded_ut.embedded_ut_constants import EmbeddedUnitTestVariants CONTEXT_SETTINGS = { "help_option_names": ["-h", "--help"], @@ -65,7 +68,7 @@ def ci() -> None: def cmd_create_readme( ctx: click.Context, ) -> None: - """Create the CI readme""" + """Create the CI readme.""" ctx.exit(create_readme()) @@ -74,17 +77,25 @@ def cmd_create_readme( def cmd_check_ci_config( ctx: click.Context, ) -> None: - """Validate the CI configuration file""" + """Validate the CI configuration file.""" ctx.exit(check_ci_config()) @ci.command("check-coverage") +@click.option( + "--project", + type=click.Choice( + get_args(EmbeddedUnitTestVariants) + get_args(CliUnitTestVariants) + ), + default="app", +) @click.pass_context def cmd_check_coverage( ctx: click.Context, + project: str, ) -> None: - """Check the unit test coverage""" - ctx.exit(check_coverage()) + """Check the unit test coverage.""" + ctx.exit(check_coverage(project)) @ci.command("path-shall-not-exist") @@ -94,7 +105,7 @@ def cmd_check_coverage( ) @click.pass_context def cmd_path_shall_not_exist(ctx: click.Context, path: Path) -> None: - """Ensure that a directory or file does not exist""" + """Ensure that a directory or file does not exist.""" if path.exists(): click.echo(f"Path '{path}' exists.", err=True) ctx.exit(1) diff --git a/cli/commands/c_cli_unittest.py b/cli/commands/c_cli_unittest.py index 2f3f1c24..5f13938f 100755 --- a/cli/commands/c_cli_unittest.py +++ b/cli/commands/c_cli_unittest.py @@ -55,13 +55,13 @@ "--self-test", default=False, is_flag=True, - help="Run foxBMS CLI self test", + help="Run foxBMS CLI self test.", ) @click.option( "--coverage-report", default=False, is_flag=True, - help="Run foxBMS CLI self test", + help="Create a coverage report (requires '--self-test').", ) @click.argument("unittest_args", nargs=-1, type=click.UNPROCESSED) @click.pass_context @@ -71,8 +71,11 @@ def cli_unittest( coverage_report: bool, unittest_args: tuple[str], ) -> None: - """Run unit-tests on the CLI tool itself""" + """Run unit-tests on the CLI tool itself.""" err = 0 + if coverage_report and not self_test: + click.echo("'--coverage-report' requires '--self-test'.", err=True) + err = 1 if self_test: err = cli_unittest_impl.run_script_tests(coverage_report).returncode elif unittest_args: diff --git a/cli/commands/c_embedded_ut.py b/cli/commands/c_embedded_ut.py index 22218284..49a21481 100755 --- a/cli/commands/c_embedded_ut.py +++ b/cli/commands/c_embedded_ut.py @@ -39,27 +39,46 @@ """Command line interface definition for Ceedling""" +from typing import get_args + import click from ..cmd_embedded_ut import embedded_ut_impl +from ..cmd_embedded_ut.embedded_ut_constants import EmbeddedUnitTestVariants +from ..helpers.misc import set_logging_level_cb CONTEXT_SETTINGS = { "help_option_names": ["-h", "--help"], "ignore_unknown_options": True, } +TESTS = ["app"] + @click.command(context_settings=CONTEXT_SETTINGS) +@click.option( + "--project", type=click.Choice(get_args(EmbeddedUnitTestVariants)), default="app" +) +@click.option( + "-v", + "--verbose", + default=0, + count=True, + help="Verbose information.", + callback=set_logging_level_cb, +) @click.argument("ceedling_args", nargs=-1, type=click.UNPROCESSED) @click.pass_context def ceedling( ctx: click.Context, + project: str, + verbose: int, # pylint: disable=unused-argument ceedling_args: tuple[str], ) -> None: """ceedling command""" if not ceedling_args: ceedling_args = ("help",) ret = embedded_ut_impl.run_embedded_tests( - list(ceedling_args), stdout=None, stderr=None + list(ceedling_args), project, stdout=None, stderr=None ) ctx.exit(ret.returncode) diff --git a/cli/commands/c_etl.py b/cli/commands/c_etl.py new file mode 100755 index 00000000..44f63d1e --- /dev/null +++ b/cli/commands/c_etl.py @@ -0,0 +1,59 @@ +#!/usr/bin/env python3 +# +# Copyright (c) 2010 - 2024, Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V. +# All rights reserved. +# +# SPDX-License-Identifier: BSD-3-Clause +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# +# 1. Redistributions of source code must retain the above copyright notice, this +# list of conditions and the following disclaimer. +# +# 2. Redistributions in binary form must reproduce the above copyright notice, +# this list of conditions and the following disclaimer in the documentation +# and/or other materials provided with the distribution. +# +# 3. Neither the name of the copyright holder nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +# We kindly request you to use one or more of the following phrases to refer to +# foxBMS in your hardware, software, documentation or advertising materials: +# +# - "This product uses parts of foxBMS®" +# - "This product includes parts of foxBMS®" +# - "This product is derived from foxBMS®" + +"""Command line interface definition for ETL commands""" + +import click + +from ..cmd_etl.batetl import cmd_decode, cmd_filter + +CONTEXT_SETTINGS = {"help_option_names": ["-h", "--help"]} + + +@click.group(context_settings=CONTEXT_SETTINGS, hidden=True) +def etl() -> None: + """Extract Transform Load functionalities via command line. + + These scripts and tools will simplifiy the collection of + foxBMS 2 data and their analysis. + """ + + +etl.add_command(cmd_filter) +etl.add_command(cmd_decode) diff --git a/cli/commands/c_ide.py b/cli/commands/c_ide.py index 0992596a..e5a5e4f1 100755 --- a/cli/commands/c_ide.py +++ b/cli/commands/c_ide.py @@ -41,7 +41,6 @@ import click - from ..cmd_ide import ide_impl CONTEXT_SETTINGS = { @@ -57,45 +56,47 @@ help="Open a generic VS Code workspace in the repository root.", ) @click.option( - "--embedded-unit-tests/--no-embedded-unit-tests", + "--embedded-unit-test-app/--no-embedded-unit-test-app", default=False, is_flag=True, - help="Open a VS Code workspace for embedded unit test development", + help="Open a VS Code workspace for app embedded unit test development.", ) @click.option( - "-e", - "embedded_unit_tests_short", + "--embedded-unit-test-bootloader/--no-embedded-unit-test-bootloader", default=False, is_flag=True, - help="Short for '--embedded-unit-tests'", + help="Open a VS Code workspace for bootloader embedded unit test development.", ) @click.option( - "--src/--no-src", + "--app/--no-app", default=False, is_flag=True, - help="Open a VS Code workspace for target development", + help="Open a VS Code workspace for embedded app development.", ) @click.option( - "-s", - "src_short", + "--bootloader/--no-bootloader", default=False, is_flag=True, - help="Short for '--src'", + help="Open a VS Code workspace for embedded bootloader development.", ) @click.pass_context -def ide( # pylint:disable=too-many-arguments +def ide( # pylint:disable=too-many-arguments,too-many-positional-arguments ctx: click.Context, - generic: bool, - embedded_unit_tests: bool, - embedded_unit_tests_short: bool, - src: bool, - src_short: bool, + generic: bool = True, + embedded_unit_test_app: bool = False, + embedded_unit_test_bootloader: bool = False, + app: bool = False, + bootloader: bool = False, ) -> None: - """Open pre-configured VS Code workspaces""" + """Open pre-configured VS Code workspaces.""" if generic: ide_impl.open_ide_generic() - if embedded_unit_tests or embedded_unit_tests_short: - ide_impl.open_ide_embedded_unit_tests() - if src or src_short: - ide_impl.open_ide_src() + if embedded_unit_test_app: + ide_impl.open_ide_embedded_unit_test_app() + if embedded_unit_test_bootloader: + ide_impl.open_ide_embedded_unit_test_bootloader() + if app: + ide_impl.open_ide_app() + if bootloader: + ide_impl.open_ide_bootloader() ctx.exit(0) diff --git a/cli/commands/c_install.py b/cli/commands/c_install.py index c3241936..71fc4cf5 100755 --- a/cli/commands/c_install.py +++ b/cli/commands/c_install.py @@ -55,23 +55,22 @@ "--verbose", default=0, count=True, - help="Verbose information", + help="Verbose information.", callback=set_logging_level_cb, ) @click.option( "--check/--no-check", default=False, is_flag=True, - help="Check if the required software is installed", + help="Check if the required software is installed.", ) @click.pass_context def install( ctx: click.Context, - # verbose is used in the callback 'set_logging_level_cb' verbose: int, # pylint: disable=unused-argument check: bool, ) -> None: - """Show installation instructions or check for required software""" + """Show installation instructions or check for required software.""" err = 0 if check: err += install_impl.all_software_available() diff --git a/cli/commands/c_misc.py b/cli/commands/c_misc.py index ad1a4005..4ccfe172 100755 --- a/cli/commands/c_misc.py +++ b/cli/commands/c_misc.py @@ -40,15 +40,18 @@ """Command line interface definition for miscellaneous fox tools""" from pathlib import Path +from typing import get_args import click +from click import secho -from ..cmd_misc import verify_checksums +from ..cmd_misc.check_test_files import check_for_test_files from ..cmd_misc.crc_example import run_crc_build from ..cmd_misc.doc_example import run_doc_build +from ..cmd_misc.eol_converter import convert from ..cmd_misc.run_uncrustify import lint_freertos -from ..helpers.ansi_colors import RED -from ..helpers.misc import eprint +from ..cmd_misc.verify_checksums import verify +from ..helpers.misc import EOL, set_logging_level_cb CONTEXT_SETTINGS = { "help_option_names": ["-h", "--help"], @@ -58,7 +61,21 @@ @click.group(context_settings=CONTEXT_SETTINGS) def misc() -> None: - """Miscellaneous tools or scripts that did not fit in any other category""" + """Miscellaneous tools or scripts that did not fit in any other category.""" + + +@misc.command("check-for-test-files") +@click.option( + "-v", + "--verbose", + default=0, + count=True, + help="Verbose information.", +) +@click.pass_context +def cmd_check_for_test_files(ctx: click.Context, verbose: int) -> None: + """Check whether all 'cli' files have dedicated test file.""" + ctx.exit(check_for_test_files(verbose).returncode) @misc.command("verify-checksum") @@ -72,14 +89,26 @@ def misc() -> None: "known-hash", type=click.STRING, ) +@click.option( + "-v", + "--verbose", + default=0, + count=True, + help="Verbose information", + callback=set_logging_level_cb, +) @click.pass_context -def cmd_verify_checksum(ctx: click.Context, files: list[Path], known_hash: str) -> None: - """Verify checksum of a list of given paths""" - print(files, known_hash) +def cmd_verify_checksum( + ctx: click.Context, + files: list[Path], + known_hash: str, + verbose: int, # pylint: disable=unused-argument +) -> None: + """Verify checksum of a list of given paths.""" if not files: - eprint("No files provided", color=RED, err=True) + secho("No files provided.", fg="red", err=True) ctx.exit(1) - ctx.exit(verify_checksums.verify(list(files), known_hash)) + ctx.exit(verify(list(files), known_hash)) @misc.command("uncrustify-freertos") @@ -87,11 +116,11 @@ def cmd_verify_checksum(ctx: click.Context, files: list[Path], known_hash: str) "--check/--no-check", default=True, is_flag=True, - help="Run uncrustify in check or edit mode", + help="Run uncrustify in check or edit mode.", ) @click.pass_context def cmd_uncrustify_freertos(ctx: click.Context, check: bool) -> None: - """Run uncrustify on the FreeRTOS sources in the source tree""" + """Run uncrustify on the FreeRTOS sources in the source tree.""" ctx.exit(lint_freertos(check)) @@ -100,7 +129,7 @@ def cmd_uncrustify_freertos(ctx: click.Context, check: bool) -> None: def cmd_build_crc_code( ctx: click.Context, ) -> None: - """Build the CRC example code""" + """Build the CRC example code.""" ctx.exit(run_crc_build().returncode) @@ -109,5 +138,36 @@ def cmd_build_crc_code( def cmd_build_doc_code( ctx: click.Context, ) -> None: - """Build the documentation example code""" + """Build the documentation example code.""" ctx.exit(run_doc_build().returncode) + + +@misc.command("convert") +@click.option("--to", type=click.Choice(get_args(EOL), case_sensitive=True)) +@click.argument( + "files", + nargs=-1, + is_eager=True, + type=click.Path(exists=True, dir_okay=True, file_okay=True, path_type=Path), +) +@click.option( + "-v", + "--verbose", + default=0, + count=True, + help="Verbose information.", + callback=set_logging_level_cb, +) +@click.pass_context +def cmd_convert( + ctx: click.Context, + to: EOL, + files: str, + verbose: int, # pylint: disable=unused-argument +) -> None: + """Convert files from dos to unix or unix to dos.""" + if not files: + secho("No files provided.", fg="yellow") + ctx.exit(0) + + ctx.exit(convert(to, files)) diff --git a/cli/commands/c_pre_commit.py b/cli/commands/c_pre_commit.py index be2b1f91..dfdc7c7a 100755 --- a/cli/commands/c_pre_commit.py +++ b/cli/commands/c_pre_commit.py @@ -37,7 +37,7 @@ # - "This product includes parts of foxBMS®" # - "This product is derived from foxBMS®" -"""Command line interface definition for pre-commit""" +"""Command line interface definition for pre-commit.""" import click @@ -56,7 +56,7 @@ def pre_commit( ctx: click.Context, pre_commit_args: tuple[str], ) -> None: - """Run the 'pre-commit' tool""" + """Run the 'pre-commit' tool.""" ret = pre_commit_impl.run_pre_commit( list(pre_commit_args), stdout=None, stderr=None ) diff --git a/cli/commands/c_program.py b/cli/commands/c_program.py index 1f495e36..7fba5312 100755 --- a/cli/commands/c_program.py +++ b/cli/commands/c_program.py @@ -54,7 +54,7 @@ "--cwd", type=click.Path(exists=True, file_okay=False, dir_okay=True), is_eager=True, - help="Directory where the script is run from", + help="Directory where the script is run from.", ) @click.argument("script_args", nargs=-1, type=click.UNPROCESSED) @click.pass_context @@ -63,7 +63,7 @@ def run_script( cwd: str, script_args: tuple[str], ) -> None: - """Run the provided script""" + """Run the provided script.""" ret = script_impl.run_python_script( list(script_args), cwd=cwd, stdout=None, stderr=None ) @@ -75,7 +75,7 @@ def run_script( "--cwd", type=click.Path(exists=True, file_okay=False, dir_okay=True), is_eager=True, - help="Directory where the script is run from", + help="Directory where the script is run from.", ) @click.argument("program_args", nargs=-1, type=click.UNPROCESSED) @click.pass_context @@ -84,6 +84,6 @@ def run_program( cwd: str, program_args: tuple[str], ) -> None: - """Run the provided program""" + """Run the provided program.""" ret = script_impl.run_program(list(program_args), cwd=cwd, stdout=None, stderr=None) ctx.exit(ret.returncode) diff --git a/cli/commands/c_release.py b/cli/commands/c_release.py new file mode 100755 index 00000000..3aba3a0f --- /dev/null +++ b/cli/commands/c_release.py @@ -0,0 +1,56 @@ +#!/usr/bin/env python3 +# +# Copyright (c) 2010 - 2024, Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V. +# All rights reserved. +# +# SPDX-License-Identifier: BSD-3-Clause +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# +# 1. Redistributions of source code must retain the above copyright notice, this +# list of conditions and the following disclaimer. +# +# 2. Redistributions in binary form must reproduce the above copyright notice, +# this list of conditions and the following disclaimer in the documentation +# and/or other materials provided with the distribution. +# +# 3. Neither the name of the copyright holder nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +# We kindly request you to use one or more of the following phrases to refer to +# foxBMS in your hardware, software, documentation or advertising materials: +# +# - "This product uses parts of foxBMS®" +# - "This product includes parts of foxBMS®" +# - "This product is derived from foxBMS®" + +"""Command line interface definition for the 'release' command.""" + +import click + +from ..cmd_release import release_impl + +CONTEXT_SETTINGS = {"help_option_names": ["-h", "--help"]} + + +@click.command("release", context_settings=CONTEXT_SETTINGS, hidden=True) +@click.pass_context +def release( + ctx: click.Context, +) -> None: + """Create a foxBMS release""" + ret = release_impl.dummy() + ctx.exit(ret.returncode) diff --git a/cli/foxbms_version.py b/cli/foxbms_version.py index 6ba2b086..0aed45fb 100755 --- a/cli/foxbms_version.py +++ b/cli/foxbms_version.py @@ -39,4 +39,23 @@ """Version specification""" -__version__ = "1.7.0" +import re +import sys +from pathlib import Path + + +def get_version() -> str: + """read the foxBMS version from the build file.""" + wscript = (Path(__file__).parent.parent / "wscript").read_text(encoding="utf-8") + pattern = re.compile(r"VERSION = \"((x\.y\.z)|(\d{1,}\.\d{1,}\.\d{1,}))\"") + version = "" + for line in wscript.splitlines(): + m = pattern.search(line) + if m: + version = m.group(1) + if not version: + sys.exit("Could not determine foxBMS 2 version.") + return version + + +__version__ = get_version() diff --git a/cli/helpers/__init__.py b/cli/helpers/__init__.py index d6859d02..2ef113a4 100755 --- a/cli/helpers/__init__.py +++ b/cli/helpers/__init__.py @@ -37,6 +37,7 @@ # - "This product includes parts of foxBMS®" # - "This product is derived from foxBMS®" -"""Defines the tool name""" +"""Implements miscellaneous helper functions""" +#: Tool name TOOL = "fox.py" diff --git a/cli/helpers/win32_vars.py b/cli/helpers/env_vars.py similarity index 100% rename from cli/helpers/win32_vars.py rename to cli/helpers/env_vars.py diff --git a/cli/helpers/host_platform.py b/cli/helpers/host_platform.py index ecb97329..fffb6c6b 100755 --- a/cli/helpers/host_platform.py +++ b/cli/helpers/host_platform.py @@ -43,6 +43,7 @@ if sys.platform.lower() == "linux": PLATFORM = "linux" + """String to identify the host platform""" elif sys.platform.lower() == "win32": PLATFORM = "win32" else: diff --git a/cli/helpers/misc.py b/cli/helpers/misc.py index 42b36133..fede8dc9 100755 --- a/cli/helpers/misc.py +++ b/cli/helpers/misc.py @@ -43,15 +43,14 @@ import hashlib import logging import os -import sys from pathlib import Path -from typing import Union +from typing import Literal, Union from click import Context from click.core import Parameter +from .env_vars import HOMEDRIVE, LOCALAPPDATA, PROGRAMFILES, USERPROFILE from .host_platform import PLATFORM -from .win32_vars import HOMEDRIVE, LOCALAPPDATA, PROGRAMFILES, USERPROFILE try: from git import Repo @@ -61,6 +60,19 @@ except ImportError: HAVE_GIT = False + +DOS_LINE_ENDING = b"\r\n" +UNIX_LINE_ENDING = b"\n" + +EOL = Literal["dos", "unix"] + +EOL_MAP = { + "dos": DOS_LINE_ENDING, + "unix": UNIX_LINE_ENDING, +} + + +#: Modules where logging should be disabled DISABLE_LOGGING_FOR_MODULES = ["git"] @@ -86,8 +98,16 @@ def get_project_root(path: str = ".") -> Path: PROJECT_ROOT = get_project_root() +PROJECT_BUILD_ROOT = PROJECT_ROOT / "build" + PATH_FILE = PROJECT_ROOT / f"conf/env/paths_{PLATFORM}.txt" +FOXBMS_ELF_FILE = PROJECT_BUILD_ROOT / "app_embedded/src/app/main/foxbms.elf" +FOXBMS_BIN_FILE = PROJECT_BUILD_ROOT / "app_embedded/src/app/main/foxbms.bin" + +APP_DBC_FILE = PROJECT_ROOT / "tools/dbc/foxbms.dbc" +BOOTLOADER_DBC_FILE = PROJECT_ROOT / "tools/dbc/foxbms-bootloader.dbc" + PATH_REPLACEMENTS = { "$DOT_DIR$": [ os.path.join(USERPROFILE, "graphviz"), @@ -117,8 +137,9 @@ def replace_var(rep: str) -> list[str]: def init_path_var_for_foxbms() -> None: """Add paths that foxBMS expects to exist to the PATH environment variable. + - If a path do not exist, it is not added to PATH - - If a path is already on PATH, it is not added to PATH + - If a path is already on PATH, it is not added to PATH again """ prepare_config = [] for i in PATH_FILE.read_text(encoding="utf-8").splitlines(): @@ -182,24 +203,28 @@ def set_logging_level( def set_logging_level_cb(ctx: Context, param: Parameter | None, value: int) -> None: - """sets the module logging level through a click option callback""" + """sets the module logging level through a click option callback. + Args: + ctx: context the callback shall be applied too (unused) + param: arguments of the callback (unused) + value: arbitrary value passed to the callback (unused) + """ set_logging_level(verbosity=value) -def eprint(msg: str, color=False, err: bool = False) -> None: - """Enhanced printing function""" - if color: - msg = f"{color}{msg}\033[0m" - if err: - print(msg, file=sys.stderr) - else: - print(msg) +def terminal_link_print(link) -> str: + """Prints a clickable link to the terminal + Args: + link: hyperlink that should be clickable""" + return f"\033]8;;{link}\033\\{link}\033]8;;\033\\" def get_sha256_file_hash( - file_path: Path, buffer_size: int = 65536, file_hash=hashlib.sha256() + file_path: Path, buffer_size: int = 65536, file_hash=None ) -> "hashlib._Hash": """Calculate the SHA256 hash of a file""" + if not file_hash: + file_hash = hashlib.sha256() with open(file_path, "rb") as f: while True: data = f.read(buffer_size) @@ -224,3 +249,10 @@ def get_multiple_files_hash_str(files: list[Path], buffer_size: int = 65536) -> i, buffer_size=buffer_size, file_hash=file_hash ) return file_hash.hexdigest() + + +def convert_eol(file: Path, eol_from: EOL, eol_to: EOL): + """Convert EOL of a file""" + + out = file.read_bytes().replace(EOL_MAP[eol_from], EOL_MAP[eol_to]) + file.write_bytes(out) diff --git a/cli/helpers/spr.py b/cli/helpers/spr.py index 42223cae..72cc5b56 100755 --- a/cli/helpers/spr.py +++ b/cli/helpers/spr.py @@ -46,8 +46,9 @@ from subprocess import PIPE, Popen from typing import Sequence -from .ansi_colors import RED -from .misc import PROJECT_ROOT, eprint +from click import secho + +from .misc import PROJECT_ROOT @dataclass @@ -55,15 +56,23 @@ class SubprocessResult: """Subprocess result""" returncode: int = 1 + """returncode of the process""" out: str = "" + """standard out of the process""" err: str = "" + """standard error of the process""" def __add__(self, other: "SubprocessResult") -> "SubprocessResult": - return SubprocessResult( - abs(self.returncode) + (other.returncode), - self.out + "\nnew:\n" + other.out, - self.err + "\nnew:\n" + other.err, - ) + returncode = abs(self.returncode) + if other.returncode: + returncode += other.returncode + out = self.out + if other.out: + out += "\n\n" + other.out + err = self.err + if other.err: + err += "\n\n" + other.err + return SubprocessResult(returncode, out, err) def __str__(self) -> str: return f"return code: {self.returncode}\n\nout:{self.out}\n\n{self.err}\n" @@ -94,13 +103,13 @@ def run_process( """Run the provided command""" logging.debug("Original cmd: %s", cmd) if len(cmd) == 0: - eprint("No program provided.", err=True, color=RED) + secho("No program provided.", fg="red", err=True) return prepare_subprocess_output( 1, out=b"", err="No program provided.".encode(encoding="utf-8") ) executable = cmd[0] if not shutil.which(executable): - eprint(f"Program '{cmd[0]}' does not exist.", err=True, color=RED) + secho(f"Program '{cmd[0]}' does not exist.", fg="red", err=True) return prepare_subprocess_output( 1, out=b"", diff --git a/cli/pre_commit_scripts/__init__.py b/cli/pre_commit_scripts/__init__.py index d6859d02..1aaf1a86 100755 --- a/cli/pre_commit_scripts/__init__.py +++ b/cli/pre_commit_scripts/__init__.py @@ -37,6 +37,4 @@ # - "This product includes parts of foxBMS®" # - "This product is derived from foxBMS®" -"""Defines the tool name""" - -TOOL = "fox.py" +"""Various scripts that are run through the pre-commit framework""" diff --git a/cli/pre_commit_scripts/check_cpp_style_comment.py b/cli/pre_commit_scripts/check_cpp_style_comment.py new file mode 100755 index 00000000..5b0101c8 --- /dev/null +++ b/cli/pre_commit_scripts/check_cpp_style_comment.py @@ -0,0 +1,71 @@ +#!/usr/bin/env python3 +# +# Copyright (c) 2010 - 2024, Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V. +# All rights reserved. +# +# SPDX-License-Identifier: BSD-3-Clause +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# +# 1. Redistributions of source code must retain the above copyright notice, this +# list of conditions and the following disclaimer. +# +# 2. Redistributions in binary form must reproduce the above copyright notice, +# this list of conditions and the following disclaimer in the documentation +# and/or other materials provided with the distribution. +# +# 3. Neither the name of the copyright holder nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +# We kindly request you to use one or more of the following phrases to refer to +# foxBMS in your hardware, software, documentation or advertising materials: +# +# - "This product uses parts of foxBMS®" +# - "This product includes parts of foxBMS®" +# - "This product is derived from foxBMS®" + +"""Script to check whether a file contains C++-style comments""" + +import argparse +from pathlib import Path +from typing import Sequence + + +def check_file(files: list[Path]) -> int: + """Check file for C++-style comments""" + err = 0 + for i in files: + for j, line in enumerate(i.read_text(encoding="utf-8").splitlines()): + if line.strip().startswith("//"): + err += 1 + print(f"{i.as_posix()}:{j+1}: C++-style comments are not allowed.") + + return err + + +def main(argv: Sequence[str] | None = None) -> int: + """C++-style comment checker""" + parser = argparse.ArgumentParser() + parser.add_argument("files", nargs="*", help="Files to check") + args = parser.parse_args(argv) + err = 0 + files = [Path(i) for i in args.files] + err = check_file(files=files) + return min(err, 255) + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/cli/pre_commit_scripts/check_doxygen.py b/cli/pre_commit_scripts/check_doxygen.py index eaa7566e..d0fb0f4a 100755 --- a/cli/pre_commit_scripts/check_doxygen.py +++ b/cli/pre_commit_scripts/check_doxygen.py @@ -40,11 +40,11 @@ """Script to check the file level doxygen comment""" import argparse +import re +import sys from pathlib import Path from subprocess import PIPE, Popen -import sys from typing import Sequence -import re RE_DATE_FIELD = re.compile(r" \* @date \d{4}-\d{2}-\d{2} \(date of creation\)") RE_UPDATED_FIELD = re.compile(r" \* @updated \d{4}-\d{2}-\d{2} \(date of last update\)") @@ -53,67 +53,90 @@ RE_BRIEF_FIELD = re.compile(r" \* @brief [A-Z]{1,}") RE_DETAILS_FIELD = re.compile(r" \* @details [A-Z]{1,}") +IDX_MAP = { + "src/app/driver/afe/nxp/mc33775a/nxp_mc33775a-ll.c": 22, + "tests/cli/pre_commit_scripts/test_check_license_info/invalid-license.c": 43, + "tests/cli/pre_commit_scripts/test_check_license_info/no-license.c": 0, +} +IGNORE_ERROR = { + "author": [ + "src/app/driver/afe/nxp/mc33775a/nxp_mc33775a-ll.c", + ], +} + + +# pylint: disable=too-many-branches, too-many-statements def run_check(filename: Path, version: str) -> int: """Runs the check""" fp = filename.as_posix() + offset = IDX_MAP.get(fp, 41) try: txt = filename.read_text(encoding="ascii") except UnicodeDecodeError: - print(f"{fp}: Could not ASCII-decode file.") + print(f"{fp}: Could not ASCII-decode this file.") return 1 txt_lines = txt.splitlines() err = 0 try: - txt_lines[41] == "/**" + if not txt_lines[offset] == "/**": + err += 1 + print(f"{fp}: Doxygen comment start marker is missing.") except IndexError: err += 1 print(f"{fp}: Doxygen comment start marker is missing.") try: - txt_lines[42] == f" * @file {filename.name}" + if not txt_lines[offset + 1] == f" * @file {filename.name}": + err += 1 + print(f"{fp}: Doxygen @file field is wrong/missing.") except IndexError: err += 1 - print(f"{fp}: Doxygen comment start marker is missing.") + print(f"{fp}: Doxygen @file field is wrong/missing.") try: - txt_lines[43] == " * @author foxBMS Team" + if not txt_lines[offset + 2] == " * @author foxBMS Team": + if fp not in IGNORE_ERROR["author"]: + err += 1 + print(f"{fp}: Doxygen @author field is wrong/missing.") except IndexError: err += 1 print(f"{fp}: Doxygen @author field is wrong/missing.") try: - if not RE_DATE_FIELD.match(txt_lines[44]): + if not RE_DATE_FIELD.match(txt_lines[offset + 3]): err += 1 print(f"{fp}: Doxygen @date field is wrong/missing.") except IndexError: err += 1 print(f"{fp}: Doxygen @date field is wrong/missing.") try: - if not RE_UPDATED_FIELD.match(txt_lines[45]): + if not RE_UPDATED_FIELD.match(txt_lines[offset + 4]): err += 1 print(f"{fp}: Doxygen @updated field is wrong/missing.") except IndexError: err += 1 print(f"{fp}: Doxygen @updated field is wrong/missing.") try: - txt_lines[46] == f" * @version v{version}" + if not txt_lines[offset + 5] == f" * @version v{version}": + err += 1 + print(f"{fp}: Doxygen @version field is wrong/missing.") except IndexError: err += 1 print(f"{fp}: Doxygen @version field is wrong/missing.") try: - if not RE_INGROUP_FIELD.match(txt_lines[47]): + if not RE_INGROUP_FIELD.match(txt_lines[offset + 6]): err += 1 print(f"{fp}: Doxygen @ingroup field is wrong/missing.") except IndexError: err += 1 print(f"{fp}: Doxygen @ingroup field is wrong/missing.") try: - if not RE_PREFIX_FIELD.match(txt_lines[48]): + if not RE_PREFIX_FIELD.match(txt_lines[offset + 7]): err += 1 print(f"{fp}: Doxygen @prefix field is wrong/missing.") except IndexError: err += 1 print(f"{fp}: Doxygen @prefix field is wrong/missing.") try: - if not RE_BRIEF_FIELD.match(txt_lines[50]): + if not RE_BRIEF_FIELD.match(txt_lines[offset + 9]): err += 1 print(f"{fp}: Doxygen @brief field is wrong/missing.") except IndexError: @@ -121,14 +144,14 @@ def run_check(filename: Path, version: str) -> int: print(f"{fp}: Doxygen @brief field is wrong/missing.") # now read until we find the @details comment: - idx_details = -1 - for ln, line in enumerate(txt_lines[51:]): - if line.startswith(" * @details "): - idx_details = ln + 51 - break - if txt_lines[idx_details - 1] == " *": - err += 1 - print(f"{fp}: There shall be no empty line between @brief and @details.") + idx_details = offset + 10 + try: + for ln, line in enumerate(txt_lines[offset + 10 :]): + if line.startswith(" * @details "): + idx_details = ln + offset + 10 + break + except IndexError: + pass try: if not RE_DETAILS_FIELD.match(txt_lines[idx_details]): @@ -138,16 +161,17 @@ def run_check(filename: Path, version: str) -> int: err += 1 print(f"{fp}: Doxygen @details field is wrong/missing.") - # we not check for comment closing was the compiler will do that. + # we do not check for comment closing was the compiler will do that. return err +# pylint: enable=too-many-branches, too-many-statements + + def check_doxygen(files: Sequence[Path], version: str) -> int: """Check test files""" err = 0 for i in files: - if i.suffix == ".c": - continue err += run_check(i, version) return err @@ -162,7 +186,7 @@ def main(argv: Sequence[str] | None = None) -> int: with Popen(cmd, stdout=PIPE) as p: ver_str = p.communicate()[0].decode("utf-8") try: - version = ver_str.split(":")[1] + version = ver_str.split(":")[1].strip() except IndexError: print("Could not determine foxBMS version.") return 1 diff --git a/cli/pre_commit_scripts/check_encoding.py b/cli/pre_commit_scripts/check_encoding.py index 6e174e2c..98361c11 100755 --- a/cli/pre_commit_scripts/check_encoding.py +++ b/cli/pre_commit_scripts/check_encoding.py @@ -40,7 +40,6 @@ """Script to check the encoding for a list of provided files""" import argparse -import codecs from pathlib import Path from typing import Sequence @@ -58,18 +57,15 @@ def main(argv: Sequence[str] | None = None) -> int: args = parser.parse_args(argv) err = 0 for i in args.files: - try: - with codecs.open(i, encoding=args.encoding, errors="strict"): - pass - except ValueError: - print(f"Could not open '{i}' in mode '{args.encoding}'.") - err += 1 try: Path(i).read_text(encoding=args.encoding) except ValueError: - print(f"Could not open '{i}' in mode '{args.encoding}'.") + print( + f"{Path(i).as_posix()}: Could not open file in " + f"'{args.encoding}' mode." + ) err += 1 - return err + return min(err, 255) if __name__ == "__main__": diff --git a/cli/pre_commit_scripts/check_file_names.py b/cli/pre_commit_scripts/check_file_names.py index b9c428a5..f3ea84b7 100755 --- a/cli/pre_commit_scripts/check_file_names.py +++ b/cli/pre_commit_scripts/check_file_names.py @@ -40,21 +40,11 @@ """Script to check the list of provided files for uniqueness""" import argparse +import sys from pathlib import Path from subprocess import PIPE, Popen from typing import Sequence -KNOWN = [ - "tests/axivion/addon-test/test_file_comments/interlock.c", - "tools/vendor/ceedling/plugins/dependencies/example/boss/src/main.c", - "tests/axivion/addon-test/test_file_comments/ltc_defs.h", - "src/os/freertos/LICENSE.md", - "docs/developer-manual/hardware/.dummy", - "docs/hardware/slaves/14-maxim-max17852-vx.x.x/.dummy", - "src/os/safertos/.dummy", - "src/os/safertos/include/.dummy", -] - def main(argv: Sequence[str] | None = None) -> int: """File name uniqueness checker""" @@ -65,17 +55,21 @@ def main(argv: Sequence[str] | None = None) -> int: with Popen(["git", "ls-files"], stdout=PIPE) as p: out = p.communicate()[0] tmp = out.decode("utf-8").splitlines() - repo_files = [] + repo_files: list[Path] = [] + repo_file_names = [] for i in tmp: - file_to_add = Path(i) - if file_to_add.as_posix() not in KNOWN: - repo_files.append(file_to_add.name) + repo_files.append(Path(i)) + repo_file_names.append(Path(i).name) for i in args.files: - if repo_files.count(Path(i).name) > 1: - print(f"{Path(i)}: File name '{Path(i).name}' exists multiple times.") - for j in repo_files: - if Path(i).name == Path(j).name: - print(i, j) + if repo_file_names.count(Path(i).name) > 1: + print( + f"{Path(i).as_posix()}: File name '{Path(i).name}' exists " + "multiple times.", + file=sys.stderr, + ) + for j, name in enumerate(repo_file_names): + if Path(i).name == Path(name).name: + print(f" {repo_files[j].as_posix()}", file=sys.stderr) err += 1 return err diff --git a/cli/pre_commit_scripts/check_for_tabs.py b/cli/pre_commit_scripts/check_for_tabs.py new file mode 100755 index 00000000..190252ff --- /dev/null +++ b/cli/pre_commit_scripts/check_for_tabs.py @@ -0,0 +1,74 @@ +#!/usr/bin/env python3 +# +# Copyright (c) 2010 - 2024, Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V. +# All rights reserved. +# +# SPDX-License-Identifier: BSD-3-Clause +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# +# 1. Redistributions of source code must retain the above copyright notice, this +# list of conditions and the following disclaimer. +# +# 2. Redistributions in binary form must reproduce the above copyright notice, +# this list of conditions and the following disclaimer in the documentation +# and/or other materials provided with the distribution. +# +# 3. Neither the name of the copyright holder nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +# We kindly request you to use one or more of the following phrases to refer to +# foxBMS in your hardware, software, documentation or advertising materials: +# +# - "This product uses parts of foxBMS®" +# - "This product includes parts of foxBMS®" +# - "This product is derived from foxBMS®" + +"""Script to check whether a file contains tabs""" + +import argparse +from pathlib import Path +from typing import Sequence + +SUPPORTED_ENCODINGS = ("ascii", "utf-8") + + +def main(argv: Sequence[str] | None = None) -> int: + """Tabs are not allowed""" + parser = argparse.ArgumentParser() + parser.add_argument("files", nargs="*", help="Files to check") + args = parser.parse_args(argv) + err = 0 + # pylint: disable-next=too-many-nested-blocks + for i in [Path(i) for i in args.files]: + if tabs := i.read_bytes().count(b"\t"): + for encoding in SUPPORTED_ENCODINGS: + try: + for n, line in enumerate( + i.read_text(encoding=encoding).splitlines() + ): + if "\t" in line: + print(f"{i.absolute().as_posix()}:{n+1} contains tabs.") + break + except ValueError: + pass + print(f"{i.absolute().as_posix()} contains tabs.") + err += tabs + return min(err, 255) + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/cli/pre_commit_scripts/check_include_guard.py b/cli/pre_commit_scripts/check_include_guard.py index 8366ba94..ec0557cf 100755 --- a/cli/pre_commit_scripts/check_include_guard.py +++ b/cli/pre_commit_scripts/check_include_guard.py @@ -68,7 +68,7 @@ def run_check(filename: Path) -> int: print(f"{filename.as_posix()}: {marker} occurs more than once.") idx = [] for marker in MARKERS: - marker = i.format(define_guard) + marker = marker.format(define_guard) try: idx.append(txt_lines.index(marker)) except ValueError: diff --git a/cli/pre_commit_scripts/check_license_info.py b/cli/pre_commit_scripts/check_license_info.py index ccb769ba..2ae2e34a 100755 --- a/cli/pre_commit_scripts/check_license_info.py +++ b/cli/pre_commit_scripts/check_license_info.py @@ -40,10 +40,14 @@ """Script to check the license information for a list of provided files""" import argparse +import sys from pathlib import Path -from typing import Sequence +from typing import Literal, Sequence, get_args -LICENSE_BASE_TEXT = [ +LicenseTypes = Literal["BSD-3-Clause", "confidential"] + + +LICENSE_BASE_TEXT_BSD_3_CLAUSE = [ "SPDX-License-Identifier: BSD-3-Clause", "", "Redistribution and use in source and binary forms, with or without", @@ -79,28 +83,70 @@ '- "This product is derived from foxBMS®"', ] +LICENSE_BASE_TEXT_CONFIDENTIAL = [ + "Confidential or no approval for publication", +] + +LICENSE_TYPE_TO_LICENSE_BASE_TEXT = { + "BSD-3-Clause": LICENSE_BASE_TEXT_BSD_3_CLAUSE, + "confidential": LICENSE_BASE_TEXT_CONFIDENTIAL, +} + def compare_header( file_name: Path, expected: list[str], actual: list[str], start: int, end: int ) -> int: """compares to lists of strings""" err = 0 - if not len(actual) >= end + 1: - print(f"License header '{file_name}' is not correct.") + if not len(actual) >= end: + print( + f"{file_name.as_posix()}: License header is not correct.", file=sys.stderr + ) err += 1 - if not actual[start : end + 1] == expected: - print(f"License header '{file_name}' is not correct.") - print("The following lines differ") + if not actual[start:end] == expected: + print( + f"{file_name.as_posix()}: License header is not correct.", file=sys.stderr + ) + print("The following lines differ", file=sys.stderr) for i, (e, a) in enumerate(zip(expected, actual)): if not e == a: - print(f"Line {i+1}: Expected: {e}") - print(f"Line {i+1}: Actual: {a}") + print(f"Line {i+1}: Expected: '{e}'", file=sys.stderr) + print(f"Line {i+1}: Actual: '{a}'", file=sys.stderr) err += 1 return err -def check_c(files: Sequence[str]) -> int: +def check_asm(files: Sequence[str], license_type: LicenseTypes = "confidential") -> int: + """Check assembler sources""" + err = 0 + prolog = [ + # pylint: disable-next=line-too-long + "; @copyright © 2010 - 2024, Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V.", + "; All rights reserved.", + ";", + ] + epilog = [] + char = "; " + txt = [] + for i in LICENSE_TYPE_TO_LICENSE_BASE_TEXT.get(license_type, "confidential"): + txt.append((char + i.replace("®", "®")).rstrip()) + license_text = prolog + txt + epilog + start = 0 + end = start + len(license_text) + for i in files: + tmp = Path(i).read_text(encoding="utf-8").splitlines() + err += compare_header( + file_name=Path(i), + expected=license_text, + actual=tmp, + start=start, + end=end, + ) + return err + + +def check_c(files: Sequence[str], license_type: LicenseTypes = "confidential") -> int: """Check C sources""" err = 0 prolog = [ @@ -114,11 +160,11 @@ def check_c(files: Sequence[str]) -> int: epilog = [" *", " */"] char = " * " txt = [] - for i in LICENSE_BASE_TEXT: + for i in LICENSE_TYPE_TO_LICENSE_BASE_TEXT.get(license_type, "confidential"): txt.append((char + i.replace("®", "®")).rstrip()) license_text = prolog + txt + epilog start = 0 - end = 39 + end = start + len(license_text) for i in files: tmp = Path(i).read_text(encoding="utf-8").splitlines() err += compare_header( @@ -131,7 +177,7 @@ def check_c(files: Sequence[str]) -> int: return err -def check_py(files: Sequence[str]) -> int: +def check_py(files: Sequence[str], license_type: LicenseTypes = "confidential") -> int: """Check Python scripts""" err = 0 prolog = [ @@ -143,11 +189,11 @@ def check_py(files: Sequence[str]) -> int: ] char = "# " txt = [] - for i in LICENSE_BASE_TEXT: + for i in LICENSE_TYPE_TO_LICENSE_BASE_TEXT.get(license_type, "confidential"): txt.append((char + i).rstrip()) license_text = prolog + txt start = 1 - end = 37 + end = start + len(license_text) for i in files: tmp = Path(i).read_text(encoding="utf-8").splitlines() err += compare_header( @@ -160,7 +206,9 @@ def check_py(files: Sequence[str]) -> int: return err -def check_yaml(files: Sequence[str]) -> int: +def check_yaml( + files: Sequence[str], license_type: LicenseTypes = "confidential" +) -> int: """Check YAML files""" err = 0 prolog = [ @@ -171,11 +219,11 @@ def check_yaml(files: Sequence[str]) -> int: ] char = "# " txt = [] - for i in LICENSE_BASE_TEXT: + for i in LICENSE_TYPE_TO_LICENSE_BASE_TEXT.get(license_type, "confidential"): txt.append((char + i).rstrip()) license_text = prolog + txt start = 0 - end = 35 + end = start + len(license_text) for i in files: tmp = Path(i).read_text(encoding="utf-8").splitlines() err += compare_header( @@ -188,20 +236,25 @@ def check_yaml(files: Sequence[str]) -> int: return err -def check_toml(files: Sequence[str]) -> int: +def check_toml( + files: Sequence[str], license_type: LicenseTypes = "confidential" +) -> int: """Check toml files""" # same header - print(11) - return check_yaml(files) + return check_yaml(files, license_type) -def check_pwsh(files: Sequence[str]) -> int: +def check_pwsh( + files: Sequence[str], license_type: LicenseTypes = "confidential" +) -> int: """Check pwsh scripts""" # same header - return check_py(files) + return check_py(files, license_type) -def check_batch(files: Sequence[str]) -> int: +def check_batch( + files: Sequence[str], license_type: LicenseTypes = "confidential" +) -> int: """Check batch scripts""" err = 0 prolog = [ @@ -212,11 +265,11 @@ def check_batch(files: Sequence[str]) -> int: ] char = "@REM " txt = [] - for i in LICENSE_BASE_TEXT: + for i in LICENSE_TYPE_TO_LICENSE_BASE_TEXT.get(license_type, "confidential"): txt.append((char + i.replace("®", "®")).rstrip()) license_text = prolog + txt start = 0 - end = 35 + end = start + len(license_text) for i in files: tmp = Path(i).read_text(encoding="utf-8").splitlines() err += compare_header( @@ -229,16 +282,18 @@ def check_batch(files: Sequence[str]) -> int: return err -def check_shell(files: Sequence[str]) -> int: +def check_shell( + files: Sequence[str], license_type: LicenseTypes = "confidential" +) -> int: """Check shell scripts""" # same header - return check_py(files) + return check_py(files, license_type) -def check_dot(files: Sequence[str]) -> int: +def check_dot(files: Sequence[str], license_type: LicenseTypes = "confidential") -> int: """Check dot files""" # same header - return check_yaml(files) + return check_yaml(files, license_type) def main(argv: Sequence[str] | None = None) -> int: @@ -247,13 +302,21 @@ def main(argv: Sequence[str] | None = None) -> int: parser.add_argument( "--file-type", default="c", - choices=["c", "py", "yaml", "toml", "pwsh", "batch", "shell", "dot"], + choices=["asm", "batch", "c", "dot", "pwsh", "py", "shell", "toml", "yaml"], help="File type", ) parser.add_argument("files", nargs="*", help="Files to check") + parser.add_argument( + "--license-type", + default="confidential", + choices=get_args(LicenseTypes), + help="License type", + ) args = parser.parse_args(argv) err = 0 - err = globals()[f"check_{args.file_type}"](files=args.files) + err = globals()[f"check_{args.file_type}"]( + files=args.files, license_type=args.license_type + ) return err diff --git a/cli/pre_commit_scripts/check_sections.py b/cli/pre_commit_scripts/check_sections.py index a60e78fe..d511778a 100755 --- a/cli/pre_commit_scripts/check_sections.py +++ b/cli/pre_commit_scripts/check_sections.py @@ -40,6 +40,7 @@ """Script to check the section markers in C files""" import argparse +import sys from pathlib import Path from typing import Sequence @@ -82,40 +83,43 @@ def run_check(filename: Path, file_type) -> int: txt_lines = txt.splitlines() markers = TYPES[file_type] err = 0 + idx = [] for marker in markers: - if not txt_lines.count(marker): + try: + idx.append(txt_lines.index(marker)) + except ValueError: err += 1 - print(f"{filename.as_posix()}: {marker} is missing.") + print(f"{filename.as_posix()}: {marker} is missing.", file=sys.stderr) + idx.append(-1) if txt_lines.count(marker) > 1: err += 1 - print(f"{filename.as_posix()}: {marker} occurs more than once.") - for marker in markers: + print( + f"{filename.as_posix()}: {marker} occurs more than once.", + file=sys.stderr, + ) if f"\n\n{marker}\n" not in txt: err += 1 print( f"{filename.as_posix()}: {marker} requires a blank line " - "before the marker." + "before the marker.", + file=sys.stderr, ) - idx = [] - for marker in markers: - try: - idx.append(txt_lines.index(marker)) - except ValueError: - err += 1 - print(f"{filename.as_posix()}: Could not find {marker}.") - idx.append(-1) if idx != sorted(idx): err += 1 - print(f"{filename.as_posix()}: markers are not in the correct order.") + print( + f"{filename.as_posix()}: markers are not in the correct order.", + file=sys.stderr, + ) if file_type in ["src.c", "src.h"]: + # check the file, then this exception is obvious if filename == Path("src/app/application/config/battery_system_cfg.h"): return err try: + # laster marker is for unit tests unit_test_define = txt_lines.index(TYPES[file_type][-1]) + 1 except ValueError: err += 1 - print(f"{filename.as_posix()}: Could not find {marker}.") idx.append(-1) return err try: @@ -123,13 +127,15 @@ def run_check(filename: Path, file_type) -> int: err += 1 print( f"{filename.as_posix()}: '#ifdef UNITY_UNIT_TEST' is " - f"missing after {TYPES[file_type][-1]}." + f"missing after {TYPES[file_type][-1]}.", + file=sys.stderr, ) except IndexError: err += 1 print( f"{filename.as_posix()}: '#ifdef UNITY_UNIT_TEST' is " - f"missing after {TYPES[file_type][-1]}." + f"missing after {TYPES[file_type][-1]}.", + file=sys.stderr, ) return err @@ -142,6 +148,11 @@ def check_src(files: Sequence[Path]) -> int: err += run_check(i, "src.c") elif i.suffix == ".h": err += run_check(i, "src.h") + else: + print( + f"{i.as_posix()}: Unkown file extension '{i.suffix}'.", file=sys.stderr + ) + err += 1 return err @@ -153,6 +164,11 @@ def check_test(files: Sequence[Path]) -> int: err += run_check(i, "test.c") elif i.suffix == ".h": err += run_check(i, "test.h") + else: + print( + f"{i.as_posix()}: Unkown file extension '{i.suffix}'.", file=sys.stderr + ) + err += 1 return err diff --git a/conf/README.md b/conf/README.md index d8d631e0..c4af55b4 100644 --- a/conf/README.md +++ b/conf/README.md @@ -4,7 +4,7 @@ | ---------------- | --------------------------- | ------------------------------------------------------------------------ | | `bms` | Battery Management System | Configuration of the BMS (e.g., used AFE) | | `cc` | C compiler | Compiler configuration (e.g., compiler flags) | -| `env` | Environment | Environment configuration files (e.g., Path, Conda package dependencies) | +| `env` | Environment | Environment configuration files (e.g., Path) | | `hcg` | HalCoGen | HalCoGen configuration files for the Hardware Abstraction Layer | | `tpl` | Templates | Template files for source files (C, Python, etc.) | | `unit` | Unit tests | Unit test configuration files | diff --git a/conf/bms/bms.json b/conf/bms/bms.json index ca60c30c..ac444abb 100644 --- a/conf/bms/bms.json +++ b/conf/bms/bms.json @@ -8,10 +8,10 @@ "soh": "none" } }, - "balancing-strategy": "none", + "balancing-strategy": "voltage", "insulation-monitoring-device": { - "manufacturer": "bender", - "model": "iso165c" + "manufacturer": "none", + "model": "" } }, "rtos": { diff --git a/conf/bms/schema/bms.schema.json b/conf/bms/schema/bms.schema.json deleted file mode 100644 index 36224275..00000000 --- a/conf/bms/schema/bms.schema.json +++ /dev/null @@ -1,445 +0,0 @@ -{ - "additionalProperties": false, - "properties": { - "application": { - "algorithm": { - "$id": "/properties/application/algorithm", - "properties": { - "state-estimation": { - "$id": "/properties/application/algorithm/state-estimation", - "properties": { - "soc": { - "$id": "/properties/application/algorithm/state-estimation/soc", - "enum": [ - "counting", - "debug", - "none" - ], - "title": "State-of-Charge algorithm (must correspond to the directory name)", - "type": "string" - }, - "soe": { - "$id": "/properties/application/algorithm/state-estimation/soe", - "enum": [ - "counting", - "debug", - "none" - ], - "title": "State-of-Energy algorithm (must correspond to the directory name)", - "type": "string" - }, - "sof": { - "$id": "/properties/application/algorithm/state-estimation/sof", - "enum": [ - "trapezoid" - ], - "title": "State-of-Function algorithm (must correspond to the directory name)", - "type": "string" - }, - "soh": { - "$id": "/properties/application/algorithm/state-estimation/soh", - "enum": [ - "debug", - "none" - ], - "title": "State-of-Health algorithm (must correspond to the directory name)", - "type": "string" - } - }, - "required": [ - "soc", - "soe", - "sof", - "soh" - ], - "title": "State estimators (must correspond to the directory name)" - } - }, - "required": [ - "state-estimation" - ], - "title": "Configuration of the algorithm module" - }, - "balancing-strategy": { - "$id": "/properties/application/balancing-strategy", - "enum": [ - "voltage", - "history", - "none" - ], - "title": "Balancing strategy", - "type": "string" - }, - "insulation-monitoring-device": { - "$id": "/properties/application/insulation-monitoring-device", - "additionalProperties": false, - "else": { - "if": { - "properties": { - "manufacturer": { - "enum": [ - "bender" - ] - } - } - }, - "then": { - "properties": { - "model": { - "enum": [ - "ir155", - "iso165c" - ] - } - } - } - }, - "if": { - "properties": { - "manufacturer": { - "enum": [ - "none" - ] - } - } - }, - "properties": { - "manufacturer": { - "$id": "/properties/application/insulation-monitoring-device/manufacturer", - "enum": [ - "none", - "bender" - ], - "title": "Manufacturer of the insulation monitoring device (must correspond to the directory name)", - "type": "string" - }, - "model": { - "$id": "/properties/application/insulation-monitoring-device/model", - "title": "Name of the insulation monitoring device (must correspond to the directory name)", - "type": "string" - } - }, - "required": [ - "manufacturer", - "model" - ], - "then": { - "properties": { - "model": { - "enum": [ - "" - ] - } - } - }, - "title": "Configuration of the used insulation measurement device" - } - }, - "rtos": { - "name": { - "$id": "/properties/rtos/name", - "enum": [ - "freertos", - "safertos" - ], - "title": "Name of the Real Time Operating System (must correspond to the directory name)", - "type": "string" - } - }, - "slave-unit": { - "analog-front-end": { - "$id": "/properties/slave-unit/analog-front-end", - "additionalProperties": false, - "else": { - "else": { - "else": { - "else": { - "else": { - "if": { - "properties": { - "manufacturer": { - "enum": [ - "ti" - ] - } - } - }, - "properties": { - "ic": { - "enum": [ - "dummy" - ] - } - } - }, - "if": { - "properties": { - "manufacturer": { - "enum": [ - "adi" - ] - } - } - }, - "then": { - "properties": { - "ic": { - "enum": [ - "ades1830" - ] - } - } - } - }, - "if": { - "properties": { - "manufacturer": { - "enum": [ - "debug" - ] - } - } - }, - "then": { - "properties": { - "ic": { - "enum": [ - "default", - "can" - ] - } - } - } - }, - "if": { - "properties": { - "manufacturer": { - "enum": [ - "maxim" - ] - } - } - }, - "then": { - "properties": { - "ic": { - "enum": [ - "max17852" - ] - } - } - } - }, - "if": { - "properties": { - "manufacturer": { - "enum": [ - "nxp" - ] - } - } - }, - "then": { - "properties": { - "ic": { - "enum": [ - "mc33775a" - ] - } - } - } - }, - "if": { - "properties": { - "manufacturer": { - "enum": [ - "ltc" - ] - } - } - }, - "properties": { - "ic": { - "$id": "/properties/slave-unit/analog-front-end/ic", - "title": "Name of the Analog Front-End (must correspond to the directory name)", - "type": "string" - }, - "manufacturer": { - "$id": "/properties/slave-unit/analog-front-end/manufacturer", - "enum": [ - "ltc", - "maxim", - "nxp", - "debug", - "adi", - "ti" - ], - "title": "Manufacturer of the Analog Front-End (must correspond to the directory name)", - "type": "string" - } - }, - "required": [ - "manufacturer", - "ic" - ], - "then": { - "properties": { - "ic": { - "enum": [ - "6804-1", - "6806", - "6811-1", - "6812-1", - "6813-1" - ] - } - } - }, - "title": "Configuration of the Analog Front-End" - }, - "temperature-sensor": { - "$id": "/properties/slave-unit/temperature-sensor", - "additionalProperties": false, - "else": { - "else": { - "else": { - "else": { - "if": { - "properties": { - "manufacturer": { - "enum": [ - "fake" - ] - } - } - }, - "then": { - "properties": { - "model": { - "enum": [ - "none" - ] - } - } - } - }, - "if": { - "properties": { - "manufacturer": { - "enum": [ - "vishay" - ] - } - } - }, - "then": { - "properties": { - "model": { - "enum": [ - "ntcalug01a103g", - "ntcle317e4103sba" - ] - } - } - } - }, - "if": { - "properties": { - "manufacturer": { - "enum": [ - "semitec" - ] - } - } - }, - "then": { - "properties": { - "model": { - "enum": [ - "103jt" - ] - } - } - } - }, - "if": { - "properties": { - "manufacturer": { - "enum": [ - "murata" - ] - } - } - }, - "then": { - "properties": { - "model": { - "enum": [ - "ncxxxxh103" - ] - } - } - } - }, - "if": { - "properties": { - "manufacturer": { - "enum": [ - "epcos" - ] - } - } - }, - "properties": { - "manufacturer": { - "$id": "/properties/slave-unit/temperature-sensor/manufacturer", - "enum": [ - "epcos", - "murata", - "semitec", - "vishay", - "fake" - ], - "title": "Manufacturer of the temperature sensor (must correspond to the directory name)", - "type": "string" - }, - "method": { - "$id": "/properties/slave-unit/temperature-sensor/method", - "enum": [ - "polynomial", - "lookup-table" - ], - "title": "Method on which the temperature calculation is based on (must correspond to the directory name)", - "type": "string" - }, - "model": { - "$id": "/properties/slave-unit/temperature-sensor/model", - "title": "Name of the temperature sensor (must correspond to the directory name)", - "type": "string" - } - }, - "required": [ - "manufacturer", - "model", - "method" - ], - "then": { - "properties": { - "model": { - "enum": [ - "b57251v5103j060", - "b57861s0103f045" - ] - } - } - }, - "title": "Configuration of the temperature sensor" - } - } - }, - "required": [ - "application", - "slave-unit", - "rtos" - ] -} diff --git a/conf/hcg/hcg.dil b/conf/hcg/app.dil similarity index 100% rename from conf/hcg/hcg.dil rename to conf/hcg/app.dil diff --git a/conf/hcg/hcg.hcg b/conf/hcg/app.hcg similarity index 99% rename from conf/hcg/hcg.hcg rename to conf/hcg/app.hcg index 1ccd6e1c..dabcf415 100644 --- a/conf/hcg/hcg.hcg +++ b/conf/hcg/app.hcg @@ -3,7 +3,7 @@ TMS570LC43x TMS570LC4357ZWT_FREERTOS - hcg.dil + app.dil ti diff --git a/conf/hcg/bootloader.dil b/conf/hcg/bootloader.dil new file mode 100644 index 00000000..283db3c0 --- /dev/null +++ b/conf/hcg/bootloader.dil @@ -0,0 +1,11969 @@ +# TMS570LC4357ZWT 08/15/24 14:15:12 +# +ARCH=TMS570LC4357ZWT +# +DRIVER.TOOLS.VAR.GCC.VALUE=0 +DRIVER.TOOLS.VAR.ARM.VALUE=0 +DRIVER.TOOLS.VAR.IAR.VALUE=0 +DRIVER.TOOLS.VAR.GHS.VALUE=0 +DRIVER.TOOLS.VAR.TI.VALUE=1 +DRIVER.SYSTEM.VAR.CLKT_AVCLK4_DIVIDER.VALUE=1 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_10_PERMISSION.VALUE=PRIV_RW_USER_RW_NOEXEC +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_7_SUB_3_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_2_TYPE.VALUE=NORMAL_OINC_NONSHARED +DRIVER.SYSTEM.VAR.VIM_CHANNEL_122_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_114_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_106_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_70_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_62_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_54_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_46_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_38_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CAPTURE_EVENT_SOURCE_0.VALUE=0 +DRIVER.SYSTEM.VAR.FLASH_EEPROM_DATA_1_WAIT_STATE_FREQ.VALUE=32.0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_3_PERMISSION_VALUE.VALUE=0x0300 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_81_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_73_NAME.VALUE=het2LowLevelInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_65_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_57_NAME.VALUE=adc2Group2Interrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_49_NAME.VALUE=mibspi4HighLevelInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_2_MAPPING.VALUE=2 +DRIVER.SYSTEM.VAR.VIM_CAPTURE_EVENT_SOURCE_1.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_15_SIZE.VALUE=32_BYTES +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_14_SUB_1_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_13_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_4_SUB_4_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_111_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_103_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.EQEP2_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.FLASH_DATA_3_WAIT_STATE_FREQ.VALUE=180.0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_96_MAPPING.VALUE=96 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_88_MAPPING.VALUE=88 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_1_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_11_SUB_2_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_8_SUB_7_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_8_END_ADDRESS.VALUE=0x0000001F +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_1_SUB_5_DISABLE.VALUE=1 +DRIVER.SYSTEM.VAR.CORE_HANDLER_TABLE_DATA_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_11_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.LIN2_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.SPI3_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CLKT_PLL1_BYPASS_ON_SLIP.VALUE=0x20000000 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_1_TYPE_VALUE.VALUE=0x0008 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_124_NAME.VALUE=epcFullInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_116_NAME.VALUE=sci4HighLevelInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_108_NAME.VALUE=ecap5Interrupt +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_15_SUB_5_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_13_BASE_ADDRESS.VALUE=0x00000000 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_4_SIZE.VALUE=128_MB +DRIVER.SYSTEM.VAR.VIM_CHANNEL_100_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_98_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_20_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_12_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_2_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.CRC_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.MIBSPI1_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CLKT_HCLK_FREQ.VALUE=100.000 +DRIVER.SYSTEM.VAR.CLKT_PLL2_FREQ.VALUE=80.00 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_81_MAPPING.VALUE=81 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_73_MAPPING.VALUE=73 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_65_MAPPING.VALUE=65 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_57_MAPPING.VALUE=57 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_49_MAPPING.VALUE=49 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_40_NAME.VALUE=dmaBTCAInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_32_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_24_NAME.VALUE=het1LowLevelInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_16_NAME.VALUE=can1HighLevelInterrupt +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_12_SUB_6_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_8_SUB_0_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_92_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_84_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_76_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_68_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_31_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_23_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_15_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.ECLK_CLKSRC.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_12_TYPE_VALUE.VALUE=0x0006 +DRIVER.SYSTEM.VAR.CLKT_PLL2_OUTPUT_DIV.VALUE=1 +DRIVER.SYSTEM.VAR.CLKT_EXT2_ENABLE.VALUE=FALSE +DRIVER.SYSTEM.VAR.CLKT_PLL1_SOURCE_ENABLE.VALUE=0x00000000 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_5_SUB_1_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_5_END_ADDRESS.VALUE=0x6FFFFFFF +DRIVER.SYSTEM.VAR.VIM_CHANNEL_96_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_88_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_9_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_4_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.CLKT_RTI2_PRE_SOURCE.VALUE=PLL1 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_6_SIZE_VALUE.VALUE=0x1A +DRIVER.SYSTEM.VAR.VIM_CHANNEL_99_NAME.VALUE=etpwm5TripZoneInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_50_MAPPING.VALUE=50 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_42_MAPPING.VALUE=42 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_34_MAPPING.VALUE=34 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_26_MAPPING.VALUE=26 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_18_MAPPING.VALUE=18 +DRIVER.SYSTEM.VAR.CLKT_VCLK3_DOMAIN_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.FLASH_ECC_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.FLASH_BANKS.VALUE=4 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_14_TYPE.VALUE=NORMAL_OIWTNOWA_SHARED +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_9_SUB_4_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_2_SUB_2_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_HANDLER_TABLE_IRQ_DISP_ENTRY.VALUE=_irqDispatch +DRIVER.SYSTEM.VAR.VIM_CHANNEL_111_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_103_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_92_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_84_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_76_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_68_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CAN3_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CLKT_AVCLK1_SOURCE.VALUE=VCLK +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_16_SUB_2_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_6_SUB_5_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.ETPWM4_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.DCC2_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.CLKT_PLL1_RESET_ON_OSCILLATOR_FAIL.VALUE=0x00800000 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_2_PERMISSION_VALUE.VALUE=0x0600 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_11_MAPPING.VALUE=11 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_4_PERMISSION.VALUE=PRIV_RW_USER_RW_NOEXEC +DRIVER.SYSTEM.VAR.LBIST_ENA.VALUE=0 +DRIVER.SYSTEM.VAR.CLKT_AVCLK2_DOMAIN_ENABLE.VALUE=FALSE +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_13_SUB_3_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_9_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_3_SUB_6_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_3_TYPE.VALUE=NORMAL_OINC_NONSHARED +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_2_END_ADDRESS.VALUE=0x003FFFFF +DRIVER.SYSTEM.VAR.VIM_CHANNEL_41_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_33_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_25_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_17_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_3_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.ECAP6_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.SCI_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.FLASH_DATA_1_WAIT_STATE_FREQ.VALUE=90.0 +DRIVER.SYSTEM.VAR.RAM_STACK_IRQ_BASE.VALUE=0x08003a00 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_125_MAPPING.VALUE=125 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_117_MAPPING.VALUE=117 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_109_MAPPING.VALUE=109 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_90_NAME.VALUE=etpwm1Interrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_82_NAME.VALUE=dcc1DoneInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_74_NAME.VALUE=sciLowLevelInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_66_NAME.VALUE=i2cInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_58_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.CLKT_AVCLK3_DOMAIN_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_PMU_GLOBAL_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_16_SIZE.VALUE=512_KB +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_15_END_ADDRESS.VALUE=0x0000001F +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_10_SUB_4_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_10_BASE_ADDRESS.VALUE=0x00000000 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_2_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_97_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_89_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_81_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_73_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_70_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_65_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_62_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_57_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_54_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_49_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_46_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_38_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.EMAC_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_8_MAPPING.VALUE=8 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_2_NAME.VALUE=rtiCompare0Interrupt +DRIVER.SYSTEM.VAR.CORE_PMU_COUNTER0_EVENT.VALUE=0x11 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_15_PERMISSION.VALUE=PRIV_RO_USER_RO_NOEXEC +DRIVER.SYSTEM.VAR.FLASH_ADDRESS_WAIT_STATES.VALUE=1 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_14_SUB_7_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_HANDLER_TABLE_RESET_ENTRY.VALUE=_c_int00 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_127_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_122_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_119_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_114_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_106_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_9_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.ADC1_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.MIBSPI_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.ECLK_VCLK1_FREQ.VALUE=100.000 +DRIVER.SYSTEM.VAR.CLKT_EXTERNAL_FREQ.VALUE=25.0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_11_SIZE_VALUE.VALUE=0x04 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_125_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_117_NAME.VALUE=can4LowLevelInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_110_MAPPING.VALUE=110 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_109_NAME.VALUE=ecap6Interrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_102_MAPPING.VALUE=102 +DRIVER.SYSTEM.VAR.CLKT_AVCLK3_DIVIDER.VALUE=1 +DRIVER.SYSTEM.VAR.RAM_LENGTH.VALUE=0x00080000 +DRIVER.SYSTEM.VAR.CLKT_VCLK1_DOMAIN_ENABLE.VALUE=FALSE +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_7_SUB_2_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_5_SIZE.VALUE=256_MB +DRIVER.SYSTEM.VAR.VIM_CHANNEL_124_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_116_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_108_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.I2C2_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_41_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_33_NAME.VALUE=dmaFTCAInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_25_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_17_NAME.VALUE=spi2HighLevelInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_1_MAPPING.VALUE=1 +DRIVER.SYSTEM.VAR.CLKT_EXTERNAL_SOURCE_ENABLE.VALUE=0x00000000 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_14_SUB_0_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_12_END_ADDRESS.VALUE=0x0000001F +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_11_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_7_BASE_ADDRESS.VALUE=0xF0000000 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_4_SUB_3_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_40_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_32_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_24_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_16_INT_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_5_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_16_PERMISSION_VALUE.VALUE=0x1200 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_6_TYPE_VALUE.VALUE=0x0006 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_95_MAPPING.VALUE=95 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_87_MAPPING.VALUE=87 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_79_MAPPING.VALUE=79 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_11_SUB_1_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_8_SUB_6_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_1_SUB_4_DISABLE.VALUE=1 +DRIVER.SYSTEM.VAR.CORE_IRQ_VIC_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_121_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_113_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_105_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_70_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_62_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_54_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_50_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_46_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_42_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_38_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_34_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_26_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_18_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.SPI1_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.FLASH_EEPROM_DATA_8_WAIT_STATE_FREQ.VALUE=144.0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_100_NAME.VALUE=etpwm6Interrupt +DRIVER.SYSTEM.VAR.CLKT_RTI2_DIVIDER.VALUE=1 +DRIVER.SYSTEM.VAR.RAM_ECC_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_15_SUB_4_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_15_TYPE.VALUE=NORMAL_OIWTNOWA_SHARED +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_5_SUB_7_DISABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_99_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.CLKT_EXTERNAL_FREQ_INPUT.VALUE=25.0 +DRIVER.SYSTEM.VAR.STC_INTERVAL.VALUE=40 +DRIVER.SYSTEM.VAR.CLKT_LPO_HIGH_TRIM_VALUE.VALUE=16 +DRIVER.SYSTEM.VAR.CLKT_GCLK_FREQ.VALUE=300.000 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_1_PERMISSION_VALUE.VALUE=0x1000 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_80_MAPPING.VALUE=80 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_72_MAPPING.VALUE=72 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_64_MAPPING.VALUE=64 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_56_MAPPING.VALUE=56 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_48_MAPPING.VALUE=48 +DRIVER.SYSTEM.VAR.CLKT_PLL1_REF_CLOCK_DIV.VALUE=10 +DRIVER.SYSTEM.VAR.FLASHW_BASE_ADDRESS.VALUE=0xFFF87000 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_12_SUB_5_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_HANDLER_TABLE_FIQ_ENTRY.VALUE="ldr pc,[pc,#-0x1b0]" +DRIVER.SYSTEM.VAR.VIM_CHANNEL_10_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.SCILIN_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.SPI_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.ALL_DVR_ENA.VALUE=0 +DRIVER.SYSTEM.VAR.CCM_MENU_VALUE.VALUE=0x0001 +DRIVER.SYSTEM.VAR.PBIST_ENA1.VALUE=1 +DRIVER.SYSTEM.VAR.CLKT_VCLK4_DIVIDER.VALUE=1 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_5_SUB_0_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_4_TYPE.VALUE=DEVICE_NONSHAREABLE +DRIVER.SYSTEM.VAR.VIM_CHANNEL_97_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_89_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CLKT_OSCILLATOR_FREQ.VALUE=20.0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_91_NAME.VALUE=etpwm1TripZoneInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_83_NAME.VALUE=dcc2DoneInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_75_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_67_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_59_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_41_MAPPING.VALUE=41 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_33_MAPPING.VALUE=33 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_25_MAPPING.VALUE=25 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_17_MAPPING.VALUE=17 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_9_SUB_3_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_2_SUB_1_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_HANDLER_TABLE_IRQ_MODE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_11_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_11_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.PMM_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.EMIF_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CAN1_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.CAN_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_11_TYPE_VALUE.VALUE=0x0006 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_3_NAME.VALUE=rtiCompare1Interrupt +DRIVER.SYSTEM.VAR.CLKT_PLL1_OUTPUT_DIV.VALUE=1 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_9_PERMISSION.VALUE=PRIV_RW_USER_RO_NOEXEC +DRIVER.SYSTEM.VAR.CLKT_PLL2_FM_ENABLE.VALUE=0x00000000 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_16_SUB_1_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_6_SUB_4_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_4_BASE_ADDRESS.VALUE=0xF8000000 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_92_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_91_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_84_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_83_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_76_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_75_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_68_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_67_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_59_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_8_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.ETPWM2_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.HET1_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CLKT_RTI1_PRE_SOURCE.VALUE=PLL1 +DRIVER.SYSTEM.VAR.FLASH_MODE_VALUE.VALUE=3 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_5_SIZE_VALUE.VALUE=0x1B +DRIVER.SYSTEM.VAR.VIM_CHANNEL_126_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_118_NAME.VALUE=lin2LowLevelInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_10_MAPPING.VALUE=10 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_13_SUB_2_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_7_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_6_SIZE.VALUE=128_MB +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_3_SUB_5_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_125_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_117_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_109_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_91_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_83_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_75_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_67_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_59_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_3_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.ECAP4_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.CLKT_PLL2_BYPASS_ON_SLIP.VALUE=0x20000000 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_15_PERMISSION_VALUE.VALUE=0x1600 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_124_MAPPING.VALUE=124 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_116_MAPPING.VALUE=116 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_108_MAPPING.VALUE=108 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_50_NAME.VALUE=adc2Group0Interrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_42_NAME.VALUE=can2LowLevelInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_34_NAME.VALUE=dmaLFSAInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_26_NAME.VALUE=mibspi1LowLevelInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_18_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.FLASH_ARBITRATION.VALUE=FIX +DRIVER.SYSTEM.VAR.CLKT_LPO_HIGH_SOURCE_ENABLE.VALUE=0x00000000 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_10_SUB_3_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_110_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_102_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.SCI4_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.PBIST_ALGO_9_10.VALUE=0 +DRIVER.SYSTEM.VAR.CLKT_EXTERNAL2_FREQ_INPUT.VALUE=40.0 +DRIVER.SYSTEM.VAR.FLASH_EEPROM_DATA_6_WAIT_STATE_FREQ.VALUE=112.0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_16_SIZE_VALUE.VALUE=0x12 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_7_MAPPING.VALUE=7 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_3_PERMISSION.VALUE=PRIV_RW_USER_RW_EXEC +DRIVER.SYSTEM.VAR.CLKT_RTI2_DOMAIN_ENABLE.VALUE=FALSE +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_14_SUB_6_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_BACKGROUND_REGION_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_8_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_2_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CONFIG.VALUE=TRUE +DRIVER.SYSTEM.VAR.CRC2_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_101_MAPPING.VALUE=101 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_101_NAME.VALUE=etpwm6TripZoneInterrupt +DRIVER.SYSTEM.VAR.RAM_STACK_ABORT_LENGTH.VALUE=0x00000300 +DRIVER.SYSTEM.VAR.FLASH_EEPROM_DATA_WAIT_STATES.VALUE=6 +DRIVER.SYSTEM.VAR.FLASH_DATA_MAX_WAIT_STATES.VALUE=3 +DRIVER.SYSTEM.VAR.FLASH_MODE.VALUE=PIPELINE +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_16_TYPE.VALUE=DEVICE_NONSHAREABLE +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_16_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_11_SUB_7_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_7_SUB_1_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_61_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_61_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_53_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_53_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_45_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_45_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_40_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_37_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_37_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_32_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_29_INT_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_29_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_24_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_16_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.MINIT_VALUE.VALUE=0x1E57F +DRIVER.SYSTEM.VAR.VIM_CHANNEL_0_MAPPING.VALUE=0 +DRIVER.SYSTEM.VAR.CLKT_PLL1_DIV.VALUE=1 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_14_PERMISSION.VALUE=PRIV_RO_USER_RO_NOEXEC +DRIVER.SYSTEM.VAR.CLKT_VCLK4_DOMAIN_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CLKT_PLL2_ENABLE.VALUE=FALSE +DRIVER.SYSTEM.VAR.RAM_BASE_ADDRESS.VALUE=0x08000000 +DRIVER.SYSTEM.VAR.CORE_PMU_EVENT_EXPORT_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_4_SUB_2_DISABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_126_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_118_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_110_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_102_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_96_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_88_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.GIO_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_10_SIZE_VALUE.VALUE=0x04 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_94_MAPPING.VALUE=94 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_86_MAPPING.VALUE=86 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_78_MAPPING.VALUE=78 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_11_SUB_0_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_8_SUB_5_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_5_TYPE.VALUE=STRONGLYORDERED_SHAREABLE +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_1_SUB_3_DISABLE.VALUE=1 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_1_BASE_ADDRESS.VALUE=0x00000000 +DRIVER.SYSTEM.VAR.CORE_HANDLER_TABLE_UNDEF_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_8_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.MIBSPI4_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.RAM_STACK_ABORT_BASE.VALUE=0x08005a00 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_92_NAME.VALUE=etpwm2Interrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_84_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_76_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_68_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.CLKT_RTI1_DIVIDER.VALUE=2 +DRIVER.SYSTEM.VAR.CLKT_AVCLK4_DOMAIN_ENABLE.VALUE=FALSE +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_15_SUB_3_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_5_SUB_6_DISABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_123_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_115_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_107_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_31_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_23_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_15_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_1_INT_TYPE.VALUE=FIQ +DRIVER.SYSTEM.VAR.CLKT_GHV_WAKUP_SOURCE.VALUE=PLL1 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_5_TYPE_VALUE.VALUE=0x0000 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_71_MAPPING.VALUE=71 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_63_MAPPING.VALUE=63 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_55_MAPPING.VALUE=55 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_47_MAPPING.VALUE=47 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_39_MAPPING.VALUE=39 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_4_NAME.VALUE=rtiCompare2Interrupt +DRIVER.SYSTEM.VAR.CLKT_HCLK_DIVIDER.VALUE=2 +DRIVER.SYSTEM.VAR.CORE_PMU_COUNTER1_EVENT.VALUE=0x11 +DRIVER.SYSTEM.VAR.EFUSE_SELFTEST_ENA.VALUE=0 +DRIVER.SYSTEM.VAR.CLKT_AVCLK4_DOMAIN_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.RAM_LINK_BASE_ADDRESS.VALUE=0x08006000 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_14_BASE_ADDRESS.VALUE=0x00000000 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_12_SUB_4_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_2_SUB_7_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_120_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_112_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_104_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_30_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_22_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_14_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_14_PERMISSION_VALUE.VALUE=0x1600 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_127_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_119_NAME.VALUE=sci4LowLevelInterrupt +DRIVER.SYSTEM.VAR.CLKT_PLL2_DIV.VALUE=1 +DRIVER.SYSTEM.VAR.CLKT_VCLK3_DIVIDER.VALUE=0 +DRIVER.SYSTEM.VAR.CLKT_LPO_TRIM_OTP_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_16_SUB_7_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_7_SIZE.VALUE=8_MB +DRIVER.SYSTEM.VAR.VIM_CHANNEL_95_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_87_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_79_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_61_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_53_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_45_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_37_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_29_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.CLKT_AVCLK4_SOURCE.VALUE=EXTERNAL1 +DRIVER.SYSTEM.VAR.FLASH_EEPROM_DATA_4_WAIT_STATE_FREQ.VALUE=80.0 +DRIVER.SYSTEM.VAR.FLASH_ADDRESS_WAIT_STATES_FREQ.VALUE=120.0 +DRIVER.SYSTEM.VAR.RAM_STACK_BASE.VALUE=0x08000000 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_16_TYPE_VALUE.VALUE=0x0010 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_51_NAME.VALUE=adc2Group1Interrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_43_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_40_MAPPING.VALUE=40 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_35_NAME.VALUE=can2HighLevelInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_32_MAPPING.VALUE=32 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_27_NAME.VALUE=lin1LowLevelInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_24_MAPPING.VALUE=24 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_19_NAME.VALUE=crcInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_16_MAPPING.VALUE=16 +DRIVER.SYSTEM.VAR.CLKT_VCLK3_DOMAIN_ENABLE.VALUE=FALSE +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_9_SUB_2_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_7_END_ADDRESS.VALUE=0xF07FFFFF +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_2_SUB_0_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.ETPWM7_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.ERRATA_WORKAROUND_1.VALUE=0 +DRIVER.SYSTEM.VAR.ERRATA_WORKAROUND_2.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_16_SUB_0_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_6_SUB_3_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_96_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_88_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.ERRATA_WORKAROUND_3.VALUE=0 +DRIVER.SYSTEM.VAR.ERRATA_WORKAROUND_4.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_110_NAME.VALUE=eqep1Interrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_102_NAME.VALUE=etpwm7Interrupt +DRIVER.SYSTEM.VAR.ERRATA_WORKAROUND_5.VALUE=0 +DRIVER.SYSTEM.VAR.LBIST_STT.VALUE=1 +DRIVER.SYSTEM.VAR.ERRATA_WORKAROUND_6.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_13_SUB_1_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_5_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_3_SUB_4_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_ECC_AVAILABLE.VALUE=TRUE +DRIVER.SYSTEM.VAR.ERRATA_WORKAROUND_7.VALUE=0 +DRIVER.SYSTEM.VAR.ECAP2_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.ERRATA_WORKAROUND_8.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_10_TYPE_VALUE.VALUE=0x000C +DRIVER.SYSTEM.VAR.VIM_CHANNEL_123_MAPPING.VALUE=123 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_115_MAPPING.VALUE=115 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_107_MAPPING.VALUE=107 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_10_NAME.VALUE=het1HighLevelInterrupt +DRIVER.SYSTEM.VAR.ERRATA_WORKAROUND_9.VALUE=0 +DRIVER.SYSTEM.VAR.RAM_STACK_USER_LENGTH.VALUE=0x00002500 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_8_PERMISSION.VALUE=PRIV_RW_USER_RO_NOEXEC +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_10_SUB_2_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_7_SUB_7_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_4_END_ADDRESS.VALUE=0xFFFFFFFF +DRIVER.SYSTEM.VAR.CORE_CACHE_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_80_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_72_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_64_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_56_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_48_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_10_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_7_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.SCI2_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.LIN_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CLKT_RTI1_FREQ.VALUE=100.000 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_4_SIZE_VALUE.VALUE=0x1A +DRIVER.SYSTEM.VAR.VIM_CHANNEL_6_MAPPING.VALUE=6 +DRIVER.SYSTEM.VAR.CLKT_PLL2_SPEADING_AMOUNT.VALUE=61 +DRIVER.SYSTEM.VAR.CLKT_PLL2_SPEADING_RATE.VALUE=255 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_14_SUB_5_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_11_BASE_ADDRESS.VALUE=0x00000000 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_6_TYPE.VALUE=NORMAL_OIWTNOWA_SHARED +DRIVER.SYSTEM.VAR.VIM_CHANNEL_121_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_113_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_105_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_90_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_90_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_82_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_82_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_74_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_74_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_66_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_66_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_58_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_58_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CLKT_PLL2_RESET_ON_SLIP.VALUE=0x00000000 +DRIVER.SYSTEM.VAR.ECLK_FREQ.VALUE=2.222 +DRIVER.SYSTEM.VAR.CLKT_AVCLK1_FREQ.VALUE=100.000 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_100_MAPPING.VALUE=100 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_93_NAME.VALUE=etpwm2TripZoneInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_85_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_77_NAME.VALUE=EMACTxIntISR +DRIVER.SYSTEM.VAR.VIM_CHANNEL_69_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.RAM_STACK_IRQ_LENGTH.VALUE=0x00002000 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_14_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_11_SUB_6_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_7_SUB_0_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_2_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.CLKT_RTI2_POST_SOURCE.VALUE=VCLK +DRIVER.SYSTEM.VAR.FLASH_EEPROM_DATA_10_WAIT_STATE_FREQ.VALUE=176.0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_15_SIZE_VALUE.VALUE=0x04 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_13_PERMISSION_VALUE.VALUE=0x1600 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_9_PERMISSION_VALUE.VALUE=0x1200 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_5_NAME.VALUE=rtiCompare3Interrupt +DRIVER.SYSTEM.VAR.RAM_STACK_LENGTH.VALUE=0x00006000 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_2_PERMISSION.VALUE=PRIV_RO_USER_RO_EXEC +DRIVER.SYSTEM.VAR.CLKT_LPO_BIAS.VALUE=true +DRIVER.SYSTEM.VAR.CLKT_AVCLK3_DIVIDER1.VALUE=4 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_4_SUB_1_DISABLE.VALUE=1 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_1_END_ADDRESS.VALUE=0xFFFFFFFF +DRIVER.SYSTEM.VAR.CORE_PRAGMA_ENA.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_101_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_4_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_1_INT_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.SPI4_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CLKT_AVCLK4_POST_SOURCE.VALUE=VCLKA4_DIVR +DRIVER.SYSTEM.VAR.CLKT_VCLK1_FREQ.VALUE=100.000 +DRIVER.SYSTEM.VAR.CLKT_AVCLK3_FREQ1.VALUE=100.000 +DRIVER.SYSTEM.VAR.FLASH_EEPROM_DATA_2_WAIT_STATE_FREQ.VALUE=48.0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_93_MAPPING.VALUE=93 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_85_MAPPING.VALUE=85 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_77_MAPPING.VALUE=77 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_69_MAPPING.VALUE=69 +DRIVER.SYSTEM.VAR.CLKT_AVCLK3_FREQ2.VALUE=18.750 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_14_END_ADDRESS.VALUE=0x0000001F +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_8_SUB_4_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_8_SIZE.VALUE=32_BYTES +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_8_BASE_ADDRESS.VALUE=0x00000000 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_1_SUB_2_DISABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_60_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_52_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_44_INT_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_41_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_36_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_33_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_28_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_25_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_17_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.MIBSPI2_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CLKT_PLL1_MUL.VALUE=150 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_60_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_52_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_44_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_36_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_28_NAME.VALUE=adc1Group2Interrupt +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_13_PERMISSION.VALUE=PRIV_RO_USER_RO_NOEXEC +DRIVER.SYSTEM.VAR.CLKT_OSC_ENABLE.VALUE=TRUE +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_15_SUB_2_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_10_SIZE.VALUE=32_BYTES +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_5_SUB_5_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_HANDLER_TABLE_SVC_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_125_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_117_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_109_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_98_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_31_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_23_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_15_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.PINMUX_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.PBIST_ALGO_3_4.VALUE=0 +DRIVER.SYSTEM.VAR.CLKT_LPO_BIAS_VALUE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_70_MAPPING.VALUE=70 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_62_MAPPING.VALUE=62 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_54_MAPPING.VALUE=54 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_46_MAPPING.VALUE=46 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_38_MAPPING.VALUE=38 +DRIVER.SYSTEM.VAR.CLKT_AVCLK1_DOMAIN_ENABLE.VALUE=FALSE +DRIVER.SYSTEM.VAR.CLKT_EXTERNAL2_SOURCE_ENABLE.VALUE=0x00000000 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_12_SUB_3_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_2_SUB_6_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_HANDLER_TABLE_PREFETCH_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_95_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_87_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_79_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.PBIST_ALGO_15.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_111_NAME.VALUE=eqep2Interrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_103_NAME.VALUE=etpwm7TripZoneInterrupt +DRIVER.SYSTEM.VAR.PBIST_ALGO_16.VALUE=0 +DRIVER.SYSTEM.VAR.CLKT_VCLK2_DIVIDER.VALUE=0 +DRIVER.SYSTEM.VAR.RAM_LINK_LENGTH.VALUE=0x0007a000 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_16_SUB_6_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_11_END_ADDRESS.VALUE=0x0000001F +DRIVER.SYSTEM.VAR.VIM_CHANNEL_30_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_22_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_14_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_7_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.CAN4_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CLKT_LPO_OSCFRQCONFIGCNT_VALUE.VALUE=0 +DRIVER.SYSTEM.VAR.CLKT_AVCLK2_SOURCE.VALUE=PLL2 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_4_TYPE_VALUE.VALUE=0x0010 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_31_MAPPING.VALUE=31 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_23_MAPPING.VALUE=23 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_15_MAPPING.VALUE=15 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_11_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.PBIST_ALGO_5_6.VALUE=0 +DRIVER.SYSTEM.VAR.PBIST_ENA.VALUE=0 +DRIVER.SYSTEM.VAR.CLKT_HCLK_DOMAIN_ENABLE.VALUE=TRUE +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_13_SUB_7_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_9_SUB_1_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_122_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_114_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_111_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_106_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_103_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_10_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.ETPWM5_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.ETPWM_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CLKT_PLL2_MUL.VALUE=40 +DRIVER.SYSTEM.VAR.CLKT_RTI2_FREQ.VALUE=0.0 +DRIVER.SYSTEM.VAR.CLKT_LPO_LOW_FREQ.VALUE=0.080 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_7_TYPE.VALUE=NORMAL_OINC_NONSHARED +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_6_SUB_2_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_HANDLER_TABLE_PREFETCH_ENTRY.VALUE=_prefetch +DRIVER.SYSTEM.VAR.VIM_CHANNEL_91_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_83_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_75_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_67_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_59_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.CLKT_AVCLK2_FREQ.VALUE=80.000 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_15_TYPE_VALUE.VALUE=0x0006 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_12_PERMISSION_VALUE.VALUE=0x1600 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_8_PERMISSION_VALUE.VALUE=0x1200 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_94_NAME.VALUE=etpwm3Interrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_86_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_78_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.ECLK_PORT_BIT0_PULDIS.VALUE=0 +DRIVER.SYSTEM.VAR.CLKT_OSCILLATOR_SOURCE_ENABLE.VALUE=0x00000000 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_13_SUB_0_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_5_BASE_ADDRESS.VALUE=0x60000000 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_3_SUB_3_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_3_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_124_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_116_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_108_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_60_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_52_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_44_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_36_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_28_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.PBIST_ALGO_7_8.VALUE=0 +DRIVER.SYSTEM.VAR.CLKT_PLL2_RESET_ON_OSCILLATOR_FAIL.VALUE=0x00000000 +DRIVER.SYSTEM.VAR.FLASH_BANK_LINK_BASE_ADDRESS_0.VALUE=0x00000020 +DRIVER.SYSTEM.VAR.FLASH_BANK_LINK_BASE_ADDRESS_1.VALUE=0x00200000 +DRIVER.SYSTEM.VAR.FLASH_EEPROM_DATA_0_WAIT_STATE_FREQ.VALUE=16.0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_9_SIZE_VALUE.VALUE=0x04 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_122_MAPPING.VALUE=122 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_114_MAPPING.VALUE=114 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_106_MAPPING.VALUE=106 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_6_NAME.VALUE=rtiOverflow0Interrupt +DRIVER.SYSTEM.VAR.CORE_PMU_COUNTER2_EVENT.VALUE=0x11 +DRIVER.SYSTEM.VAR.FLASH_DATA_WAIT_STATES.VALUE=2 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_10_SUB_1_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_7_SUB_6_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_95_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_87_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_79_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.ADC2_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CLKT_VCLK2_FREQ.VALUE=100.000 +DRIVER.SYSTEM.VAR.FLASH_DATA_2_WAIT_STATE_FREQ.VALUE=135.0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_5_MAPPING.VALUE=5 +DRIVER.SYSTEM.VAR.VIM_CHANNELS.VALUE=128 +DRIVER.SYSTEM.VAR.FLASH_BANK_LINK_BASE_ADDRESS_7.VALUE=0xF0200000 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_14_SUB_4_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_9_SIZE.VALUE=32_BYTES +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_4_SUB_7_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_7_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.ESM_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_99_MAPPING.VALUE=99 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_61_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_53_NAME.VALUE=mibspi5HighLevelInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_45_NAME.VALUE=can3HighLevelInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_37_NAME.VALUE=mibspi3HighInterruptLevel +DRIVER.SYSTEM.VAR.VIM_CHANNEL_29_NAME.VALUE=can1LowLevelInterrupt +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_7_PERMISSION.VALUE=PRIV_RW_USER_RO_NOEXEC +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_12_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_11_SUB_5_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_11_SIZE.VALUE=32_BYTES +DRIVER.SYSTEM.VAR.VIM_CHANNEL_127_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_119_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_60_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_52_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_44_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_36_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_28_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_6_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.EQEP1_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CLKT_LPO_HIGH_FREQ.VALUE=10.000 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_3_SIZE_VALUE.VALUE=0x12 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_4_SUB_0_DISABLE.VALUE=1 +DRIVER.SYSTEM.VAR.CORE_HANDLER_TABLE_IRQ_ENTRY.VALUE="ldr pc,[pc,#-0x1b0]" +DRIVER.SYSTEM.VAR.VIM_CHANNEL_101_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_81_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_73_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_65_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_57_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_49_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.ECAP_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.LIN1_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.SPI2_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CLKT_GHV_POWER_DOWN_SOURCE.VALUE=LPO_LOW +DRIVER.SYSTEM.VAR.RAM_STACK_USER_BASE.VALUE=0x08000000 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_120_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_112_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_104_NAME.VALUE=ecap1Interrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_92_MAPPING.VALUE=92 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_84_MAPPING.VALUE=84 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_76_MAPPING.VALUE=76 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_68_MAPPING.VALUE=68 +DRIVER.SYSTEM.VAR.CLKT_GCLK_DOMAIN_ENABLE.VALUE=TRUE +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_8_SUB_3_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_1_SUB_1_DISABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_81_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_73_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_65_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_57_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_49_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.SYSTEM_INIT.VALUE=1 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_14_SIZE_VALUE.VALUE=0x04 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_20_NAME.VALUE=esmLowInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_12_NAME.VALUE=mibspi1HighLevelInterrupt +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_1_PERMISSION.VALUE=PRIV_NA_USER_NA_NOEXEC +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_15_SUB_1_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_5_SUB_4_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_2_BASE_ADDRESS.VALUE=0x00000000 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_1_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_0_INT_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_0_INT_TYPE.VALUE=FIQ +DRIVER.SYSTEM.VAR.FLASH_EEPROM_DATA_9_WAIT_STATE_FREQ.VALUE=160.0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_11_PERMISSION_VALUE.VALUE=0x0600 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_7_PERMISSION_VALUE.VALUE=0x1200 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_61_MAPPING.VALUE=61 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_53_MAPPING.VALUE=53 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_45_MAPPING.VALUE=45 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_37_MAPPING.VALUE=37 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_29_MAPPING.VALUE=29 +DRIVER.SYSTEM.VAR.ECLK_PORT_BIT0_DIR.VALUE=1 +DRIVER.SYSTEM.VAR.FLASH_LENGTH.VALUE=0x00400000 +DRIVER.SYSTEM.VAR.RAM_STACK_FIQ_LENGTH.VALUE=0x00001000 +DRIVER.SYSTEM.VAR.CLKT_EXT1_ENABLE.VALUE=FALSE +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_12_SUB_2_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_9_SUB_7_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_8_TYPE.VALUE=DEVICE_NONSHAREABLE +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_2_SUB_5_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_100_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_51_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_43_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_35_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_27_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_21_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_19_INT_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_13_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_ECC_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.CLKT_AVCLK3_FREQ.VALUE=100.000 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_9_TYPE_VALUE.VALUE=0x0006 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_95_NAME.VALUE=etpwm3TripZoneInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_87_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_79_NAME.VALUE=EMACRxIntISR +DRIVER.SYSTEM.VAR.CLKT_VCLK1_DIVIDER.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_12_PERMISSION.VALUE=PRIV_RO_USER_RO_NOEXEC +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_16_SUB_5_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_15_BASE_ADDRESS.VALUE=0x00000000 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_10_TYPE.VALUE=NORMAL_OIWTNOWA_SHARED +DRIVER.SYSTEM.VAR.VIM_CHANNEL_124_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_116_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_108_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_94_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_86_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_78_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.CAN2_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.ECLK_PORT_BIT0_DOUT.VALUE=1 +DRIVER.SYSTEM.VAR.PBIST_ALGO_1.VALUE=0 +DRIVER.SYSTEM.VAR.FLASH_DATA_0_WAIT_STATE_FREQ.VALUE=45.0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_30_MAPPING.VALUE=30 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_22_MAPPING.VALUE=22 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_14_MAPPING.VALUE=14 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_7_NAME.VALUE=rtiOverflow1Interrupt +DRIVER.SYSTEM.VAR.PBIST_ALGO_2.VALUE=0 +DRIVER.SYSTEM.VAR.CLKT_RTI1_DOMAIN_ENABLE.VALUE=FALSE +DRIVER.SYSTEM.VAR.CLKT_AVCLK1_DOMAIN_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_13_SUB_6_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_9_SUB_0_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_127_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_119_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_30_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_22_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_14_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.ETPWM3_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.DCC1_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.HET2_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CLKT_VCLK3_FREQ.VALUE=100.000 +DRIVER.SYSTEM.VAR.CLKT_AVCLK4_FREQ1.VALUE=25.000 +DRIVER.SYSTEM.VAR.PBIST_ALGO_11_12.VALUE=0 +DRIVER.SYSTEM.VAR.CLKT_PLL2_SOURCE_ENABLE.VALUE=0x00000000 +DRIVER.SYSTEM.VAR.FLASH_EEPROM_DATA_MAX_WAIT_STATES.VALUE=11 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_10_SUB_7_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_9_END_ADDRESS.VALUE=0x0000001F +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_8_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_6_SUB_1_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_94_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_86_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_78_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_21_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_13_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.ECAP5_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.ADC_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_3_TYPE_VALUE.VALUE=0x0008 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_70_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_62_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_54_NAME.VALUE=mibspi4LowLevelInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_46_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_38_NAME.VALUE=mibspi3LowLevelInterrupt +DRIVER.SYSTEM.VAR.FEE_FLASH_ECC_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_12_SIZE.VALUE=32_BYTES +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_3_SUB_2_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_1_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.CORE_HANDLER_TABLE_RESET_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_110_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_102_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_6_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_121_MAPPING.VALUE=121 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_113_MAPPING.VALUE=113 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_105_MAPPING.VALUE=105 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_10_SUB_0_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_7_SUB_5_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_HANDLER_TABLE_RESERVED_ENTRY.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_121_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_113_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_105_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_71_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_63_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_55_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_47_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_39_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_14_TYPE_VALUE.VALUE=0x0006 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_121_NAME.VALUE=crc2Interrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_113_NAME.VALUE=can4HighLevelInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_105_NAME.VALUE=ecap2Interrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_4_MAPPING.VALUE=4 +DRIVER.SYSTEM.VAR.CLKT_AVCLK3_DOMAIN_ENABLE.VALUE=FALSE +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_14_SUB_3_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_6_END_ADDRESS.VALUE=0x87FFFFFF +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_4_SUB_6_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_1_SIZE.VALUE=4_GB +DRIVER.SYSTEM.VAR.VIM_CHANNEL_120_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_112_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_104_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.I2C1_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.FLASH_EEPROM_DATA_7_WAIT_STATE_FREQ.VALUE=128.0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_10_PERMISSION_VALUE.VALUE=0x1300 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_8_SIZE_VALUE.VALUE=0x04 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_6_PERMISSION_VALUE.VALUE=0x0300 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_98_MAPPING.VALUE=98 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_21_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_13_NAME.VALUE=lin1HighLevelInterrupt +DRIVER.SYSTEM.VAR.ECLK_PORT_BIT0_FUN.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_12_BASE_ADDRESS.VALUE=0x00000000 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_11_SUB_4_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_10_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_1_SUB_7_DISABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_94_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_86_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_78_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_51_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_43_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_35_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_27_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_19_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.HET_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.PBIST_ALGO_13_14.VALUE=0 +DRIVER.SYSTEM.VAR.RAM_STACK_UNDEF_BASE.VALUE=0x08005d00 +DRIVER.SYSTEM.VAR.RAM_STACK_SVC_BASE.VALUE=0x08002500 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_15_SUB_7_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_9_TYPE.VALUE=NORMAL_OIWTNOWA_SHARED +DRIVER.SYSTEM.VAR.VIM_CHANNEL_99_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_3_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.DMM_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.MIBSPI5_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.FLASH_BANK_CONFIG_0.VALUE=ACTIVE +DRIVER.SYSTEM.VAR.CLKT_AVCLK4_FREQ.VALUE=25.000 +DRIVER.SYSTEM.VAR.FLASH_BANK_CONFIG_1.VALUE=ACTIVE +DRIVER.SYSTEM.VAR.VIM_CHANNEL_96_NAME.VALUE=etpwm4Interrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_91_MAPPING.VALUE=91 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_88_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_83_MAPPING.VALUE=83 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_75_MAPPING.VALUE=75 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_67_MAPPING.VALUE=67 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_59_MAPPING.VALUE=59 +DRIVER.SYSTEM.VAR.FLASH_BANK_CONFIG_2.VALUE=SLEEP +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_6_PERMISSION.VALUE=PRIV_RW_USER_RW_EXEC +DRIVER.SYSTEM.VAR.CLKT_VCLK2_DOMAIN_ENABLE.VALUE=FALSE +DRIVER.SYSTEM.VAR.FLASH_BANK_CONFIG_3.VALUE=SLEEP +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_11_TYPE.VALUE=NORMAL_OIWTNOWA_SHARED +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_8_SUB_2_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_3_END_ADDRESS.VALUE=0x0807FFFF +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_1_SUB_0_DISABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_40_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_32_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_24_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_16_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_5_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.ECLK_PORT_BIT0_PDR.VALUE=1 +DRIVER.SYSTEM.VAR.FLASH_BANK_CONFIG_4.VALUE=SLEEP +DRIVER.SYSTEM.VAR.FLASH_BANK_CONFIG_5.VALUE=SLEEP +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_2_SIZE_VALUE.VALUE=0x15 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_8_NAME.VALUE=rtiTimebaseInterrupt +DRIVER.SYSTEM.VAR.ECLK_PRESCALER.VALUE=45 +DRIVER.SYSTEM.VAR.FLASH_BANK_CONFIG_6.VALUE=SLEEP +DRIVER.SYSTEM.VAR.FLASH_BANK_CONFIG_7.VALUE=ACTIVE +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_16_END_ADDRESS.VALUE=0xFFFFFFFF +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_15_SUB_0_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_9_BASE_ADDRESS.VALUE=0x00000000 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_5_SUB_3_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_126_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_118_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_97_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_89_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_80_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_72_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_64_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_56_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_48_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CLKT_VCLK4_FREQ.VALUE=75.0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_60_MAPPING.VALUE=60 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_52_MAPPING.VALUE=52 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_44_MAPPING.VALUE=44 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_36_MAPPING.VALUE=36 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_28_MAPPING.VALUE=28 +DRIVER.SYSTEM.VAR.CLKT_PLL1_BAND_WIDTH_ADJUSTMENT.VALUE=7 +DRIVER.SYSTEM.VAR.CLKT_LPO_LOW_SOURCE_ENABLE.VALUE=0x00000000 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_12_SUB_1_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_9_SUB_6_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_2_SUB_4_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CLKT_PLL2_MUL_VAL.VALUE=2700 +DRIVER.SYSTEM.VAR.CLKT_RTI1_POST_SOURCE.VALUE=VCLK +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_13_SIZE_VALUE.VALUE=0x04 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_71_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_63_NAME.VALUE=het2HighLevelInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_55_NAME.VALUE=can3LowLevelInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_47_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_39_NAME.VALUE=dmaHBCAInterrupt +DRIVER.SYSTEM.VAR.CLKT_PLL2_BAND_WIDTH_ADJUSTMENT.VALUE=7 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_16_SUB_4_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_13_SIZE.VALUE=32_BYTES +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_6_SUB_7_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_HANDLER_TABLE_DATA_ENTRY.VALUE=_dabort +DRIVER.SYSTEM.VAR.VIM_CHANNEL_80_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_72_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_64_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_56_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_48_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_21_MAPPING.VALUE=21 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_13_MAPPING.VALUE=13 +DRIVER.SYSTEM.VAR.CLKT_PLL2_REF_CLOCK_DIV.VALUE=10 +DRIVER.SYSTEM.VAR.CLKT_PLL1_SPEADING_RATE.VALUE=255 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_13_SUB_5_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_13_END_ADDRESS.VALUE=0x0000001F +DRIVER.SYSTEM.VAR.VIM_CHANNEL_50_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_42_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_34_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_26_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_18_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_0_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.ETPWM1_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.CLKT_PLL1_RESET_ON_SLIP.VALUE=0x80000000 +DRIVER.SYSTEM.VAR.FLASH_EEPROM_DATA_5_WAIT_STATE_FREQ.VALUE=96.0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_8_TYPE_VALUE.VALUE=0x0010 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_5_PERMISSION_VALUE.VALUE=0x0300 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_127_MAPPING.VALUE=127 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_122_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_119_MAPPING.VALUE=119 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_114_NAME.VALUE=i2c2Interrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_106_NAME.VALUE=ecap3nterrupt +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_11_PERMISSION.VALUE=PRIV_RO_USER_RO_EXEC +DRIVER.SYSTEM.VAR.CLKT_PLL1_FM_ENABLE.VALUE=0x00000000 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_10_SUB_6_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_6_SUB_0_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_6_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_2_SIZE.VALUE=4_MB +DRIVER.SYSTEM.VAR.VIM_CHANNEL_123_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_115_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_107_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_90_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_82_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_74_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_66_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_58_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.ECAP3_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_30_NAME.VALUE=mibspi2LowLevelInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_22_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_14_NAME.VALUE=adc1Group0Interrupt +DRIVER.SYSTEM.VAR.CLKT_LPOLO_ENABLE.VALUE=FALSE +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_3_SUB_1_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_123_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_115_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_107_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.SCI3_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.ECLK_PORT_BIT0_PSL.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_120_MAPPING.VALUE=120 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_112_MAPPING.VALUE=112 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_104_MAPPING.VALUE=104 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_10_END_ADDRESS.VALUE=0x0000001F +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_7_SUB_4_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_6_BASE_ADDRESS.VALUE=0x80000000 +DRIVER.SYSTEM.VAR.CORE_HANDLER_TABLE_SVC_ENTRY.VALUE=_svc +DRIVER.SYSTEM.VAR.VIM_CHANNEL_21_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_20_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_13_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_12_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CONFIG_NEW.VALUE=1 +DRIVER.SYSTEM.VAR.CRC1_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.CLKT_EXTERNAL2_FREQ.VALUE=40.0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_2_TYPE_VALUE.VALUE=0x0008 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_97_NAME.VALUE=etpwm4TripZoneInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_89_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_3_MAPPING.VALUE=3 +DRIVER.SYSTEM.VAR.CLKT_LPOHI_ENABLE.VALUE=FALSE +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_15_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_14_SUB_2_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_12_TYPE.VALUE=NORMAL_OIWTNOWA_SHARED +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_4_SUB_5_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_101_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_99_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_93_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_85_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_77_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_69_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_6_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.CLKT_GHV_NORMAL_SOURCE.VALUE=PLL1 +DRIVER.SYSTEM.VAR.CLKT_AVCLK3_DIV_FREQ.VALUE=75.0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_97_MAPPING.VALUE=97 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_89_MAPPING.VALUE=89 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_9_NAME.VALUE=gioHighLevelInterrupt +DRIVER.SYSTEM.VAR.CLKT_PLL1_ENABLE.VALUE=TRUE +DRIVER.SYSTEM.VAR.FLASH_BASE_ADDRESS.VALUE=0x00000000 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_11_SUB_3_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_1_SUB_6_DISABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_51_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_43_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_35_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_27_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_19_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_5_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.SPI5_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_13_TYPE_VALUE.VALUE=0x0006 +DRIVER.SYSTEM.VAR.CLKT_AVCLK2_DOMAIN_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_15_SUB_6_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_1_TYPE.VALUE=NORMAL_OINC_NONSHARED +DRIVER.SYSTEM.VAR.VIM_CHANNEL_120_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_112_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_104_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_100_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.RTP_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.MIBSPI3_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.FLASH_BANK_LINK_LENGTH_0.VALUE=0x001FFFE0 +DRIVER.SYSTEM.VAR.FLASH_BANK_LINK_LENGTH_1.VALUE=0x00200000 +DRIVER.SYSTEM.VAR.FLASH_EEPROM_DATA_11_WAIT_STATE_FREQ.VALUE=192.0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_7_SIZE_VALUE.VALUE=0x16 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_90_MAPPING.VALUE=90 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_82_MAPPING.VALUE=82 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_80_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_74_MAPPING.VALUE=74 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_72_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_66_MAPPING.VALUE=66 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_64_NAME.VALUE=sci3HighLevelInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_58_MAPPING.VALUE=58 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_56_NAME.VALUE=mibspi5LowLevelInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_48_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_14_SIZE.VALUE=32_BYTES +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_12_SUB_7_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_8_SUB_1_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_93_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_85_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_77_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_69_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.EQEP_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.RTI_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.STC_MAX_TIMEOUT.VALUE=0xFFFFFFFF +DRIVER.SYSTEM.VAR.CLKT_LPO_LOW_TRIM.VALUE=100.00 +DRIVER.SYSTEM.VAR.FLASH_EEPROM_DATA_3_WAIT_STATE_FREQ.VALUE=64.0 +DRIVER.SYSTEM.VAR.RAM_STACK_FIQ_BASE.VALUE=0x08002a00 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_4_PERMISSION_VALUE.VALUE=0x1300 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_0_NAME.VALUE=esmHighInterrupt +DRIVER.SYSTEM.VAR.FLASH_BANK_LINK_LENGTH_7.VALUE=0x000020000 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_5_SUB_2_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_50_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_42_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_34_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_26_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_18_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.FEE_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.ERRATA_WORKAROUND_10.VALUE=0 +DRIVER.SYSTEM.VAR.CLKT_LPO_LOW_TRIM_VALUE.VALUE=16 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_123_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_115_NAME.VALUE=lin2HighLevelInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_107_NAME.VALUE=ecap4Interrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_51_MAPPING.VALUE=51 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_43_MAPPING.VALUE=43 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_35_MAPPING.VALUE=35 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_27_MAPPING.VALUE=27 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_19_MAPPING.VALUE=19 +DRIVER.SYSTEM.VAR.ERRATA_WORKAROUND_11.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_5_PERMISSION.VALUE=PRIV_RW_USER_RW_EXEC +DRIVER.SYSTEM.VAR.ERRATA_WORKAROUND_12.VALUE=0 +DRIVER.SYSTEM.VAR.CCM_MENU.VALUE=NONE +DRIVER.SYSTEM.VAR.CLKT_RESERVED_SOURCE_ENABLE.VALUE=0x00000004 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_12_SUB_0_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_9_SUB_5_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_3_SIZE.VALUE=512_KB +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_3_BASE_ADDRESS.VALUE=0x08000000 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_2_SUB_3_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_98_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_20_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_12_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_4_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.ERRATA_WORKAROUND_13.VALUE=0 +DRIVER.SYSTEM.VAR.POM_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CLKT_PLL1_MUL_VAL.VALUE=9500 +DRIVER.SYSTEM.VAR.ERRATA_WORKAROUND_14.VALUE=0 +DRIVER.SYSTEM.VAR.CLKT_AVCLK3_SOURCE.VALUE=VCLK +DRIVER.SYSTEM.VAR.CLKT_PLL1_FREQ.VALUE=300.00 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_1_SIZE_VALUE.VALUE=0x1F +DRIVER.SYSTEM.VAR.VIM_CHANNEL_31_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_23_NAME.VALUE=gioLowLevelInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_15_NAME.VALUE=adc1Group1Interrupt +DRIVER.SYSTEM.VAR.ERRATA_WORKAROUND_15.VALUE=0 +DRIVER.SYSTEM.VAR.RAM_STACK_UNDEF_LENGTH.VALUE=0x00000300 +DRIVER.SYSTEM.VAR.RAM_STACK_SVC_LENGTH.VALUE=0x00000500 +DRIVER.SYSTEM.VAR.CLKT_LPO_TRIM_OTP_LOC.VALUE=0xF00801B4 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_16_SUB_3_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_6_SUB_6_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_HANDLER_TABLE_UNDEF_ENTRY.VALUE=_undef +DRIVER.SYSTEM.VAR.VIM_CHANNEL_93_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_85_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_77_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_71_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_69_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_63_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_55_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_47_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_39_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.ETPWM6_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.DCC_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_20_MAPPING.VALUE=20 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_12_MAPPING.VALUE=12 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_16_PERMISSION.VALUE=PRIV_RW_USER_RO_NOEXEC +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_16_BASE_ADDRESS.VALUE=0xFFF80000 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_13_SUB_4_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_3_SUB_7_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_ENDIAN_LITTLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_126_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_125_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_118_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_117_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_109_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.OS_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_12_SIZE_VALUE.VALUE=0x04 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_126_MAPPING.VALUE=126 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_118_MAPPING.VALUE=118 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_98_NAME.VALUE=etpwm5Interrupt +DRIVER.SYSTEM.VAR.ECLK_PORT_BIT0_PULL.VALUE=2 +DRIVER.SYSTEM.VAR.ECLK_SUSPEND.VALUE=1 +DRIVER.SYSTEM.VAR.CLKT_PLL1_SPEADING_AMOUNT.VALUE=61 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_13_TYPE.VALUE=NORMAL_OIWTNOWA_SHARED +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_10_SUB_5_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_4_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.CORE_VFP_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.ECAP1_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.I2C_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.AJSM_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.ECLK_OSCILLATOR_FREQ.VALUE=20.000 +DRIVER.SYSTEM.VAR.CLKT_LPO_HIGH_TRIM.VALUE=100.00 +DRIVER.SYSTEM.VAR.CLKT_AVCLK4_SPL_SOURCE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_9_MAPPING.VALUE=9 +DRIVER.SYSTEM.VAR.VIM_ECC_INTERRUPT_MAPPED_TO_VIM.VALUE=FALSE +DRIVER.SYSTEM.VAR.CLKT_VCLK4_DOMAIN_ENABLE.VALUE=FALSE +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_3_SUB_0_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_71_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_63_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_55_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_47_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_41_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_39_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_33_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_25_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_17_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_9_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.SCI1_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CLKT_CRYSTAL_FREQ.VALUE=20.0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_7_TYPE_VALUE.VALUE=0x0008 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_111_MAPPING.VALUE=111 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_103_MAPPING.VALUE=103 +DRIVER.SYSTEM.VAR.VIM_PHANTOM_NAME.VALUE=phantomInterrupt +DRIVER.OS.VAR.OS_USERECERSIVEMUTEXES.VALUE=0 +DRIVER.OS.VAR.OS_USETIMERS.VALUE=0 +DRIVER.OS.VAR.OS_USECNTSEMAPHORE.VALUE=0 +DRIVER.OS.VAR.OS_GENERATERUNTIMESTATS.VALUE=0 +DRIVER.OS.VAR.OS_USEMPU.VALUE=0 +DRIVER.OS.VAR.OS_TOTALHEAPSIZE.VALUE=8192 +DRIVER.OS.VAR.OS_USEVERBOSESTACK.VALUE=2 +DRIVER.OS.VAR.OS_TIMERPRIORITY.VALUE=0 +DRIVER.OS.VAR.OS_SVCENABLE.VALUE=0 +DRIVER.OS.VAR.OS_MAXTASKNAMELEN.VALUE=16 +DRIVER.OS.VAR.OS_MAXPRIORITIES.VALUE=5 +DRIVER.OS.VAR.OS_TIMERTASKSTACKDEPTH.VALUE=0 +DRIVER.OS.VAR.OS_COROUTINEPRIORITIES.VALUE=2 +DRIVER.OS.VAR.OS_USECOROUTINES.VALUE=0 +DRIVER.OS.VAR.OS_USEMUTEXES.VALUE=0 +DRIVER.OS.VAR.OS_CPUCLOCKHZ.VALUE=80000000 +DRIVER.OS.VAR.OS_USEMALLOCFAILEDHOOK.VALUE=0 +DRIVER.OS.VAR.OS_MINSTACKSIZE.VALUE=128 +DRIVER.OS.VAR.OS_SYSTEM_MODE.VALUE=0x1F +DRIVER.OS.VAR.OS_USEPREEMPTION.VALUE=1 +DRIVER.OS.VAR.OS_IDLESHOULDYIELD.VALUE=1 +DRIVER.OS.VAR.OS_USEIDLEHOOK.VALUE=0 +DRIVER.OS.VAR.OS_TICKRATEHZ.VALUE=1000 +DRIVER.OS.VAR.OS_TIMERPQUEUELENGTH.VALUE=0 +DRIVER.OS.VAR.OS_USETRACE.VALUE=0 +DRIVER.OS.VAR.OS_USESTACK.VALUE=0 +DRIVER.OS.VAR.OS_USETICKHOOK.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL93_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL85_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL77_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL69_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL0_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL21_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL13_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL71_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL63_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL55_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL47_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL39_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL94_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL86_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL78_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL3_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL41_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL33_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL25_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL17_INT_ENABLE.VALUE=1 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL88_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL9_ENABLE.VALUE=1 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL50_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL42_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL34_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL26_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL18_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL81_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL73_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL65_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL57_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL49_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL2_ENABLE.VALUE=1 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL11_INT_ENABLE.VALUE=1 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL50_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL42_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL34_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL26_ENABLE.VALUE=1 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL18_ENABLE.VALUE=1 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL8_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL5_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL11_ENABLE.VALUE=1 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL71_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL63_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL55_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL47_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL39_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL92_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL84_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL76_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL68_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL11_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL70_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL62_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL54_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL46_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL38_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL92_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL84_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL76_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL68_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL1_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL94_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL86_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL78_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL7_ENABLE.VALUE=1 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL40_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL32_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL24_INT_ENABLE.VALUE=1 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL16_INT_ENABLE.VALUE=1 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL71_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL63_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL55_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL47_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL39_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL0_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL40_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL32_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL24_ENABLE.VALUE=1 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL16_ENABLE.VALUE=1 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL40_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL32_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL24_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL16_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL10_INT_ENABLE.VALUE=1 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL89_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL6_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL89_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL4_INT_ENABLE.VALUE=1 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL61_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL53_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL45_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL37_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL29_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL91_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL83_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL75_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL67_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL59_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL61_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL53_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL45_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL37_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL29_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL92_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL84_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL76_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL68_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL5_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL61_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL53_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL45_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL37_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL29_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL90_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL82_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL74_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL66_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL58_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_LOW_TIME.VALUE=163.840 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL30_ENABLE.VALUE=1 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL22_ENABLE.VALUE=1 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL14_ENABLE.VALUE=1 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL31_INT_ENABLE.VALUE=1 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL23_INT_ENABLE.VALUE=1 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL15_INT_ENABLE.VALUE=1 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL9_INT_ENABLE.VALUE=1 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL30_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL22_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL14_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL95_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL87_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL79_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL4_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL88_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL3_INT_ENABLE.VALUE=1 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL51_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL43_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL35_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL27_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL19_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL90_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL82_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL74_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL66_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL58_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL89_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL90_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL82_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL74_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL66_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL58_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL3_ENABLE.VALUE=1 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL9_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL51_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL43_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL35_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL27_ENABLE.VALUE=1 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL19_ENABLE.VALUE=1 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL60_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL52_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL44_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL36_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL28_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL20_ENABLE.VALUE=1 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL12_ENABLE.VALUE=1 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL80_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL72_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL64_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL56_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL48_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_VCLK_FREQ.VALUE=100 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL30_INT_ENABLE.VALUE=1 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL22_INT_ENABLE.VALUE=1 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL14_INT_ENABLE.VALUE=1 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL8_INT_ENABLE.VALUE=1 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL20_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL12_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL93_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL85_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL77_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL69_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL2_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL95_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL87_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL79_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL2_INT_ENABLE.VALUE=1 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL95_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL87_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL79_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL8_ENABLE.VALUE=1 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL80_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL72_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL64_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL56_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL48_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL1_ENABLE.VALUE=1 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL41_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL33_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL25_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL17_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL81_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL73_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL65_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL57_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL49_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL41_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL33_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL25_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL17_ENABLE.VALUE=1 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL10_ENABLE.VALUE=1 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL7_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL51_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL43_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL35_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL27_INT_ENABLE.VALUE=1 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL19_INT_ENABLE.VALUE=1 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL70_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL62_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL54_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL46_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL38_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL21_INT_ENABLE.VALUE=1 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL13_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL7_INT_ENABLE.VALUE=1 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL10_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL93_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL85_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL77_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL69_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL6_ENABLE.VALUE=1 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL91_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL83_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL75_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL67_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL59_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL0_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL94_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL86_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL78_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL1_INT_ENABLE.VALUE=1 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL70_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL62_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL54_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL46_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL38_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_BASE.VALUE=0xFFFFF500 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL31_ENABLE.VALUE=1 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL23_ENABLE.VALUE=1 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL15_ENABLE.VALUE=1 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL31_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL23_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL15_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL80_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL72_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL64_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL56_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL48_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL88_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL5_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL50_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL42_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL34_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL26_INT_ENABLE.VALUE=1 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL18_INT_ENABLE.VALUE=1 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL60_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL52_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL44_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL36_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL28_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL20_INT_ENABLE.VALUE=1 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL12_INT_ENABLE.VALUE=1 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL6_INT_ENABLE.VALUE=1 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL91_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL83_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL75_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL67_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL59_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL4_ENABLE.VALUE=1 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL60_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL52_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL44_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL36_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL28_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_LPC.VALUE=16384 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL21_ENABLE.VALUE=1 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL13_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL81_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL73_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL65_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL57_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL49_INT_LEVEL.VALUE=0 +DRIVER.RTI.VAR.RTI_1_COMPARE_2_SOURCE.VALUE=0x00000100 +DRIVER.RTI.VAR.RTI_1_COMPARE_3_FREQ.VALUE=0.000100000 +DRIVER.RTI.VAR.RTI_1_FREQ.VALUE=100.000 +DRIVER.RTI.VAR.RTI_1_COMPARE_1_ACTUALTIME.VALUE=5.000 +DRIVER.RTI.VAR.RTI_1_COUNTER_1_UC_COMPARE.VALUE=9 +DRIVER.RTI.VAR.RTI_1_COMPARE_1_TIME.VALUE=5.000 +DRIVER.RTI.VAR.RTI_1_COMPARE_3_UPDATE.VALUE=100000 +DRIVER.RTI.VAR.RTI_1_CONTINUE_ON_SUSPEND_ENABLE.VALUE=0x00000000 +DRIVER.RTI.VAR.RTI_1_COMPARE_1_INPUT_FREQ.VALUE=10.000000000 +DRIVER.RTI.VAR.RTI_1_COMPARE_0_SOURCE.VALUE=0x00000000 +DRIVER.RTI.VAR.RTI_1_COMPARE_2_TIME.VALUE=8.000 +DRIVER.RTI.VAR.RTI_1_COMPARE_0_ACTUALTIME.VALUE=1.000 +DRIVER.RTI.VAR.RTI_1_COUNTER_0_UC_COMPARE.VALUE=9 +DRIVER.RTI.VAR.RTI_1_COMPARE_1_UPDATE.VALUE=50000 +DRIVER.RTI.VAR.RTI_1_COMPARE_3_TIME.VALUE=10.000 +DRIVER.RTI.VAR.RTI_1_COUNTER_0_NTU_SOURCE.VALUE=1 +DRIVER.RTI.VAR.RTI_1_COMPARE_0_INPUT_FREQ.VALUE=10.000000000 +DRIVER.RTI.VAR.RTI_1_COUNTER_0_RTI_FREQ.VALUE=0.0 +DRIVER.RTI.VAR.RTI_1_COUNTER_0_FREQ.VALUE=10.000000000 +DRIVER.RTI.VAR.RTI_1_COUNTER_1_FREQUENCY.VALUE=10.000 +DRIVER.RTI.VAR.RTI_1_COMPARE_3_SOURCE.VALUE=0x00001000 +DRIVER.RTI.VAR.RTI_1_COUNTER_1_FREQ.VALUE=10.000000000 +DRIVER.RTI.VAR.RTI_1_COUNTER_0_NTU_SOURCE_REG.VALUE=0x5 +DRIVER.RTI.VAR.RTI_1_COMPARE_1_SOURCE.VALUE=0x00000000 +DRIVER.RTI.VAR.RTI_1_NTU_1_FREQ.VALUE=0.0 +DRIVER.RTI.VAR.RTI_1_COMPARE_3_ACTUALTIME.VALUE=10.000 +DRIVER.RTI.VAR.RTI_1_COMPARE_0_FREQ.VALUE=0.001000000 +DRIVER.RTI.VAR.RTI_1_COMPARE_2_UPDATE.VALUE=80000 +DRIVER.RTI.VAR.RTI_1_BASE.VALUE=0xFFFFFC00 +DRIVER.RTI.VAR.RTI_1_NTU_2_FREQ.VALUE=0.0 +DRIVER.RTI.VAR.RTI_1_COMPARE_3_INPUT_FREQ.VALUE=10.000000000 +DRIVER.RTI.VAR.RTI_1_COMPARE_1_FREQ.VALUE=0.000200000 +DRIVER.RTI.VAR.RTI_1_COUNTER_0_CAPTURE_SOURCE_ENABLE.VALUE=0 +DRIVER.RTI.VAR.RTI_1_COUNTER_1_CAPTURE_SOURCE_ENABLE.VALUE=0 +DRIVER.RTI.VAR.RTI_1_COMPARE_0_UPDATE.VALUE=10000 +DRIVER.RTI.VAR.RTI_1_NTU_3_FREQ.VALUE=80.000 +DRIVER.RTI.VAR.RTI_1_COMPARE_0.VALUE=10000 +DRIVER.RTI.VAR.RTI_1_COMPARE_2_ACTUALTIME.VALUE=8.000 +DRIVER.RTI.VAR.RTI_1_COMPARE_1.VALUE=50000 +DRIVER.RTI.VAR.RTI_1_COMPARE_2.VALUE=80000 +DRIVER.RTI.VAR.RTI_1_COMPARE_3.VALUE=100000 +DRIVER.RTI.VAR.RTI_1_COUNTER_0_NTU_FREQ.VALUE=0.000 +DRIVER.RTI.VAR.RTI_1_COMPARE_2_FREQ.VALUE=0.000125000 +DRIVER.RTI.VAR.RTI_1_COMPARE_0_TIME.VALUE=1.000 +DRIVER.RTI.VAR.RTI_1_NTU_4_FREQ.VALUE=25.000 +DRIVER.RTI.VAR.RTI_1_COMPARE_2_INPUT_FREQ.VALUE=10.000000000 +DRIVER.RTI.VAR.RTI_1_COUNTER_0_FREQUENCY.VALUE=10.000 +DRIVER.GIO.VAR.GIO_PORT1_BIT4_PULL.VALUE=1 +DRIVER.GIO.VAR.GIO_PORT0_BIT5_DIR.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT4_PULDIS.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT7_DOUT.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT2_LVL.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT7_PSL.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT3_PDR.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT2_POL.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT6_ENA.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT2_PSL.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT6_DIR.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT2_DOUT.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT3_LVL.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT4_PDR.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT3_POL.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT5_PULDIS.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT7_ENA.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT3_PSL.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT5_PULL.VALUE=1 +DRIVER.GIO.VAR.GIO_PORT0_BIT7_DIR.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT4_LVL.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT5_PDR.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT4_POL.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT2_PULDIS.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT4_PSL.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT0_PULL.VALUE=1 +DRIVER.GIO.VAR.GIO_PORT0_BIT3_DOUT.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT5_LVL.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT6_PDR.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT5_POL.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT5_PSL.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT6_PULL.VALUE=1 +DRIVER.GIO.VAR.GIO_PORT0_BIT6_LVL.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT3_PULDIS.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT7_PDR.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT6_POL.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT0_DOUT.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT6_PSL.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT1_PULL.VALUE=1 +DRIVER.GIO.VAR.GIO_PORT0_BIT4_DOUT.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT7_LVL.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT7_PULDIS.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT7_POL.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT0_PULDIS.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT7_PSL.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT7_PULL.VALUE=1 +DRIVER.GIO.VAR.GIO_PORT1_BIT1_DOUT.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT2_PULL.VALUE=1 +DRIVER.GIO.VAR.GIO_PORT1_BIT1_PULDIS.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT5_DOUT.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT0_ENA.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT5_PULDIS.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT0_DIR.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT2_DOUT.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT3_PULL.VALUE=1 +DRIVER.GIO.VAR.GIO_PORT1_BIT1_ENA.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT6_DOUT.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT1_DIR.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT6_PULDIS.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT2_ENA.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT2_DIR.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT0_PDR.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT0_PULL.VALUE=1 +DRIVER.GIO.VAR.GIO_PORT0_BIT3_PULDIS.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT3_DOUT.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT4_PULL.VALUE=1 +DRIVER.GIO.VAR.GIO_PORT1_BIT3_ENA.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT7_DOUT.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT3_DIR.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT0_LVL.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT1_PDR.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT0_POL.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT4_ENA.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT0_PSL.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT4_DIR.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT4_PULDIS.VALUE=0 +DRIVER.GIO.VAR.GIO_BASE_PORTA.VALUE=0xFFF7BC34 +DRIVER.GIO.VAR.GIO_BASE_PORTB.VALUE=0xFFF7BC54 +DRIVER.GIO.VAR.GIO_PORT1_BIT1_LVL.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT2_PDR.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT1_POL.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT1_PULL.VALUE=1 +DRIVER.GIO.VAR.GIO_PORT1_BIT4_DOUT.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT5_PULL.VALUE=1 +DRIVER.GIO.VAR.GIO_PORT1_BIT5_ENA.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT1_PSL.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT5_DIR.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT2_LVL.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT1_PULDIS.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT0_ENA.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT3_PDR.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT2_POL.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT0_DIR.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT6_ENA.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT2_PSL.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT6_DIR.VALUE=0 +DRIVER.GIO.VAR.GIO_BASE.VALUE=0xFFF7BC00 +DRIVER.GIO.VAR.GIO_PORT1_BIT3_LVL.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT1_ENA.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT4_PDR.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT3_POL.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT2_PULL.VALUE=1 +DRIVER.GIO.VAR.GIO_PORT0_BIT1_DIR.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT5_DOUT.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT6_PULL.VALUE=1 +DRIVER.GIO.VAR.GIO_PORT1_BIT7_ENA.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT2_PULDIS.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT3_PSL.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT7_DIR.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT4_LVL.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT2_ENA.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT5_PDR.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT4_POL.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT2_DIR.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT0_DOUT.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT6_PULDIS.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT4_PSL.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT0_PDR.VALUE=0 +DRIVER.GIO.VAR.GIO_PORTB_ENABLE.VALUE=1 +DRIVER.GIO.VAR.GIO_PORT1_BIT5_LVL.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT3_ENA.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT6_PDR.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT5_POL.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT3_PULL.VALUE=1 +DRIVER.GIO.VAR.GIO_PORT0_BIT3_DIR.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT6_DOUT.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT7_PULL.VALUE=1 +DRIVER.GIO.VAR.GIO_PORT0_BIT0_LVL.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT5_PSL.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT1_PDR.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT0_POL.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT6_LVL.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT7_PULDIS.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT4_ENA.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT7_PDR.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT6_POL.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT0_PSL.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT4_DIR.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT0_PULDIS.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT1_DOUT.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT1_LVL.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT6_PSL.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT2_PDR.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT1_POL.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT7_LVL.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT5_ENA.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT7_POL.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT1_PSL.VALUE=0 +DRIVER.SCI.VAR.SCI4_PORT_BIT2_PULL.VALUE=2 +DRIVER.SCI.VAR.SCI1_PORT_BIT2_DOUT.VALUE=0 +DRIVER.SCI.VAR.SCI4_BASE.VALUE=0xFFF7E700 +DRIVER.SCI.VAR.SCI4_LENGTH.VALUE=8 +DRIVER.SCI.VAR.SCI3_BREAKINTLVL.VALUE=0 +DRIVER.SCI.VAR.SCI2_PORT_BIT0_DOUT.VALUE=0 +DRIVER.SCI.VAR.SCI1_PORT_BIT2_PSL.VALUE=1 +DRIVER.SCI.VAR.SCI3_PORT_BIT0_FUN.VALUE=0 +DRIVER.SCI.VAR.SCI4_ACTUALBAUDRATE.VALUE=9601 +DRIVER.SCI.VAR.SCI4_FEINTENA.VALUE=0 +DRIVER.SCI.VAR.SCI3_PORT_BIT2_DIR.VALUE=0 +DRIVER.SCI.VAR.SCI1_BAUDRATE.VALUE=9600 +DRIVER.SCI.VAR.SCI4_OEINTLVL.VALUE=0 +DRIVER.SCI.VAR.SCI4_TXINTENA.VALUE=0 +DRIVER.SCI.VAR.SCI3_PORT_BIT0_PDR.VALUE=0 +DRIVER.SCI.VAR.SCI2_PEINTLVL.VALUE=0 +DRIVER.SCI.VAR.SCI1_STOPBITS.VALUE=2 +DRIVER.SCI.VAR.SCI3_PORT_BIT1_FUN.VALUE=1 +DRIVER.SCI.VAR.SCI3_WAKEINTENA.VALUE=0 +DRIVER.SCI.VAR.SCI1_PORT_BIT0_PULDIS.VALUE=0 +DRIVER.SCI.VAR.SCI1_RXINTENA.VALUE=0 +DRIVER.SCI.VAR.SCI4_WAKEINTLVL.VALUE=0 +DRIVER.SCI.VAR.SCI1_FEINTLVL.VALUE=0 +DRIVER.SCI.VAR.SCI1_PORT_BIT0_PULL.VALUE=2 +DRIVER.SCI.VAR.SCI3_PORT_BIT1_PDR.VALUE=0 +DRIVER.SCI.VAR.SCI1_TXINTLVL.VALUE=0 +DRIVER.SCI.VAR.SCI2_PORT_BIT1_DOUT.VALUE=0 +DRIVER.SCI.VAR.SCI3_PORT_BIT2_FUN.VALUE=1 +DRIVER.SCI.VAR.SCI4_TIMMINGMODE.VALUE=1 +DRIVER.SCI.VAR.SCI3_CLKMODE.VALUE=1 +DRIVER.SCI.VAR.SCI3_PORT_BIT0_PSL.VALUE=1 +DRIVER.SCI.VAR.SCI2_LENGTH.VALUE=8 +DRIVER.SCI.VAR.SCI1_BASE_PORT.VALUE=0xFFF7E440 +DRIVER.SCI.VAR.SCI4_BAUDRATE.VALUE=9600 +DRIVER.SCI.VAR.SCI3_OEINTENA.VALUE=0 +DRIVER.SCI.VAR.SCI2_PARITYENA.VALUE=0 +DRIVER.SCI.VAR.SCI1_EVENPARITY.VALUE=0 +DRIVER.SCI.VAR.SCI3_PORT_BIT2_PDR.VALUE=0 +DRIVER.SCI.VAR.SCI2_BREAKINTENA.VALUE=0 +DRIVER.SCI.VAR.SCI1_PEINTENA.VALUE=0 +DRIVER.SCI.VAR.SCI1_TIMMINGMODE.VALUE=1 +DRIVER.SCI.VAR.SCI3_PORT_BIT1_PSL.VALUE=1 +DRIVER.SCI.VAR.SCI4_STOPBITS.VALUE=2 +DRIVER.SCI.VAR.SCI4_RXINTENA.VALUE=0 +DRIVER.SCI.VAR.SCI4_FEINTLVL.VALUE=0 +DRIVER.SCI.VAR.SCI1_PORT_BIT1_PULL.VALUE=2 +DRIVER.SCI.VAR.SCI4_PORT_BIT1_PULDIS.VALUE=0 +DRIVER.SCI.VAR.SCI2_PORT_BIT2_DOUT.VALUE=0 +DRIVER.SCI.VAR.SCI4_TXINTLVL.VALUE=0 +DRIVER.SCI.VAR.SCI3_PORT_BIT2_PSL.VALUE=1 +DRIVER.SCI.VAR.SCI3_PORT_BIT0_DOUT.VALUE=0 +DRIVER.SCI.VAR.SCI2_WAKEINTENA.VALUE=0 +DRIVER.SCI.VAR.SCI3_WAKEINTLVL.VALUE=0 +DRIVER.SCI.VAR.SCI1_RXINTLVL.VALUE=0 +DRIVER.SCI.VAR.SCI2_CLKMODE.VALUE=1 +DRIVER.SCI.VAR.SCI1_PRESCALE.VALUE=650 +DRIVER.SCI.VAR.SCI4_PEINTENA.VALUE=0 +DRIVER.SCI.VAR.SCI2_PORT_BIT0_DIR.VALUE=0 +DRIVER.SCI.VAR.SCI1_PORT_BIT2_PULL.VALUE=2 +DRIVER.SCI.VAR.SCI3_PORT_BIT1_PULDIS.VALUE=0 +DRIVER.SCI.VAR.SCI3_FEINTENA.VALUE=0 +DRIVER.SCI.VAR.SCI2_PORT_BIT0_PULL.VALUE=2 +DRIVER.SCI.VAR.SCI3_OEINTLVL.VALUE=0 +DRIVER.SCI.VAR.SCI3_TXINTENA.VALUE=0 +DRIVER.SCI.VAR.SCI1_ACTUALBAUDRATE.VALUE=9601 +DRIVER.SCI.VAR.SCI3_PORT_BIT1_DOUT.VALUE=0 +DRIVER.SCI.VAR.SCI2_BREAKINTLVL.VALUE=0 +DRIVER.SCI.VAR.SCI1_PEINTLVL.VALUE=0 +DRIVER.SCI.VAR.SCI2_PORT_BIT1_DIR.VALUE=0 +DRIVER.SCI.VAR.SCI4_RXINTLVL.VALUE=0 +DRIVER.SCI.VAR.SCI4_BASE_PORT.VALUE=0xFFF7E740 +DRIVER.SCI.VAR.SCI4_PRESCALE.VALUE=650 +DRIVER.SCI.VAR.SCI2_PORT_BIT0_FUN.VALUE=0 +DRIVER.SCI.VAR.SCI2_PORT_BIT1_PULDIS.VALUE=0 +DRIVER.SCI.VAR.SCI2_PORT_BIT2_DIR.VALUE=0 +DRIVER.SCI.VAR.SCI1_WAKEINTENA.VALUE=0 +DRIVER.SCI.VAR.SCI1_CLKMODE.VALUE=1 +DRIVER.SCI.VAR.SCI2_PORT_BIT1_PULL.VALUE=2 +DRIVER.SCI.VAR.SCI2_WAKEINTLVL.VALUE=0 +DRIVER.SCI.VAR.SCI2_PORT_BIT0_PDR.VALUE=0 +DRIVER.SCI.VAR.SCI3_BAUDRATE.VALUE=9600 +DRIVER.SCI.VAR.SCI2_OEINTENA.VALUE=0 +DRIVER.SCI.VAR.SCI3_PORT_BIT2_DOUT.VALUE=0 +DRIVER.SCI.VAR.SCI2_PORT_BIT1_FUN.VALUE=1 +DRIVER.SCI.VAR.SCI4_PORT_BIT0_DOUT.VALUE=0 +DRIVER.SCI.VAR.SCI4_PEINTLVL.VALUE=0 +DRIVER.SCI.VAR.SCI4_BREAKINTENA.VALUE=0 +DRIVER.SCI.VAR.SCI3_TIMMINGMODE.VALUE=1 +DRIVER.SCI.VAR.SCI3_STOPBITS.VALUE=2 +DRIVER.SCI.VAR.SCI3_RXINTENA.VALUE=0 +DRIVER.SCI.VAR.SCI2_PORT_BIT1_PDR.VALUE=0 +DRIVER.SCI.VAR.SCI3_FEINTLVL.VALUE=0 +DRIVER.SCI.VAR.SCI1_PORT_BIT1_PULDIS.VALUE=0 +DRIVER.SCI.VAR.SCI2_PORT_BIT2_FUN.VALUE=1 +DRIVER.SCI.VAR.SCI1_BREAKINTENA.VALUE=0 +DRIVER.SCI.VAR.SCI2_PORT_BIT0_PSL.VALUE=1 +DRIVER.SCI.VAR.SCI3_TXINTLVL.VALUE=0 +DRIVER.SCI.VAR.SCI4_PORT_BIT0_DIR.VALUE=0 +DRIVER.SCI.VAR.SCI2_PORT_BIT2_PULL.VALUE=2 +DRIVER.SCI.VAR.SCI2_PORT_BIT2_PDR.VALUE=0 +DRIVER.SCI.VAR.SCI3_PORT_BIT0_PULL.VALUE=2 +DRIVER.SCI.VAR.SCI2_BASE_PORT.VALUE=0xFFF7E640 +DRIVER.SCI.VAR.SCI3_PARITYENA.VALUE=0 +DRIVER.SCI.VAR.SCI2_ACTUALBAUDRATE.VALUE=9601 +DRIVER.SCI.VAR.SCI4_PORT_BIT1_DOUT.VALUE=0 +DRIVER.SCI.VAR.SCI2_PORT_BIT1_PSL.VALUE=1 +DRIVER.SCI.VAR.SCI3_LENGTH.VALUE=8 +DRIVER.SCI.VAR.SCI3_PEINTENA.VALUE=0 +DRIVER.SCI.VAR.SCI4_PORT_BIT1_DIR.VALUE=0 +DRIVER.SCI.VAR.SCI1_WAKEINTLVL.VALUE=0 +DRIVER.SCI.VAR.SCI2_FEINTENA.VALUE=0 +DRIVER.SCI.VAR.SCI2_PORT_BIT2_PSL.VALUE=1 +DRIVER.SCI.VAR.SCI4_PORT_BIT0_FUN.VALUE=0 +DRIVER.SCI.VAR.SCI2_OEINTLVL.VALUE=0 +DRIVER.SCI.VAR.SCI4_EVENPARITY.VALUE=0 +DRIVER.SCI.VAR.SCI2_TXINTENA.VALUE=0 +DRIVER.SCI.VAR.SCI4_PORT_BIT2_DIR.VALUE=0 +DRIVER.SCI.VAR.SCI4_PORT_BIT2_PULDIS.VALUE=0 +DRIVER.SCI.VAR.SCI4_BREAKINTLVL.VALUE=0 +DRIVER.SCI.VAR.SCI3_PORT_BIT1_PULL.VALUE=2 +DRIVER.SCI.VAR.SCI4_PORT_BIT0_PDR.VALUE=0 +DRIVER.SCI.VAR.SCI3_RXINTLVL.VALUE=0 +DRIVER.SCI.VAR.SCI4_PORT_BIT2_DOUT.VALUE=0 +DRIVER.SCI.VAR.SCI1_BASE.VALUE=0xFFF7E400 +DRIVER.SCI.VAR.SCI4_PORT_BIT1_FUN.VALUE=1 +DRIVER.SCI.VAR.SCI3_PRESCALE.VALUE=650 +DRIVER.SCI.VAR.SCI1_PORT_BIT0_DIR.VALUE=0 +DRIVER.SCI.VAR.SCI1_BREAKINTLVL.VALUE=0 +DRIVER.SCI.VAR.SCI4_PORT_BIT1_PDR.VALUE=0 +DRIVER.SCI.VAR.SCI1_LENGTH.VALUE=8 +DRIVER.SCI.VAR.SCI4_PORT_BIT2_FUN.VALUE=1 +DRIVER.SCI.VAR.SCI3_PORT_BIT2_PULDIS.VALUE=0 +DRIVER.SCI.VAR.SCI2_BAUDRATE.VALUE=9600 +DRIVER.SCI.VAR.SCI1_PARITYENA.VALUE=0 +DRIVER.SCI.VAR.SCI1_OEINTENA.VALUE=0 +DRIVER.SCI.VAR.SCI4_PORT_BIT0_PSL.VALUE=1 +DRIVER.SCI.VAR.SCI1_PORT_BIT1_DIR.VALUE=0 +DRIVER.SCI.VAR.SCI3_PORT_BIT2_PULL.VALUE=2 +DRIVER.SCI.VAR.SCI3_PEINTLVL.VALUE=0 +DRIVER.SCI.VAR.SCI4_PORT_BIT2_PDR.VALUE=0 +DRIVER.SCI.VAR.SCI2_STOPBITS.VALUE=2 +DRIVER.SCI.VAR.SCI4_PORT_BIT0_PULL.VALUE=2 +DRIVER.SCI.VAR.SCI2_RXINTENA.VALUE=0 +DRIVER.SCI.VAR.SCI1_PORT_BIT0_DOUT.VALUE=0 +DRIVER.SCI.VAR.SCI2_BASE.VALUE=0xFFF7E600 +DRIVER.SCI.VAR.SCI2_FEINTLVL.VALUE=0 +DRIVER.SCI.VAR.SCI1_PORT_BIT0_FUN.VALUE=0 +DRIVER.SCI.VAR.SCI4_PORT_BIT0_PULDIS.VALUE=0 +DRIVER.SCI.VAR.SCI3_ACTUALBAUDRATE.VALUE=9601 +DRIVER.SCI.VAR.SCI4_PORT_BIT1_PSL.VALUE=1 +DRIVER.SCI.VAR.SCI1_PORT_BIT2_DIR.VALUE=0 +DRIVER.SCI.VAR.SCI3_EVENPARITY.VALUE=0 +DRIVER.SCI.VAR.SCI2_TXINTLVL.VALUE=0 +DRIVER.SCI.VAR.SCI3_BREAKINTENA.VALUE=0 +DRIVER.SCI.VAR.SCI2_TIMMINGMODE.VALUE=1 +DRIVER.SCI.VAR.SCI1_PORT_BIT0_PDR.VALUE=0 +DRIVER.SCI.VAR.SCI2_PORT_BIT2_PULDIS.VALUE=0 +DRIVER.SCI.VAR.SCI1_PORT_BIT1_FUN.VALUE=1 +DRIVER.SCI.VAR.SCI4_PORT_BIT2_PSL.VALUE=1 +DRIVER.SCI.VAR.SCI4_OEINTENA.VALUE=0 +DRIVER.SCI.VAR.SCI2_PEINTENA.VALUE=0 +DRIVER.SCI.VAR.SCI1_PORT_BIT1_PDR.VALUE=0 +DRIVER.SCI.VAR.SCI4_PORT_BIT1_PULL.VALUE=2 +DRIVER.SCI.VAR.SCI3_PORT_BIT0_PULDIS.VALUE=0 +DRIVER.SCI.VAR.SCI1_PORT_BIT1_DOUT.VALUE=0 +DRIVER.SCI.VAR.SCI3_BASE.VALUE=0xFFF7E500 +DRIVER.SCI.VAR.SCI1_PORT_BIT2_FUN.VALUE=1 +DRIVER.SCI.VAR.SCI4_WAKEINTENA.VALUE=0 +DRIVER.SCI.VAR.SCI1_FEINTENA.VALUE=0 +DRIVER.SCI.VAR.SCI1_PORT_BIT0_PSL.VALUE=1 +DRIVER.SCI.VAR.SCI3_PORT_BIT0_DIR.VALUE=0 +DRIVER.SCI.VAR.SCI1_OEINTLVL.VALUE=0 +DRIVER.SCI.VAR.SCI1_PORT_BIT2_PULDIS.VALUE=0 +DRIVER.SCI.VAR.SCI1_TXINTENA.VALUE=0 +DRIVER.SCI.VAR.SCI1_PORT_BIT2_PDR.VALUE=0 +DRIVER.SCI.VAR.SCI1_PORT_BIT1_PSL.VALUE=1 +DRIVER.SCI.VAR.SCI2_RXINTLVL.VALUE=0 +DRIVER.SCI.VAR.SCI3_PORT_BIT1_DIR.VALUE=0 +DRIVER.SCI.VAR.SCI3_BASE_PORT.VALUE=0xFFF7E540 +DRIVER.SCI.VAR.SCI4_PARITYENA.VALUE=0 +DRIVER.SCI.VAR.SCI4_CLKMODE.VALUE=1 +DRIVER.SCI.VAR.SCI2_EVENPARITY.VALUE=0 +DRIVER.SCI.VAR.SCI2_PRESCALE.VALUE=650 +DRIVER.SCI.VAR.SCI2_PORT_BIT0_PULDIS.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_TG0_BUF_CSHOLD_LASTBUF.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_PARITYENA2.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_DLENERRLVL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_TG4_TRGEVT.VALUE=TRG_ALWAYS +DRIVER.MIBSPI.VAR.MIBSPI2_BASE_PORT.VALUE=0xFFF7F618 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT17_FUN.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT25_FUN.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI5_BITERRENA.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_PARITYENA3.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_RXINTENA.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG5_BUF_LOCK.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT25_DOUT.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT17_DOUT.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_PORT_BIT8_PSL.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI4_TG1_BUF_CSNR.VALUE=CS_1 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT1_DOUT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI3_CLKMOD.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI2_PORT_BIT11_DOUT.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT5_PSL.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI1_PHASE0.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG5_TRGSRC.VALUE=TRG_DISABLED +DRIVER.MIBSPI.VAR.MIBSPI1_PHASE1.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT27_FUN.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT19_FUN.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT3_FUN.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG3_LENGTH.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT9_DIR.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI1_TG6_BUF_CSHOLD.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PHASE2.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_PORT_BIT8_PULDIS.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_TG6_BUF_LOCK.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG5_BUF_MODE.VALUE=4 +DRIVER.MIBSPI.VAR.MIBSPI1_PHASE3.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT25_PSL.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT17_PSL.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI5_TG2_BUF_CSNR.VALUE=CS_2 +DRIVER.MIBSPI.VAR.MIBSPI4_TG6_BUF_DFSEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT1_PSL.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI2_PORT_BIT11_PSL.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI4_BASE.VALUE=0xFFF7FA00 +DRIVER.MIBSPI.VAR.MIBSPI5_TG0_BUF_CSHOLD_LASTBUF.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT5_DIR.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI1_TG6_TRGEVT.VALUE=TRG_ALWAYS +DRIVER.MIBSPI.VAR.MIBSPI3_TG7_BUF_LOCK.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_PORT_BIT1_PULDIS.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_TG6_BUF_MODE.VALUE=4 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT17_PDR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT25_PDR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG5_ONESHOT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI1_TG1_PRST.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_C2TDELAYACTUAL.VALUE=20.000 +DRIVER.MIBSPI.VAR.MIBSPI4_TG7_TRGSRC.VALUE=TRG_DISABLED +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT1_DIR.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI4_TG4_BUF_CSHOLD.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT11_DIR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_TG5_LENGTH.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_TXINTLVL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TIMEOUTLVL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_RAM_PARITY_ENA.VALUE=0x00000005 +DRIVER.MIBSPI.VAR.MIBSPI3_TG7_BUF_MODE.VALUE=4 +DRIVER.MIBSPI.VAR.MIBSPI1_TG1_CS_ENCODE.VALUE=0xFF +DRIVER.MIBSPI.VAR.MIBSPI1_TG1_USE_CS_ENCODE.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT27_PDR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT19_PDR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG7_BUF_DFSEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_TG0_PRST.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_WDELAY0.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT3_PDR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG7_ONESHOT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI1_TG2_BUF_WDEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_TG0_TRGSRC.VALUE=TRG_DISABLED +DRIVER.MIBSPI.VAR.MIBSPI4_WDELAY1.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG3_TRGEVT.VALUE=TRG_ALWAYS +DRIVER.MIBSPI.VAR.MIBSPI4_WDELAY2.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_PARERRLVL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT8_FUN.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI1_TG5_BUF_CSHOLD_LASTBUF.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG0_BUF_CSHOLD.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_WDELAY3.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG0_USE_CS_ENCODE.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_PORT_BIT9_PSL.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI2_TG4_PRST.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_TG3_BUF_WDEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT8_PULL.VALUE=2 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT4_FUN.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_TG7_BUF_CSHOLD.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG7_LENGTH.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_TG2_CS_ENCODE.VALUE=0xFF +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT26_PSL.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT18_PSL.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI5_TG3_PRST.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT2_PSL.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI3_TG4_BUF_WDEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG0_ONESHOT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI3_ACTUALBAUDRATE0.VALUE=1000.000 +DRIVER.MIBSPI.VAR.MIBSPI2_T2EDELAYACTUAL.VALUE=0.000 +DRIVER.MIBSPI.VAR.MIBSPI3_TG2_TRGSRC.VALUE=TRG_DISABLED +DRIVER.MIBSPI.VAR.MIBSPI3_ACTUALBAUDRATE1.VALUE=1000.000 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT0_FUN.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI4_TG5_TRGEVT.VALUE=TRG_ALWAYS +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT10_FUN.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI3_ACTUALBAUDRATE2.VALUE=1000.000 +DRIVER.MIBSPI.VAR.MIBSPI2_TG5_BUF_CSHOLD_LASTBUF.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT3_PULL.VALUE=2 +DRIVER.MIBSPI.VAR.MIBSPI1_TG0_LENGTH.VALUE=8 +DRIVER.MIBSPI.VAR.MIBSPI5_TG0_CS_ENCODE.VALUE=0xFF +DRIVER.MIBSPI.VAR.MIBSPI3_TG0_BUF_LOCK.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_ACTUALBAUDRATE3.VALUE=1000.000 +DRIVER.MIBSPI.VAR.MIBSPI2_TG3_USE_CS_ENCODE.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG2_ONESHOT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI4_PORT_BIT9_DOUT.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_TG5_BUF_WDEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG7_PRST.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_C2EDELAYACTUAL.VALUE=0.000 +DRIVER.MIBSPI.VAR.MIBSPI2_BAUDRATE0.VALUE=1000.000 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT8_PDR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG1_BUF_CSNR.VALUE=CS_1 +DRIVER.MIBSPI.VAR.MIBSPI2_BAUDRATE1.VALUE=1000.000 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT2_DIR.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI5_TG5_BUF_CSHOLD.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG4_LENGTH.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_PORT_BIT1_PULL.VALUE=2 +DRIVER.MIBSPI.VAR.MIBSPI2_BAUDRATE2.VALUE=1000.000 +DRIVER.MIBSPI.VAR.MIBSPI4_TG2_USE_CS_ENCODE.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_TG1_BUF_LOCK.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG3_CS_ENCODE.VALUE=0xFF +DRIVER.MIBSPI.VAR.MIBSPI3_TG0_BUF_MODE.VALUE=4 +DRIVER.MIBSPI.VAR.MIBSPI2_BAUDRATE3.VALUE=1000.000 +DRIVER.MIBSPI.VAR.MIBSPI5_TG6_BUF_WDEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_T2CDELAYACTUAL.VALUE=10.000 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT4_PDR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_PORT_BIT4_DOUT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI2_TG2_BUF_CSNR.VALUE=CS_2 +DRIVER.MIBSPI.VAR.MIBSPI2_TG4_TRGSRC.VALUE=TRG_DISABLED +DRIVER.MIBSPI.VAR.MIBSPI3_TG7_TRGEVT.VALUE=TRG_ALWAYS +DRIVER.MIBSPI.VAR.MIBSPI3_TG5_BUF_CSHOLD_LASTBUF.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_TG1_BUF_CSHOLD.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT9_FUN.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI5_TG2_BUF_LOCK.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PARERRENA.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_TG1_BUF_MODE.VALUE=4 +DRIVER.MIBSPI.VAR.MIBSPI3_OVRNINTENA.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT8_PULDIS.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG6_CS_ENCODE.VALUE=0xFF +DRIVER.MIBSPI.VAR.MIBSPI1_TG6_USE_CS_ENCODE.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT26_DOUT.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT18_DOUT.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT0_PDR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT10_PDR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT2_DOUT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI3_TG3_BUF_CSNR.VALUE=CS_3 +DRIVER.MIBSPI.VAR.MIBSPI2_POLARITY0.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT17_PSL.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT25_PSL.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI1_TG1_BUF_DFSEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_POLARITY1.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_C2TDELAY.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_PORT_BIT10_PULL.VALUE=2 +DRIVER.MIBSPI.VAR.MIBSPI4_TG6_LENGTH.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_OVRNINTLVL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT5_FUN.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG0_TRGEVT.VALUE=TRG_ALWAYS +DRIVER.MIBSPI.VAR.MIBSPI2_POLARITY2.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG2_BUF_MODE.VALUE=4 +DRIVER.MIBSPI.VAR.MIBSPI5_RXINTENA.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_PORT_BIT17_PULDIS.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_PORT_BIT25_PULDIS.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_PORT_BIT4_PULDIS.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_TG4_CS_ENCODE.VALUE=0xFF +DRIVER.MIBSPI.VAR.MIBSPI3_TG5_USE_CS_ENCODE.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_DEYSNCENA.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_POLARITY3.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT11_PULDIS.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT1_PULDIS.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT27_PSL.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT19_PSL.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI4_PORT_BIT0_DOUT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI4_TG4_BUF_CSNR.VALUE=CS_4 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT3_PSL.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI2_TG2_ONESHOT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI2_WAITENA0.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_BASE.VALUE=0xFFF7FC00 +DRIVER.MIBSPI.VAR.MIBSPI2_WAITENA1.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG6_TRGSRC.VALUE=TRG_DISABLED +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT1_FUN.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_DEYSNCLVL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_TG5_BUF_CSHOLD_LASTBUF.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_PARPOL0.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT11_FUN.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI2_PORT_BIT17_DIR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_PORT_BIT25_DIR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_WAITENA2.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG4_USE_CS_ENCODE.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_PORT_BIT10_PULDIS.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_PARPOL1.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_TG7_CS_ENCODE.VALUE=0xFF +DRIVER.MIBSPI.VAR.MIBSPI2_WAITENA3.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG5_BUF_CSNR.VALUE=CS_5 +DRIVER.MIBSPI.VAR.MIBSPI4_TG4_ONESHOT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI4_PARPOL2.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_TG2_BUF_DFSEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT9_PDR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG2_PRST.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_PARPOL3.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT3_DIR.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI2_PORT_BIT0_DIR.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI2_TG2_TRGEVT.VALUE=TRG_ALWAYS +DRIVER.MIBSPI.VAR.MIBSPI5_TG5_CS_ENCODE.VALUE=0xFF +DRIVER.MIBSPI.VAR.MIBSPI1_TXINTENA.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG0_BUF_DFSEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_TG1_PRST.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT5_PDR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PRESCALE0.VALUE=99 +DRIVER.MIBSPI.VAR.MIBSPI1_CLKMOD.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI5_TG3_TRGSRC.VALUE=TRG_DISABLED +DRIVER.MIBSPI.VAR.MIBSPI1_PRESCALE1.VALUE=99 +DRIVER.MIBSPI.VAR.MIBSPI5_TG5_BUF_CSHOLD_LASTBUF.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TXINTLVL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG2_BUF_CSHOLD.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG1_LENGTH.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PRESCALE2.VALUE=99 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT9_PULDIS.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TIMEOUTENA.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_TG7_USE_CS_ENCODE.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_DLENERRENA.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PRESCALE3.VALUE=99 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT1_PDR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT11_PDR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG3_BUF_DFSEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PARITYENA0.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_TG5_PRST.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT8_PSL.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI1_TG5_BUF_WDEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_ACTUALBAUDRATE0.VALUE=1000.000 +DRIVER.MIBSPI.VAR.MIBSPI3_PARITYENA1.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_ACTUALBAUDRATE1.VALUE=1000.000 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT9_PULL.VALUE=2 +DRIVER.MIBSPI.VAR.MIBSPI3_PARITYENA2.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_DLENERRLVL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG4_TRGEVT.VALUE=TRG_ALWAYS +DRIVER.MIBSPI.VAR.MIBSPI1_TG2_BUF_CSHOLD_LASTBUF.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_ACTUALBAUDRATE2.VALUE=1000.000 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT2_PULDIS.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PARITYENA3.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_BITERRENA.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG1_BUF_LOCK.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_ACTUALBAUDRATE3.VALUE=1000.000 +DRIVER.MIBSPI.VAR.MIBSPI5_TG4_PRST.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT4_PSL.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI2_TG6_BUF_WDEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG6_BUF_DFSEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG4_ONESHOT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI4_TG5_TRGSRC.VALUE=TRG_DISABLED +DRIVER.MIBSPI.VAR.MIBSPI3_T2EDELAY.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT2_FUN.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_BITERRLVL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_SHIFTDIR0.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT8_DIR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_TG3_LENGTH.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_RXINTLVL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_CSDEF.VALUE=0xFF +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT4_PULL.VALUE=2 +DRIVER.MIBSPI.VAR.MIBSPI1_TG5_BUF_CSHOLD.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_SHIFTDIR1.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_TG2_BUF_LOCK.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG1_BUF_MODE.VALUE=4 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT0_PSL.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI4_TG4_BUF_DFSEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_SHIFTDIR2.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT10_PSL.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI3_TG7_BUF_WDEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG6_ONESHOT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI3_WDELAY0.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT17_DOUT.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT25_DOUT.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_T2CDELAYACTUAL.VALUE=10.000 +DRIVER.MIBSPI.VAR.MIBSPI4_SHIFTDIR3.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_WDELAY1.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG1_TRGEVT.VALUE=TRG_ALWAYS +DRIVER.MIBSPI.VAR.MIBSPI4_MASTER.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI3_WDELAY2.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_PORT_BIT2_PULL.VALUE=2 +DRIVER.MIBSPI.VAR.MIBSPI2_PORT_BIT1_DIR.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI2_TG2_BUF_CSHOLD_LASTBUF.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG3_BUF_LOCK.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_WDELAY3.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_TG2_BUF_MODE.VALUE=4 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT8_DOUT.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_ENABLEHIGHZ.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_PORT_BIT5_DOUT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI2_TG7_BUF_DFSEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG4_BUF_CSNR.VALUE=CS_4 +DRIVER.MIBSPI.VAR.MIBSPI3_TG7_TRGSRC.VALUE=TRG_DISABLED +DRIVER.MIBSPI.VAR.MIBSPI4_PORT_BIT10_DIR.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI4_TG3_BUF_CSHOLD.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT0_PULL.VALUE=2 +DRIVER.MIBSPI.VAR.MIBSPI2_PORT_BIT10_PULL.VALUE=2 +DRIVER.MIBSPI.VAR.MIBSPI1_TG5_LENGTH.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_TG4_BUF_LOCK.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT4_PULDIS.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG3_BUF_MODE.VALUE=4 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT27_DOUT.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT19_DOUT.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT2_PDR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG5_BUF_DFSEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT3_DOUT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI2_TG5_BUF_CSNR.VALUE=CS_5 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT9_PSL.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI3_TG0_TRGSRC.VALUE=TRG_DISABLED +DRIVER.MIBSPI.VAR.MIBSPI2_C2EDELAY.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_PORT_BIT11_PULL.VALUE=2 +DRIVER.MIBSPI.VAR.MIBSPI4_TG3_TRGEVT.VALUE=TRG_ALWAYS +DRIVER.MIBSPI.VAR.MIBSPI3_TG2_BUF_CSHOLD_LASTBUF.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_PORT_BIT17_FUN.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI2_PORT_BIT25_FUN.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI5_TG5_BUF_LOCK.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_TG4_BUF_MODE.VALUE=4 +DRIVER.MIBSPI.VAR.MIBSPI5_TG1_ONESHOT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI4_PORT_BIT1_DOUT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT5_PSL.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI3_TG6_BUF_CSNR.VALUE=CS_6 +DRIVER.MIBSPI.VAR.MIBSPI4_C2TDELAY.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT3_FUN.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG2_LENGTH.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_BASE_PORT.VALUE=0xFFF7FC18 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT9_DIR.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI2_PORT_BIT0_FUN.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI2_TG6_BUF_CSHOLD.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG5_BUF_MODE.VALUE=4 +DRIVER.MIBSPI.VAR.MIBSPI2_TG0_CS_ENCODE.VALUE=0xFF +DRIVER.MIBSPI.VAR.MIBSPI2_TG0_USE_CS_ENCODE.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT1_PSL.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI5_WAITENA0.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_TG7_BUF_CSNR.VALUE=CS_7 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT11_PSL.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI3_TG0_BUF_WDEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG3_PRST.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_WAITENA1.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_TG2_TRGSRC.VALUE=TRG_DISABLED +DRIVER.MIBSPI.VAR.MIBSPI5_WAITENA2.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_TG2_BUF_CSHOLD_LASTBUF.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG5_TRGEVT.VALUE=TRG_ALWAYS +DRIVER.MIBSPI.VAR.MIBSPI2_PORT_BIT2_DIR.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI5_WAITENA3.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_PORT_BIT9_PULDIS.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT10_DOUT.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_TG2_PRST.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_TG1_BUF_WDEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_PORT_BIT17_PDR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_PORT_BIT25_PDR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_C2TDELAYACTUAL.VALUE=20.000 +DRIVER.MIBSPI.VAR.MIBSPI2_T2CDELAY.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG4_BUF_CSHOLD.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_PORT_BIT11_DIR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_TG4_LENGTH.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_RAM_PARITY_ENA.VALUE=0x00000005 +DRIVER.MIBSPI.VAR.MIBSPI4_PORT_BIT2_PULDIS.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_TXINTENA.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG1_CS_ENCODE.VALUE=0xFF +DRIVER.MIBSPI.VAR.MIBSPI1_TG3_USE_CS_ENCODE.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT3_PDR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG2_BUF_WDEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_PORT_BIT0_PDR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_TG6_PRST.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_TG1_ONESHOT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI2_BASE_RAM.VALUE=0xFF080000 +DRIVER.MIBSPI.VAR.MIBSPI1_TG4_TRGSRC.VALUE=TRG_DISABLED +DRIVER.MIBSPI.VAR.MIBSPI5_TG2_BUF_CSHOLD_LASTBUF.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT8_FUN.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI3_PARPOL0.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_TG7_TRGEVT.VALUE=TRG_ALWAYS +DRIVER.MIBSPI.VAR.MIBSPI2_TG0_BUF_CSHOLD.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_CHARLEN0.VALUE=16 +DRIVER.MIBSPI.VAR.MIBSPI3_TG2_USE_CS_ENCODE.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PARPOL1.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PARERRENA.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_CHARLEN1.VALUE=16 +DRIVER.MIBSPI.VAR.MIBSPI2_OVRNINTENA.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG4_CS_ENCODE.VALUE=0xFF +DRIVER.MIBSPI.VAR.MIBSPI5_TG5_PRST.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_TG3_ONESHOT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI4_PHASE0.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PARPOL2.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_CHARLEN2.VALUE=16 +DRIVER.MIBSPI.VAR.MIBSPI4_PHASE1.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PARPOL3.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_CHARLEN3.VALUE=16 +DRIVER.MIBSPI.VAR.MIBSPI5_PARERRLVL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_PORT_BIT8_PULL.VALUE=2 +DRIVER.MIBSPI.VAR.MIBSPI4_PHASE2.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG7_BUF_CSHOLD.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG6_LENGTH.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_OVRNINTLVL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_PORT_BIT1_FUN.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_TG0_TRGEVT.VALUE=TRG_ALWAYS +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT5_PULL.VALUE=2 +DRIVER.MIBSPI.VAR.MIBSPI5_TG1_USE_CS_ENCODE.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_TG2_CS_ENCODE.VALUE=0xFF +DRIVER.MIBSPI.VAR.MIBSPI4_PHASE3.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG4_BUF_LOCK.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_DEYSNCENA.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_RXINTENA.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT2_PSL.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI4_TG0_BUF_CSNR.VALUE=CS_0 +DRIVER.MIBSPI.VAR.MIBSPI3_T2EDELAYACTUAL.VALUE=0.000 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT8_DOUT.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG1_TRGSRC.VALUE=TRG_DISABLED +DRIVER.MIBSPI.VAR.MIBSPI5_RXINTLVL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_PORT_BIT10_FUN.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI3_DEYSNCLVL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_PORT_BIT3_PULL.VALUE=2 +DRIVER.MIBSPI.VAR.MIBSPI2_PORT_BIT3_DIR.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI1_TG7_BUF_CSHOLD_LASTBUF.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_PORT_BIT4_PULDIS.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_TG5_BUF_LOCK.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_TG5_CS_ENCODE.VALUE=0xFF +DRIVER.MIBSPI.VAR.MIBSPI2_TG5_USE_CS_ENCODE.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG4_BUF_MODE.VALUE=4 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT9_DOUT.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG1_BUF_CSNR.VALUE=CS_1 +DRIVER.MIBSPI.VAR.MIBSPI4_C2EDELAYACTUAL.VALUE=0.000 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT8_PDR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_TG0_BUF_DFSEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT25_PULL.VALUE=2 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT17_PULL.VALUE=2 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT1_PULL.VALUE=2 +DRIVER.MIBSPI.VAR.MIBSPI2_PORT_BIT11_PULL.VALUE=2 +DRIVER.MIBSPI.VAR.MIBSPI1_TG2_TRGEVT.VALUE=TRG_ALWAYS +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT0_PULDIS.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG3_CS_ENCODE.VALUE=0xFF +DRIVER.MIBSPI.VAR.MIBSPI4_TG4_USE_CS_ENCODE.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT10_PULDIS.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG6_BUF_LOCK.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_TG5_BUF_MODE.VALUE=4 +DRIVER.MIBSPI.VAR.MIBSPI5_BAUDRATE0.VALUE=1000.000 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT4_DOUT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI2_PORT_BIT1_PDR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG7_BUF_CSNR.VALUE=CS_7 +DRIVER.MIBSPI.VAR.MIBSPI1_TG3_ONESHOT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI5_BAUDRATE1.VALUE=1000.000 +DRIVER.MIBSPI.VAR.MIBSPI4_TG3_TRGSRC.VALUE=TRG_DISABLED +DRIVER.MIBSPI.VAR.MIBSPI5_TG6_TRGEVT.VALUE=TRG_ALWAYS +DRIVER.MIBSPI.VAR.MIBSPI5_BAUDRATE2.VALUE=1000.000 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT9_FUN.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI3_TG1_BUF_CSHOLD.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_TG7_BUF_CSHOLD_LASTBUF.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_TG1_LENGTH.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TXINTLVL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_BAUDRATE3.VALUE=1000.000 +DRIVER.MIBSPI.VAR.MIBSPI4_TG7_BUF_LOCK.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_TIMEOUTENA.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG6_BUF_MODE.VALUE=4 +DRIVER.MIBSPI.VAR.MIBSPI3_TG6_CS_ENCODE.VALUE=0xFF +DRIVER.MIBSPI.VAR.MIBSPI1_DLENERRENA.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_PORT_BIT10_PDR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_PORT_BIT2_DOUT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI3_TG5_ONESHOT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI3_TG1_BUF_DFSEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG0_PRST.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_PORT_BIT17_PSL.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI2_PORT_BIT25_PSL.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI2_WDELAY0.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_PARITYENA0.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG1_BUF_WDEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_C2EDELAY.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_WDELAY1.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_PARITYENA1.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TIMEOUTLVL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_PORT_BIT2_FUN.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_WDELAY2.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_PARITYENA2.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_DLENERRLVL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_MASTER.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI4_TG7_BUF_MODE.VALUE=4 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT9_PULDIS.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG7_USE_CS_ENCODE.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_WDELAY3.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_PARITYENA3.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_BITERRENA.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT3_PSL.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT0_DOUT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI5_TG7_ONESHOT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI5_POLARITY0.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT10_DOUT.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_PORT_BIT0_PSL.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI2_TG2_BUF_WDEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG4_BUF_DFSEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG4_PRST.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_POLARITY1.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG5_TRGSRC.VALUE=TRG_DISABLED +DRIVER.MIBSPI.VAR.MIBSPI5_POLARITY2.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_PORT_BIT11_FUN.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI3_TG7_BUF_CSHOLD_LASTBUF.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_BITERRLVL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_PORT_BIT4_DIR.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI2_SHIFTDIR0.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG4_BUF_CSHOLD.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG3_LENGTH.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT26_PULDIS.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT18_PULDIS.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG6_USE_CS_ENCODE.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_POLARITY3.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_TG7_CS_ENCODE.VALUE=0xFF +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT2_PULDIS.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_SHIFTDIR1.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_RAM_PARITY_ENA.VALUE=0x00000005 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT11_DOUT.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_TG3_PRST.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_TG2_BUF_DFSEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT9_PDR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG3_BUF_WDEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_SHIFTDIR2.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_SHIFTDIR3.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG7_LENGTH.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_PORT_BIT0_DIR.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI4_TG1_TRGEVT.VALUE=TRG_ALWAYS +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT11_PULDIS.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG0_ONESHOT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI4_TG4_BUF_WDEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_PORT_BIT2_PDR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_TG7_PRST.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_TG5_BUF_DFSEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG0_BUF_CSNR.VALUE=CS_0 +DRIVER.MIBSPI.VAR.MIBSPI5_T2CDELAY.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_TG7_TRGSRC.VALUE=TRG_DISABLED +DRIVER.MIBSPI.VAR.MIBSPI5_TG0_LENGTH.VALUE=8 +DRIVER.MIBSPI.VAR.MIBSPI4_TG7_BUF_CSHOLD_LASTBUF.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_TG2_BUF_CSHOLD.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_TG0_BUF_LOCK.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG6_PRST.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG5_BUF_WDEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG3_BUF_DFSEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_PORT_BIT11_PDR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_PRESCALE0.VALUE=99 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT8_PSL.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI2_TG7_ONESHOT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI2_TG1_BUF_CSNR.VALUE=CS_1 +DRIVER.MIBSPI.VAR.MIBSPI5_BASE_RAM.VALUE=0xFF0A0000 +DRIVER.MIBSPI.VAR.MIBSPI4_PRESCALE1.VALUE=99 +DRIVER.MIBSPI.VAR.MIBSPI2_TG0_TRGSRC.VALUE=TRG_DISABLED +DRIVER.MIBSPI.VAR.MIBSPI5_CHARLEN0.VALUE=16 +DRIVER.MIBSPI.VAR.MIBSPI4_PORT_BIT9_PULL.VALUE=2 +DRIVER.MIBSPI.VAR.MIBSPI4_PRESCALE2.VALUE=99 +DRIVER.MIBSPI.VAR.MIBSPI3_TG3_TRGEVT.VALUE=TRG_ALWAYS +DRIVER.MIBSPI.VAR.MIBSPI3_CSDEF.VALUE=0xFF +DRIVER.MIBSPI.VAR.MIBSPI2_PORT_BIT3_FUN.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG1_BUF_LOCK.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_CHARLEN1.VALUE=16 +DRIVER.MIBSPI.VAR.MIBSPI4_TG0_BUF_MODE.VALUE=4 +DRIVER.MIBSPI.VAR.MIBSPI4_PRESCALE3.VALUE=99 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT4_PULDIS.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_CHARLEN2.VALUE=16 +DRIVER.MIBSPI.VAR.MIBSPI3_TG6_BUF_DFSEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG2_BUF_CSNR.VALUE=CS_2 +DRIVER.MIBSPI.VAR.MIBSPI2_PORT_BIT1_PSL.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT9_DOUT.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_CHARLEN3.VALUE=16 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT8_DIR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG7_BUF_CSHOLD_LASTBUF.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_TG2_LENGTH.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_BASE_PORT.VALUE=0xFFF7F818 +DRIVER.MIBSPI.VAR.MIBSPI2_PORT_BIT5_DIR.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI2_PORT_BIT4_PULL.VALUE=2 +DRIVER.MIBSPI.VAR.MIBSPI2_TG5_BUF_CSHOLD.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG1_BUF_MODE.VALUE=4 +DRIVER.MIBSPI.VAR.MIBSPI4_PORT_BIT0_PULDIS.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_RXINTENA.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG7_BUF_LOCK.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_PORT_BIT10_PSL.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI4_TG3_BUF_CSNR.VALUE=CS_3 +DRIVER.MIBSPI.VAR.MIBSPI2_TG0_ONESHOT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI2_T2CDELAYACTUAL.VALUE=10.000 +DRIVER.MIBSPI.VAR.MIBSPI1_WAITENA0.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG2_TRGSRC.VALUE=TRG_DISABLED +DRIVER.MIBSPI.VAR.MIBSPI1_WAITENA1.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT26_PULL.VALUE=2 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT18_PULL.VALUE=2 +DRIVER.MIBSPI.VAR.MIBSPI4_PORT_BIT1_DIR.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT2_PULL.VALUE=2 +DRIVER.MIBSPI.VAR.MIBSPI2_TG5_TRGEVT.VALUE=TRG_ALWAYS +DRIVER.MIBSPI.VAR.MIBSPI2_PARPOL0.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG4_BUF_CSHOLD_LASTBUF.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_WAITENA2.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_PARPOL1.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG7_BUF_MODE.VALUE=4 +DRIVER.MIBSPI.VAR.MIBSPI1_TG0_USE_CS_ENCODE.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_WAITENA3.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG4_BUF_CSNR.VALUE=CS_4 +DRIVER.MIBSPI.VAR.MIBSPI4_TG7_BUF_DFSEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_TG2_ONESHOT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI4_CLKMOD.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT5_DOUT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI2_PORT_BIT3_PDR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_PARPOL2.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_PHASE0.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG6_TRGSRC.VALUE=TRG_DISABLED +DRIVER.MIBSPI.VAR.MIBSPI2_PARPOL3.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_PHASE1.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT10_DIR.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI5_TG3_BUF_CSHOLD.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_PORT_BIT0_PULL.VALUE=2 +DRIVER.MIBSPI.VAR.MIBSPI3_TG4_LENGTH.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_PHASE2.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_PORT_BIT9_PULDIS.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_PHASE3.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_PORT_BIT3_DOUT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT9_PSL.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI3_TG1_PRST.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT10_DOUT.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT0_DOUT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI4_TXINTLVL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_PORT_BIT4_FUN.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_TG4_BUF_CSHOLD_LASTBUF.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG7_TRGEVT.VALUE=TRG_ALWAYS +DRIVER.MIBSPI.VAR.MIBSPI2_PORT_BIT2_PULDIS.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG2_CS_ENCODE.VALUE=0xFF +DRIVER.MIBSPI.VAR.MIBSPI1_PARERRENA.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_OVRNINTENA.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT1_DOUT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT11_DOUT.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_PORT_BIT2_PSL.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI1_TG5_PRST.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG4_BUF_WDEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT9_DIR.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI4_PORT_BIT0_FUN.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI3_TG6_BUF_CSHOLD.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PARERRLVL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_TG6_LENGTH.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_OVRNINTLVL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG0_TRGEVT.VALUE=TRG_ALWAYS +DRIVER.MIBSPI.VAR.MIBSPI4_TG0_CS_ENCODE.VALUE=0xFF +DRIVER.MIBSPI.VAR.MIBSPI2_TG2_USE_CS_ENCODE.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG0_BUF_LOCK.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_PORT_BIT11_PSL.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI4_TG4_PRST.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_TG5_BUF_WDEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG2_ONESHOT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI4_TG1_TRGSRC.VALUE=TRG_DISABLED +DRIVER.MIBSPI.VAR.MIBSPI2_T2EDELAY.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG4_TRGEVT.VALUE=TRG_ALWAYS +DRIVER.MIBSPI.VAR.MIBSPI4_PORT_BIT2_DIR.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI3_TG4_BUF_CSHOLD_LASTBUF.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_DEYSNCLVL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_RXINTLVL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_TG1_USE_CS_ENCODE.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_TG3_CS_ENCODE.VALUE=0xFF +DRIVER.MIBSPI.VAR.MIBSPI2_TG1_BUF_LOCK.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG0_BUF_MODE.VALUE=4 +DRIVER.MIBSPI.VAR.MIBSPI3_TG6_BUF_WDEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG4_ONESHOT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI3_C2TDELAYACTUAL.VALUE=20.000 +DRIVER.MIBSPI.VAR.MIBSPI2_PORT_BIT4_PDR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_WDELAY0.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_WDELAY1.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT11_DIR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_WDELAY2.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG1_CS_ENCODE.VALUE=0xFF +DRIVER.MIBSPI.VAR.MIBSPI3_TG2_BUF_LOCK.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_PORT_BIT17_PULDIS.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_PORT_BIT25_PULDIS.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_TG1_BUF_MODE.VALUE=4 +DRIVER.MIBSPI.VAR.MIBSPI1_TG5_USE_CS_ENCODE.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_WDELAY3.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG7_PRST.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG6_ONESHOT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI4_PORT_BIT0_PDR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_TG7_BUF_WDEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_BAUDRATE0.VALUE=1000.000 +DRIVER.MIBSPI.VAR.MIBSPI1_TG3_BUF_CSNR.VALUE=CS_3 +DRIVER.MIBSPI.VAR.MIBSPI3_TG3_TRGSRC.VALUE=TRG_DISABLED +DRIVER.MIBSPI.VAR.MIBSPI3_BAUDRATE1.VALUE=1000.000 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT8_FUN.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI4_TG6_TRGEVT.VALUE=TRG_ALWAYS +DRIVER.MIBSPI.VAR.MIBSPI4_TG4_BUF_CSHOLD_LASTBUF.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG0_BUF_CSHOLD.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_BAUDRATE2.VALUE=1000.000 +DRIVER.MIBSPI.VAR.MIBSPI2_PORT_BIT5_FUN.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT17_PULL.VALUE=2 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT25_PULL.VALUE=2 +DRIVER.MIBSPI.VAR.MIBSPI1_TG1_LENGTH.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_TG3_BUF_LOCK.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT0_PULDIS.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG4_CS_ENCODE.VALUE=0xFF +DRIVER.MIBSPI.VAR.MIBSPI3_TG4_USE_CS_ENCODE.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG2_BUF_MODE.VALUE=4 +DRIVER.MIBSPI.VAR.MIBSPI3_BAUDRATE3.VALUE=1000.000 +DRIVER.MIBSPI.VAR.MIBSPI3_TIMEOUTENA.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_PORT_BIT10_PULDIS.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_ENABLEHIGHZ.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_PORT_BIT3_PSL.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI2_TG4_BUF_CSNR.VALUE=CS_4 +DRIVER.MIBSPI.VAR.MIBSPI1_PARITYENA0.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_C2EDELAY.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PARITYENA1.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT8_PULL.VALUE=2 +DRIVER.MIBSPI.VAR.MIBSPI5_TG5_LENGTH.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_PORT_BIT1_FUN.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_TG7_BUF_CSHOLD.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_TIMEOUTLVL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_PORT_BIT5_PULL.VALUE=2 +DRIVER.MIBSPI.VAR.MIBSPI1_PARITYENA2.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_DLENERRLVL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG4_BUF_LOCK.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG3_USE_CS_ENCODE.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_TG3_BUF_MODE.VALUE=4 +DRIVER.MIBSPI.VAR.MIBSPI1_TG7_CS_ENCODE.VALUE=0xFF +DRIVER.MIBSPI.VAR.MIBSPI1_PARITYENA3.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_T2EDELAYACTUAL.VALUE=0.000 +DRIVER.MIBSPI.VAR.MIBSPI4_ACTUALBAUDRATE0.VALUE=1000.000 +DRIVER.MIBSPI.VAR.MIBSPI3_TG5_BUF_CSNR.VALUE=CS_5 +DRIVER.MIBSPI.VAR.MIBSPI3_POLARITY0.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_PORT_BIT8_DOUT.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG2_BUF_DFSEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_ACTUALBAUDRATE1.VALUE=1000.000 +DRIVER.MIBSPI.VAR.MIBSPI3_C2TDELAY.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_POLARITY1.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_TG5_TRGSRC.VALUE=TRG_DISABLED +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT27_PULL.VALUE=2 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT19_PULL.VALUE=2 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT10_FUN.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI5_TG4_BUF_CSHOLD_LASTBUF.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_PORT_BIT3_DIR.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI4_ACTUALBAUDRATE2.VALUE=1000.000 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT3_PULL.VALUE=2 +DRIVER.MIBSPI.VAR.MIBSPI3_POLARITY2.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT10_DIR.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT0_DIR.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI1_TG3_BUF_CSHOLD.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_BITERRLVL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG4_BUF_MODE.VALUE=4 +DRIVER.MIBSPI.VAR.MIBSPI4_TG5_CS_ENCODE.VALUE=0xFF +DRIVER.MIBSPI.VAR.MIBSPI4_ACTUALBAUDRATE3.VALUE=1000.000 +DRIVER.MIBSPI.VAR.MIBSPI4_DEYSNCENA.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_POLARITY3.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_TG7_USE_CS_ENCODE.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT9_PULDIS.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT8_PDR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_C2EDELAYACTUAL.VALUE=0.000 +DRIVER.MIBSPI.VAR.MIBSPI4_TG6_BUF_CSNR.VALUE=CS_6 +DRIVER.MIBSPI.VAR.MIBSPI4_TG0_BUF_DFSEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_WAITENA0.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_PORT_BIT5_PDR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_TG6_ONESHOT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI4_WAITENA1.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_PORT_BIT1_PULL.VALUE=2 +DRIVER.MIBSPI.VAR.MIBSPI4_TG7_LENGTH.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_WAITENA2.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG1_TRGEVT.VALUE=TRG_ALWAYS +DRIVER.MIBSPI.VAR.MIBSPI1_TG1_BUF_CSHOLD_LASTBUF.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_PORT_BIT5_PULDIS.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_TG6_USE_CS_ENCODE.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_WAITENA3.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT2_PULDIS.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG7_BUF_CSNR.VALUE=CS_7 +DRIVER.MIBSPI.VAR.MIBSPI4_PORT_BIT17_DOUT.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_PORT_BIT25_DOUT.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_PORT_BIT4_DOUT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI4_PORT_BIT1_PDR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_TG0_BUF_WDEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG2_PRST.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_TG3_BUF_DFSEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_ENABLEHIGHZ.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT11_DOUT.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT1_DOUT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI1_TG7_TRGSRC.VALUE=TRG_DISABLED +DRIVER.MIBSPI.VAR.MIBSPI1_T2CDELAY.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT9_FUN.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI4_TG1_BUF_CSHOLD.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_TG0_LENGTH.VALUE=8 +DRIVER.MIBSPI.VAR.MIBSPI5_TG6_CS_ENCODE.VALUE=0xFF +DRIVER.MIBSPI.VAR.MIBSPI4_PORT_BIT11_PULDIS.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TXINTENA.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT10_PDR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT2_DOUT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI5_TG1_BUF_WDEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG1_BUF_DFSEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_PORT_BIT4_PSL.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI2_PRESCALE0.VALUE=99 +DRIVER.MIBSPI.VAR.MIBSPI1_TG6_PRST.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_PRESCALE1.VALUE=99 +DRIVER.MIBSPI.VAR.MIBSPI1_TG0_TRGSRC.VALUE=TRG_DISABLED +DRIVER.MIBSPI.VAR.MIBSPI1_BASE_RAM.VALUE=0xFF0E0000 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT10_PULL.VALUE=2 +DRIVER.MIBSPI.VAR.MIBSPI4_PORT_BIT2_FUN.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_PORT_BIT8_DIR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_TG3_TRGEVT.VALUE=TRG_ALWAYS +DRIVER.MIBSPI.VAR.MIBSPI2_TG1_BUF_CSHOLD_LASTBUF.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_PRESCALE2.VALUE=99 +DRIVER.MIBSPI.VAR.MIBSPI1_PARPOL0.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_CHARLEN0.VALUE=16 +DRIVER.MIBSPI.VAR.MIBSPI2_PRESCALE3.VALUE=99 +DRIVER.MIBSPI.VAR.MIBSPI1_PARPOL1.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_CHARLEN1.VALUE=16 +DRIVER.MIBSPI.VAR.MIBSPI4_PORT_BIT0_PSL.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI4_TG5_PRST.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_TG1_ONESHOT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI3_TG4_BUF_DFSEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_CLKMOD.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI1_TG7_BUF_WDEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PARPOL2.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_CHARLEN2.VALUE=16 +DRIVER.MIBSPI.VAR.MIBSPI5_TG4_TRGSRC.VALUE=TRG_DISABLED +DRIVER.MIBSPI.VAR.MIBSPI1_PARPOL3.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_CHARLEN3.VALUE=16 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT11_FUN.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI4_PORT_BIT17_DIR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_PORT_BIT25_DIR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_PORT_BIT4_DIR.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI3_TG2_LENGTH.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_TG4_BUF_CSHOLD.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT11_DIR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT1_DIR.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI1_BASE_PORT.VALUE=0xFFF7F418 +DRIVER.MIBSPI.VAR.MIBSPI4_BITERRENA.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_RAM_PARITY_ENA.VALUE=0x00000005 +DRIVER.MIBSPI.VAR.MIBSPI1_TG3_BUF_LOCK.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT9_PDR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG7_BUF_DFSEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_T2EDELAY.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_SHIFTDIR0.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_RXINTLVL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG1_BUF_CSHOLD_LASTBUF.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG5_TRGEVT.VALUE=TRG_ALWAYS +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT3_PULDIS.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_SHIFTDIR1.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_PORT_BIT0_PULDIS.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_TG4_BUF_LOCK.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG3_BUF_MODE.VALUE=4 +DRIVER.MIBSPI.VAR.MIBSPI5_TG0_BUF_CSNR.VALUE=CS_0 +DRIVER.MIBSPI.VAR.MIBSPI5_SHIFTDIR2.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_PORT_BIT2_PDR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_TG5_BUF_DFSEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_SHIFTDIR3.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_TG6_TRGSRC.VALUE=TRG_DISABLED +DRIVER.MIBSPI.VAR.MIBSPI5_TG2_BUF_CSHOLD.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_CSDEF.VALUE=0xFF +DRIVER.MIBSPI.VAR.MIBSPI2_TG4_LENGTH.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT8_PULL.VALUE=2 +DRIVER.MIBSPI.VAR.MIBSPI3_TG5_BUF_LOCK.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_TG4_BUF_MODE.VALUE=4 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT11_PDR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT8_PSL.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI2_PORT_BIT5_PSL.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI2_ACTUALBAUDRATE0.VALUE=1000.000 +DRIVER.MIBSPI.VAR.MIBSPI1_TG6_BUF_CSNR.VALUE=CS_6 +DRIVER.MIBSPI.VAR.MIBSPI1_TG1_ONESHOT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI2_ACTUALBAUDRATE1.VALUE=1000.000 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT9_PULL.VALUE=2 +DRIVER.MIBSPI.VAR.MIBSPI5_TG2_TRGEVT.VALUE=TRG_ALWAYS +DRIVER.MIBSPI.VAR.MIBSPI5_MASTER.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI4_PORT_BIT3_FUN.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_TG1_BUF_CSHOLD_LASTBUF.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_PORT_BIT9_DIR.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI2_ACTUALBAUDRATE2.VALUE=1000.000 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT10_FUN.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT0_FUN.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI4_TG6_BUF_LOCK.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG5_BUF_MODE.VALUE=4 +DRIVER.MIBSPI.VAR.MIBSPI2_ACTUALBAUDRATE3.VALUE=1000.000 +DRIVER.MIBSPI.VAR.MIBSPI1_TG0_CS_ENCODE.VALUE=0xFF +DRIVER.MIBSPI.VAR.MIBSPI5_TG6_BUF_DFSEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_PORT_BIT1_PSL.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI3_TG3_ONESHOT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI2_PORT_BIT9_DOUT.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_TG7_BUF_CSNR.VALUE=CS_7 +DRIVER.MIBSPI.VAR.MIBSPI2_TG0_PRST.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG0_BUF_WDEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_C2EDELAYACTUAL.VALUE=0.000 +DRIVER.MIBSPI.VAR.MIBSPI4_C2EDELAY.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_PORT_BIT5_DIR.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT4_PULL.VALUE=2 +DRIVER.MIBSPI.VAR.MIBSPI3_TG5_BUF_CSHOLD.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT2_DIR.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI1_TG6_LENGTH.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PARERRLVL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_OVRNINTLVL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG7_BUF_LOCK.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_DLENERRENA.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_TG6_BUF_MODE.VALUE=4 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT5_PULDIS.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT10_PSL.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI5_TG5_ONESHOT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI3_T2CDELAYACTUAL.VALUE=10.000 +DRIVER.MIBSPI.VAR.MIBSPI2_PORT_BIT17_DOUT.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_PORT_BIT25_DOUT.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_TG1_BUF_WDEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG1_TRGSRC.VALUE=TRG_DISABLED +DRIVER.MIBSPI.VAR.MIBSPI5_TG1_BUF_CSHOLD_LASTBUF.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_PORT_BIT2_PULL.VALUE=2 +DRIVER.MIBSPI.VAR.MIBSPI4_TG4_TRGEVT.VALUE=TRG_ALWAYS +DRIVER.MIBSPI.VAR.MIBSPI5_TG7_BUF_MODE.VALUE=4 +DRIVER.MIBSPI.VAR.MIBSPI2_TG1_CS_ENCODE.VALUE=0xFF +DRIVER.MIBSPI.VAR.MIBSPI1_TG2_USE_CS_ENCODE.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_PORT_BIT5_DOUT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI4_PORT_BIT3_PDR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG3_PRST.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG2_BUF_WDEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT10_PDR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT2_DOUT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT0_PDR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT0_PULL.VALUE=2 +DRIVER.MIBSPI.VAR.MIBSPI5_TG3_LENGTH.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT10_PULL.VALUE=2 +DRIVER.MIBSPI.VAR.MIBSPI2_PORT_BIT8_FUN.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI3_TG1_USE_CS_ENCODE.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT9_PSL.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT3_DOUT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI4_TG3_BUF_WDEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_PORT_BIT0_DOUT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI1_TG7_PRST.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_BAUDRATE0.VALUE=1000.000 +DRIVER.MIBSPI.VAR.MIBSPI4_T2CDELAY.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_TG3_TRGSRC.VALUE=TRG_DISABLED +DRIVER.MIBSPI.VAR.MIBSPI1_BAUDRATE1.VALUE=1000.000 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT11_PULL.VALUE=2 +DRIVER.MIBSPI.VAR.MIBSPI4_PORT_BIT17_FUN.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI4_PORT_BIT25_FUN.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI4_PORT_BIT4_FUN.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG6_TRGEVT.VALUE=TRG_ALWAYS +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT11_FUN.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT1_FUN.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG6_BUF_CSHOLD_LASTBUF.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_BAUDRATE2.VALUE=1000.000 +DRIVER.MIBSPI.VAR.MIBSPI5_TG0_USE_CS_ENCODE.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG2_CS_ENCODE.VALUE=0xFF +DRIVER.MIBSPI.VAR.MIBSPI2_TIMEOUTENA.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT17_PULDIS.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT25_PULDIS.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_BAUDRATE3.VALUE=1000.000 +DRIVER.MIBSPI.VAR.MIBSPI5_TG4_BUF_WDEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_PORT_BIT2_PSL.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI4_TG6_PRST.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_TG5_ONESHOT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI2_TG0_BUF_CSNR.VALUE=CS_0 +DRIVER.MIBSPI.VAR.MIBSPI4_BASE_RAM.VALUE=0xFF060000 +DRIVER.MIBSPI.VAR.MIBSPI4_TG6_BUF_CSHOLD.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_TG5_LENGTH.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_CHARLEN0.VALUE=16 +DRIVER.MIBSPI.VAR.MIBSPI3_TIMEOUTLVL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT3_DIR.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI5_TG0_BUF_LOCK.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_PORT_BIT3_PULDIS.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_CHARLEN1.VALUE=16 +DRIVER.MIBSPI.VAR.MIBSPI4_PARERRENA.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_TG4_USE_CS_ENCODE.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT10_PULDIS.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT0_PULDIS.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG5_CS_ENCODE.VALUE=0xFF +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT11_PSL.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI4_TG7_ONESHOT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI4_CHARLEN2.VALUE=16 +DRIVER.MIBSPI.VAR.MIBSPI3_TG1_BUF_CSNR.VALUE=CS_1 +DRIVER.MIBSPI.VAR.MIBSPI2_PORT_BIT8_PDR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG0_BUF_DFSEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_POLARITY0.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_CHARLEN3.VALUE=16 +DRIVER.MIBSPI.VAR.MIBSPI1_TG5_TRGSRC.VALUE=TRG_DISABLED +DRIVER.MIBSPI.VAR.MIBSPI1_POLARITY1.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_BASE.VALUE=0xFFF7F400 +DRIVER.MIBSPI.VAR.MIBSPI2_TG6_BUF_CSHOLD_LASTBUF.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG2_BUF_CSHOLD.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_POLARITY2.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG0_BUF_MODE.VALUE=4 +DRIVER.MIBSPI.VAR.MIBSPI4_TG3_CS_ENCODE.VALUE=0xFF +DRIVER.MIBSPI.VAR.MIBSPI4_TG3_USE_CS_ENCODE.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_RXINTENA.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_DEYSNCENA.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG6_BUF_LOCK.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_POLARITY3.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PHASE0.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_PORT_BIT17_PDR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_PORT_BIT25_PDR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_PORT_BIT4_PDR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_TG2_BUF_CSNR.VALUE=CS_2 +DRIVER.MIBSPI.VAR.MIBSPI4_C2TDELAYACTUAL.VALUE=20.000 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT11_PDR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT1_PDR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PHASE1.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PHASE2.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_DEYSNCLVL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG7_LENGTH.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_PORT_BIT9_FUN.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI2_TG1_TRGEVT.VALUE=TRG_ALWAYS +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT9_PULL.VALUE=2 +DRIVER.MIBSPI.VAR.MIBSPI5_PHASE3.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_TG7_BUF_LOCK.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_TG6_CS_ENCODE.VALUE=0xFF +DRIVER.MIBSPI.VAR.MIBSPI1_TG7_USE_CS_ENCODE.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG6_BUF_MODE.VALUE=4 +DRIVER.MIBSPI.VAR.MIBSPI5_TG3_BUF_CSNR.VALUE=CS_3 +DRIVER.MIBSPI.VAR.MIBSPI4_TG0_ONESHOT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI2_TG1_BUF_DFSEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG2_TRGSRC.VALUE=TRG_DISABLED +DRIVER.MIBSPI.VAR.MIBSPI4_PORT_BIT5_FUN.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_TG0_BUF_CSHOLD.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG6_BUF_CSHOLD_LASTBUF.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG0_LENGTH.VALUE=8 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT2_FUN.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT8_PULDIS.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG4_CS_ENCODE.VALUE=0xFF +DRIVER.MIBSPI.VAR.MIBSPI3_TG6_USE_CS_ENCODE.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_PORT_BIT5_PULDIS.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_TG7_BUF_MODE.VALUE=4 +DRIVER.MIBSPI.VAR.MIBSPI4_PORT_BIT3_PSL.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI2_TG1_PRST.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT10_PSL.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT0_PSL.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI1_TG7_ONESHOT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI5_TG7_BUF_CSHOLD.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT5_PULL.VALUE=2 +DRIVER.MIBSPI.VAR.MIBSPI3_TXINTLVL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT4_DIR.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI1_TG3_TRGEVT.VALUE=TRG_ALWAYS +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT1_PULDIS.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG5_USE_CS_ENCODE.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_ENABLE.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT11_PULDIS.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG7_CS_ENCODE.VALUE=0xFF +DRIVER.MIBSPI.VAR.MIBSPI5_TG0_PRST.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_T2EDELAYACTUAL.VALUE=0.000 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT8_DOUT.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG2_BUF_DFSEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_PORT_BIT9_PDR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG3_BUF_WDEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_TG4_TRGSRC.VALUE=TRG_DISABLED +DRIVER.MIBSPI.VAR.MIBSPI5_TG7_TRGEVT.VALUE=TRG_ALWAYS +DRIVER.MIBSPI.VAR.MIBSPI4_PORT_BIT3_PULL.VALUE=2 +DRIVER.MIBSPI.VAR.MIBSPI4_TG6_BUF_CSHOLD_LASTBUF.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT0_DIR.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI2_PORT_BIT10_DIR.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI2_TG3_BUF_CSHOLD.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_TG2_LENGTH.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT10_PULL.VALUE=2 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT0_PULL.VALUE=2 +DRIVER.MIBSPI.VAR.MIBSPI5_OVRNINTENA.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_BITERRENA.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_PORT_BIT5_PDR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG4_PRST.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_TG4_BUF_WDEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT3_DOUT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT2_PDR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG5_BUF_DFSEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG0_ONESHOT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI1_T2EDELAY.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT1_PULL.VALUE=2 +DRIVER.MIBSPI.VAR.MIBSPI5_TG0_TRGEVT.VALUE=TRG_ALWAYS +DRIVER.MIBSPI.VAR.MIBSPI4_BITERRLVL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT11_PULL.VALUE=2 +DRIVER.MIBSPI.VAR.MIBSPI3_SHIFTDIR0.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_MASTER.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI3_SHIFTDIR1.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_TG0_BUF_LOCK.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_TG3_BUF_DFSEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG5_BUF_WDEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG2_ONESHOT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI3_SHIFTDIR2.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_PORT_BIT8_PSL.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI2_PORT_BIT1_DOUT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI3_TG6_TRGSRC.VALUE=TRG_DISABLED +DRIVER.MIBSPI.VAR.MIBSPI3_SHIFTDIR3.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG6_BUF_CSHOLD_LASTBUF.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG1_BUF_CSHOLD.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT3_FUN.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG4_LENGTH.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT27_PULDIS.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT19_PULDIS.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT3_PULDIS.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG1_BUF_LOCK.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_TG0_BUF_MODE.VALUE=4 +DRIVER.MIBSPI.VAR.MIBSPI5_TG4_ONESHOT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI4_PORT_BIT17_PSL.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI4_PORT_BIT25_PSL.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI4_PORT_BIT4_PSL.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI4_TG7_PRST.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_TG6_BUF_WDEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_TG6_BUF_DFSEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT11_PSL.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT1_PSL.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI1_TG2_BUF_CSNR.VALUE=CS_2 +DRIVER.MIBSPI.VAR.MIBSPI4_PORT_BIT8_DIR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_TG2_TRGEVT.VALUE=TRG_ALWAYS +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT5_DIR.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI1_TG3_BUF_CSHOLD_LASTBUF.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_TG2_BUF_LOCK.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG1_BUF_MODE.VALUE=4 +DRIVER.MIBSPI.VAR.MIBSPI5_TG7_BUF_WDEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG4_BUF_DFSEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PRESCALE0.VALUE=99 +DRIVER.MIBSPI.VAR.MIBSPI4_PORT_BIT10_DOUT.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_TG3_BUF_CSNR.VALUE=CS_3 +DRIVER.MIBSPI.VAR.MIBSPI5_PRESCALE1.VALUE=99 +DRIVER.MIBSPI.VAR.MIBSPI2_BASE.VALUE=0xFFF7F600 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT25_DIR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT17_DIR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG1_LENGTH.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PRESCALE2.VALUE=99 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT1_DIR.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI3_TG4_BUF_CSHOLD.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_PORT_BIT11_DIR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG3_BUF_LOCK.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PRESCALE3.VALUE=99 +DRIVER.MIBSPI.VAR.MIBSPI4_TG2_BUF_MODE.VALUE=4 +DRIVER.MIBSPI.VAR.MIBSPI4_DLENERRENA.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_RAM_PARITY_ENA.VALUE=0x00000005 +DRIVER.MIBSPI.VAR.MIBSPI5_PARITYENA0.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG7_BUF_DFSEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG4_BUF_CSNR.VALUE=CS_4 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT3_PDR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PARITYENA1.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_TG1_TRGSRC.VALUE=TRG_DISABLED +DRIVER.MIBSPI.VAR.MIBSPI2_C2TDELAY.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PARITYENA2.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_DLENERRLVL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_CSDEF.VALUE=0xFF +DRIVER.MIBSPI.VAR.MIBSPI4_BASE_PORT.VALUE=0xFFF7FA18 +DRIVER.MIBSPI.VAR.MIBSPI3_TG4_TRGEVT.VALUE=TRG_ALWAYS +DRIVER.MIBSPI.VAR.MIBSPI2_TG3_BUF_CSHOLD_LASTBUF.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG3_BUF_MODE.VALUE=4 +DRIVER.MIBSPI.VAR.MIBSPI5_PARITYENA3.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_PORT_BIT8_PULDIS.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT5_PULDIS.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_TG5_BUF_CSNR.VALUE=CS_5 +DRIVER.MIBSPI.VAR.MIBSPI3_WAITENA0.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_PORT_BIT9_PSL.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI2_TG4_ONESHOT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI3_WAITENA1.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_TG3_LENGTH.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_WAITENA2.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_PORT_BIT8_PULL.VALUE=2 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT4_FUN.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG7_BUF_CSHOLD.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_PORT_BIT1_PULDIS.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_WAITENA3.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG6_BUF_CSNR.VALUE=CS_6 +DRIVER.MIBSPI.VAR.MIBSPI4_PORT_BIT5_PSL.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI4_TG6_ONESHOT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI2_TG2_PRST.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT2_PSL.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI1_T2EDELAYACTUAL.VALUE=0.000 +DRIVER.MIBSPI.VAR.MIBSPI1_TG3_TRGSRC.VALUE=TRG_DISABLED +DRIVER.MIBSPI.VAR.MIBSPI4_PORT_BIT9_DIR.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT0_FUN.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI3_TG3_BUF_CSHOLD_LASTBUF.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_PORT_BIT10_FUN.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI2_TG6_TRGEVT.VALUE=TRG_ALWAYS +DRIVER.MIBSPI.VAR.MIBSPI3_TG0_CS_ENCODE.VALUE=0xFF +DRIVER.MIBSPI.VAR.MIBSPI2_TG1_USE_CS_ENCODE.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_TXINTENA.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TIMEOUTENA.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG1_PRST.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG0_BUF_WDEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_CLKMOD.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI4_ENABLEHIGHZ.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT9_DOUT.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PHASE0.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_C2EDELAYACTUAL.VALUE=0.000 +DRIVER.MIBSPI.VAR.MIBSPI5_TG7_TRGSRC.VALUE=TRG_DISABLED +DRIVER.MIBSPI.VAR.MIBSPI3_PHASE1.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT26_DIR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT18_DIR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_PORT_BIT17_PULL.VALUE=2 +DRIVER.MIBSPI.VAR.MIBSPI4_PORT_BIT25_PULL.VALUE=2 +DRIVER.MIBSPI.VAR.MIBSPI4_PORT_BIT4_PULL.VALUE=2 +DRIVER.MIBSPI.VAR.MIBSPI4_TG5_BUF_CSHOLD.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT2_DIR.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI3_TG5_LENGTH.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PHASE2.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_TIMEOUTLVL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT11_PULL.VALUE=2 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT1_PULL.VALUE=2 +DRIVER.MIBSPI.VAR.MIBSPI4_TG0_USE_CS_ENCODE.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PHASE3.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_PARERRENA.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG3_CS_ENCODE.VALUE=0xFF +DRIVER.MIBSPI.VAR.MIBSPI4_T2CDELAYACTUAL.VALUE=10.000 +DRIVER.MIBSPI.VAR.MIBSPI3_TG5_PRST.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT4_PDR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT4_DOUT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI1_TG6_BUF_WDEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG0_TRGSRC.VALUE=TRG_DISABLED +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT2_PULL.VALUE=2 +DRIVER.MIBSPI.VAR.MIBSPI4_TG3_BUF_CSHOLD_LASTBUF.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_PARERRLVL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG1_BUF_CSHOLD.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_TG1_CS_ENCODE.VALUE=0xFF +DRIVER.MIBSPI.VAR.MIBSPI2_PORT_BIT3_PULDIS.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG4_USE_CS_ENCODE.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG2_BUF_LOCK.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT0_PDR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_PORT_BIT10_PDR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_PORT_BIT2_DOUT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI2_TG7_BUF_WDEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG6_ONESHOT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI4_T2EDELAY.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_PORT_BIT8_FUN.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI3_RXINTLVL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_TG7_LENGTH.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_DEYSNCLVL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT5_FUN.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG1_TRGEVT.VALUE=TRG_ALWAYS +DRIVER.MIBSPI.VAR.MIBSPI3_TG3_USE_CS_ENCODE.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_TG4_CS_ENCODE.VALUE=0xFF +DRIVER.MIBSPI.VAR.MIBSPI2_TG3_BUF_LOCK.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG2_BUF_MODE.VALUE=4 +DRIVER.MIBSPI.VAR.MIBSPI5_WDELAY0.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT0_DOUT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI2_PORT_BIT10_DOUT.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT3_PSL.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI1_ENABLEHIGHZ.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_WDELAY1.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_TG2_TRGSRC.VALUE=TRG_DISABLED +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT25_FUN.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT17_FUN.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI5_TG5_TRGEVT.VALUE=TRG_ALWAYS +DRIVER.MIBSPI.VAR.MIBSPI5_TG3_BUF_CSHOLD_LASTBUF.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_WDELAY2.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT1_FUN.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_PORT_BIT11_FUN.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI2_TG0_LENGTH.VALUE=8 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT17_DIR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT25_DIR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG2_CS_ENCODE.VALUE=0xFF +DRIVER.MIBSPI.VAR.MIBSPI5_TG2_USE_CS_ENCODE.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_WDELAY3.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG4_BUF_LOCK.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_TG3_BUF_MODE.VALUE=4 +DRIVER.MIBSPI.VAR.MIBSPI4_PORT_BIT11_DOUT.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_BAUDRATE0.VALUE=1000.000 +DRIVER.MIBSPI.VAR.MIBSPI1_TG5_BUF_CSNR.VALUE=CS_5 +DRIVER.MIBSPI.VAR.MIBSPI4_BAUDRATE1.VALUE=1000.000 +DRIVER.MIBSPI.VAR.MIBSPI3_BASE.VALUE=0xFFF7F800 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT27_DIR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT19_DIR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG6_BUF_CSHOLD.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_BAUDRATE2.VALUE=1000.000 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT3_DIR.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI1_TG0_BUF_CSHOLD_LASTBUF.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_MASTER.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI4_TG5_BUF_LOCK.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_BAUDRATE3.VALUE=1000.000 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT8_PULDIS.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG5_CS_ENCODE.VALUE=0xFF +DRIVER.MIBSPI.VAR.MIBSPI3_TG4_BUF_MODE.VALUE=4 +DRIVER.MIBSPI.VAR.MIBSPI2_TG6_USE_CS_ENCODE.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_PORT_BIT8_PDR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG1_ONESHOT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI3_TG0_BUF_DFSEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_TG6_BUF_CSNR.VALUE=CS_6 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT5_PDR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG0_PRST.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG4_TRGSRC.VALUE=TRG_DISABLED +DRIVER.MIBSPI.VAR.MIBSPI3_C2EDELAY.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_TG7_TRGEVT.VALUE=TRG_ALWAYS +DRIVER.MIBSPI.VAR.MIBSPI2_TG2_BUF_CSHOLD.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG2_LENGTH.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT25_PULDIS.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT17_PULDIS.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG6_BUF_LOCK.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_TG5_BUF_MODE.VALUE=4 +DRIVER.MIBSPI.VAR.MIBSPI4_TG5_USE_CS_ENCODE.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_OVRNINTENA.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT1_PULDIS.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_PORT_BIT11_PULDIS.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT25_PDR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT17_PDR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG3_ONESHOT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI5_C2TDELAYACTUAL.VALUE=20.000 +DRIVER.MIBSPI.VAR.MIBSPI4_POLARITY0.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT1_PDR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG7_BUF_CSNR.VALUE=CS_7 +DRIVER.MIBSPI.VAR.MIBSPI2_PORT_BIT11_PDR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_TG0_BUF_WDEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG3_BUF_DFSEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_C2TDELAY.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_POLARITY1.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG6_LENGTH.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_OVRNINTLVL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_PORT_BIT9_FUN.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI4_TG0_TRGEVT.VALUE=TRG_ALWAYS +DRIVER.MIBSPI.VAR.MIBSPI4_POLARITY2.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_PORT_BIT9_PULL.VALUE=2 +DRIVER.MIBSPI.VAR.MIBSPI2_TG0_BUF_CSHOLD_LASTBUF.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_BITERRLVL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_SHIFTDIR0.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT10_PULDIS.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG6_BUF_MODE.VALUE=4 +DRIVER.MIBSPI.VAR.MIBSPI5_DEYSNCENA.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_TG6_CS_ENCODE.VALUE=0xFF +DRIVER.MIBSPI.VAR.MIBSPI4_POLARITY3.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_SHIFTDIR1.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_TG1_BUF_DFSEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG1_BUF_WDEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_TG3_PRST.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT4_PSL.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI1_SHIFTDIR2.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_TG6_TRGSRC.VALUE=TRG_DISABLED +DRIVER.MIBSPI.VAR.MIBSPI1_SHIFTDIR3.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT26_FUN.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT18_FUN.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI5_TG0_BUF_CSHOLD.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT2_FUN.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI2_PORT_BIT17_PULL.VALUE=2 +DRIVER.MIBSPI.VAR.MIBSPI2_PORT_BIT25_PULL.VALUE=2 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT8_DIR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG2_PRST.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_TG2_BUF_WDEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT0_PSL.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI2_PORT_BIT10_PSL.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI2_TG4_BUF_DFSEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_T2CDELAY.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_PORT_BIT5_PULL.VALUE=2 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT4_DIR.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI3_TG2_TRGEVT.VALUE=TRG_ALWAYS +DRIVER.MIBSPI.VAR.MIBSPI3_TG0_BUF_CSHOLD_LASTBUF.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT2_PULL.VALUE=2 +DRIVER.MIBSPI.VAR.MIBSPI1_CSDEF.VALUE=0xFF +DRIVER.MIBSPI.VAR.MIBSPI5_TG7_CS_ENCODE.VALUE=0xFF +DRIVER.MIBSPI.VAR.MIBSPI5_TG7_USE_CS_ENCODE.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TXINTENA.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT3_PULDIS.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG3_BUF_WDEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG2_BUF_DFSEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_ACTUALBAUDRATE0.VALUE=1000.000 +DRIVER.MIBSPI.VAR.MIBSPI4_PORT_BIT9_PDR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_PORT_BIT8_DOUT.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG6_PRST.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PRESCALE0.VALUE=99 +DRIVER.MIBSPI.VAR.MIBSPI2_TG3_ONESHOT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT5_DOUT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI5_ACTUALBAUDRATE1.VALUE=1000.000 +DRIVER.MIBSPI.VAR.MIBSPI3_PRESCALE1.VALUE=99 +DRIVER.MIBSPI.VAR.MIBSPI3_BASE_RAM.VALUE=0xFF0C0000 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT3_PULL.VALUE=2 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT0_DIR.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI5_ACTUALBAUDRATE2.VALUE=1000.000 +DRIVER.MIBSPI.VAR.MIBSPI5_PARPOL0.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_TG1_LENGTH.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT10_DIR.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI3_TG3_BUF_CSHOLD.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PRESCALE2.VALUE=99 +DRIVER.MIBSPI.VAR.MIBSPI3_CHARLEN0.VALUE=16 +DRIVER.MIBSPI.VAR.MIBSPI2_PORT_BIT0_PULL.VALUE=2 +DRIVER.MIBSPI.VAR.MIBSPI5_ACTUALBAUDRATE3.VALUE=1000.000 +DRIVER.MIBSPI.VAR.MIBSPI5_PARPOL1.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PRESCALE3.VALUE=99 +DRIVER.MIBSPI.VAR.MIBSPI3_CHARLEN1.VALUE=16 +DRIVER.MIBSPI.VAR.MIBSPI3_DLENERRENA.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT26_PDR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT18_PDR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PARPOL2.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_TG5_ONESHOT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI4_PARITYENA0.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT2_PDR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG5_BUF_DFSEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG0_BUF_CSNR.VALUE=CS_0 +DRIVER.MIBSPI.VAR.MIBSPI3_CHARLEN2.VALUE=16 +DRIVER.MIBSPI.VAR.MIBSPI2_PORT_BIT3_DOUT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI5_PARPOL3.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI4_PARITYENA1.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_CHARLEN3.VALUE=16 +DRIVER.MIBSPI.VAR.MIBSPI1_TG1_TRGSRC.VALUE=TRG_DISABLED +DRIVER.SPI.VAR.SPI5_PORT_BIT26_DIR.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT18_DIR.VALUE=0 +DRIVER.SPI.VAR.SPI4_PORT_BIT4_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI3_PHASE2.VALUE=0 +DRIVER.SPI.VAR.SPI2_TIMEOUTLVL.VALUE=0 +DRIVER.SPI.VAR.SPI1_PORT_BIT1_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI5_PORT_BIT25_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT17_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI3_PHASE3.VALUE=0 +DRIVER.SPI.VAR.SPI2_PORT_BIT11_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI4_T2CDELAYACTUAL.VALUE=10.000 +DRIVER.SPI.VAR.SPI4_POLARITY0.VALUE=0 +DRIVER.SPI.VAR.SPI3_PORT_BIT1_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI1_PORT_BIT4_DOUT.VALUE=1 +DRIVER.SPI.VAR.SPI4_POLARITY1.VALUE=0 +DRIVER.SPI.VAR.SPI2_T2EDELAY.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT2_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI4_PORT_BIT9_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI4_POLARITY2.VALUE=0 +DRIVER.SPI.VAR.SPI2_BITERRLVL.VALUE=0 +DRIVER.SPI.VAR.SPI1_SHIFTDIR0.VALUE=0 +DRIVER.SPI.VAR.SPI1_RXINTLVL.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT10_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI5_DEYSNCENA.VALUE=0 +DRIVER.SPI.VAR.SPI4_POLARITY3.VALUE=0 +DRIVER.SPI.VAR.SPI1_SHIFTDIR1.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT5_DOUT.VALUE=1 +DRIVER.SPI.VAR.SPI2_PORT_BIT10_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI2_PORT_BIT2_DOUT.VALUE=1 +DRIVER.SPI.VAR.SPI1_PORT_BIT4_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI1_SHIFTDIR2.VALUE=0 +DRIVER.SPI.VAR.SPI1_SHIFTDIR3.VALUE=0 +DRIVER.SPI.VAR.SPI3_PORT_BIT2_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI1_PORT_BIT10_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI1_PORT_BIT8_DIR.VALUE=0 +DRIVER.SPI.VAR.SPI3_PORT_BIT0_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI3_PORT_BIT0_DOUT.VALUE=1 +DRIVER.SPI.VAR.SPI5_PORT_BIT25_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI5_PORT_BIT17_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI3_PORT_BIT11_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI3_PORT_BIT4_DIR.VALUE=1 +DRIVER.SPI.VAR.SPI2_PORT_BIT11_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI1_PORT_BIT25_DIR.VALUE=0 +DRIVER.SPI.VAR.SPI1_PORT_BIT17_DIR.VALUE=0 +DRIVER.SPI.VAR.SPI3_PORT_BIT0_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI4_PORT_BIT9_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI3_PRESCALE0.VALUE=99 +DRIVER.SPI.VAR.SPI3_PRESCALE1.VALUE=99 +DRIVER.SPI.VAR.SPI1_C2EDELAY.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT27_DIR.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT19_DIR.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT0_DIR.VALUE=1 +DRIVER.SPI.VAR.SPI3_PRESCALE2.VALUE=99 +DRIVER.SPI.VAR.SPI1_MASTER.VALUE=1 +DRIVER.SPI.VAR.SPI3_PRESCALE3.VALUE=99 +DRIVER.SPI.VAR.SPI3_PORT_BIT2_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI3_C2TDELAY.VALUE=0 +DRIVER.SPI.VAR.SPI2_BASE_PORT.VALUE=0xFFF7F618 +DRIVER.SPI.VAR.SPI5_BITERRENA.VALUE=0 +DRIVER.SPI.VAR.SPI4_OVRNINTENA.VALUE=0 +DRIVER.SPI.VAR.SPI1_PORT_BIT9_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT25_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT17_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI5_C2TDELAYACTUAL.VALUE=20.000 +DRIVER.SPI.VAR.SPI4_PORT_BIT10_DOUT.VALUE=0 +DRIVER.SPI.VAR.SPI4_PORT_BIT8_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI4_WAITENA0.VALUE=0 +DRIVER.SPI.VAR.SPI2_PORT_BIT11_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI1_PORT_BIT5_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI4_WAITENA1.VALUE=0 +DRIVER.SPI.VAR.SPI5_OVRNINTLVL.VALUE=0 +DRIVER.SPI.VAR.SPI4_WAITENA2.VALUE=0 +DRIVER.SPI.VAR.SPI3_PORT_BIT3_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI2_PORT_BIT9_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI1_PORT_BIT9_DIR.VALUE=1 +DRIVER.SPI.VAR.SPI4_PORT_BIT5_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI4_WAITENA3.VALUE=0 +DRIVER.SPI.VAR.SPI1_PORT_BIT2_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI3_PORT_BIT1_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI1_T2CDELAY.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT26_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI5_PORT_BIT18_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI3_PORT_BIT5_DIR.VALUE=1 +DRIVER.SPI.VAR.SPI3_TXINTENA.VALUE=0 +DRIVER.SPI.VAR.SPI2_PORT_BIT10_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI1_BASE_RAM.VALUE=0xFF0E0000 +DRIVER.SPI.VAR.SPI5_PORT_BIT1_DIR.VALUE=1 +DRIVER.SPI.VAR.SPI4_PORT_BIT5_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI1_PORT_BIT2_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI1_CHARLEN0.VALUE=16 +DRIVER.SPI.VAR.SPI1_CHARLEN1.VALUE=16 +DRIVER.SPI.VAR.SPI4_PORT_BIT8_DOUT.VALUE=0 +DRIVER.SPI.VAR.SPI3_PORT_BIT3_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI1_PORT_BIT5_DOUT.VALUE=1 +DRIVER.SPI.VAR.SPI1_CHARLEN2.VALUE=16 +DRIVER.SPI.VAR.SPI1_CHARLEN3.VALUE=16 +DRIVER.SPI.VAR.SPI5_PORT_BIT3_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI3_PORT_BIT10_DIR.VALUE=1 +DRIVER.SPI.VAR.SPI2_PORT_BIT0_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI2_PARERRLVL.VALUE=0 +DRIVER.SPI.VAR.SPI1_PORT_BIT8_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI3_DLENERRENA.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT26_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT18_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI4_PORT_BIT9_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI4_PARITYENA0.VALUE=0 +DRIVER.SPI.VAR.SPI4_ENABLEHIGHZ.VALUE=0 +DRIVER.SPI.VAR.SPI2_PORT_BIT3_DOUT.VALUE=1 +DRIVER.SPI.VAR.SPI5_T2EDELAY.VALUE=0 +DRIVER.SPI.VAR.SPI4_PARITYENA1.VALUE=0 +DRIVER.SPI.VAR.SPI4_PARITYENA2.VALUE=0 +DRIVER.SPI.VAR.SPI4_DLENERRLVL.VALUE=0 +DRIVER.SPI.VAR.SPI4_RXINTLVL.VALUE=0 +DRIVER.SPI.VAR.SPI3_PORT_BIT4_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI1_PORT_BIT25_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI1_PORT_BIT17_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI1_PORT_BIT11_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI5_PORT_BIT3_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI4_PARITYENA3.VALUE=0 +DRIVER.SPI.VAR.SPI2_PORT_BIT0_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI3_PORT_BIT2_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI3_PORT_BIT1_DOUT.VALUE=1 +DRIVER.SPI.VAR.SPI3_CLKMOD.VALUE=1 +DRIVER.SPI.VAR.SPI1_PHASE0.VALUE=0 +DRIVER.SPI.VAR.SPI1_PHASE1.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT27_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI5_PORT_BIT19_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI5_PORT_BIT0_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI1_PHASE2.VALUE=0 +DRIVER.SPI.VAR.SPI1_PHASE3.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT25_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI5_PORT_BIT17_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI2_PORT_BIT11_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI2_BAUDRATE0.VALUE=1000.000 +DRIVER.SPI.VAR.SPI1_PORT_BIT8_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI2_BAUDRATE1.VALUE=1000.000 +DRIVER.SPI.VAR.SPI5_PORT_BIT2_DIR.VALUE=1 +DRIVER.SPI.VAR.SPI2_BAUDRATE2.VALUE=1000.000 +DRIVER.SPI.VAR.SPI2_BAUDRATE3.VALUE=1000.000 +DRIVER.SPI.VAR.SPI5_WDELAY0.VALUE=0 +DRIVER.SPI.VAR.SPI3_PORT_BIT4_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI2_PORT_BIT10_DOUT.VALUE=0 +DRIVER.SPI.VAR.SPI1_PORT_BIT25_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI1_PORT_BIT17_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI1_C2TDELAYACTUAL.VALUE=20.000 +DRIVER.SPI.VAR.SPI1_ENABLEHIGHZ.VALUE=0 +DRIVER.SPI.VAR.SPI5_WDELAY1.VALUE=0 +DRIVER.SPI.VAR.SPI4_C2EDELAY.VALUE=0 +DRIVER.SPI.VAR.SPI5_WDELAY2.VALUE=0 +DRIVER.SPI.VAR.SPI3_PORT_BIT11_DIR.VALUE=0 +DRIVER.SPI.VAR.SPI1_PORT_BIT9_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI1_TIMEOUTLVL.VALUE=0 +DRIVER.SPI.VAR.SPI5_WDELAY3.VALUE=0 +DRIVER.SPI.VAR.SPI5_PARERRENA.VALUE=0 +DRIVER.SPI.VAR.SPI4_RAM_PARITY_ENA.VALUE=0 +DRIVER.SPI.VAR.SPI3_PORT_BIT5_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT27_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT19_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT0_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI4_PORT_BIT11_DOUT.VALUE=0 +DRIVER.SPI.VAR.SPI2_POLARITY0.VALUE=0 +DRIVER.SPI.VAR.SPI2_POLARITY1.VALUE=0 +DRIVER.SPI.VAR.SPI3_PORT_BIT5_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI2_POLARITY2.VALUE=0 +DRIVER.SPI.VAR.SPI3_DEYSNCENA.VALUE=0 +DRIVER.SPI.VAR.SPI2_POLARITY3.VALUE=0 +DRIVER.SPI.VAR.SPI1_PORT_BIT11_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI3_PORT_BIT3_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI5_PORT_BIT1_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI5_DEYSNCLVL.VALUE=0 +DRIVER.SPI.VAR.SPI3_PORT_BIT8_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI4_PORT_BIT10_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT26_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI5_PORT_BIT18_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI2_T2EDELAYACTUAL.VALUE=0.000 +DRIVER.SPI.VAR.SPI1_PORT_BIT9_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI4_T2CDELAY.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT3_DIR.VALUE=1 +DRIVER.SPI.VAR.SPI3_PORT_BIT10_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI2_PORT_BIT0_DIR.VALUE=1 +DRIVER.SPI.VAR.SPI1_PORT_BIT3_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI4_PORT_BIT9_DOUT.VALUE=0 +DRIVER.SPI.VAR.SPI3_PORT_BIT5_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI3_C2EDELAYACTUAL.VALUE=0.000 +DRIVER.SPI.VAR.SPI1_PRESCALE0.VALUE=99 +DRIVER.SPI.VAR.SPI4_BASE_RAM.VALUE=0xFF060000 +DRIVER.SPI.VAR.SPI1_PRESCALE1.VALUE=99 +DRIVER.SPI.VAR.SPI5_PORT_BIT4_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI4_CHARLEN0.VALUE=16 +DRIVER.SPI.VAR.SPI2_PORT_BIT1_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI1_PRESCALE2.VALUE=99 +DRIVER.SPI.VAR.SPI4_PORT_BIT3_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI4_CHARLEN1.VALUE=16 +DRIVER.SPI.VAR.SPI1_PORT_BIT0_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI1_PRESCALE3.VALUE=99 +DRIVER.SPI.VAR.SPI5_PORT_BIT1_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI5_T2CDELAYACTUAL.VALUE=10.000 +DRIVER.SPI.VAR.SPI4_CHARLEN2.VALUE=16 +DRIVER.SPI.VAR.SPI1_PORT_BIT8_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI4_CHARLEN3.VALUE=16 +DRIVER.SPI.VAR.SPI1_BASE.VALUE=0xFFF7F400 +DRIVER.SPI.VAR.SPI3_BITERRENA.VALUE=0 +DRIVER.SPI.VAR.SPI3_OVRNINTENA.VALUE=0 +DRIVER.SPI.VAR.SPI3_RXINTENA.VALUE=0 +DRIVER.SPI.VAR.SPI5_ACTUALBAUDRATE0.VALUE=1000.000 +DRIVER.SPI.VAR.SPI3_PORT_BIT10_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI3_PORT_BIT4_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI3_PORT_BIT2_DOUT.VALUE=1 +DRIVER.SPI.VAR.SPI1_PORT_BIT25_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI1_PORT_BIT17_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI5_ACTUALBAUDRATE1.VALUE=1000.000 +DRIVER.SPI.VAR.SPI5_PORT_BIT2_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI5_ACTUALBAUDRATE2.VALUE=1000.000 +DRIVER.SPI.VAR.SPI5_PARPOL0.VALUE=0 +DRIVER.SPI.VAR.SPI5_BITERRLVL.VALUE=0 +DRIVER.SPI.VAR.SPI4_SHIFTDIR0.VALUE=0 +DRIVER.SPI.VAR.SPI4_OVRNINTLVL.VALUE=0 +DRIVER.SPI.VAR.SPI3_PORT_BIT8_DIR.VALUE=0 +DRIVER.SPI.VAR.SPI5_ACTUALBAUDRATE3.VALUE=1000.000 +DRIVER.SPI.VAR.SPI5_PARPOL1.VALUE=0 +DRIVER.SPI.VAR.SPI4_SHIFTDIR1.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT27_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI5_PORT_BIT19_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI5_PORT_BIT0_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI5_PARPOL2.VALUE=0 +DRIVER.SPI.VAR.SPI4_PORT_BIT0_DOUT.VALUE=1 +DRIVER.SPI.VAR.SPI4_SHIFTDIR2.VALUE=0 +DRIVER.SPI.VAR.SPI5_PARPOL3.VALUE=0 +DRIVER.SPI.VAR.SPI4_SHIFTDIR3.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT4_DIR.VALUE=1 +DRIVER.SPI.VAR.SPI3_PORT_BIT11_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI2_PORT_BIT1_DIR.VALUE=1 +DRIVER.SPI.VAR.SPI5_PORT_BIT8_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT25_DOUT.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT17_DOUT.VALUE=0 +DRIVER.SPI.VAR.SPI2_PORT_BIT11_DOUT.VALUE=0 +DRIVER.SPI.VAR.SPI3_TXINTLVL.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT1_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT2_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI1_PORT_BIT9_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI1_CLKMOD.VALUE=1 +DRIVER.SPI.VAR.SPI5_TIMEOUTENA.VALUE=0 +DRIVER.SPI.VAR.SPI2_DLENERRENA.VALUE=0 +DRIVER.SPI.VAR.SPI3_PORT_BIT11_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI3_PORT_BIT5_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI3_PARITYENA0.VALUE=0 +DRIVER.SPI.VAR.SPI3_PARITYENA1.VALUE=0 +DRIVER.SPI.VAR.SPI1_T2EDELAY.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT3_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI5_BASE_PORT.VALUE=0xFFF7FC18 +DRIVER.SPI.VAR.SPI3_PORT_BIT9_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI3_PORT_BIT9_DIR.VALUE=1 +DRIVER.SPI.VAR.SPI3_PARITYENA2.VALUE=0 +DRIVER.SPI.VAR.SPI3_DLENERRLVL.VALUE=0 +DRIVER.SPI.VAR.SPI2_PORT_BIT0_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI3_PARITYENA3.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT1_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI4_WDELAY0.VALUE=0 +DRIVER.SPI.VAR.SPI4_WDELAY1.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT5_DIR.VALUE=1 +DRIVER.SPI.VAR.SPI4_WDELAY2.VALUE=0 +DRIVER.SPI.VAR.SPI2_PORT_BIT2_DIR.VALUE=1 +DRIVER.SPI.VAR.SPI1_PORT_BIT4_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI4_WDELAY3.VALUE=0 +DRIVER.SPI.VAR.SPI3_PORT_BIT3_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI3_PORT_BIT10_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI1_T2CDELAYACTUAL.VALUE=10.000 +DRIVER.SPI.VAR.SPI5_PORT_BIT5_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI4_MASTER.VALUE=1 +DRIVER.SPI.VAR.SPI2_PORT_BIT2_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI5_PORT_BIT8_DOUT.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT3_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI3_ACTUALBAUDRATE0.VALUE=1000.000 +DRIVER.SPI.VAR.SPI2_PORT_BIT0_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI3_ACTUALBAUDRATE1.VALUE=1000.000 +DRIVER.SPI.VAR.SPI2_BASE.VALUE=0xFFF7F600 +DRIVER.SPI.VAR.SPI4_PORT_BIT10_DIR.VALUE=1 +DRIVER.SPI.VAR.SPI3_PORT_BIT8_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI3_PORT_BIT0_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI3_ACTUALBAUDRATE2.VALUE=1000.000 +DRIVER.SPI.VAR.SPI3_ACTUALBAUDRATE3.VALUE=1000.000 +DRIVER.SPI.VAR.SPI3_PARERRENA.VALUE=0 +DRIVER.SPI.VAR.SPI3_PORT_BIT3_DOUT.VALUE=1 +DRIVER.SPI.VAR.SPI2_C2TDELAY.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT4_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI5_PARERRLVL.VALUE=0 +DRIVER.SPI.VAR.SPI2_PORT_BIT1_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI4_PORT_BIT8_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI1_PORT_BIT5_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI1_DEYSNCENA.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT2_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI4_PORT_BIT1_DOUT.VALUE=1 +DRIVER.SPI.VAR.SPI3_WAITENA0.VALUE=0 +DRIVER.SPI.VAR.SPI3_WAITENA1.VALUE=0 +DRIVER.SPI.VAR.SPI3_WAITENA2.VALUE=0 +DRIVER.SPI.VAR.SPI3_DEYSNCLVL.VALUE=0 +DRIVER.SPI.VAR.SPI2_PORT_BIT3_DIR.VALUE=1 +DRIVER.SPI.VAR.SPI4_PORT_BIT1_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI3_WAITENA3.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT26_DOUT.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT18_DOUT.VALUE=0 +DRIVER.SPI.VAR.SPI3_PORT_BIT11_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI3_PORT_BIT8_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI4_PORT_BIT10_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI3_PORT_BIT10_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI2_TXINTENA.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT4_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI5_BAUDRATE0.VALUE=1000.000 +DRIVER.SPI.VAR.SPI2_PORT_BIT1_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI2_C2TDELAYACTUAL.VALUE=20.000 +DRIVER.SPI.VAR.SPI5_BAUDRATE1.VALUE=1000.000 +DRIVER.SPI.VAR.SPI5_BAUDRATE2.VALUE=1000.000 +DRIVER.SPI.VAR.SPI4_PORT_BIT11_DIR.VALUE=0 +DRIVER.SPI.VAR.SPI4_PARPOL0.VALUE=0 +DRIVER.SPI.VAR.SPI3_PORT_BIT9_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI5_BAUDRATE3.VALUE=1000.000 +DRIVER.SPI.VAR.SPI5_RAM_PARITY_ENA.VALUE=0 +DRIVER.SPI.VAR.SPI4_PARPOL1.VALUE=0 +DRIVER.SPI.VAR.SPI4_PARPOL2.VALUE=0 +DRIVER.SPI.VAR.SPI4_PARPOL3.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT5_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI2_PORT_BIT2_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI2_PORT_BIT3_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI2_OVRNINTENA.VALUE=0 +DRIVER.SPI.VAR.SPI1_BITERRENA.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT3_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI5_POLARITY0.VALUE=0 +DRIVER.SPI.VAR.SPI4_PHASE0.VALUE=0 +DRIVER.SPI.VAR.SPI2_PORT_BIT0_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI5_POLARITY1.VALUE=0 +DRIVER.SPI.VAR.SPI4_T2EDELAY.VALUE=0 +DRIVER.SPI.VAR.SPI4_PHASE1.VALUE=0 +DRIVER.SPI.VAR.SPI5_POLARITY2.VALUE=0 +DRIVER.SPI.VAR.SPI4_PORT_BIT8_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI4_PHASE2.VALUE=0 +DRIVER.SPI.VAR.SPI3_BITERRLVL.VALUE=0 +DRIVER.SPI.VAR.SPI3_OVRNINTLVL.VALUE=0 +DRIVER.SPI.VAR.SPI3_RXINTLVL.VALUE=0 +DRIVER.SPI.VAR.SPI2_SHIFTDIR0.VALUE=0 +DRIVER.SPI.VAR.SPI1_PORT_BIT5_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI5_PORT_BIT26_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT18_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI5_POLARITY3.VALUE=0 +DRIVER.SPI.VAR.SPI4_PHASE3.VALUE=0 +DRIVER.SPI.VAR.SPI2_SHIFTDIR1.VALUE=0 +DRIVER.SPI.VAR.SPI3_PORT_BIT9_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI3_T2EDELAYACTUAL.VALUE=0.000 +DRIVER.SPI.VAR.SPI2_SHIFTDIR2.VALUE=0 +DRIVER.SPI.VAR.SPI1_PORT_BIT8_DOUT.VALUE=0 +DRIVER.SPI.VAR.SPI1_ACTUALBAUDRATE0.VALUE=1000.000 +DRIVER.SPI.VAR.SPI2_SHIFTDIR3.VALUE=0 +DRIVER.SPI.VAR.SPI1_ACTUALBAUDRATE1.VALUE=1000.000 +DRIVER.SPI.VAR.SPI4_PORT_BIT10_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI4_PORT_BIT0_DIR.VALUE=1 +DRIVER.SPI.VAR.SPI2_PORT_BIT3_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI1_ACTUALBAUDRATE2.VALUE=1000.000 +DRIVER.SPI.VAR.SPI5_PORT_BIT11_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI1_ACTUALBAUDRATE3.VALUE=1000.000 +DRIVER.SPI.VAR.SPI5_PORT_BIT9_DOUT.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT5_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI4_C2EDELAYACTUAL.VALUE=0.000 +DRIVER.SPI.VAR.SPI2_PORT_BIT2_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI3_BASE.VALUE=0xFFF7F800 +DRIVER.SPI.VAR.SPI3_PORT_BIT1_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI3_PORT_BIT8_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI4_PRESCALE0.VALUE=99 +DRIVER.SPI.VAR.SPI3_PORT_BIT8_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI3_PORT_BIT4_DOUT.VALUE=1 +DRIVER.SPI.VAR.SPI3_WDELAY0.VALUE=0 +DRIVER.SPI.VAR.SPI1_PORT_BIT25_DOUT.VALUE=0 +DRIVER.SPI.VAR.SPI1_PORT_BIT17_DOUT.VALUE=0 +DRIVER.SPI.VAR.SPI4_PRESCALE1.VALUE=99 +DRIVER.SPI.VAR.SPI3_C2EDELAY.VALUE=0 +DRIVER.SPI.VAR.SPI3_WDELAY1.VALUE=0 +DRIVER.SPI.VAR.SPI4_PRESCALE2.VALUE=99 +DRIVER.SPI.VAR.SPI3_WDELAY2.VALUE=0 +DRIVER.SPI.VAR.SPI2_PORT_BIT3_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI4_PRESCALE3.VALUE=99 +DRIVER.SPI.VAR.SPI4_TIMEOUTENA.VALUE=0 +DRIVER.SPI.VAR.SPI3_PORT_BIT1_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI3_WDELAY3.VALUE=0 +DRIVER.SPI.VAR.SPI1_DLENERRENA.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT4_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI4_PORT_BIT10_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI4_PORT_BIT2_DOUT.VALUE=1 +DRIVER.SPI.VAR.SPI3_ENABLEHIGHZ.VALUE=0 +DRIVER.SPI.VAR.SPI2_PORT_BIT1_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI2_PARITYENA0.VALUE=0 +DRIVER.SPI.VAR.SPI5_C2TDELAY.VALUE=0 +DRIVER.SPI.VAR.SPI2_PARITYENA1.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT8_DIR.VALUE=0 +DRIVER.SPI.VAR.SPI5_TIMEOUTLVL.VALUE=0 +DRIVER.SPI.VAR.SPI3_BASE_PORT.VALUE=0xFFF7F818 +DRIVER.SPI.VAR.SPI2_PORT_BIT10_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI2_PARITYENA2.VALUE=0 +DRIVER.SPI.VAR.SPI2_DLENERRLVL.VALUE=0 +DRIVER.SPI.VAR.SPI2_MASTER.VALUE=1 +DRIVER.SPI.VAR.SPI2_PARITYENA3.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT27_DOUT.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT19_DOUT.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT0_DOUT.VALUE=1 +DRIVER.SPI.VAR.SPI4_PORT_BIT11_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI4_PORT_BIT11_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI4_PORT_BIT1_DIR.VALUE=1 +DRIVER.SPI.VAR.SPI1_RAM_PARITY_ENA.VALUE=0 +DRIVER.SPI.VAR.SPI2_PORT_BIT3_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI3_T2CDELAY.VALUE=0 +DRIVER.SPI.VAR.SPI5_TXINTENA.VALUE=0 +DRIVER.SPI.VAR.SPI1_PORT_BIT3_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI3_PORT_BIT9_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI3_BASE_RAM.VALUE=0xFF0C0000 +DRIVER.SPI.VAR.SPI3_CHARLEN0.VALUE=16 +DRIVER.SPI.VAR.SPI3_CHARLEN1.VALUE=16 +DRIVER.SPI.VAR.SPI1_PARERRENA.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT10_DOUT.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT5_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI4_PORT_BIT11_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI3_CHARLEN2.VALUE=16 +DRIVER.SPI.VAR.SPI2_PORT_BIT2_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI3_CHARLEN3.VALUE=16 +DRIVER.SPI.VAR.SPI5_PORT_BIT9_DIR.VALUE=1 +DRIVER.SPI.VAR.SPI4_PORT_BIT9_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI4_PORT_BIT0_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI3_PARERRLVL.VALUE=0 +DRIVER.SPI.VAR.SPI2_RXINTENA.VALUE=0 +DRIVER.SPI.VAR.SPI1_PORT_BIT9_DOUT.VALUE=0 +DRIVER.SPI.VAR.SPI4_PORT_BIT2_DIR.VALUE=1 +DRIVER.SPI.VAR.SPI3_PARPOL0.VALUE=0 +DRIVER.SPI.VAR.SPI1_DEYSNCLVL.VALUE=0 +DRIVER.SPI.VAR.SPI3_PARPOL1.VALUE=0 +DRIVER.SPI.VAR.SPI2_PORT_BIT8_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI4_PORT_BIT10_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI3_PARPOL2.VALUE=0 +DRIVER.SPI.VAR.SPI2_T2CDELAYACTUAL.VALUE=10.000 +DRIVER.SPI.VAR.SPI4_BASE.VALUE=0xFFF7FA00 +DRIVER.SPI.VAR.SPI3_PARPOL3.VALUE=0 +DRIVER.SPI.VAR.SPI3_PORT_BIT2_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI5_PORT_BIT4_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI2_PORT_BIT1_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI4_PORT_BIT0_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI4_CLKMOD.VALUE=1 +DRIVER.SPI.VAR.SPI3_PORT_BIT5_DOUT.VALUE=1 +DRIVER.SPI.VAR.SPI3_BAUDRATE0.VALUE=1000.000 +DRIVER.SPI.VAR.SPI2_PHASE0.VALUE=0 +DRIVER.SPI.VAR.SPI3_BAUDRATE1.VALUE=1000.000 +DRIVER.SPI.VAR.SPI2_PHASE1.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT10_DIR.VALUE=1 +DRIVER.SPI.VAR.SPI5_PORT_BIT8_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI4_PORT_BIT0_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI3_BAUDRATE2.VALUE=1000.000 +DRIVER.SPI.VAR.SPI2_PHASE2.VALUE=0 +DRIVER.SPI.VAR.SPI2_TXINTLVL.VALUE=0 +DRIVER.SPI.VAR.SPI3_BAUDRATE3.VALUE=1000.000 +DRIVER.SPI.VAR.SPI2_PORT_BIT10_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI2_PHASE3.VALUE=0 +DRIVER.SPI.VAR.SPI4_PORT_BIT3_DOUT.VALUE=1 +DRIVER.SPI.VAR.SPI2_PORT_BIT3_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI1_PORT_BIT0_DOUT.VALUE=1 +DRIVER.SPI.VAR.SPI5_PORT_BIT25_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI5_PORT_BIT17_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI4_PORT_BIT1_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI2_PORT_BIT11_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI1_OVRNINTENA.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT1_DOUT.VALUE=1 +DRIVER.SPI.VAR.SPI3_POLARITY0.VALUE=0 +DRIVER.SPI.VAR.SPI3_POLARITY1.VALUE=0 +DRIVER.SPI.VAR.SPI4_PORT_BIT3_DIR.VALUE=1 +DRIVER.SPI.VAR.SPI3_POLARITY2.VALUE=0 +DRIVER.SPI.VAR.SPI2_OVRNINTLVL.VALUE=0 +DRIVER.SPI.VAR.SPI1_PORT_BIT0_DIR.VALUE=1 +DRIVER.SPI.VAR.SPI1_BITERRLVL.VALUE=0 +DRIVER.SPI.VAR.SPI4_DEYSNCENA.VALUE=0 +DRIVER.SPI.VAR.SPI3_POLARITY3.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT8_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI4_PORT_BIT11_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI2_WDELAY0.VALUE=0 +DRIVER.SPI.VAR.SPI2_WDELAY1.VALUE=0 +DRIVER.SPI.VAR.SPI2_WDELAY2.VALUE=0 +DRIVER.SPI.VAR.SPI2_WDELAY3.VALUE=0 +DRIVER.SPI.VAR.SPI4_PORT_BIT1_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI3_PORT_BIT10_DOUT.VALUE=0 +DRIVER.SPI.VAR.SPI3_C2TDELAYACTUAL.VALUE=20.000 +DRIVER.SPI.VAR.SPI5_PORT_BIT11_DIR.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT9_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI4_PORT_BIT11_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT11_DOUT.VALUE=0 +DRIVER.SPI.VAR.SPI2_PRESCALE0.VALUE=99 +DRIVER.SPI.VAR.SPI2_PRESCALE1.VALUE=99 +DRIVER.SPI.VAR.SPI4_PORT_BIT2_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI2_PORT_BIT8_DIR.VALUE=0 +DRIVER.SPI.VAR.SPI2_PRESCALE2.VALUE=99 +DRIVER.SPI.VAR.SPI3_TIMEOUTENA.VALUE=0 +DRIVER.SPI.VAR.SPI2_PRESCALE3.VALUE=99 +DRIVER.SPI.VAR.SPI1_PORT_BIT8_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI4_PORT_BIT0_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI1_PARITYENA0.VALUE=0 +DRIVER.SPI.VAR.SPI1_C2TDELAY.VALUE=0 +DRIVER.SPI.VAR.SPI1_PARITYENA1.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT8_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI4_PORT_BIT4_DIR.VALUE=1 +DRIVER.SPI.VAR.SPI4_TIMEOUTLVL.VALUE=0 +DRIVER.SPI.VAR.SPI1_PORT_BIT1_DIR.VALUE=1 +DRIVER.SPI.VAR.SPI1_PARITYENA2.VALUE=0 +DRIVER.SPI.VAR.SPI1_DLENERRLVL.VALUE=0 +DRIVER.SPI.VAR.SPI1_BASE_PORT.VALUE=0xFFF7F418 +DRIVER.SPI.VAR.SPI5_RXINTENA.VALUE=0 +DRIVER.SPI.VAR.SPI4_PORT_BIT4_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI4_BITERRENA.VALUE=0 +DRIVER.SPI.VAR.SPI1_PORT_BIT1_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI1_PARITYENA3.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT9_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI4_T2EDELAYACTUAL.VALUE=0.000 +DRIVER.SPI.VAR.SPI2_PORT_BIT8_DOUT.VALUE=0 +DRIVER.SPI.VAR.SPI2_WAITENA0.VALUE=0 +DRIVER.SPI.VAR.SPI5_BASE.VALUE=0xFFF7FC00 +DRIVER.SPI.VAR.SPI2_WAITENA1.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT10_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI5_SHIFTDIR0.VALUE=0 +DRIVER.SPI.VAR.SPI3_PORT_BIT3_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI2_WAITENA2.VALUE=0 +DRIVER.SPI.VAR.SPI1_PORT_BIT10_DIR.VALUE=1 +DRIVER.SPI.VAR.SPI5_SHIFTDIR1.VALUE=0 +DRIVER.SPI.VAR.SPI2_WAITENA3.VALUE=0 +DRIVER.SPI.VAR.SPI5_C2EDELAYACTUAL.VALUE=0.000 +DRIVER.SPI.VAR.SPI5_SHIFTDIR2.VALUE=0 +DRIVER.SPI.VAR.SPI4_PORT_BIT2_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI5_SHIFTDIR3.VALUE=0 +DRIVER.SPI.VAR.SPI4_PORT_BIT1_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI1_TXINTENA.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT8_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI4_PORT_BIT4_DOUT.VALUE=1 +DRIVER.SPI.VAR.SPI1_PORT_BIT1_DOUT.VALUE=1 +DRIVER.SPI.VAR.SPI5_PORT_BIT26_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI5_PORT_BIT18_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI5_TXINTLVL.VALUE=0 +DRIVER.SPI.VAR.SPI4_PORT_BIT3_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI2_PORT_BIT9_DIR.VALUE=1 +DRIVER.SPI.VAR.SPI2_PARPOL0.VALUE=0 +DRIVER.SPI.VAR.SPI1_PORT_BIT0_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI5_PORT_BIT9_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI2_PARPOL1.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT10_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT2_DOUT.VALUE=1 +DRIVER.SPI.VAR.SPI4_PORT_BIT1_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI2_PARPOL2.VALUE=0 +DRIVER.SPI.VAR.SPI2_PARPOL3.VALUE=0 +DRIVER.SPI.VAR.SPI4_PORT_BIT5_DIR.VALUE=1 +DRIVER.SPI.VAR.SPI1_PORT_BIT2_DIR.VALUE=1 +DRIVER.SPI.VAR.SPI1_PARERRLVL.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT2_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI2_CLKMOD.VALUE=1 +DRIVER.SPI.VAR.SPI1_PORT_BIT10_DOUT.VALUE=0 +DRIVER.SPI.VAR.SPI3_T2EDELAY.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT11_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI2_RXINTLVL.VALUE=0 +DRIVER.SPI.VAR.SPI1_PORT_BIT11_DIR.VALUE=0 +DRIVER.SPI.VAR.SPI2_RAM_PARITY_ENA.VALUE=0 +DRIVER.SPI.VAR.SPI4_PORT_BIT3_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI3_PORT_BIT11_DOUT.VALUE=0 +DRIVER.SPI.VAR.SPI1_PORT_BIT0_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI2_PORT_BIT8_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI5_PORT_BIT9_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI1_BAUDRATE0.VALUE=1000.000 +DRIVER.SPI.VAR.SPI1_BAUDRATE1.VALUE=1000.000 +DRIVER.SPI.VAR.SPI4_PORT_BIT4_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI1_PORT_BIT8_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI1_PORT_BIT1_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI1_BAUDRATE2.VALUE=1000.000 +DRIVER.SPI.VAR.SPI3_PORT_BIT4_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI1_PORT_BIT25_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI1_PORT_BIT17_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI1_BAUDRATE3.VALUE=1000.000 +DRIVER.SPI.VAR.SPI5_PORT_BIT11_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI4_PORT_BIT2_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI1_WDELAY0.VALUE=0 +DRIVER.SPI.VAR.SPI2_C2EDELAY.VALUE=0 +DRIVER.SPI.VAR.SPI1_WDELAY1.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT9_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI5_MASTER.VALUE=1 +DRIVER.SPI.VAR.SPI1_PORT_BIT10_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI1_PORT_BIT3_DIR.VALUE=1 +DRIVER.SPI.VAR.SPI1_WDELAY2.VALUE=0 +DRIVER.SPI.VAR.SPI4_PARERRENA.VALUE=0 +DRIVER.SPI.VAR.SPI1_PORT_BIT10_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI1_WDELAY3.VALUE=0 +DRIVER.SPI.VAR.SPI2_PORT_BIT9_DOUT.VALUE=0 +DRIVER.SPI.VAR.SPI2_PORT_BIT8_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI1_C2EDELAYACTUAL.VALUE=0.000 +DRIVER.SPI.VAR.SPI1_POLARITY0.VALUE=0 +DRIVER.SPI.VAR.SPI4_C2TDELAY.VALUE=0 +DRIVER.SPI.VAR.SPI1_POLARITY1.VALUE=0 +DRIVER.SPI.VAR.SPI3_PORT_BIT4_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI1_PORT_BIT25_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI1_PORT_BIT17_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI1_POLARITY2.VALUE=0 +DRIVER.SPI.VAR.SPI1_OVRNINTLVL.VALUE=0 +DRIVER.SPI.VAR.SPI5_DLENERRENA.VALUE=0 +DRIVER.SPI.VAR.SPI2_DEYSNCENA.VALUE=0 +DRIVER.SPI.VAR.SPI1_POLARITY3.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT10_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI5_WAITENA0.VALUE=0 +DRIVER.SPI.VAR.SPI5_ENABLEHIGHZ.VALUE=0 +DRIVER.SPI.VAR.SPI4_PORT_BIT4_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI3_T2CDELAYACTUAL.VALUE=10.000 +DRIVER.SPI.VAR.SPI1_PORT_BIT1_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI5_WAITENA1.VALUE=0 +DRIVER.SPI.VAR.SPI5_WAITENA2.VALUE=0 +DRIVER.SPI.VAR.SPI4_PORT_BIT2_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI4_DEYSNCLVL.VALUE=0 +DRIVER.SPI.VAR.SPI2_PORT_BIT9_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI5_WAITENA3.VALUE=0 +DRIVER.SPI.VAR.SPI4_PORT_BIT9_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI4_PORT_BIT5_DOUT.VALUE=1 +DRIVER.SPI.VAR.SPI4_ACTUALBAUDRATE0.VALUE=1000.000 +DRIVER.SPI.VAR.SPI1_PORT_BIT10_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI1_PORT_BIT2_DOUT.VALUE=1 +DRIVER.SPI.VAR.SPI4_ACTUALBAUDRATE1.VALUE=1000.000 +DRIVER.SPI.VAR.SPI2_T2CDELAY.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT27_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI5_PORT_BIT19_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI5_PORT_BIT0_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI4_PORT_BIT5_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI4_ACTUALBAUDRATE2.VALUE=1000.000 +DRIVER.SPI.VAR.SPI1_PORT_BIT2_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI4_PORT_BIT2_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI4_ACTUALBAUDRATE3.VALUE=1000.000 +DRIVER.SPI.VAR.SPI4_TXINTENA.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT3_DOUT.VALUE=1 +DRIVER.SPI.VAR.SPI4_PORT_BIT3_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI2_PORT_BIT0_DOUT.VALUE=1 +DRIVER.SPI.VAR.SPI1_PORT_BIT0_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI2_BASE_RAM.VALUE=0xFF080000 +DRIVER.SPI.VAR.SPI2_CHARLEN0.VALUE=16 +DRIVER.SPI.VAR.SPI1_PORT_BIT11_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI1_PORT_BIT4_DIR.VALUE=1 +DRIVER.SPI.VAR.SPI3_PORT_BIT11_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI2_CHARLEN1.VALUE=16 +DRIVER.SPI.VAR.SPI2_TIMEOUTENA.VALUE=0 +DRIVER.SPI.VAR.SPI2_PORT_BIT9_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI2_CHARLEN2.VALUE=16 +DRIVER.SPI.VAR.SPI2_ENABLEHIGHZ.VALUE=0 +DRIVER.SPI.VAR.SPI1_PORT_BIT11_DOUT.VALUE=0 +DRIVER.SPI.VAR.SPI2_CHARLEN3.VALUE=16 +DRIVER.SPI.VAR.SPI3_PORT_BIT0_DIR.VALUE=1 +DRIVER.SPI.VAR.SPI3_TIMEOUTLVL.VALUE=0 +DRIVER.SPI.VAR.SPI2_BITERRENA.VALUE=0 +DRIVER.SPI.VAR.SPI1_RXINTENA.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT11_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI4_PORT_BIT5_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI1_PORT_BIT2_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT10_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI5_RXINTLVL.VALUE=0 +DRIVER.SPI.VAR.SPI4_BITERRLVL.VALUE=0 +DRIVER.SPI.VAR.SPI3_SHIFTDIR0.VALUE=0 +DRIVER.SPI.VAR.SPI1_PARPOL0.VALUE=0 +DRIVER.SPI.VAR.SPI3_SHIFTDIR1.VALUE=0 +DRIVER.SPI.VAR.SPI1_PARPOL1.VALUE=0 +DRIVER.SPI.VAR.SPI5_PHASE0.VALUE=0 +DRIVER.SPI.VAR.SPI4_C2TDELAYACTUAL.VALUE=20.000 +DRIVER.SPI.VAR.SPI3_SHIFTDIR2.VALUE=0 +DRIVER.SPI.VAR.SPI2_PORT_BIT8_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI1_PORT_BIT11_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI1_PARPOL2.VALUE=0 +DRIVER.SPI.VAR.SPI5_PHASE1.VALUE=0 +DRIVER.SPI.VAR.SPI3_SHIFTDIR3.VALUE=0 +DRIVER.SPI.VAR.SPI1_PARPOL3.VALUE=0 +DRIVER.SPI.VAR.SPI5_PHASE2.VALUE=0 +DRIVER.SPI.VAR.SPI1_PORT_BIT9_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI1_PORT_BIT3_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI5_PORT_BIT27_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT19_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT0_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI5_PHASE3.VALUE=0 +DRIVER.SPI.VAR.SPI4_PORT_BIT4_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI1_PORT_BIT1_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI4_PORT_BIT8_DIR.VALUE=0 +DRIVER.SPI.VAR.SPI1_PORT_BIT5_DIR.VALUE=1 +DRIVER.SPI.VAR.SPI1_TXINTLVL.VALUE=0 +DRIVER.SPI.VAR.SPI5_PRESCALE0.VALUE=99 +DRIVER.SPI.VAR.SPI1_PORT_BIT10_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI5_C2EDELAY.VALUE=0 +DRIVER.SPI.VAR.SPI5_PRESCALE1.VALUE=99 +DRIVER.SPI.VAR.SPI5_PRESCALE2.VALUE=99 +DRIVER.SPI.VAR.SPI3_PORT_BIT5_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI3_PORT_BIT1_DIR.VALUE=1 +DRIVER.SPI.VAR.SPI5_PRESCALE3.VALUE=99 +DRIVER.SPI.VAR.SPI3_PORT_BIT9_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI5_T2EDELAYACTUAL.VALUE=0.000 +DRIVER.SPI.VAR.SPI3_PORT_BIT8_DOUT.VALUE=0 +DRIVER.SPI.VAR.SPI2_ACTUALBAUDRATE0.VALUE=1000.000 +DRIVER.SPI.VAR.SPI1_PORT_BIT3_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI2_ACTUALBAUDRATE1.VALUE=1000.000 +DRIVER.SPI.VAR.SPI4_PORT_BIT3_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI4_BASE_PORT.VALUE=0xFFF7FA18 +DRIVER.SPI.VAR.SPI2_PORT_BIT10_DIR.VALUE=1 +DRIVER.SPI.VAR.SPI2_ACTUALBAUDRATE2.VALUE=1000.000 +DRIVER.SPI.VAR.SPI1_PORT_BIT0_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI5_OVRNINTENA.VALUE=0 +DRIVER.SPI.VAR.SPI3_PORT_BIT2_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI2_ACTUALBAUDRATE3.VALUE=1000.000 +DRIVER.SPI.VAR.SPI2_PORT_BIT9_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI1_PORT_BIT3_DOUT.VALUE=1 +DRIVER.SPI.VAR.SPI5_PORT_BIT1_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI3_MASTER.VALUE=1 +DRIVER.SPI.VAR.SPI1_PORT_BIT4_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI5_PORT_BIT4_DOUT.VALUE=1 +DRIVER.SPI.VAR.SPI4_PORT_BIT5_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI2_PORT_BIT1_DOUT.VALUE=1 +DRIVER.SPI.VAR.SPI1_PORT_BIT2_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI5_T2CDELAY.VALUE=0 +DRIVER.SPI.VAR.SPI4_PORT_BIT9_DIR.VALUE=1 +DRIVER.SPI.VAR.SPI3_PORT_BIT0_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI1_PORT_BIT11_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI5_BASE_RAM.VALUE=0xFF0A0000 +DRIVER.SPI.VAR.SPI5_CHARLEN0.VALUE=16 +DRIVER.SPI.VAR.SPI3_PORT_BIT10_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI3_PORT_BIT2_DIR.VALUE=1 +DRIVER.SPI.VAR.SPI5_CHARLEN1.VALUE=16 +DRIVER.SPI.VAR.SPI2_PARERRENA.VALUE=0 +DRIVER.SPI.VAR.SPI1_PORT_BIT4_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI5_CHARLEN2.VALUE=16 +DRIVER.SPI.VAR.SPI1_PORT_BIT4_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI5_CHARLEN3.VALUE=16 +DRIVER.SPI.VAR.SPI5_PORT_BIT25_DIR.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT17_DIR.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT11_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI4_PARERRLVL.VALUE=0 +DRIVER.SPI.VAR.SPI2_PORT_BIT11_DIR.VALUE=0 +DRIVER.SPI.VAR.SPI4_PORT_BIT0_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI4_DLENERRENA.VALUE=0 +DRIVER.SPI.VAR.SPI4_RXINTENA.VALUE=0 +DRIVER.SPI.VAR.SPI3_RAM_PARITY_ENA.VALUE=0 +DRIVER.SPI.VAR.SPI5_PARITYENA0.VALUE=0 +DRIVER.SPI.VAR.SPI3_PORT_BIT0_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI1_WAITENA0.VALUE=0 +DRIVER.SPI.VAR.SPI5_PARITYENA1.VALUE=0 +DRIVER.SPI.VAR.SPI1_WAITENA1.VALUE=0 +DRIVER.SPI.VAR.SPI5_PARITYENA2.VALUE=0 +DRIVER.SPI.VAR.SPI5_DLENERRLVL.VALUE=0 +DRIVER.SPI.VAR.SPI4_PORT_BIT8_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI2_DEYSNCLVL.VALUE=0 +DRIVER.SPI.VAR.SPI1_PORT_BIT5_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI1_WAITENA2.VALUE=0 +DRIVER.SPI.VAR.SPI5_PARITYENA3.VALUE=0 +DRIVER.SPI.VAR.SPI1_WAITENA3.VALUE=0 +DRIVER.SPI.VAR.SPI1_PORT_BIT3_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI3_PORT_BIT1_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI2_PORT_BIT8_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI2_PORT_BIT9_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI4_BAUDRATE0.VALUE=1000.000 +DRIVER.SPI.VAR.SPI1_T2EDELAYACTUAL.VALUE=0.000 +DRIVER.SPI.VAR.SPI4_BAUDRATE1.VALUE=1000.000 +DRIVER.SPI.VAR.SPI4_BAUDRATE2.VALUE=1000.000 +DRIVER.SPI.VAR.SPI4_TXINTLVL.VALUE=0 +DRIVER.SPI.VAR.SPI3_PORT_BIT3_DIR.VALUE=1 +DRIVER.SPI.VAR.SPI2_PORT_BIT10_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI5_PORT_BIT5_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI4_BAUDRATE3.VALUE=1000.000 +DRIVER.SPI.VAR.SPI2_PORT_BIT2_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI1_TIMEOUTENA.VALUE=0 +DRIVER.SPI.VAR.SPI5_CLKMOD.VALUE=1 +DRIVER.SPI.VAR.SPI4_PORT_BIT8_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI3_PORT_BIT9_DOUT.VALUE=0 +DRIVER.SPI.VAR.SPI3_PHASE0.VALUE=0 +DRIVER.SPI.VAR.SPI2_C2EDELAYACTUAL.VALUE=0.000 +DRIVER.SPI.VAR.SPI1_PORT_BIT5_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI3_PHASE1.VALUE=0 +DRIVER.CAN.VAR.CAN_4_MESSAGE_51_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_51_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_43_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_43_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_35_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_35_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_27_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_27_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_19_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_19_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_51_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_43_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_35_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_27_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_19_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_21_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_21_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_13_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_13_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_59_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_4_MESSAGE_9_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_30_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_22_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_14_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_4_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_61_BOOL_ENA.VALUE=1 +DRIVER.CAN.VAR.CAN_1_MESSAGE_53_BOOL_ENA.VALUE=1 +DRIVER.CAN.VAR.CAN_1_MESSAGE_45_BOOL_ENA.VALUE=1 +DRIVER.CAN.VAR.CAN_1_MESSAGE_37_BOOL_ENA.VALUE=1 +DRIVER.CAN.VAR.CAN_1_MESSAGE_29_BOOL_ENA.VALUE=1 +DRIVER.CAN.VAR.CAN_1_MESSAGE_6_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_RAM_PARITY_ENA.VALUE=0x0000000A +DRIVER.CAN.VAR.CAN_1_MESSAGE_59_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_64_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_56_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_48_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_SYNC.VALUE=1 +DRIVER.CAN.VAR.CAN_4_MESSAGE_62_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_54_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_46_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_38_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_SHIFT.VALUE=0 +DRIVER.CAN.VAR.CAN_4_AUTO_BUS_ON.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_4_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_4_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_40_INT_ENA_REF.VALUE=0x00000001 +DRIVER.CAN.VAR.CAN_1_MESSAGE_32_INT_ENA_REF.VALUE=0x00000001 +DRIVER.CAN.VAR.CAN_1_MESSAGE_24_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_16_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_57_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_49_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_64_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_56_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_48_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_31_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_23_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_15_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_51_INT_ENA.VALUE=0x00000400 +DRIVER.CAN.VAR.CAN_1_MESSAGE_43_INT_ENA.VALUE=0x00000400 +DRIVER.CAN.VAR.CAN_1_MESSAGE_35_INT_ENA.VALUE=0x00000400 +DRIVER.CAN.VAR.CAN_1_MESSAGE_27_INT_ENA.VALUE=0x00000800 +DRIVER.CAN.VAR.CAN_1_MESSAGE_19_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_BAUDRATE.VALUE=500 +DRIVER.CAN.VAR.CAN_2_PORT_RX_PDR.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_63_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_55_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_47_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_39_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_30_ID.VALUE=30 +DRIVER.CAN.VAR.CAN_2_MESSAGE_22_ID.VALUE=22 +DRIVER.CAN.VAR.CAN_2_MESSAGE_14_ID.VALUE=14 +DRIVER.CAN.VAR.CAN_2_MESSAGE_9_ID.VALUE=9 +DRIVER.CAN.VAR.CAN_1_MESSAGE_57_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_49_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_60_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_4_MESSAGE_52_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_4_MESSAGE_44_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_4_MESSAGE_36_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_4_MESSAGE_28_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_RAMBASE.VALUE=0xFF1C0000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_30_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_22_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_14_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_51_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_43_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_35_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_27_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_19_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_9_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_PORT_RX_PULDIS.VALUE=0 +DRIVER.CAN.VAR.CAN_4_MESSAGE_57_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_4_MESSAGE_49_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_4_MESSAGE_4_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_4_MESSAGE_2_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_64_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_56_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_48_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_NOMINAL_BIT_RATE.VALUE=500.000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_51_MASK.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_43_MASK.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_35_MASK.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_27_MASK.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_19_MASK.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_1_BOOL_ENA.VALUE=1 +DRIVER.CAN.VAR.CAN_3_MESSAGE_57_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_51_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_49_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_43_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_35_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_27_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_19_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_10_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_5_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_64_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_64_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_56_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_56_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_48_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_48_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_40_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_32_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_24_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_16_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_9_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_60_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_52_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_50_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_44_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_42_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_36_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_34_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_28_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_26_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_18_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_60_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_58_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_52_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_44_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_36_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_28_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_PIN_MODE.VALUE=1 +DRIVER.CAN.VAR.CAN_2_PHASE_SEG.VALUE=2 +DRIVER.CAN.VAR.CAN_1_MESSAGE_30_ENA.VALUE=0x80000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_22_ENA.VALUE=0x80000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_20_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_14_ENA.VALUE=0x80000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_12_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_31_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_23_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_15_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_7_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_51_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_43_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_35_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_31_ID.VALUE=31 +DRIVER.CAN.VAR.CAN_2_MESSAGE_27_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_23_ID.VALUE=23 +DRIVER.CAN.VAR.CAN_2_MESSAGE_19_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_15_ID.VALUE=15 +DRIVER.CAN.VAR.CAN_4_MESSAGE_1_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_4_NOMINAL_BIT_TIME.VALUE=8 +DRIVER.CAN.VAR.CAN_4_MESSAGE_60_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_60_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_52_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_52_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_51_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_44_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_44_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_43_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_36_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_36_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_35_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_28_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_28_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_27_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_19_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_9_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_30_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_30_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_22_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_22_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_21_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_14_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_14_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_13_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_AUTO_BUS_ON.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_60_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_4_MESSAGE_52_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_4_MESSAGE_44_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_4_MESSAGE_36_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_4_MESSAGE_28_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_63_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_55_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_47_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_39_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_31_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_23_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_15_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_10_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_5_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_PORT_TX_PULDIS.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_30_BOOL_ENA.VALUE=1 +DRIVER.CAN.VAR.CAN_1_MESSAGE_22_BOOL_ENA.VALUE=1 +DRIVER.CAN.VAR.CAN_1_MESSAGE_14_BOOL_ENA.VALUE=1 +DRIVER.CAN.VAR.CAN_4_MESSAGE_51_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_43_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_35_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_27_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_19_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_7_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_21_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_13_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_57_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_49_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_BASE.VALUE=0xFFF7DC00 +DRIVER.CAN.VAR.CAN_4_MESSAGE_9_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_40_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_32_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_24_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_16_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_10_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_10_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_5_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_5_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_6_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_40_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_4_MESSAGE_32_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_4_MESSAGE_24_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_4_MESSAGE_16_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_4_MESSAGE_11_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_1_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_8_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_3_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_3_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_10_MASK.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_4_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_21_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_13_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_64_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_56_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_48_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_40_ID.VALUE=40 +DRIVER.CAN.VAR.CAN_2_MESSAGE_32_ID.VALUE=32 +DRIVER.CAN.VAR.CAN_2_MESSAGE_24_ID.VALUE=24 +DRIVER.CAN.VAR.CAN_2_MESSAGE_16_ID.VALUE=16 +DRIVER.CAN.VAR.CAN_1_MESSAGE_1_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_61_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_4_MESSAGE_53_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_4_MESSAGE_45_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_4_MESSAGE_37_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_4_MESSAGE_29_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_31_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_23_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_15_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_4_MESSAGE_1_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_1_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_21_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_13_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_6_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_6_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_4_IDENTIFIER_MODE.VALUE=0x40000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_57_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_49_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_11_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_57_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_49_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_40_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_32_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_24_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_16_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_3_MASK.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_60_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_52_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_44_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_36_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_28_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_11_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_6_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_4_PORT_RX_PULL.VALUE=1 +DRIVER.CAN.VAR.CAN_4_MESSAGE_40_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_32_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_24_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_16_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_57_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_57_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_49_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_49_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_6_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_PORT_TX_DIN.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_10_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_61_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_53_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_45_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_37_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_29_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_59_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_51_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_43_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_35_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_27_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_19_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_1_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_1_MESSAGE_31_ENA.VALUE=0x80000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_23_ENA.VALUE=0x80000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_15_ENA.VALUE=0x80000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_40_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_32_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_24_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_16_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_8_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_PORT_RX_PSL.VALUE=1 +DRIVER.CAN.VAR.CAN_2_MESSAGE_41_ID.VALUE=41 +DRIVER.CAN.VAR.CAN_2_MESSAGE_33_ID.VALUE=33 +DRIVER.CAN.VAR.CAN_2_MESSAGE_25_ID.VALUE=25 +DRIVER.CAN.VAR.CAN_2_MESSAGE_17_ID.VALUE=17 +DRIVER.CAN.VAR.CAN_1_MESSAGE_10_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_2_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_BRP_FREQ.VALUE=4.000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_61_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_61_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_53_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_53_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_45_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_45_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_37_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_37_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_29_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_29_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_6_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_21_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_13_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_PORT_TX_DIR.VALUE=1 +DRIVER.CAN.VAR.CAN_1_MESSAGE_31_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_31_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_23_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_23_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_15_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_15_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_3_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_21_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_4_MESSAGE_13_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_5_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_11_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_6_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_4_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_PROP_SEG.VALUE=1 +DRIVER.CAN.VAR.CAN_3_MESSAGE_1_ID.VALUE=1 +DRIVER.CAN.VAR.CAN_2_MESSAGE_64_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_56_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_48_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_1_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_SYNC.VALUE=1 +DRIVER.CAN.VAR.CAN_3_MESSAGE_58_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_11_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_11_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_10_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_6_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_6_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_3_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_2_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_60_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_52_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_44_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_36_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_28_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_57_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_49_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_NOMINAL_BIT_RATE.VALUE=500.000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_64_BOOL_ENA.VALUE=1 +DRIVER.CAN.VAR.CAN_1_MESSAGE_56_BOOL_ENA.VALUE=1 +DRIVER.CAN.VAR.CAN_1_MESSAGE_48_BOOL_ENA.VALUE=1 +DRIVER.CAN.VAR.CAN_4_MESSAGE_64_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_56_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_48_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_57_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_50_ID.VALUE=50 +DRIVER.CAN.VAR.CAN_2_MESSAGE_49_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_42_ID.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_34_ID.VALUE=34 +DRIVER.CAN.VAR.CAN_2_MESSAGE_26_ID.VALUE=26 +DRIVER.CAN.VAR.CAN_2_MESSAGE_18_ID.VALUE=18 +DRIVER.CAN.VAR.CAN_1_MESSAGE_50_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_42_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_34_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_26_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_18_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_62_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_4_MESSAGE_54_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_4_MESSAGE_46_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_4_MESSAGE_38_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_PROPAGATION_DELAY.VALUE=700 +DRIVER.CAN.VAR.CAN_1_MESSAGE_40_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_32_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_24_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_16_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_4_MESSAGE_21_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_13_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_2_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_2_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_3_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_58_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_4_BAUDRATE.VALUE=500 +DRIVER.CAN.VAR.CAN_3_MESSAGE_58_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_50_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_42_BOOL_ENA.VALUE=1 +DRIVER.CAN.VAR.CAN_2_MESSAGE_34_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_26_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_18_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_60_MASK.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_57_INT_ENA.VALUE=0x00000400 +DRIVER.CAN.VAR.CAN_1_MESSAGE_52_MASK.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_49_INT_ENA.VALUE=0x00000400 +DRIVER.CAN.VAR.CAN_1_MESSAGE_44_MASK.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_36_MASK.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_28_MASK.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_10_ID.VALUE=10 +DRIVER.CAN.VAR.CAN_4_MESSAGE_9_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_61_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_53_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_50_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_45_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_42_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_37_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_34_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_29_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_26_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_18_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_2_ID.VALUE=2 +DRIVER.CAN.VAR.CAN_1_MESSAGE_6_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_NOMINAL_BIT_TIME.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_20_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_12_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_7_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_4_MESSAGE_3_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_58_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_58_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_10_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_SAMPLE_POINT.VALUE=75.000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_62_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_54_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_46_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_38_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_8_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_7_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_61_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_53_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_45_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_37_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_29_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_21_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_20_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_13_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_12_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_40_ENA.VALUE=0x80000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_32_ENA.VALUE=0x80000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_24_ENA.VALUE=0x80000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_16_ENA.VALUE=0x80000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_5_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_4_BOOL_ENA.VALUE=1 +DRIVER.CAN.VAR.CAN_4_MESSAGE_41_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_33_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_25_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_17_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_9_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_51_ID.VALUE=51 +DRIVER.CAN.VAR.CAN_2_MESSAGE_43_ID.VALUE=43 +DRIVER.CAN.VAR.CAN_2_MESSAGE_35_ID.VALUE=35 +DRIVER.CAN.VAR.CAN_2_MESSAGE_27_ID.VALUE=27 +DRIVER.CAN.VAR.CAN_2_MESSAGE_20_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_19_ID.VALUE=19 +DRIVER.CAN.VAR.CAN_2_MESSAGE_12_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_3_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_11_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_3_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_4_MESSAGE_62_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_62_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_54_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_54_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_46_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_46_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_38_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_38_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_40_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_40_DIR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_32_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_32_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_24_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_24_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_16_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_16_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_64_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_56_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_48_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_40_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_32_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_24_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_20_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_16_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_12_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_7_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_50_INT_ENA.VALUE=0x00000400 +DRIVER.CAN.VAR.CAN_1_MESSAGE_42_INT_ENA.VALUE=0x00000800 +DRIVER.CAN.VAR.CAN_1_MESSAGE_34_INT_ENA.VALUE=0x00000400 +DRIVER.CAN.VAR.CAN_1_MESSAGE_26_INT_ENA.VALUE=0x00000800 +DRIVER.CAN.VAR.CAN_1_MESSAGE_18_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_20_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_12_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_11_ID.VALUE=11 +DRIVER.CAN.VAR.CAN_3_MESSAGE_3_ID.VALUE=3 +DRIVER.CAN.VAR.CAN_2_PORT_RX_DOUT.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_2_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_59_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_BASE.VALUE=0xFFF7DE00 +DRIVER.CAN.VAR.CAN_1_RAMBASE.VALUE=0xFF1E0000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_10_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_20_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_20_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_12_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_12_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_7_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_7_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_PORT_RX_PULL.VALUE=2 +DRIVER.CAN.VAR.CAN_4_MESSAGE_63_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_4_MESSAGE_55_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_4_MESSAGE_47_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_4_MESSAGE_41_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_4_MESSAGE_39_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_4_MESSAGE_33_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_4_MESSAGE_25_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_4_MESSAGE_17_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_4_MESSAGE_3_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_1_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_9_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_IDENTIFIER_MODE.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_41_BOOL_ENA.VALUE=1 +DRIVER.CAN.VAR.CAN_1_MESSAGE_33_BOOL_ENA.VALUE=1 +DRIVER.CAN.VAR.CAN_1_MESSAGE_25_BOOL_ENA.VALUE=1 +DRIVER.CAN.VAR.CAN_1_MESSAGE_17_BOOL_ENA.VALUE=1 +DRIVER.CAN.VAR.CAN_1_MESSAGE_11_MASK.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_60_ID.VALUE=60 +DRIVER.CAN.VAR.CAN_2_MESSAGE_58_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_52_ID.VALUE=52 +DRIVER.CAN.VAR.CAN_2_MESSAGE_44_ID.VALUE=44 +DRIVER.CAN.VAR.CAN_2_MESSAGE_36_ID.VALUE=36 +DRIVER.CAN.VAR.CAN_2_MESSAGE_28_ID.VALUE=28 +DRIVER.CAN.VAR.CAN_4_MESSAGE_63_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_4_MESSAGE_55_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_4_MESSAGE_47_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_4_MESSAGE_39_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_41_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_33_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_25_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_17_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_4_PORT_RX_DIN.VALUE=0 +DRIVER.CAN.VAR.CAN_4_MESSAGE_3_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_3_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_41_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_33_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_25_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_17_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_7_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_59_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_20_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_12_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_9_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_11_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_6_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_11_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_4_MASK.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_20_ID.VALUE=20 +DRIVER.CAN.VAR.CAN_4_MESSAGE_12_ID.VALUE=12 +DRIVER.CAN.VAR.CAN_3_MESSAGE_62_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_54_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_46_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_38_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_4_ID.VALUE=4 +DRIVER.CAN.VAR.CAN_1_MESSAGE_63_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_55_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_47_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_39_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_21_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_13_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_8_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_4_PORT_RX_DIR.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_59_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_59_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_AUTO_RETRANSMISSION.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_PORT_TX_FUN.VALUE=1 +DRIVER.CAN.VAR.CAN_1_MESSAGE_59_INT_ENA_REF.VALUE=0x00000001 +DRIVER.CAN.VAR.CAN_4_MESSAGE_63_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_55_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_47_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_39_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_62_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_54_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_46_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_38_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_2_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_1_MESSAGE_41_ENA.VALUE=0x80000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_33_ENA.VALUE=0x80000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_25_ENA.VALUE=0x80000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_17_ENA.VALUE=0x80000000 +DRIVER.CAN.VAR.CAN_4_PORT_TX_DOUT.VALUE=0 +DRIVER.CAN.VAR.CAN_4_MESSAGE_50_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_42_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_34_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_26_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_18_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_AUTO_BUS_ON_TR.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_63_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_55_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_47_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_39_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_61_ID.VALUE=61 +DRIVER.CAN.VAR.CAN_2_MESSAGE_53_ID.VALUE=53 +DRIVER.CAN.VAR.CAN_2_MESSAGE_45_ID.VALUE=45 +DRIVER.CAN.VAR.CAN_2_MESSAGE_37_ID.VALUE=37 +DRIVER.CAN.VAR.CAN_2_MESSAGE_29_ID.VALUE=29 +DRIVER.CAN.VAR.CAN_1_MESSAGE_20_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_12_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_4_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_1_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_4_MESSAGE_63_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_63_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_55_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_55_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_47_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_47_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_39_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_39_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_PORT_TX_PULL.VALUE=2 +DRIVER.CAN.VAR.CAN_1_MESSAGE_41_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_41_DIR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_33_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_33_DIR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_25_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_25_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_17_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_17_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_10_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_62_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_54_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_46_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_38_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_2_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_21_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_13_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_8_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_NOMINAL_BIT_RATE.VALUE=500.000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_21_ID.VALUE=21 +DRIVER.CAN.VAR.CAN_4_MESSAGE_13_ID.VALUE=13 +DRIVER.CAN.VAR.CAN_3_MESSAGE_5_ID.VALUE=5 +DRIVER.CAN.VAR.CAN_2_MESSAGE_41_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_33_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_25_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_17_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_8_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_3_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_BRPE_FREQ.VALUE=4.000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_59_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_21_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_21_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_13_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_13_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_8_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_8_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_PORT_RX_DIN.VALUE=0 +DRIVER.CAN.VAR.CAN_4_MESSAGE_40_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_4_MESSAGE_32_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_4_MESSAGE_24_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_4_MESSAGE_16_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_4_MESSAGE_4_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_PROP_SEG.VALUE=3 +DRIVER.CAN.VAR.CAN_3_MESSAGE_8_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_58_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_31_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_23_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_15_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_RAM_PARITY_ENA.VALUE=0x0000000A +DRIVER.CAN.VAR.CAN_1_MESSAGE_10_BOOL_ENA.VALUE=1 +DRIVER.CAN.VAR.CAN_1_MESSAGE_1_ENA.VALUE=0x80000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_41_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_33_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_25_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_17_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_5_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_PORT_TX_PDR.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_62_ID.VALUE=62 +DRIVER.CAN.VAR.CAN_2_MESSAGE_59_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_54_ID.VALUE=54 +DRIVER.CAN.VAR.CAN_2_MESSAGE_46_ID.VALUE=46 +DRIVER.CAN.VAR.CAN_2_MESSAGE_38_ID.VALUE=38 +DRIVER.CAN.VAR.CAN_1_MESSAGE_11_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_64_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_4_MESSAGE_56_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_4_MESSAGE_48_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_NOMINAL_BIT_TIME.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_50_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_42_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_34_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_26_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_18_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_4_MESSAGE_4_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_4_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_PORT_RX_DIR.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_64_INT_ENA_REF.VALUE=0x00000001 +DRIVER.CAN.VAR.CAN_1_MESSAGE_56_INT_ENA_REF.VALUE=0x00000001 +DRIVER.CAN.VAR.CAN_1_MESSAGE_48_INT_ENA_REF.VALUE=0x00000001 +DRIVER.CAN.VAR.CAN_1_MESSAGE_1_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_1_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_59_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_58_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_61_MASK.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_59_BOOL_ENA.VALUE=1 +DRIVER.CAN.VAR.CAN_1_MESSAGE_53_MASK.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_45_MASK.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_37_MASK.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_29_MASK.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_TQ.VALUE=250.000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_30_ID.VALUE=30 +DRIVER.CAN.VAR.CAN_4_MESSAGE_22_ID.VALUE=22 +DRIVER.CAN.VAR.CAN_4_MESSAGE_14_ID.VALUE=14 +DRIVER.CAN.VAR.CAN_4_MESSAGE_2_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_63_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_55_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_47_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_39_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_11_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_6_ID.VALUE=6 +DRIVER.CAN.VAR.CAN_2_MESSAGE_30_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_22_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_14_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_9_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_59_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_64_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_56_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_48_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_62_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_54_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_46_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_38_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_61_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_53_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_45_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_37_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_29_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_3_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_50_ENA.VALUE=0x80000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_42_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_34_ENA.VALUE=0x80000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_26_ENA.VALUE=0x80000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_18_ENA.VALUE=0x80000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_51_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_43_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_35_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_27_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_19_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_63_ID.VALUE=63 +DRIVER.CAN.VAR.CAN_2_MESSAGE_55_ID.VALUE=55 +DRIVER.CAN.VAR.CAN_2_MESSAGE_47_ID.VALUE=47 +DRIVER.CAN.VAR.CAN_2_MESSAGE_39_ID.VALUE=39 +DRIVER.CAN.VAR.CAN_1_MESSAGE_21_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_13_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_5_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_10_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_2_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_4_MESSAGE_64_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_64_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_56_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_56_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_48_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_48_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_64_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_56_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_48_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_50_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_50_DIR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_42_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_42_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_34_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_34_DIR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_26_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_26_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_18_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_18_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_51_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_43_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_35_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_31_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_27_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_23_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_19_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_15_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_41_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_33_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_30_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_25_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_22_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_17_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_14_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_9_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_TQ.VALUE=250.000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_7_BOOL_ENA.VALUE=1 +DRIVER.CAN.VAR.CAN_1_BRPE.VALUE=0 +DRIVER.CAN.VAR.CAN_4_MESSAGE_31_ID.VALUE=31 +DRIVER.CAN.VAR.CAN_4_MESSAGE_23_ID.VALUE=23 +DRIVER.CAN.VAR.CAN_4_MESSAGE_15_ID.VALUE=15 +DRIVER.CAN.VAR.CAN_3_MESSAGE_7_ID.VALUE=7 +DRIVER.CAN.VAR.CAN_2_MESSAGE_4_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_BASE.VALUE=0xFFF7E000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_59_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_30_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_30_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_22_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_22_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_14_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_14_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_9_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_9_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_61_INT_ENA_REF.VALUE=0x00000001 +DRIVER.CAN.VAR.CAN_1_MESSAGE_53_INT_ENA_REF.VALUE=0x00000001 +DRIVER.CAN.VAR.CAN_1_MESSAGE_45_INT_ENA_REF.VALUE=0x00000001 +DRIVER.CAN.VAR.CAN_1_MESSAGE_37_INT_ENA_REF.VALUE=0x00000001 +DRIVER.CAN.VAR.CAN_1_MESSAGE_29_INT_ENA_REF.VALUE=0x00000001 +DRIVER.CAN.VAR.CAN_4_MESSAGE_50_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_4_MESSAGE_42_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_4_MESSAGE_34_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_4_MESSAGE_26_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_4_MESSAGE_18_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_4_MESSAGE_5_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_10_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_1_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_PORT_TX_PULDIS.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_64_INT_ENA.VALUE=0x00000400 +DRIVER.CAN.VAR.CAN_1_MESSAGE_56_INT_ENA.VALUE=0x00000400 +DRIVER.CAN.VAR.CAN_1_MESSAGE_48_INT_ENA.VALUE=0x00000400 +DRIVER.CAN.VAR.CAN_1_MESSAGE_20_MASK.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_12_MASK.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_2_ENA.VALUE=0x80000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_64_ID.VALUE=64 +DRIVER.CAN.VAR.CAN_2_MESSAGE_62_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_56_ID.VALUE=56 +DRIVER.CAN.VAR.CAN_2_MESSAGE_54_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_48_ID.VALUE=48 +DRIVER.CAN.VAR.CAN_2_MESSAGE_46_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_38_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_PORT_TX_DOUT.VALUE=0 +DRIVER.CAN.VAR.CAN_4_MESSAGE_57_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_4_MESSAGE_49_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_51_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_43_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_35_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_27_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_19_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_4_PORT_RX_FUN.VALUE=1 +DRIVER.CAN.VAR.CAN_4_MESSAGE_5_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_5_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_64_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_56_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_48_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_10_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_10_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_2_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_2_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_58_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_4_MESSAGE_8_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_4_MESSAGE_7_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_21_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_20_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_13_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_12_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_TQ.VALUE=250.000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_60_BOOL_ENA.VALUE=1 +DRIVER.CAN.VAR.CAN_1_MESSAGE_52_BOOL_ENA.VALUE=1 +DRIVER.CAN.VAR.CAN_1_MESSAGE_44_BOOL_ENA.VALUE=1 +DRIVER.CAN.VAR.CAN_1_MESSAGE_36_BOOL_ENA.VALUE=1 +DRIVER.CAN.VAR.CAN_1_MESSAGE_28_BOOL_ENA.VALUE=1 +DRIVER.CAN.VAR.CAN_1_MESSAGE_5_MASK.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_4_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_62_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_54_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_46_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_40_ID.VALUE=40 +DRIVER.CAN.VAR.CAN_4_MESSAGE_38_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_32_ID.VALUE=32 +DRIVER.CAN.VAR.CAN_4_MESSAGE_24_ID.VALUE=24 +DRIVER.CAN.VAR.CAN_4_MESSAGE_16_ID.VALUE=16 +DRIVER.CAN.VAR.CAN_3_MESSAGE_64_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_56_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_48_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_8_ID.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_40_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_32_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_24_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_16_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_10_ID.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_31_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_23_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_15_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_61_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_53_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_45_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_37_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_29_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_63_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_57_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_55_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_49_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_47_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_39_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_30_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_22_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_14_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_9_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_3_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_1_MESSAGE_51_ENA.VALUE=0x80000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_43_ENA.VALUE=0x80000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_41_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_35_ENA.VALUE=0x80000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_33_INT_ENA.VALUE=0x00000400 +DRIVER.CAN.VAR.CAN_1_MESSAGE_27_ENA.VALUE=0x80000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_25_INT_ENA.VALUE=0x00000800 +DRIVER.CAN.VAR.CAN_1_MESSAGE_19_ENA.VALUE=0x80000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_17_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_60_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_52_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_44_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_36_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_28_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_7_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_40_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_32_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_24_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_16_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_PORT_TX_PSL.VALUE=1 +DRIVER.CAN.VAR.CAN_2_MESSAGE_57_ID.VALUE=57 +DRIVER.CAN.VAR.CAN_2_MESSAGE_49_ID.VALUE=49 +DRIVER.CAN.VAR.CAN_1_MESSAGE_30_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_22_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_14_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_4_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_6_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_11_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_3_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_SAMPLE_POINT_REFERENCE.VALUE=87 +DRIVER.CAN.VAR.CAN_1_PROPAGATION_DELAY.VALUE=125 +DRIVER.CAN.VAR.CAN_4_MESSAGE_64_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_57_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_57_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_56_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_49_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_49_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_48_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_51_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_51_DIR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_50_INT_ENA_REF.VALUE=0x00000001 +DRIVER.CAN.VAR.CAN_1_MESSAGE_43_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_43_DIR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_42_INT_ENA_REF.VALUE=0x00000001 +DRIVER.CAN.VAR.CAN_1_MESSAGE_35_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_35_DIR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_34_INT_ENA_REF.VALUE=0x00000001 +DRIVER.CAN.VAR.CAN_1_MESSAGE_27_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_27_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_26_INT_ENA_REF.VALUE=0x00000001 +DRIVER.CAN.VAR.CAN_1_MESSAGE_19_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_19_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_18_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_3_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_4_TQ.VALUE=250.000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_1_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_31_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_23_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_15_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_PORT_RX_PDR.VALUE=0 +DRIVER.CAN.VAR.CAN_4_MESSAGE_41_ID.VALUE=41 +DRIVER.CAN.VAR.CAN_4_MESSAGE_33_ID.VALUE=33 +DRIVER.CAN.VAR.CAN_4_MESSAGE_25_ID.VALUE=25 +DRIVER.CAN.VAR.CAN_4_MESSAGE_17_ID.VALUE=17 +DRIVER.CAN.VAR.CAN_3_MESSAGE_9_ID.VALUE=9 +DRIVER.CAN.VAR.CAN_2_MESSAGE_10_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_10_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_5_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_1_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_11_ID.VALUE=0 +DRIVER.CAN.VAR.CAN_1_NOMINAL_BIT_TIME.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_61_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_53_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_45_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_37_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_29_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_31_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_31_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_23_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_23_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_15_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_15_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_PORT_RX_FUN.VALUE=1 +DRIVER.CAN.VAR.CAN_4_MESSAGE_40_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_32_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_24_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_16_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_6_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_57_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_49_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_11_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_8_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_ENABLE.VALUE=1 +DRIVER.CAN.VAR.CAN_2_MESSAGE_59_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_1_MESSAGE_10_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_3_ENA.VALUE=0x80000000 +DRIVER.CAN.VAR.CAN_1_PIN_MODE.VALUE=1 +DRIVER.CAN.VAR.CAN_4_MESSAGE_10_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_1_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_58_ID.VALUE=58 +DRIVER.CAN.VAR.CAN_4_MESSAGE_58_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_SAMPLE_POINT_REFERENCE.VALUE=75 +DRIVER.CAN.VAR.CAN_1_MESSAGE_60_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_52_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_44_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_36_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_28_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_4_MESSAGE_6_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_6_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_11_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_11_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_50_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_42_INT_ENA_REF.VALUE=0x00000001 +DRIVER.CAN.VAR.CAN_2_MESSAGE_34_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_26_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_18_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_3_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_3_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_51_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_4_MESSAGE_43_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_4_MESSAGE_35_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_4_MESSAGE_27_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_4_MESSAGE_19_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_61_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_53_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_45_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_37_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_29_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_PORT_RX_PULDIS.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_62_MASK.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_54_MASK.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_46_MASK.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_38_MASK.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_21_BOOL_ENA.VALUE=1 +DRIVER.CAN.VAR.CAN_1_MESSAGE_13_BOOL_ENA.VALUE=1 +DRIVER.CAN.VAR.CAN_4_MESSAGE_50_ID.VALUE=50 +DRIVER.CAN.VAR.CAN_4_MESSAGE_42_ID.VALUE=42 +DRIVER.CAN.VAR.CAN_4_MESSAGE_34_ID.VALUE=34 +DRIVER.CAN.VAR.CAN_4_MESSAGE_26_ID.VALUE=26 +DRIVER.CAN.VAR.CAN_4_MESSAGE_18_ID.VALUE=18 +DRIVER.CAN.VAR.CAN_3_MESSAGE_57_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_49_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_59_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_20_ID.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_12_ID.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_40_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_32_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_24_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_16_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_4_MESSAGE_61_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_53_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_45_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_37_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_29_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_AUTO_BUS_ON.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_31_INT_ENA_REF.VALUE=0x00000001 +DRIVER.CAN.VAR.CAN_1_MESSAGE_23_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_15_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_58_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_63_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_55_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_47_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_39_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_1_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_2_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_60_ENA.VALUE=0x80000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_52_ENA.VALUE=0x80000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_44_ENA.VALUE=0x80000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_36_ENA.VALUE=0x80000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_28_ENA.VALUE=0x80000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_61_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_59_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_53_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_45_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_37_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_29_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_59_ID.VALUE=59 +DRIVER.CAN.VAR.CAN_1_PORT_RX_PDR.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_61_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_53_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_45_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_37_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_31_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_29_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_23_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_15_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_7_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_20_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_12_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_SAMPLE_POINT_REFERENCE.VALUE=75 +DRIVER.CAN.VAR.CAN_1_MESSAGE_4_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_4_MESSAGE_58_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_58_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_50_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_42_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_34_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_26_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_18_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_60_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_60_DIR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_52_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_52_DIR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_44_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_44_DIR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_36_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_36_DIR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_28_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_28_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_8_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_SHIFT.VALUE=18 +DRIVER.CAN.VAR.CAN_2_MESSAGE_64_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_56_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_50_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_48_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_42_MASK.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_40_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_34_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_32_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_30_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_26_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_24_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_22_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_18_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_16_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_14_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_9_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_BRPE.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_4_MESSAGE_51_ID.VALUE=51 +DRIVER.CAN.VAR.CAN_4_MESSAGE_43_ID.VALUE=43 +DRIVER.CAN.VAR.CAN_4_MESSAGE_35_ID.VALUE=35 +DRIVER.CAN.VAR.CAN_4_MESSAGE_27_ID.VALUE=27 +DRIVER.CAN.VAR.CAN_4_MESSAGE_19_ID.VALUE=19 +DRIVER.CAN.VAR.CAN_3_MESSAGE_61_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_53_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_45_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_37_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_29_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_11_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_6_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_21_ID.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_13_ID.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_9_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_BASE.VALUE=0xFFF7E200 +DRIVER.CAN.VAR.CAN_2_MESSAGE_40_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_40_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_32_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_32_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_31_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_24_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_24_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_23_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_16_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_16_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_15_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_8_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_51_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_4_MESSAGE_43_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_4_MESSAGE_35_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_4_MESSAGE_27_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_4_MESSAGE_19_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_4_MESSAGE_7_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_57_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_50_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_49_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_42_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_34_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_26_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_20_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_18_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_12_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_21_MASK.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_13_MASK.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_4_ENA.VALUE=0x80000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_2_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_31_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_23_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_15_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_6_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_59_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_4_SAMPLE_POINT_REFERENCE.VALUE=75 +DRIVER.CAN.VAR.CAN_1_MESSAGE_61_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_53_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_45_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_37_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_29_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_BRPE_FREQ.VALUE=4.000 +DRIVER.CAN.VAR.CAN_1_BRP_FREQ.VALUE=4.000 +DRIVER.CAN.VAR.CAN_4_PORT_TX_DIN.VALUE=0 +DRIVER.CAN.VAR.CAN_4_MESSAGE_50_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_42_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_34_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_26_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_18_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_7_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_7_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_20_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_20_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_12_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_12_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_8_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_20_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_12_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_4_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_4_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_20_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_4_MESSAGE_12_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_4_MESSAGE_9_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_30_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_22_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_14_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_4_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_2_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_6_MASK.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_PORT_RX_PSL.VALUE=1 +DRIVER.CAN.VAR.CAN_4_MESSAGE_60_ID.VALUE=60 +DRIVER.CAN.VAR.CAN_4_MESSAGE_52_ID.VALUE=52 +DRIVER.CAN.VAR.CAN_4_MESSAGE_44_ID.VALUE=44 +DRIVER.CAN.VAR.CAN_4_MESSAGE_36_ID.VALUE=36 +DRIVER.CAN.VAR.CAN_4_MESSAGE_31_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_28_ID.VALUE=28 +DRIVER.CAN.VAR.CAN_4_MESSAGE_23_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_15_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_58_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_3_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_30_ID.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_22_ID.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_14_ID.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_41_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_33_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_25_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_17_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_4_PORT_TX_DIR.VALUE=0 +DRIVER.CAN.VAR.CAN_4_MESSAGE_8_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_31_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_23_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_15_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_5_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_59_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_50_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_42_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_34_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_26_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_18_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_4_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_1_MESSAGE_63_BOOL_ENA.VALUE=1 +DRIVER.CAN.VAR.CAN_1_MESSAGE_61_ENA.VALUE=0x80000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_55_BOOL_ENA.VALUE=1 +DRIVER.CAN.VAR.CAN_1_MESSAGE_53_ENA.VALUE=0x80000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_47_BOOL_ENA.VALUE=1 +DRIVER.CAN.VAR.CAN_1_MESSAGE_45_ENA.VALUE=0x80000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_39_BOOL_ENA.VALUE=1 +DRIVER.CAN.VAR.CAN_1_MESSAGE_37_ENA.VALUE=0x80000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_29_ENA.VALUE=0x80000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_62_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_54_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_46_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_38_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_1_ID.VALUE=1 +DRIVER.CAN.VAR.CAN_1_MESSAGE_40_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_32_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_24_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_16_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_8_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_21_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_13_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_5_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_4_MESSAGE_59_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_59_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_20_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_12_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_5_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_61_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_61_DIR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_53_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_53_DIR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_45_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_45_DIR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_37_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_37_DIR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_29_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_29_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_10_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_2_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_BAUDRATE.VALUE=500 +DRIVER.CAN.VAR.CAN_2_MESSAGE_41_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_41_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_33_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_33_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_25_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_25_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_17_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_17_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_63_INT_ENA.VALUE=0x00000400 +DRIVER.CAN.VAR.CAN_1_MESSAGE_55_INT_ENA.VALUE=0x00000400 +DRIVER.CAN.VAR.CAN_1_MESSAGE_47_INT_ENA.VALUE=0x00000400 +DRIVER.CAN.VAR.CAN_1_MESSAGE_39_INT_ENA.VALUE=0x00000400 +DRIVER.CAN.VAR.CAN_4_MESSAGE_61_ID.VALUE=61 +DRIVER.CAN.VAR.CAN_4_MESSAGE_53_ID.VALUE=53 +DRIVER.CAN.VAR.CAN_4_MESSAGE_45_ID.VALUE=45 +DRIVER.CAN.VAR.CAN_4_MESSAGE_37_ID.VALUE=37 +DRIVER.CAN.VAR.CAN_4_MESSAGE_29_ID.VALUE=29 +DRIVER.CAN.VAR.CAN_2_MESSAGE_20_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_12_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_7_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_58_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_31_ID.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_23_ID.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_15_ID.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_1_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_4_MESSAGE_31_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_23_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_15_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_5_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_41_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_41_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_33_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_33_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_25_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_25_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_17_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_17_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_PORT_TX_DIN.VALUE=0 +DRIVER.CAN.VAR.CAN_4_MESSAGE_8_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_6_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_6_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_21_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_13_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_11_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_11_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_5_ENA.VALUE=0x80000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_3_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_3_BOOL_ENA.VALUE=1 +DRIVER.CAN.VAR.CAN_4_MESSAGE_3_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_2_ID.VALUE=2 +DRIVER.CAN.VAR.CAN_3_MESSAGE_58_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_PORT_RX_PSL.VALUE=1 +DRIVER.CAN.VAR.CAN_4_AUTO_BUS_ON_TIME.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_62_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_54_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_46_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_38_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_4_MESSAGE_8_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_8_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_5_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_AUTO_RETRANSMISSION.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_21_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_21_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_20_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_13_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_13_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_12_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_SAMPLE_POINT.VALUE=75.000 +DRIVER.CAN.VAR.CAN_1_PORT_TX_DIR.VALUE=1 +DRIVER.CAN.VAR.CAN_1_MESSAGE_5_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_5_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_2_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_62_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_54_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_46_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_38_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_PIN_MODE.VALUE=1 +DRIVER.CAN.VAR.CAN_3_MESSAGE_1_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_RAM_PARITY_ENA.VALUE=0x00000005 +DRIVER.CAN.VAR.CAN_3_PHASE_SEG.VALUE=2 +DRIVER.CAN.VAR.CAN_1_MESSAGE_63_MASK.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_55_MASK.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_47_MASK.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_40_INT_ENA.VALUE=0x00000400 +DRIVER.CAN.VAR.CAN_1_MESSAGE_39_MASK.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_32_INT_ENA.VALUE=0x00000800 +DRIVER.CAN.VAR.CAN_1_MESSAGE_24_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_16_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_62_ID.VALUE=62 +DRIVER.CAN.VAR.CAN_4_MESSAGE_54_ID.VALUE=54 +DRIVER.CAN.VAR.CAN_4_MESSAGE_46_ID.VALUE=46 +DRIVER.CAN.VAR.CAN_4_MESSAGE_38_ID.VALUE=38 +DRIVER.CAN.VAR.CAN_3_MESSAGE_59_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_60_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_52_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_44_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_36_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_28_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_40_ID.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_32_ID.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_24_ID.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_16_ID.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_50_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_42_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_34_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_26_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_18_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_1_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_1_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_2_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_62_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_4_MESSAGE_54_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_4_MESSAGE_46_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_4_MESSAGE_38_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_64_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_56_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_48_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_59_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_62_ENA.VALUE=0x80000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_54_ENA.VALUE=0x80000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_46_ENA.VALUE=0x80000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_40_BOOL_ENA.VALUE=1 +DRIVER.CAN.VAR.CAN_1_MESSAGE_38_ENA.VALUE=0x80000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_32_BOOL_ENA.VALUE=1 +DRIVER.CAN.VAR.CAN_1_MESSAGE_24_BOOL_ENA.VALUE=1 +DRIVER.CAN.VAR.CAN_1_MESSAGE_16_BOOL_ENA.VALUE=1 +DRIVER.CAN.VAR.CAN_4_MESSAGE_63_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_60_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_55_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_52_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_47_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_44_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_39_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_36_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_28_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_3_ID.VALUE=3 +DRIVER.CAN.VAR.CAN_3_PORT_RX_DOUT.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_8_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_41_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_33_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_30_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_25_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_22_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_17_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_14_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_9_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_30_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_22_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_14_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_6_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_4_MESSAGE_20_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_12_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_2_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_PORT_RX_PULL.VALUE=2 +DRIVER.CAN.VAR.CAN_1_MESSAGE_62_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_62_DIR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_54_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_54_DIR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_46_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_46_DIR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_38_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_38_DIR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_31_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_23_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_15_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_7_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_BRPE.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_51_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_50_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_43_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_42_ENA.VALUE=0x80000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_35_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_34_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_27_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_26_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_19_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_18_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_10_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_5_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_4_MESSAGE_63_ID.VALUE=63 +DRIVER.CAN.VAR.CAN_4_MESSAGE_55_ID.VALUE=55 +DRIVER.CAN.VAR.CAN_4_MESSAGE_47_ID.VALUE=47 +DRIVER.CAN.VAR.CAN_4_MESSAGE_39_ID.VALUE=39 +DRIVER.CAN.VAR.CAN_4_MESSAGE_5_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_30_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_22_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_14_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_21_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_13_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_8_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_41_ID.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_33_ID.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_25_ID.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_17_ID.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_2_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_10_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_2_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_4_MESSAGE_2_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_50_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_50_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_42_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_42_DIR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_34_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_34_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_26_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_26_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_18_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_18_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_60_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_4_MESSAGE_52_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_4_MESSAGE_44_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_4_MESSAGE_36_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_4_MESSAGE_28_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_4_MESSAGE_9_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_30_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_22_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_14_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_60_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_59_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_52_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_44_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_36_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_28_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_30_MASK.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_22_MASK.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_14_MASK.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_6_ENA.VALUE=0x80000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_4_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_4_ID.VALUE=4 +DRIVER.CAN.VAR.CAN_1_MESSAGE_1_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_1_ID.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_63_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_55_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_47_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_39_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_4_PORT_TX_FUN.VALUE=1 +DRIVER.CAN.VAR.CAN_4_MESSAGE_9_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_9_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_30_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_30_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_22_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_22_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_14_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_14_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_6_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_6_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_10_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_PORT_TX_PULDIS.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_61_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_53_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_45_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_37_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_31_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_29_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_23_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_15_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_2_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_7_MASK.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_64_ID.VALUE=64 +DRIVER.CAN.VAR.CAN_4_MESSAGE_56_ID.VALUE=56 +DRIVER.CAN.VAR.CAN_4_MESSAGE_48_ID.VALUE=48 +DRIVER.CAN.VAR.CAN_1_MESSAGE_50_ID.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_42_ID.VALUE=42 +DRIVER.CAN.VAR.CAN_1_MESSAGE_34_ID.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_26_ID.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_18_ID.VALUE=0 +DRIVER.CAN.VAR.CAN_4_BRP_FREQ.VALUE=4.000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_51_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_43_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_35_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_27_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_19_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_4_PORT_TX_PULL.VALUE=2 +DRIVER.CAN.VAR.CAN_4_MESSAGE_10_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_10_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_2_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_2_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_BRP.VALUE=24 +DRIVER.CAN.VAR.CAN_4_MESSAGE_31_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_4_MESSAGE_23_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_4_MESSAGE_15_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_7_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_PROP_SEG.VALUE=3 +DRIVER.CAN.VAR.CAN_2_MESSAGE_21_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_13_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_10_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_8_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_5_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_1_MESSAGE_63_ENA.VALUE=0x80000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_55_ENA.VALUE=0x80000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_47_ENA.VALUE=0x80000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_39_ENA.VALUE=0x80000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_64_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_56_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_48_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_5_ID.VALUE=5 +DRIVER.CAN.VAR.CAN_3_MESSAGE_10_ID.VALUE=10 +DRIVER.CAN.VAR.CAN_2_MESSAGE_57_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_49_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_50_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_42_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_34_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_26_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_18_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_2_ID.VALUE=0 +DRIVER.CAN.VAR.CAN_1_AUTO_BUS_ON_TR.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_31_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_23_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_15_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_7_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_PORT_RX_DIN.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_63_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_63_DIR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_55_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_55_DIR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_47_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_47_DIR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_39_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_39_DIR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_11_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_64_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_56_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_48_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_3_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_51_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_43_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_35_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_27_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_19_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_58_BOOL_ENA.VALUE=1 +DRIVER.CAN.VAR.CAN_4_PORT_TX_PDR.VALUE=0 +DRIVER.CAN.VAR.CAN_4_MESSAGE_57_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_57_ID.VALUE=57 +DRIVER.CAN.VAR.CAN_4_MESSAGE_49_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_49_ID.VALUE=49 +DRIVER.CAN.VAR.CAN_2_MESSAGE_30_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_22_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_14_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_9_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_51_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_51_ID.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_43_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_43_ID.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_35_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_35_ID.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_27_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_27_ID.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_19_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_19_ID.VALUE=0 +DRIVER.CAN.VAR.CAN_4_MESSAGE_11_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_3_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_AUTO_BUS_ON_TIME.VALUE=0 +DRIVER.CAN.VAR.CAN_3_PORT_RX_DIR.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_51_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_51_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_43_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_43_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_35_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_35_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_27_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_27_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_19_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_19_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_PORT_TX_FUN.VALUE=1 +DRIVER.CAN.VAR.CAN_1_MESSAGE_58_INT_ENA_REF.VALUE=0x00000001 +DRIVER.CAN.VAR.CAN_4_MESSAGE_1_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_31_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_23_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_15_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_60_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_52_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_44_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_36_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_28_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_1_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_7_ENA.VALUE=0x80000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_6_ID.VALUE=6 +DRIVER.CAN.VAR.CAN_4_MESSAGE_5_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_51_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_43_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_35_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_27_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_19_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_11_ID.VALUE=11 +DRIVER.CAN.VAR.CAN_3_MESSAGE_10_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_7_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_3_ID.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_2_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_64_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_56_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_48_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_31_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_31_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_23_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_23_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_15_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_15_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_7_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_7_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_11_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_9_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_41_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_33_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_30_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_25_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_22_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_17_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_14_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_3_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_64_MASK.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_56_MASK.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_48_MASK.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_9_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_6_BOOL_ENA.VALUE=1 +DRIVER.CAN.VAR.CAN_4_MESSAGE_58_ID.VALUE=58 +DRIVER.CAN.VAR.CAN_2_MESSAGE_21_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_13_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_4_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_60_ID.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_52_ID.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_44_ID.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_36_ID.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_28_ID.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_60_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_52_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_44_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_36_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_28_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_4_MESSAGE_11_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_11_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_3_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_3_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_58_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_BRP.VALUE=24 +DRIVER.CAN.VAR.CAN_3_MESSAGE_57_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_49_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_PORT_RX_PULDIS.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_64_ENA.VALUE=0x80000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_62_INT_ENA.VALUE=0x00000400 +DRIVER.CAN.VAR.CAN_1_MESSAGE_56_ENA.VALUE=0x80000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_54_INT_ENA.VALUE=0x00000400 +DRIVER.CAN.VAR.CAN_1_MESSAGE_48_ENA.VALUE=0x80000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_46_INT_ENA.VALUE=0x00000400 +DRIVER.CAN.VAR.CAN_1_MESSAGE_38_INT_ENA.VALUE=0x00000400 +DRIVER.CAN.VAR.CAN_4_MESSAGE_57_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_49_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_21_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_13_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_7_ID.VALUE=7 +DRIVER.CAN.VAR.CAN_3_MESSAGE_20_ID.VALUE=20 +DRIVER.CAN.VAR.CAN_3_MESSAGE_12_ID.VALUE=12 +DRIVER.CAN.VAR.CAN_3_MESSAGE_1_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_PORT_TX_PDR.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_51_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_43_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_35_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_27_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_19_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_4_ID.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_40_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_32_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_24_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_16_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_8_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_NOMINAL_AUTO_BUS_ON_TIME.VALUE=0.000 +DRIVER.CAN.VAR.CAN_2_SHIFT.VALUE=18 +DRIVER.CAN.VAR.CAN_1_MESSAGE_64_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_64_DIR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_63_INT_ENA_REF.VALUE=0x00000001 +DRIVER.CAN.VAR.CAN_1_MESSAGE_56_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_56_DIR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_55_INT_ENA_REF.VALUE=0x00000001 +DRIVER.CAN.VAR.CAN_1_MESSAGE_48_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_48_DIR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_47_INT_ENA_REF.VALUE=0x00000001 +DRIVER.CAN.VAR.CAN_1_MESSAGE_39_INT_ENA_REF.VALUE=0x00000001 +DRIVER.CAN.VAR.CAN_4_MESSAGE_57_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_4_MESSAGE_49_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_4_MESSAGE_5_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_BRPE.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_10_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MASK.VALUE=0x1FFFFFFF +DRIVER.CAN.VAR.CAN_2_MESSAGE_60_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_60_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_52_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_52_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_44_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_44_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_36_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_36_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_28_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_28_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_1_MESSAGE_51_BOOL_ENA.VALUE=1 +DRIVER.CAN.VAR.CAN_1_MESSAGE_43_BOOL_ENA.VALUE=1 +DRIVER.CAN.VAR.CAN_1_MESSAGE_35_BOOL_ENA.VALUE=1 +DRIVER.CAN.VAR.CAN_1_MESSAGE_27_BOOL_ENA.VALUE=1 +DRIVER.CAN.VAR.CAN_1_MESSAGE_19_BOOL_ENA.VALUE=1 +DRIVER.CAN.VAR.CAN_1_MESSAGE_2_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_59_ID.VALUE=59 +DRIVER.CAN.VAR.CAN_2_PORT_TX_DOUT.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_31_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_23_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_15_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_61_ID.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_53_ID.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_45_ID.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_37_ID.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_29_ID.VALUE=0 +DRIVER.CAN.VAR.CAN_4_MESSAGE_20_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_4_MESSAGE_12_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_4_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_58_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_60_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_60_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_52_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_52_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_44_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_44_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_36_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_36_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_28_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_28_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_PORT_TX_PULL.VALUE=2 +DRIVER.CAN.VAR.CAN_4_MESSAGE_61_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_61_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_4_MESSAGE_53_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_53_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_4_MESSAGE_45_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_45_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_4_MESSAGE_37_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_37_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_4_MESSAGE_29_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_29_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_40_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_32_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_24_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_16_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_21_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_13_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_8_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_31_INT_ENA.VALUE=0x00000800 +DRIVER.CAN.VAR.CAN_1_MESSAGE_31_MASK.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_23_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_23_MASK.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_15_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_15_MASK.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_8_ENA.VALUE=0x80000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_8_ID.VALUE=8 +DRIVER.CAN.VAR.CAN_4_MESSAGE_6_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_21_ID.VALUE=21 +DRIVER.CAN.VAR.CAN_3_MESSAGE_13_ID.VALUE=13 +DRIVER.CAN.VAR.CAN_3_MESSAGE_11_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_64_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_56_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_48_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_5_ID.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_3_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_57_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_49_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_40_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_40_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_32_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_32_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_24_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_24_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_16_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_16_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_63_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_55_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_47_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_39_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_8_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_8_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_20_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_12_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_2_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_40_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_32_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_24_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_16_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_4_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_58_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_8_MASK.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_PORT_TX_PSL.VALUE=1 +DRIVER.CAN.VAR.CAN_3_MESSAGE_64_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_56_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_48_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_62_ID.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_54_ID.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_46_ID.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_38_ID.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_61_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_53_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_45_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_37_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_29_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_4_MESSAGE_58_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_20_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_20_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_12_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_12_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_4_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_4_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_BRP.VALUE=24 +DRIVER.CAN.VAR.CAN_1_MESSAGE_60_INT_ENA_REF.VALUE=0x00000001 +DRIVER.CAN.VAR.CAN_1_MESSAGE_52_INT_ENA_REF.VALUE=0x00000001 +DRIVER.CAN.VAR.CAN_1_MESSAGE_44_INT_ENA_REF.VALUE=0x00000001 +DRIVER.CAN.VAR.CAN_1_MESSAGE_36_INT_ENA_REF.VALUE=0x00000001 +DRIVER.CAN.VAR.CAN_1_MESSAGE_28_INT_ENA_REF.VALUE=0x00000001 +DRIVER.CAN.VAR.CAN_4_MESSAGE_30_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_22_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_14_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_64_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_56_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_48_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_6_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_IDENTIFIER_MODE.VALUE=0x40000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_11_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_6_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_1_MESSAGE_57_ENA.VALUE=0x80000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_49_ENA.VALUE=0x80000000 +DRIVER.CAN.VAR.CAN_1_PHASE_SEG.VALUE=3 +DRIVER.CAN.VAR.CAN_4_MESSAGE_58_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_9_ID.VALUE=9 +DRIVER.CAN.VAR.CAN_3_MESSAGE_30_ID.VALUE=30 +DRIVER.CAN.VAR.CAN_3_MESSAGE_22_ID.VALUE=22 +DRIVER.CAN.VAR.CAN_3_MESSAGE_14_ID.VALUE=14 +DRIVER.CAN.VAR.CAN_2_MESSAGE_50_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_42_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_34_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_26_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_18_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_9_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_60_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_52_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_44_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_36_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_28_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_6_ID.VALUE=0 +DRIVER.CAN.VAR.CAN_4_BRPE_FREQ.VALUE=4.000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_41_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_33_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_25_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_17_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_AUTO_BUS_ON_TIME.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_9_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_PORT_RX_FUN.VALUE=1 +DRIVER.CAN.VAR.CAN_3_MESSAGE_63_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_55_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_47_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_39_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_57_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_57_DIR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_49_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_49_DIR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_50_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_4_MESSAGE_42_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_4_MESSAGE_34_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_4_MESSAGE_26_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_4_MESSAGE_20_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_4_MESSAGE_18_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_4_MESSAGE_12_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_4_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_61_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_53_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_51_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_45_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_43_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_37_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_35_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_29_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_27_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_19_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_20_BOOL_ENA.VALUE=1 +DRIVER.CAN.VAR.CAN_1_MESSAGE_12_BOOL_ENA.VALUE=1 +DRIVER.CAN.VAR.CAN_4_MESSAGE_50_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_42_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_34_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_26_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_18_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_6_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_40_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_32_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_24_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_16_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_63_ID.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_55_ID.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_47_ID.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_39_ID.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_20_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_12_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_21_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_4_MESSAGE_13_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_5_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_61_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_61_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_60_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_53_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_53_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_52_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_45_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_45_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_44_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_37_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_37_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_36_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_29_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_29_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_28_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_2_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_41_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_33_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_25_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_17_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_1_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_9_ENA.VALUE=0x80000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_7_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_3_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_31_ID.VALUE=31 +DRIVER.CAN.VAR.CAN_3_MESSAGE_23_ID.VALUE=23 +DRIVER.CAN.VAR.CAN_3_MESSAGE_20_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_20_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_15_ID.VALUE=15 +DRIVER.CAN.VAR.CAN_3_MESSAGE_12_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_12_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_PORT_TX_PSL.VALUE=1 +DRIVER.CAN.VAR.CAN_1_MESSAGE_7_ID.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_4_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_58_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_4_MESSAGE_63_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_55_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_47_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_39_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_41_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_41_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_33_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_33_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_25_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_25_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_17_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_17_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_41_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_33_INT_ENA_REF.VALUE=0x00000001 +DRIVER.CAN.VAR.CAN_1_MESSAGE_25_INT_ENA_REF.VALUE=0x00000001 +DRIVER.CAN.VAR.CAN_1_MESSAGE_17_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_9_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_9_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_21_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_13_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_5_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_63_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_55_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_47_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_39_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_20_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_12_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_7_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_57_MASK.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_49_MASK.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_PORT_RX_PDR.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_64_ID.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_56_ID.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_48_ID.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_62_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_54_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_46_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_38_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_4_MESSAGE_21_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_21_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_13_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_13_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_4_BRP.VALUE=24 +DRIVER.CAN.VAR.CAN_3_MESSAGE_60_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_52_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_44_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_36_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_28_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_5_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_5_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_4_RAM_PARITY_ENA.VALUE=0x00000005 +DRIVER.CAN.VAR.CAN_3_MESSAGE_63_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_58_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_55_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_47_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_41_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_39_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_33_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_25_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_17_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_58_ENA.VALUE=0x80000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_9_BOOL_ENA.VALUE=1 +DRIVER.CAN.VAR.CAN_4_MESSAGE_59_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_40_ID.VALUE=40 +DRIVER.CAN.VAR.CAN_3_MESSAGE_32_ID.VALUE=32 +DRIVER.CAN.VAR.CAN_3_MESSAGE_24_ID.VALUE=24 +DRIVER.CAN.VAR.CAN_3_MESSAGE_16_ID.VALUE=16 +DRIVER.CAN.VAR.CAN_1_MESSAGE_61_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_53_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_45_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_37_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_29_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_8_ID.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_50_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_42_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_34_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_26_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_18_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_NOMINAL_AUTO_BUS_ON_TIME.VALUE=0.000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_41_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_33_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_25_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_17_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_58_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_58_DIR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_AUTO_RETRANSMISSION.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_11_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_4_MASK.VALUE=0x1FFFFFFF +DRIVER.CAN.VAR.CAN_3_MESSAGE_3_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_62_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_61_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_54_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_53_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_46_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_45_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_38_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_37_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_29_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_63_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_55_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_47_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_41_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_39_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_33_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_25_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_17_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_57_ID.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_49_ID.VALUE=0 +DRIVER.CAN.VAR.CAN_4_MESSAGE_30_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_4_MESSAGE_22_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_4_MESSAGE_14_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_6_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_4_MESSAGE_60_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_52_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_44_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_36_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_28_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_62_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_62_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_54_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_54_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_46_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_46_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_38_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_38_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_AUTO_BUS_ON.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_30_INT_ENA_REF.VALUE=0x00000001 +DRIVER.CAN.VAR.CAN_1_MESSAGE_22_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_14_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_62_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_4_MESSAGE_54_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_4_MESSAGE_46_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_4_MESSAGE_38_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_50_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_42_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_40_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_34_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_32_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_26_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_24_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_18_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_16_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_62_BOOL_ENA.VALUE=1 +DRIVER.CAN.VAR.CAN_1_MESSAGE_54_BOOL_ENA.VALUE=1 +DRIVER.CAN.VAR.CAN_1_MESSAGE_46_BOOL_ENA.VALUE=1 +DRIVER.CAN.VAR.CAN_1_MESSAGE_40_MASK.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_38_BOOL_ENA.VALUE=1 +DRIVER.CAN.VAR.CAN_1_MESSAGE_32_MASK.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_24_MASK.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_16_MASK.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_8_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_63_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_55_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_47_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_39_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_8_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_41_ID.VALUE=41 +DRIVER.CAN.VAR.CAN_3_MESSAGE_33_ID.VALUE=33 +DRIVER.CAN.VAR.CAN_3_MESSAGE_25_ID.VALUE=25 +DRIVER.CAN.VAR.CAN_3_MESSAGE_21_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_17_ID.VALUE=17 +DRIVER.CAN.VAR.CAN_3_MESSAGE_13_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_41_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_33_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_25_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_17_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_9_ID.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_5_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_59_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_SJW.VALUE=3 +DRIVER.CAN.VAR.CAN_3_MESSAGE_50_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_50_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_42_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_42_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_41_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_34_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_34_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_33_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_26_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_26_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_25_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_18_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_18_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_17_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_7_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_59_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_30_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_22_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_14_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_41_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_33_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_25_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_17_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_6_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_40_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_32_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_24_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_16_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_BAUDRATE.VALUE=500 +DRIVER.CAN.VAR.CAN_1_MESSAGE_61_INT_ENA.VALUE=0x00000400 +DRIVER.CAN.VAR.CAN_1_MESSAGE_53_INT_ENA.VALUE=0x00000400 +DRIVER.CAN.VAR.CAN_1_MESSAGE_45_INT_ENA.VALUE=0x00000400 +DRIVER.CAN.VAR.CAN_1_MESSAGE_37_INT_ENA.VALUE=0x00000400 +DRIVER.CAN.VAR.CAN_1_MESSAGE_29_INT_ENA.VALUE=0x00000800 +DRIVER.CAN.VAR.CAN_1_MESSAGE_9_MASK.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_IDENTIFIER_MODE.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_8_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_41_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_33_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_25_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_17_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_1_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_58_ID.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_5_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_RAMBASE.VALUE=0xFF180000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_63_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_55_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_47_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_39_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_AUTO_BUS_ON_TIME.VALUE=0 +DRIVER.CAN.VAR.CAN_4_MESSAGE_30_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_30_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_22_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_22_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_14_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_14_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_6_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_6_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_30_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_22_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_14_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_7_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_PORT_TX_PULDIS.VALUE=0 +DRIVER.CAN.VAR.CAN_4_MESSAGE_5_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_4_MESSAGE_4_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_10_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_20_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_12_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_7_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_1_MESSAGE_59_ENA.VALUE=0x80000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_2_BOOL_ENA.VALUE=1 +DRIVER.CAN.VAR.CAN_1_MESSAGE_1_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_50_ID.VALUE=50 +DRIVER.CAN.VAR.CAN_3_MESSAGE_42_ID.VALUE=42 +DRIVER.CAN.VAR.CAN_3_MESSAGE_34_ID.VALUE=34 +DRIVER.CAN.VAR.CAN_3_MESSAGE_26_ID.VALUE=26 +DRIVER.CAN.VAR.CAN_3_MESSAGE_18_ID.VALUE=18 +DRIVER.CAN.VAR.CAN_2_MESSAGE_11_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_2_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_62_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_54_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_46_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_38_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_51_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_43_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_35_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_27_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_19_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_4_MESSAGE_41_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_33_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_25_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_17_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_PORT_TX_DIN.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_7_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_59_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_59_DIR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_11_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_60_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_52_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_44_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_36_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_28_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_21_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_4_MESSAGE_13_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_59_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_5_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_PIN_MODE.VALUE=1 +DRIVER.CAN.VAR.CAN_2_MESSAGE_63_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_55_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_47_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_39_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_30_INT_ENA.VALUE=0x00000800 +DRIVER.CAN.VAR.CAN_1_MESSAGE_22_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_14_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_11_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_PORT_RX_PSL.VALUE=1 +DRIVER.CAN.VAR.CAN_2_MESSAGE_50_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_42_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_34_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_26_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_18_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_AUTO_BUS_ON_TR.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_59_ID.VALUE=0 +DRIVER.CAN.VAR.CAN_4_MESSAGE_31_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_4_MESSAGE_23_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_4_MESSAGE_15_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_4_PROPAGATION_DELAY.VALUE=700 +DRIVER.CAN.VAR.CAN_3_MESSAGE_7_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_4_MESSAGE_7_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_SAMPLE_POINT.VALUE=75.000 +DRIVER.CAN.VAR.CAN_3_PORT_TX_DIR.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_30_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_22_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_14_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_63_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_63_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_55_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_55_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_47_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_47_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_39_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_39_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_4_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_61_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_4_MESSAGE_53_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_4_MESSAGE_45_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_4_MESSAGE_37_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_4_MESSAGE_29_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_4_MESSAGE_3_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_4_ENABLE.VALUE=1 +DRIVER.CAN.VAR.CAN_3_MESSAGE_51_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_43_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_35_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_27_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_19_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_57_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_49_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_31_BOOL_ENA.VALUE=1 +DRIVER.CAN.VAR.CAN_1_MESSAGE_23_BOOL_ENA.VALUE=1 +DRIVER.CAN.VAR.CAN_1_MESSAGE_15_BOOL_ENA.VALUE=1 +DRIVER.CAN.VAR.CAN_4_MESSAGE_9_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_51_ID.VALUE=51 +DRIVER.CAN.VAR.CAN_3_MESSAGE_43_ID.VALUE=43 +DRIVER.CAN.VAR.CAN_3_MESSAGE_35_ID.VALUE=35 +DRIVER.CAN.VAR.CAN_3_MESSAGE_30_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_27_ID.VALUE=27 +DRIVER.CAN.VAR.CAN_3_MESSAGE_22_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_19_ID.VALUE=19 +DRIVER.CAN.VAR.CAN_3_MESSAGE_14_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_6_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_SJW.VALUE=2 +DRIVER.CAN.VAR.CAN_3_MESSAGE_51_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_51_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_43_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_43_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_35_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_35_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_27_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_27_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_19_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_19_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_11_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_4_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_31_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_23_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_21_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_15_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_13_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_7_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_5_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_4_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_58_MASK.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_PORT_RX_DOUT.VALUE=0 +DRIVER.CAN.VAR.CAN_4_MESSAGE_10_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_2_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_62_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_54_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_46_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_38_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_64_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_56_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_48_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_4_MESSAGE_31_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_31_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_30_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_23_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_23_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_22_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_15_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_15_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_14_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_PORT_RX_PULL.VALUE=1 +DRIVER.CAN.VAR.CAN_3_MESSAGE_7_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_7_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_4_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_59_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_58_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_50_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_42_INT_ENA.VALUE=0x00000400 +DRIVER.CAN.VAR.CAN_2_MESSAGE_34_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_26_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_18_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_62_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_60_ID.VALUE=60 +DRIVER.CAN.VAR.CAN_3_MESSAGE_54_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_52_ID.VALUE=52 +DRIVER.CAN.VAR.CAN_3_MESSAGE_46_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_44_ID.VALUE=44 +DRIVER.CAN.VAR.CAN_3_MESSAGE_38_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_36_ID.VALUE=36 +DRIVER.CAN.VAR.CAN_3_MESSAGE_28_ID.VALUE=28 +DRIVER.CAN.VAR.CAN_1_MESSAGE_63_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_55_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_47_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_39_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_60_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_52_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_44_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_36_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_28_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_NOMINAL_AUTO_BUS_ON_TIME.VALUE=0.000 +DRIVER.CAN.VAR.CAN_1_SYNC.VALUE=1 +DRIVER.CAN.VAR.CAN_4_MESSAGE_4_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_11_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_SHIFT.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_1_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_PORT_RX_PULDIS.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_60_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_52_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_44_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_36_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_28_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_64_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_62_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_56_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_54_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_48_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_46_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_38_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_51_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_43_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_40_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_35_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_32_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_27_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_24_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_19_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_16_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_7_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_1_ID.VALUE=1 +DRIVER.CAN.VAR.CAN_4_MESSAGE_40_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_4_MESSAGE_32_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_4_MESSAGE_24_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_4_MESSAGE_16_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_8_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_BRP_FREQ.VALUE=4.000 +DRIVER.CAN.VAR.CAN_2_BRPE_FREQ.VALUE=4.000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_10_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_64_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_64_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_56_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_56_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_48_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_48_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_1_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_63_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_4_MESSAGE_55_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_4_MESSAGE_47_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_4_MESSAGE_39_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_4_MESSAGE_30_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_4_MESSAGE_22_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_4_MESSAGE_14_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_60_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_52_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_44_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_36_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_28_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_6_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_11_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_6_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_PROP_SEG.VALUE=3 +DRIVER.CAN.VAR.CAN_1_MESSAGE_41_MASK.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_33_MASK.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_25_MASK.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_17_MASK.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_40_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_32_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_24_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_16_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_61_ID.VALUE=61 +DRIVER.CAN.VAR.CAN_3_MESSAGE_53_ID.VALUE=53 +DRIVER.CAN.VAR.CAN_3_MESSAGE_45_ID.VALUE=45 +DRIVER.CAN.VAR.CAN_3_MESSAGE_37_ID.VALUE=37 +DRIVER.CAN.VAR.CAN_3_MESSAGE_31_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_29_ID.VALUE=29 +DRIVER.CAN.VAR.CAN_3_MESSAGE_23_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_15_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_4_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_10_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_7_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_SJW.VALUE=2 +DRIVER.CAN.VAR.CAN_2_MESSAGE_1_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_4_MESSAGE_11_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_60_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_60_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_52_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_52_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_44_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_44_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_36_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_36_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_28_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_28_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_1_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_40_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_32_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_24_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_16_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_62_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_54_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_50_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_46_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_42_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_38_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_34_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_26_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_18_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_8_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_57_BOOL_ENA.VALUE=1 +DRIVER.CAN.VAR.CAN_1_MESSAGE_49_BOOL_ENA.VALUE=1 +DRIVER.CAN.VAR.CAN_1_MESSAGE_10_ENA.VALUE=0x80000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_11_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_1_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_10_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_3_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_2_ID.VALUE=2 +DRIVER.CAN.VAR.CAN_2_MESSAGE_57_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_49_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_4_MESSAGE_40_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_40_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_32_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_32_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_24_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_24_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_16_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_16_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_1_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_8_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_8_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_10_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_10_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_SAMPLE_POINT.VALUE=62.500 +DRIVER.CAN.VAR.CAN_2_MESSAGE_51_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_43_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_35_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_27_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_21_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_19_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_13_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_8_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_1_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_59_INT_ENA.VALUE=0x00000400 +DRIVER.CAN.VAR.CAN_3_MESSAGE_62_ID.VALUE=62 +DRIVER.CAN.VAR.CAN_3_MESSAGE_54_ID.VALUE=54 +DRIVER.CAN.VAR.CAN_3_MESSAGE_46_ID.VALUE=46 +DRIVER.CAN.VAR.CAN_3_MESSAGE_38_ID.VALUE=38 +DRIVER.CAN.VAR.CAN_1_MESSAGE_64_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_59_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_56_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_48_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_61_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_53_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_45_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_37_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_29_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_PORT_TX_FUN.VALUE=1 +DRIVER.CAN.VAR.CAN_2_MESSAGE_1_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_1_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_30_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_4_MESSAGE_22_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_4_MESSAGE_14_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_4_MESSAGE_8_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_31_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_23_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_21_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_15_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_13_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_6_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_57_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_49_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_7_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_5_BOOL_ENA.VALUE=1 +DRIVER.CAN.VAR.CAN_3_MESSAGE_59_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_60_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_52_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_44_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_36_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_28_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_3_ID.VALUE=3 +DRIVER.CAN.VAR.CAN_1_PORT_RX_DOUT.VALUE=0 +DRIVER.CAN.VAR.CAN_4_MESSAGE_41_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_4_MESSAGE_33_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_4_MESSAGE_25_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_4_MESSAGE_17_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_9_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_11_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_57_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_57_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_49_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_49_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_58_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_4_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_4_PHASE_SEG.VALUE=2 +DRIVER.CAN.VAR.CAN_3_MESSAGE_61_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_53_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_45_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_37_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_29_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_60_INT_ENA.VALUE=0x00000400 +DRIVER.CAN.VAR.CAN_1_MESSAGE_52_INT_ENA.VALUE=0x00000400 +DRIVER.CAN.VAR.CAN_1_MESSAGE_44_INT_ENA.VALUE=0x00000400 +DRIVER.CAN.VAR.CAN_1_MESSAGE_36_INT_ENA.VALUE=0x00000400 +DRIVER.CAN.VAR.CAN_1_MESSAGE_28_INT_ENA.VALUE=0x00000800 +DRIVER.CAN.VAR.CAN_1_MESSAGE_1_MASK.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_63_ID.VALUE=63 +DRIVER.CAN.VAR.CAN_3_MESSAGE_55_ID.VALUE=55 +DRIVER.CAN.VAR.CAN_3_MESSAGE_47_ID.VALUE=47 +DRIVER.CAN.VAR.CAN_3_MESSAGE_40_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_39_ID.VALUE=39 +DRIVER.CAN.VAR.CAN_3_MESSAGE_32_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_24_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_16_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_61_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_53_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_45_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_37_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_29_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_8_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_SJW.VALUE=2 +DRIVER.CAN.VAR.CAN_3_RAMBASE.VALUE=0xFF1A0000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_2_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_61_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_61_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_53_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_53_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_45_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_45_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_37_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_37_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_29_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_29_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_PORT_RX_DIN.VALUE=0 +DRIVER.CAN.VAR.CAN_4_MESSAGE_64_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_4_MESSAGE_56_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_4_MESSAGE_48_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_4_MESSAGE_41_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_33_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_25_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_17_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_3_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_9_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_59_MASK.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_50_BOOL_ENA.VALUE=1 +DRIVER.CAN.VAR.CAN_1_MESSAGE_42_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_34_BOOL_ENA.VALUE=1 +DRIVER.CAN.VAR.CAN_1_MESSAGE_26_BOOL_ENA.VALUE=1 +DRIVER.CAN.VAR.CAN_1_MESSAGE_18_BOOL_ENA.VALUE=1 +DRIVER.CAN.VAR.CAN_1_MESSAGE_11_ENA.VALUE=0x80000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_61_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_53_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_45_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_37_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_29_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_20_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_12_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_PORT_TX_PDR.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_9_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_4_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_4_ID.VALUE=4 +DRIVER.CAN.VAR.CAN_1_MESSAGE_31_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_23_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_15_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_58_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_4_MESSAGE_41_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_41_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_33_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_33_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_25_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_25_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_17_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_17_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_9_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_9_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_PORT_RX_DIR.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_57_INT_ENA_REF.VALUE=0x00000001 +DRIVER.CAN.VAR.CAN_1_MESSAGE_49_INT_ENA_REF.VALUE=0x00000001 +DRIVER.CAN.VAR.CAN_1_MESSAGE_11_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_11_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_51_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_43_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_35_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_27_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_19_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_20_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_12_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_7_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_2_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_21_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_13_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_6_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_PORT_TX_DOUT.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_64_ID.VALUE=64 +DRIVER.CAN.VAR.CAN_3_MESSAGE_56_ID.VALUE=56 +DRIVER.CAN.VAR.CAN_3_MESSAGE_48_ID.VALUE=48 +DRIVER.CAN.VAR.CAN_3_MESSAGE_31_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_23_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_15_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_57_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_49_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_3_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_NOMINAL_AUTO_BUS_ON_TIME.VALUE=0.000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_62_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_54_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_46_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_38_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_SYNC.VALUE=1 +DRIVER.CAN.VAR.CAN_2_PORT_TX_PULL.VALUE=2 +DRIVER.CAN.VAR.CAN_2_MESSAGE_2_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_2_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_1_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_64_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_63_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_58_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_56_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_55_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_48_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_47_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_39_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_61_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_53_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_45_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_37_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_29_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_10_ID.VALUE=10 +DRIVER.CAN.VAR.CAN_2_MESSAGE_5_ID.VALUE=5 +DRIVER.CAN.VAR.CAN_4_MESSAGE_50_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_4_MESSAGE_42_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_4_MESSAGE_34_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_4_MESSAGE_26_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_4_MESSAGE_18_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_20_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_12_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_58_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_58_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_57_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_49_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_64_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_4_MESSAGE_56_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_4_MESSAGE_48_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_4_MESSAGE_20_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_12_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_63_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_62_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_55_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_54_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_47_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_46_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_39_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_38_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_4_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_50_MASK.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_42_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_1_MESSAGE_34_MASK.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_26_MASK.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_18_MASK.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_57_ID.VALUE=57 +DRIVER.CAN.VAR.CAN_3_MESSAGE_49_ID.VALUE=49 +DRIVER.CAN.VAR.CAN_3_MESSAGE_41_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_33_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_25_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_17_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_9_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_3_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_62_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_62_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_54_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_54_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_46_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_46_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_38_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_38_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_62_INT_ENA_REF.VALUE=0x00000001 +DRIVER.CAN.VAR.CAN_1_MESSAGE_54_INT_ENA_REF.VALUE=0x00000001 +DRIVER.CAN.VAR.CAN_1_MESSAGE_46_INT_ENA_REF.VALUE=0x00000001 +DRIVER.CAN.VAR.CAN_1_MESSAGE_38_INT_ENA_REF.VALUE=0x00000001 +DRIVER.CAN.VAR.CAN_4_MESSAGE_50_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_42_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_41_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_4_MESSAGE_34_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_33_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_4_MESSAGE_26_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_25_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_4_MESSAGE_18_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_17_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_4_NOMINAL_BIT_RATE.VALUE=500.000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_51_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_43_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_35_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_27_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_19_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_9_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_41_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_33_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_25_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_17_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_20_ENA.VALUE=0x80000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_12_ENA.VALUE=0x80000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_11_BOOL_ENA.VALUE=1 +DRIVER.CAN.VAR.CAN_4_MESSAGE_21_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_13_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_5_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_58_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_11_ID.VALUE=11 +DRIVER.CAN.VAR.CAN_2_MESSAGE_6_ID.VALUE=6 +DRIVER.CAN.VAR.CAN_3_PROPAGATION_DELAY.VALUE=700 +DRIVER.CAN.VAR.CAN_2_MESSAGE_59_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_4_MESSAGE_50_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_50_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_42_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_42_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_34_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_34_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_26_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_26_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_18_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_18_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_57_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_49_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_AUTO_RETRANSMISSION.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_20_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_20_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_12_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_12_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_30_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_22_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_14_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_9_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_3_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_58_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_58_ID.VALUE=58 +DRIVER.CAN.VAR.CAN_1_MESSAGE_60_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_58_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_52_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_44_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_36_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_28_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_63_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_55_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_47_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_39_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_62_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_54_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_46_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_38_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_3_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_3_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_31_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_4_MESSAGE_23_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_4_MESSAGE_15_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_7_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_62_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_59_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_54_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_46_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_38_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_10_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_5_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_PORT_TX_PSL.VALUE=1 +DRIVER.CAN.VAR.CAN_3_MESSAGE_60_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_52_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_44_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_36_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_28_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_62_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_54_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_46_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_38_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_20_ID.VALUE=20 +DRIVER.CAN.VAR.CAN_2_MESSAGE_12_ID.VALUE=12 +DRIVER.CAN.VAR.CAN_2_MESSAGE_7_ID.VALUE=7 +DRIVER.CAN.VAR.CAN_1_MESSAGE_8_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_51_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_4_MESSAGE_43_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_4_MESSAGE_35_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_4_MESSAGE_27_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_4_MESSAGE_19_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_21_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_13_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_4_MESSAGE_57_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_49_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_59_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_59_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_51_INT_ENA_REF.VALUE=0x00000001 +DRIVER.CAN.VAR.CAN_1_MESSAGE_43_INT_ENA_REF.VALUE=0x00000001 +DRIVER.CAN.VAR.CAN_1_MESSAGE_35_INT_ENA_REF.VALUE=0x00000001 +DRIVER.CAN.VAR.CAN_1_MESSAGE_27_INT_ENA_REF.VALUE=0x00000001 +DRIVER.CAN.VAR.CAN_1_MESSAGE_19_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_5_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_63_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_61_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_55_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_53_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_47_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_45_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_40_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_39_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_37_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_32_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_29_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_24_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_16_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_10_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_1_MESSAGE_8_BOOL_ENA.VALUE=1 +DRIVER.CAN.VAR.CAN_1_MESSAGE_2_MASK.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_59_ID.VALUE=59 +DRIVER.CAN.VAR.CAN_3_MESSAGE_50_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_42_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_34_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_26_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_18_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_AUTO_BUS_ON_TR.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_30_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_22_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_14_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_5_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_4_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_63_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_63_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_62_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_55_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_55_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_54_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_47_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_47_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_46_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_39_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_39_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_38_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_PORT_RX_FUN.VALUE=1 +DRIVER.CAN.VAR.CAN_4_MESSAGE_51_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_43_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_35_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_27_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_19_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_10_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_2_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_58_INT_ENA.VALUE=0x00000400 +DRIVER.CAN.VAR.CAN_1_MESSAGE_21_ENA.VALUE=0x80000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_13_ENA.VALUE=0x80000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_30_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_30_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_22_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_22_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_14_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_4_MESSAGE_14_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_6_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_2_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_21_ID.VALUE=21 +DRIVER.CAN.VAR.CAN_2_MESSAGE_13_ID.VALUE=13 +DRIVER.CAN.VAR.CAN_2_MESSAGE_8_ID.VALUE=8 +DRIVER.ADC.VAR.ADC2_GROUP1_DISCHARGE_PRESCALER.VALUE=0 +DRIVER.ADC.VAR.ADC1_GROUP1_PIN21_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP1_PIN13_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP1_ACTUAL_DISCHARGE_TIME.VALUE=0.00 +DRIVER.ADC.VAR.ADC2_GROUP1_RESOLUTION.VALUE=12_BIT +DRIVER.ADC.VAR.ADC2_GROUP0_PIN3_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_PARITY_ENABLE.VALUE=0x00000005 +DRIVER.ADC.VAR.ADC1_GROUP2_PIN25_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP2_PIN17_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP2_ACTUAL_DISCHARGE_TIME.VALUE=0.00 +DRIVER.ADC.VAR.ADC1_GROUP2_RESOLUTION.VALUE=12_BIT +DRIVER.ADC.VAR.ADC2_GROUP2_PIN7_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP2_PIN10_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP2_TRIGGER_EDGE_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP2_RAM_PARITY_ENA.VALUE=0 +DRIVER.ADC.VAR.ADC2_GROUP1_EXTENDED_SAMPLE_TIME.VALUE=300.00 +DRIVER.ADC.VAR.ADC2_GROUP2_PIN0_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP2_RAM_PARITY_ENA.VALUE=0 +DRIVER.ADC.VAR.ADC1_GROUP1_PIN3_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP0_CHANNEL_TOTAL_TIME.VALUE=0.000000 +DRIVER.ADC.VAR.ADC1_GROUP1_FIFO_SIZE.VALUE=16 +DRIVER.ADC.VAR.ADC1_GROUP2_DISCHARGE_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP2_SAMPLE_PRESCALER.VALUE=1 +DRIVER.ADC.VAR.ADC1_GROUP1_LENGTH.VALUE=16 +DRIVER.ADC.VAR.ADC2_GROUP1_ID_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP0_PIN18_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP2_CONVERSION_TIME.VALUE=1.300 +DRIVER.ADC.VAR.ADC2_PORT_BIT0_DIR.VALUE=0 +DRIVER.ADC.VAR.ADC2_GROUP1_PIN4_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP0_PIN11_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP0_PIN7_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_ALT_TRIG.VALUE=0 +DRIVER.ADC.VAR.ADC2_GROUP1_PIN23_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP1_PIN15_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP0_PIN29_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP0_PIN0_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP2_CONVERSION_TIME.VALUE=1.300 +DRIVER.ADC.VAR.ADC2_GROUP2_LENGTH.VALUE=32 +DRIVER.ADC.VAR.ADC2_GROUP2_PIN19_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP2_DISCHARGE_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP2_PIN4_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP0_PIN30_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP0_PIN22_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP0_PIN14_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP2_ACTUAL_SAMPLE_TIME.VALUE=300.00 +DRIVER.ADC.VAR.ADC2_GROUP2_SAMPLE_PRESCALER.VALUE=1 +DRIVER.ADC.VAR.ADC2_GROUP2_PIN20_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP2_PIN12_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP1_PIN26_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP1_PIN18_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP0_PIN8_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP1_PIN11_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_BND.VALUE=2 +DRIVER.ADC.VAR.ADC2_GROUP0_PIN1_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP2_PIN31_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP2_PIN23_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP2_PIN15_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP1_DISCHARGE_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP1_SAMPLE_PRESCALER.VALUE=1 +DRIVER.ADC.VAR.ADC2_PORT_BIT0_PULDIS.VALUE=0 +DRIVER.ADC.VAR.ADC2_GROUP2_PIN5_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP1_PIN8_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP1_ID_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP1_EXTENDED_SAMPLE_TIME.VALUE=300.00 +DRIVER.ADC.VAR.ADC1_GROUP0_CONVERSION_TIME.VALUE=1.300 +DRIVER.ADC.VAR.ADC2_GROUP0_RESOLUTION.VALUE=12_BIT +DRIVER.ADC.VAR.ADC1_GROUP1_PIN1_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP1_RESOLUTION.VALUE=12_BIT +DRIVER.ADC.VAR.ADC2_GROUP1_TRIGGER_EDGE_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP0_CONVERSION_TIME.VALUE=1.300 +DRIVER.ADC.VAR.ADC2_BND.VALUE=2 +DRIVER.ADC.VAR.ADC2_GROUP1_DISCHARGE_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_PORT_BIT0_PDR.VALUE=0 +DRIVER.ADC.VAR.ADC2_ACTUAL_CYCLE_TIME.VALUE=100.00 +DRIVER.ADC.VAR.ADC2_GROUP1_SAMPLE_PRESCALER.VALUE=1 +DRIVER.ADC.VAR.ADC2_GROUP1_PIN9_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP0_PIN24_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP0_PIN16_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP1_SAMPLE_TIME.VALUE=300.00 +DRIVER.ADC.VAR.ADC2_GROUP1_PIN2_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP1_TRIGGER_MODE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP0_PIN5_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP2_DISCHARGE_PRESCALER.VALUE=0 +DRIVER.ADC.VAR.ADC2_GROUP1_PIN21_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP1_PIN13_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP2_PIN9_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP0_PIN27_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP0_PIN19_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP0_DISCHARGE_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_RAM_PARITY_ENA.VALUE=0x00000005 +DRIVER.ADC.VAR.ADC2_GROUP1_SCAN_TIME.VALUE=0.000 +DRIVER.ADC.VAR.ADC2_GROUP0_CHANNEL_TOTAL_TIME.VALUE=0.000000 +DRIVER.ADC.VAR.ADC1_GROUP2_SAMPLE_TIME.VALUE=300.00 +DRIVER.ADC.VAR.ADC2_GROUP0_LENGTH.VALUE=16 +DRIVER.ADC.VAR.ADC1_GROUP0_SAMPLE_PRESCALER.VALUE=1 +DRIVER.ADC.VAR.ADC2_GROUP2_PIN17_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_PORT_BIT0_PULDIS.VALUE=0 +DRIVER.ADC.VAR.ADC1_GROUP2_PIN2_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP0_PIN20_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP0_PIN12_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP2_PIN10_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP1_PIN24_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP1_PIN16_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP1_ACTUAL_SAMPLE_TIME.VALUE=300.00 +DRIVER.ADC.VAR.ADC2_GROUP0_PIN6_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP2_PIN28_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP2_TRIGGER_MODE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_PORT_BIT0_PSL.VALUE=1 +DRIVER.ADC.VAR.ADC1_GROUP2_CHANNEL_TOTAL_TIME.VALUE=0.000000 +DRIVER.ADC.VAR.ADC1_GROUP0_DISCHARGE_TIME.VALUE=0.00 +DRIVER.ADC.VAR.ADC2_LENGTH.VALUE=64 +DRIVER.ADC.VAR.ADC2_GROUP0_DISCHARGE_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP2_PIN21_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP2_PIN13_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP0_PINS.VALUE=0 +DRIVER.ADC.VAR.ADC2_GROUP0_DISCHARGE_TIME.VALUE=0.00 +DRIVER.ADC.VAR.ADC2_GROUP0_SAMPLE_PRESCALER.VALUE=1 +DRIVER.ADC.VAR.ADC1_GROUP0_DISCHARGE_PRESCALER.VALUE=0 +DRIVER.ADC.VAR.ADC2_GROUP2_PIN3_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP1_PIN6_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_RAMBASE.VALUE=0xFF3A0000 +DRIVER.ADC.VAR.ADC2_GROUP0_BND.VALUE=8 +DRIVER.ADC.VAR.ADC1_PORT_BIT0_DOUT.VALUE=0 +DRIVER.ADC.VAR.ADC1_GROUP1_SCAN_TIME.VALUE=0.000 +DRIVER.ADC.VAR.ADC1_GROUP0_RESOLUTION.VALUE=12_BIT +DRIVER.ADC.VAR.ADC2_GROUP2_FIFO_SIZE.VALUE=16 +DRIVER.ADC.VAR.ADC2_GROUP1_PIN7_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP0_PIN22_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP0_PIN14_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP2_HW_TRIGGER_SOURCE.VALUE=EVENT +DRIVER.ADC.VAR.ADC2_GROUP1_BND.VALUE=8 +DRIVER.ADC.VAR.ADC2_GROUP0_HW_TRIGGER_SOURCE_ALT.VALUE=EVENT +DRIVER.ADC.VAR.ADC2_GROUP1_PIN18_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP1_PIN0_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP0_PIN3_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_ALT_TRIG_COMP.VALUE=1 +DRIVER.ADC.VAR.ADC2_GROUP1_HW_TRIGGER_SOURCE_ALT.VALUE=EVENT +DRIVER.ADC.VAR.ADC2_GROUP1_PIN11_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP2_PIN7_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP0_PIN25_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP0_PIN17_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_PARITY_ENABLE.VALUE=0x00000005 +DRIVER.ADC.VAR.ADC1_ACTUAL_CYCLE_TIME.VALUE=100.00 +DRIVER.ADC.VAR.ADC2_GROUP2_HW_TRIGGER_SOURCE_ALT.VALUE=EVENT +DRIVER.ADC.VAR.ADC2_GROUP2_PIN23_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP2_PIN15_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP2_PIN0_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP2_CONTINUOUS_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP1_PIN29_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP0_PIN10_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP1_PINS.VALUE=0 +DRIVER.ADC.VAR.ADC1_GROUP1_PIN30_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP1_PIN22_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP1_PIN14_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP0_PIN4_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP2_PIN26_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP2_PIN18_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP2_PIN8_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP2_TRIGGER_EDGE_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP2_PIN11_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP2_PIN1_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP2_FIFO_SIZE.VALUE=16 +DRIVER.ADC.VAR.ADC1_GROUP1_PIN4_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_RAMBASE.VALUE=0xFF3E0000 +DRIVER.ADC.VAR.ADC1_BASE.VALUE=0xFFF7C000 +DRIVER.ADC.VAR.ADC1_PORT_BIT0_DIR.VALUE=0 +DRIVER.ADC.VAR.ADC2_RAM_PARITY_ENA.VALUE=0x00000005 +DRIVER.ADC.VAR.ADC2_GROUP2_HW_TRIGGER_SOURCE.VALUE=EVENT +DRIVER.ADC.VAR.ADC2_GROUP2_ID_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP1_ACTUAL_SAMPLE_TIME.VALUE=300.00 +DRIVER.ADC.VAR.ADC1_GROUP2_LENGTH.VALUE=32 +DRIVER.ADC.VAR.ADC1_GROUP0_BND.VALUE=8 +DRIVER.ADC.VAR.ADC2_GROUP0_PIN19_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP2_CHANNEL_TOTAL_TIME.VALUE=0.000000 +DRIVER.ADC.VAR.ADC2_GROUP2_CONTINUOUS_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP1_PIN5_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP0_PIN20_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP0_PIN12_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP0_PIN8_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP0_TRIGGER_EDGE_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP2_PINS.VALUE=0 +DRIVER.ADC.VAR.ADC2_GROUP0_EXTENDED_SAMPLE_TIME.VALUE=300.00 +DRIVER.ADC.VAR.ADC1_GROUP1_DISCHARGE_TIME.VALUE=0.00 +DRIVER.ADC.VAR.ADC2_GROUP1_PIN24_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP1_PIN16_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP0_PIN1_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP2_EXTENDED_SAMPLE_TIME.VALUE=300.00 +DRIVER.ADC.VAR.ADC2_GROUP1_DISCHARGE_TIME.VALUE=0.00 +DRIVER.ADC.VAR.ADC2_GROUP2_TRIGGER_MODE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP0_FIFO_SIZE.VALUE=16 +DRIVER.ADC.VAR.ADC1_GROUP2_PIN5_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP0_PIN31_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP0_PIN23_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP0_PIN15_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP1_BND.VALUE=8 +DRIVER.ADC.VAR.ADC2_GROUP2_PIN21_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP2_PIN13_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP1_PIN27_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP1_PIN19_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_PORT_BIT0_DOUT.VALUE=0 +DRIVER.ADC.VAR.ADC2_CYCLE_TIME.VALUE=100.00 +DRIVER.ADC.VAR.ADC1_GROUP1_HW_TRIGGER_SOURCE.VALUE=EVENT +DRIVER.ADC.VAR.ADC1_GROUP1_DISCHARGE_PRESCALER.VALUE=0 +DRIVER.ADC.VAR.ADC2_GROUP0_PIN9_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_PRESCALE.VALUE=9 +DRIVER.ADC.VAR.ADC1_GROUP1_PIN20_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP1_PIN12_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP0_RAM_PARITY_ENA.VALUE=0 +DRIVER.ADC.VAR.ADC2_GROUP0_SAMPLE_TIME.VALUE=300.00 +DRIVER.ADC.VAR.ADC2_BASE.VALUE=0xFFF7C200 +DRIVER.ADC.VAR.ADC2_GROUP0_PIN2_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP0_RAM_PARITY_ENA.VALUE=0 +DRIVER.ADC.VAR.ADC1_GROUP2_PIN24_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP2_PIN16_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP2_ID_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP2_PIN6_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP1_PIN9_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP1_CONTINUOUS_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_PORT_BIT0_PDR.VALUE=0 +DRIVER.ADC.VAR.ADC1_GROUP1_SAMPLE_TIME.VALUE=300.00 +DRIVER.ADC.VAR.ADC1_GROUP1_PIN2_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP1_CONVERSION_TIME.VALUE=1.300 +DRIVER.ADC.VAR.ADC1_GROUP0_FIFO_SIZE.VALUE=16 +DRIVER.ADC.VAR.ADC1_PORT_BIT0_PULL.VALUE=2 +DRIVER.ADC.VAR.ADC1_GROUP0_LENGTH.VALUE=16 +DRIVER.ADC.VAR.ADC2_GROUP0_PIN17_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP1_CONVERSION_TIME.VALUE=1.300 +DRIVER.ADC.VAR.ADC1_GROUP0_PINS.VALUE=0 +DRIVER.ADC.VAR.ADC1_GROUP0_ACTUAL_SAMPLE_TIME.VALUE=300.00 +DRIVER.ADC.VAR.ADC2_GROUP1_PIN3_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP0_PIN10_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP0_ID_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP0_PIN6_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP2_SCAN_TIME.VALUE=0.000 +DRIVER.ADC.VAR.ADC2_GROUP1_HW_TRIGGER_SOURCE.VALUE=EVENT +DRIVER.ADC.VAR.ADC1_GROUP1_CHANNEL_TOTAL_TIME.VALUE=0.000000 +DRIVER.ADC.VAR.ADC1_GROUP0_EXTENDED_SAMPLE_TIME.VALUE=300.00 +DRIVER.ADC.VAR.ADC1_GROUP0_HW_TRIGGER_SOURCE_ALT.VALUE=EVENT +DRIVER.ADC.VAR.ADC2_GROUP1_PIN22_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP1_PIN14_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP0_PIN28_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_PORT_BIT0_PSL.VALUE=1 +DRIVER.ADC.VAR.ADC1_GROUP2_EXTENDED_SAMPLE_TIME.VALUE=300.00 +DRIVER.ADC.VAR.ADC2_GROUP1_LENGTH.VALUE=16 +DRIVER.ADC.VAR.ADC1_GROUP1_HW_TRIGGER_SOURCE_ALT.VALUE=EVENT +DRIVER.ADC.VAR.ADC2_GROUP2_PIN18_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP2_PIN3_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP0_PIN21_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP0_PIN13_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP0_ACTUAL_DISCHARGE_TIME.VALUE=0.00 +DRIVER.ADC.VAR.ADC1_GROUP2_HW_TRIGGER_SOURCE_ALT.VALUE=EVENT +DRIVER.ADC.VAR.ADC2_GROUP2_PIN11_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP1_CONTINUOUS_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP1_PIN25_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP1_PIN17_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP1_ACTUAL_DISCHARGE_TIME.VALUE=0.00 +DRIVER.ADC.VAR.ADC2_GROUP0_PIN7_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP2_PIN29_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP1_PIN10_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP2_ACTUAL_DISCHARGE_TIME.VALUE=0.00 +DRIVER.ADC.VAR.ADC2_GROUP0_PIN0_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP2_PIN30_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP2_PIN22_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP2_PIN14_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_CYCLE_TIME.VALUE=100.00 +DRIVER.ADC.VAR.ADC2_GROUP0_DISCHARGE_PRESCALER.VALUE=0 +DRIVER.ADC.VAR.ADC2_GROUP2_PIN4_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP1_PIN7_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP2_DISCHARGE_TIME.VALUE=0.00 +DRIVER.ADC.VAR.ADC1_GROUP0_HW_TRIGGER_SOURCE.VALUE=EVENT +DRIVER.ADC.VAR.ADC1_GROUP1_PIN0_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP0_ID_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP2_DISCHARGE_TIME.VALUE=0.00 +DRIVER.ADC.VAR.ADC1_GROUP2_SCAN_TIME.VALUE=0.000 +DRIVER.ADC.VAR.ADC1_GROUP1_PINS.VALUE=0 +DRIVER.ADC.VAR.ADC1_GROUP1_TRIGGER_EDGE_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_ALT_TRIG_COMP.VALUE=1 +DRIVER.ADC.VAR.ADC1_GROUP0_CONTINUOUS_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP1_PIN8_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP0_PIN23_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP0_PIN15_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_ALT_TRIG.VALUE=0 +DRIVER.ADC.VAR.ADC1_GROUP1_RAM_PARITY_ENA.VALUE=0 +DRIVER.ADC.VAR.ADC2_GROUP1_PIN19_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP1_PIN1_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP1_RAM_PARITY_ENA.VALUE=0 +DRIVER.ADC.VAR.ADC1_GROUP0_PIN4_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP2_DISCHARGE_PRESCALER.VALUE=0 +DRIVER.ADC.VAR.ADC2_GROUP1_PIN20_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP1_PIN12_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP2_PIN8_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP0_PIN26_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP0_PIN18_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP2_RESOLUTION.VALUE=12_BIT +DRIVER.ADC.VAR.ADC2_GROUP2_PIN24_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP2_PIN16_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP2_PIN1_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP0_PIN11_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP0_SCAN_TIME.VALUE=0.000 +DRIVER.ADC.VAR.ADC1_GROUP1_PIN31_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP1_PIN23_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP1_PIN15_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP0_HW_TRIGGER_SOURCE.VALUE=EVENT +DRIVER.ADC.VAR.ADC2_GROUP0_PIN5_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP2_PIN27_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP2_PIN19_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_PRESCALE.VALUE=9 +DRIVER.ADC.VAR.ADC2_GROUP0_ACTUAL_SAMPLE_TIME.VALUE=300.00 +DRIVER.ADC.VAR.ADC1_GROUP2_PINS.VALUE=0 +DRIVER.ADC.VAR.ADC2_PORT_BIT0_PULL.VALUE=2 +DRIVER.ADC.VAR.ADC1_LENGTH.VALUE=64 +DRIVER.ADC.VAR.ADC2_GROUP2_PIN9_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP2_PIN20_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP2_PIN12_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP2_SAMPLE_TIME.VALUE=300.00 +DRIVER.ADC.VAR.ADC2_GROUP1_CHANNEL_TOTAL_TIME.VALUE=0.000000 +DRIVER.ADC.VAR.ADC2_GROUP2_PIN2_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP0_CONTINUOUS_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP1_PIN5_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP2_ACTUAL_SAMPLE_TIME.VALUE=300.00 +DRIVER.ADC.VAR.ADC1_GROUP0_SCAN_TIME.VALUE=0.000 +DRIVER.ADC.VAR.ADC2_GROUP1_PIN6_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP0_PIN21_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP0_PIN13_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP0_TRIGGER_EDGE_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP0_PIN9_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP0_SAMPLE_TIME.VALUE=300.00 +DRIVER.ADC.VAR.ADC2_GROUP1_PIN17_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP1_FIFO_SIZE.VALUE=16 +DRIVER.ADC.VAR.ADC1_GROUP0_PIN2_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP1_PIN10_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP2_PIN6_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP0_PIN24_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP0_PIN16_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP2_PIN22_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP2_PIN14_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP1_PIN28_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP1_TRIGGER_MODE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP0_ACTUAL_DISCHARGE_TIME.VALUE=0.00 +DRIVER.LIN.VAR.LIN2_PORT_BIT1_PDR.VALUE=0 +DRIVER.LIN.VAR.LIN1_TOAWUSINTENA.VALUE=0x00000000 +DRIVER.LIN.VAR.LIN1_TOA3WUSINTENA.VALUE=0x00000000 +DRIVER.LIN.VAR.LIN1_PORT_BIT2_DOUT.VALUE=0 +DRIVER.LIN.VAR.LIN2_PORT_BIT2_FUN.VALUE=4 +DRIVER.LIN.VAR.LIN1_HGENCTRL.VALUE=1 +DRIVER.LIN.VAR.LIN2_PORT_BIT0_PSL.VALUE=1 +DRIVER.LIN.VAR.LIN2_PORT_BIT0_DOUT.VALUE=0 +DRIVER.LIN.VAR.LIN1_PBEINTLVL.VALUE=0x00000000 +DRIVER.LIN.VAR.LIN2_PORT_BIT0_PULDIS.VALUE=0 +DRIVER.LIN.VAR.LIN2_PORT_BIT2_PDR.VALUE=0 +DRIVER.LIN.VAR.LIN1_BASE_PORT.VALUE=0xFFF7E440 +DRIVER.LIN.VAR.LIN2_PARITYENA.VALUE=0 +DRIVER.LIN.VAR.LIN2_WAKEINTENA.VALUE=0x00000000 +DRIVER.LIN.VAR.LIN2_FEINTENA.VALUE=0x00000000 +DRIVER.LIN.VAR.LIN1_CEINTENA.VALUE=0x00000000 +DRIVER.LIN.VAR.LIN2_PORT_BIT1_PSL.VALUE=2 +DRIVER.LIN.VAR.LIN2_OEINTLVL.VALUE=0x00000000 +DRIVER.LIN.VAR.LIN2_TXINTENA.VALUE=0x00000000 +DRIVER.LIN.VAR.LIN1_PORT_BIT0_PULL.VALUE=2 +DRIVER.LIN.VAR.LIN1_MAXPRESCALE.VALUE=4507 +DRIVER.LIN.VAR.LIN2_IDINTENA.VALUE=0x00000000 +DRIVER.LIN.VAR.LIN1_PORT_BIT0_PULDIS.VALUE=0 +DRIVER.LIN.VAR.LIN1_RX_MASK.VALUE=0xFF +DRIVER.LIN.VAR.LIN2_PORT_BIT2_PSL.VALUE=4 +DRIVER.LIN.VAR.LIN2_PORT_BIT1_DOUT.VALUE=0 +DRIVER.LIN.VAR.LIN1_BREAKINTENA.VALUE=0x00000000 +DRIVER.LIN.VAR.LIN1_NREINTLVL.VALUE=0x00000000 +DRIVER.LIN.VAR.LIN2_TOINTENA.VALUE=0x00000000 +DRIVER.LIN.VAR.LIN1_TOAWUSINTLVL.VALUE=0x00000000 +DRIVER.LIN.VAR.LIN1_TOA3WUSINTLVL.VALUE=0x00000000 +DRIVER.LIN.VAR.LIN2_BAUDRATE.VALUE=20.000 +DRIVER.LIN.VAR.LIN1_OEINTENA.VALUE=0x00000000 +DRIVER.LIN.VAR.LIN1_PORT_BIT0_DIR.VALUE=0 +DRIVER.LIN.VAR.LIN1_PORT_BIT1_PULL.VALUE=2 +DRIVER.LIN.VAR.LIN2_RXINTENA.VALUE=0x00000000 +DRIVER.LIN.VAR.LIN1_WAKEINTENA.VALUE=0x00000000 +DRIVER.LIN.VAR.LIN2_PORT_BIT2_DOUT.VALUE=0 +DRIVER.LIN.VAR.LIN2_WAKEINTLVL.VALUE=0x00000000 +DRIVER.LIN.VAR.LIN2_FEINTLVL.VALUE=0x00000000 +DRIVER.LIN.VAR.LIN1_PORT_BIT1_DIR.VALUE=0 +DRIVER.LIN.VAR.LIN1_CEINTLVL.VALUE=0x00000000 +DRIVER.LIN.VAR.LIN2_PBEINTENA.VALUE=0x00000000 +DRIVER.LIN.VAR.LIN2_TXINTLVL.VALUE=0x00000000 +DRIVER.LIN.VAR.LIN1_PORT_BIT0_FUN.VALUE=0 +DRIVER.LIN.VAR.LIN2_IDINTLVL.VALUE=0x00000000 +DRIVER.LIN.VAR.LIN1_PORT_BIT2_DIR.VALUE=0 +DRIVER.LIN.VAR.LIN2_SBREAK.VALUE=13 +DRIVER.LIN.VAR.LIN2_TOAWUSINTENA.VALUE=0x00000000 +DRIVER.LIN.VAR.LIN1_PORT_BIT2_PULL.VALUE=2 +DRIVER.LIN.VAR.LIN1_BREAKINTLVL.VALUE=0x00000000 +DRIVER.LIN.VAR.LIN2_PEINTENA.VALUE=0x00000000 +DRIVER.LIN.VAR.LIN1_PORT_BIT0_PDR.VALUE=0 +DRIVER.LIN.VAR.LIN1_BASE.VALUE=0xFFF7E400 +DRIVER.LIN.VAR.LIN2_PORT_BIT0_PULL.VALUE=2 +DRIVER.LIN.VAR.LIN1_LENGTH.VALUE=8 +DRIVER.LIN.VAR.LIN2_TOINTLVL.VALUE=0x00000000 +DRIVER.LIN.VAR.LIN1_PORT_BIT1_FUN.VALUE=2 +DRIVER.LIN.VAR.LIN2_BEINTENA.VALUE=0x00000000 +DRIVER.LIN.VAR.LIN1_ACTUALBAUDRATE.VALUE=19.968 +DRIVER.LIN.VAR.LIN1_FEINTENA.VALUE=0x00000000 +DRIVER.LIN.VAR.LIN1_OEINTLVL.VALUE=0x00000000 +DRIVER.LIN.VAR.LIN2_NREINTENA.VALUE=0x00000000 +DRIVER.LIN.VAR.LIN1_TXINTENA.VALUE=0x00000000 +DRIVER.LIN.VAR.LIN1_PORT_BIT1_PDR.VALUE=0 +DRIVER.LIN.VAR.LIN1_MSTMOD.VALUE=1 +DRIVER.LIN.VAR.LIN2_ISFEINTENA.VALUE=0x00000000 +DRIVER.LIN.VAR.LIN1_PORT_BIT2_FUN.VALUE=4 +DRIVER.LIN.VAR.LIN2_TX_MASK.VALUE=0xFF +DRIVER.LIN.VAR.LIN1_PORT_BIT0_PSL.VALUE=1 +DRIVER.LIN.VAR.LIN2_RXINTLVL.VALUE=0x00000000 +DRIVER.LIN.VAR.LIN1_WAKEINTLVL.VALUE=0x00000000 +DRIVER.LIN.VAR.LIN1_IDINTENA.VALUE=0x00000000 +DRIVER.LIN.VAR.LIN2_PRESCALE.VALUE=312 +DRIVER.LIN.VAR.LIN1_PORT_BIT2_PDR.VALUE=0 +DRIVER.LIN.VAR.LIN2_BASE.VALUE=0xFFF7E600 +DRIVER.LIN.VAR.LIN2_PORT_BIT1_PULL.VALUE=2 +DRIVER.LIN.VAR.LIN2_PBEINTLVL.VALUE=0x00000000 +DRIVER.LIN.VAR.LIN2_PORT_BIT1_PULDIS.VALUE=0 +DRIVER.LIN.VAR.LIN1_TOINTENA.VALUE=0x00000000 +DRIVER.LIN.VAR.LIN1_PORT_BIT1_PSL.VALUE=2 +DRIVER.LIN.VAR.LIN2_BASE_PORT.VALUE=0xFFF7E640 +DRIVER.LIN.VAR.LIN1_BAUDRATE.VALUE=20.000 +DRIVER.LIN.VAR.LIN2_TOAWUSINTLVL.VALUE=0x00000000 +DRIVER.LIN.VAR.LIN2_PEINTLVL.VALUE=0x00000000 +DRIVER.LIN.VAR.LIN1_PORT_BIT2_PSL.VALUE=4 +DRIVER.LIN.VAR.LIN2_MAXBAUDRATE.VALUE=22.188 +DRIVER.LIN.VAR.LIN1_RXINTENA.VALUE=0x00000000 +DRIVER.LIN.VAR.LIN2_BEINTLVL.VALUE=0x00000000 +DRIVER.LIN.VAR.LIN1_FEINTLVL.VALUE=0x00000000 +DRIVER.LIN.VAR.LIN2_PORT_BIT2_PULL.VALUE=2 +DRIVER.LIN.VAR.LIN1_PORT_BIT1_PULDIS.VALUE=0 +DRIVER.LIN.VAR.LIN1_TX_MASK.VALUE=0xFF +DRIVER.LIN.VAR.LIN2_NREINTLVL.VALUE=0x00000000 +DRIVER.LIN.VAR.LIN1_TXINTLVL.VALUE=0x00000000 +DRIVER.LIN.VAR.LIN1_ISFEINTENA.VALUE=0x00000000 +DRIVER.LIN.VAR.LIN2_ISFEINTLVL.VALUE=0x00000000 +DRIVER.LIN.VAR.LIN2_ACTUALBAUDRATE.VALUE=19.968 +DRIVER.LIN.VAR.LIN1_IDINTLVL.VALUE=0x00000000 +DRIVER.LIN.VAR.LIN2_TOA3WUSINTENA.VALUE=0x00000000 +DRIVER.LIN.VAR.LIN1_PEINTENA.VALUE=0x00000000 +DRIVER.LIN.VAR.LIN1_TOINTLVL.VALUE=0x00000000 +DRIVER.LIN.VAR.LIN1_PARITYENA.VALUE=0 +DRIVER.LIN.VAR.LIN1_BEINTENA.VALUE=0x00000000 +DRIVER.LIN.VAR.LIN1_RXINTLVL.VALUE=0x00000000 +DRIVER.LIN.VAR.LIN2_HGENCTRL.VALUE=1 +DRIVER.LIN.VAR.LIN1_PRESCALE.VALUE=312 +DRIVER.LIN.VAR.LIN1_ISFEINTLVL.VALUE=0x00000000 +DRIVER.LIN.VAR.LIN1_SDEL.VALUE=1 +DRIVER.LIN.VAR.LIN2_LENGTH.VALUE=8 +DRIVER.LIN.VAR.LIN2_MAXPRESCALE.VALUE=4507 +DRIVER.LIN.VAR.LIN2_CEINTENA.VALUE=0x00000000 +DRIVER.LIN.VAR.LIN2_BREAKINTENA.VALUE=0x00000000 +DRIVER.LIN.VAR.LIN1_PORT_BIT0_DOUT.VALUE=0 +DRIVER.LIN.VAR.LIN2_TOA3WUSINTLVL.VALUE=0x00000000 +DRIVER.LIN.VAR.LIN1_PEINTLVL.VALUE=0x00000000 +DRIVER.LIN.VAR.LIN2_MSTMOD.VALUE=1 +DRIVER.LIN.VAR.LIN2_PORT_BIT0_DIR.VALUE=0 +DRIVER.LIN.VAR.LIN1_BEINTLVL.VALUE=0x00000000 +DRIVER.LIN.VAR.LIN1_PBEINTENA.VALUE=0x00000000 +DRIVER.LIN.VAR.LIN2_SDEL.VALUE=1 +DRIVER.LIN.VAR.LIN2_PORT_BIT1_DIR.VALUE=0 +DRIVER.LIN.VAR.LIN1_MAXBAUDRATE.VALUE=22.188 +DRIVER.LIN.VAR.LIN2_PORT_BIT2_PULDIS.VALUE=0 +DRIVER.LIN.VAR.LIN1_SBREAK.VALUE=13 +DRIVER.LIN.VAR.LIN2_OEINTENA.VALUE=0x00000000 +DRIVER.LIN.VAR.LIN1_PORT_BIT1_DOUT.VALUE=0 +DRIVER.LIN.VAR.LIN2_PORT_BIT0_FUN.VALUE=0 +DRIVER.LIN.VAR.LIN2_PORT_BIT2_DIR.VALUE=0 +DRIVER.LIN.VAR.LIN2_PORT_BIT0_PDR.VALUE=0 +DRIVER.LIN.VAR.LIN2_PORT_BIT1_FUN.VALUE=2 +DRIVER.LIN.VAR.LIN2_CEINTLVL.VALUE=0x00000000 +DRIVER.LIN.VAR.LIN1_NREINTENA.VALUE=0x00000000 +DRIVER.LIN.VAR.LIN2_BREAKINTLVL.VALUE=0x00000000 +DRIVER.LIN.VAR.LIN2_RX_MASK.VALUE=0xFF +DRIVER.LIN.VAR.LIN1_PORT_BIT2_PULDIS.VALUE=0 +DRIVER.HET.VAR.HET2_EDGE5_LVL.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM5_PERIOD_PRESCALER.VALUE=99968 +DRIVER.HET.VAR.HET2_PWM0_PERIOD_LVL.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT0_PULL.VALUE=1 +DRIVER.HET.VAR.HET2_INT_X0.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_EDGE4_BOTH.VALUE=0 +DRIVER.HET.VAR.HET1_BIT1_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT6_HRSHARE.VALUE=0x00000008 +DRIVER.HET.VAR.HET2_INT_X1.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM2_DUTY.VALUE=50 +DRIVER.HET.VAR.HET1_BIT29_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT0_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_IGNORE_SUSPEND_ENABLE.VALUE=0x00020000 +DRIVER.HET.VAR.HET2_PWM3_PERIOD.VALUE=1000.000 +DRIVER.HET.VAR.HET2_PWM1_PIN_SELECT.VALUE=10 +DRIVER.HET.VAR.HET2_BIT20_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT12_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT3_DOUT.VALUE=0 +DRIVER.HET.VAR.HET2_INT_X2.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_INT_X3.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM2_DUTYTIME.VALUE=500.480 +DRIVER.HET.VAR.HET2_INT_X4.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM6_ACTION.VALUE=3 +DRIVER.HET.VAR.HET1_PWM0_DUTY_LVL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT4_PULL.VALUE=1 +DRIVER.HET.VAR.HET2_PWM3_ENA.VALUE=0 +DRIVER.HET.VAR.HET2_BIT4_ANDSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_INT_X5.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_IGNORE_SUSPEND_ENABLE.VALUE=0x00020000 +DRIVER.HET.VAR.HET1_BIT30_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT26_HRSHARE.VALUE=0x00002000 +DRIVER.HET.VAR.HET1_BIT22_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT18_HRSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT14_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM4_ACTUALPERIOD.VALUE=1000.960 +DRIVER.HET.VAR.HET2_BIT3_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_INT_X6.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_EDGE0_PIN_SELECT.VALUE=9 +DRIVER.HET.VAR.HET1_BIT28_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT7_DOUT.VALUE=0 +DRIVER.HET.VAR.HET2_INT_X7.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT7_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_INT_X8.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM3_PERIOD_LVL.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT26_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT18_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT10_ANDSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_INT_X9.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT11_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT11_DOUT.VALUE=0 +DRIVER.HET.VAR.HET1_PWM4_PIN_SELECT.VALUE=16 +DRIVER.HET.VAR.HET2_PWM4_DUTYTIME.VALUE=500.480 +DRIVER.HET.VAR.HET1_RAM_BASE.VALUE=0xFF460000 +DRIVER.HET.VAR.HET2_EDGE6_BOTH.VALUE=0 +DRIVER.HET.VAR.HET2_PWM2_DUTY_LVL.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT31_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT23_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT15_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_EDGE2_EVENT.VALUE=1 +DRIVER.HET.VAR.HET2_BIT11_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PIN_ENABLE.VALUE=0 +DRIVER.HET.VAR.HET1_CAP3_POLARITY.VALUE=0 +DRIVER.HET.VAR.HET1_BIT24_ANDSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT16_ANDSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT5_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT27_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT19_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_EDGE6_LVL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT24_PULL.VALUE=1 +DRIVER.HET.VAR.HET1_BIT16_PULL.VALUE=1 +DRIVER.HET.VAR.HET1_BIT2_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM6_DUTY_INTENA.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_EDGE3_POLARITY.VALUE=0 +DRIVER.HET.VAR.HET2_EDGE5_PIN_SELECT.VALUE=21 +DRIVER.HET.VAR.HET2_BIT21_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT13_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM7_PERIOD.VALUE=1000.000 +DRIVER.HET.VAR.HET1_BIT27_DOUT.VALUE=0 +DRIVER.HET.VAR.HET1_BIT19_DOUT.VALUE=0 +DRIVER.HET.VAR.HET2_CAP5_POLARITY.VALUE=0 +DRIVER.HET.VAR.HET2_PWM4_ENA.VALUE=0 +DRIVER.HET.VAR.HET2_BIT8_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM1_POLARITY.VALUE=3 +DRIVER.HET.VAR.HET2_CAP2_PIN_SELECT.VALUE=4 +DRIVER.HET.VAR.HET2_BIT4_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM0_PERIOD.VALUE=1000.000 +DRIVER.HET.VAR.HET1_BIT29_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT0_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT8_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM4_PERIOD_PRESCALER.VALUE=99968 +DRIVER.HET.VAR.HET2_BIT1_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT20_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT12_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM7_ACTION.VALUE=3 +DRIVER.HET.VAR.HET2_PWM4_PERIOD_PRESCALER.VALUE=99968 +DRIVER.HET.VAR.HET2_BIT26_PULL.VALUE=1 +DRIVER.HET.VAR.HET2_BIT24_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT18_PULL.VALUE=1 +DRIVER.HET.VAR.HET2_BIT16_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM3_DUTY_INTENA.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM3_POLARITY.VALUE=3 +DRIVER.HET.VAR.HET2_BIT28_ANDSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT0_XORSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM1_ACTUALPERIOD.VALUE=1000.960 +DRIVER.HET.VAR.HET2_BIT29_DOUT.VALUE=0 +DRIVER.HET.VAR.HET2_BIT6_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_CAP5_PIN_SELECT.VALUE=26 +DRIVER.HET.VAR.HET1_BIT28_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT10_DOUT.VALUE=0 +DRIVER.HET.VAR.HET2_EDGE7_LVL.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM0_ACTION.VALUE=3 +DRIVER.HET.VAR.HET2_BIT1_PULL.VALUE=1 +DRIVER.HET.VAR.HET1_EDGE7_EVENT.VALUE=1 +DRIVER.HET.VAR.HET1_EDGE5_BOTH.VALUE=0 +DRIVER.HET.VAR.HET1_PWM5_DUTY_PRESCALER.VALUE=50176 +DRIVER.HET.VAR.HET1_BIT3_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_EDGE7_POLARITY.VALUE=0 +DRIVER.HET.VAR.HET1_EDGE1_INTENA.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM3_DUTY.VALUE=50 +DRIVER.HET.VAR.HET1_PWM1_PERIOD_INTENA.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT30_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT22_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT14_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT4_DOUT.VALUE=0 +DRIVER.HET.VAR.HET2_EDGE4_EVENT.VALUE=1 +DRIVER.HET.VAR.HET1_BIT5_PULL.VALUE=1 +DRIVER.HET.VAR.HET1_MASTER.VALUE=1 +DRIVER.HET.VAR.HET2_EDGE5_INTENA.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM5_ENA.VALUE=0 +DRIVER.HET.VAR.HET2_PWM0_PERIOD_INTENA.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT2_XORSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT5_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM7_ACTUALPERIOD.VALUE=1000.960 +DRIVER.HET.VAR.HET1_BIT8_DOUT.VALUE=0 +DRIVER.HET.VAR.HET1_BIT1_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_LR_ACTUALTIME.VALUE=1280.000 +DRIVER.HET.VAR.HET1_PWM5_DUTYTIME.VALUE=500.480 +DRIVER.HET.VAR.HET2_PWM5_PERIOD_LVL.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM4_DUTY_PRESCALER.VALUE=50176 +DRIVER.HET.VAR.HET2_BIT9_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM3_DUTY_LVL.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM0_DUTY_INTENA.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT5_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM6_PIN_SELECT.VALUE=18 +DRIVER.HET.VAR.HET2_BIT21_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT20_DOUT.VALUE=0 +DRIVER.HET.VAR.HET2_BIT13_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT12_DOUT.VALUE=0 +DRIVER.HET.VAR.HET2_EDGE7_BOTH.VALUE=0 +DRIVER.HET.VAR.HET2_BIT25_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT17_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM6_DUTY_INTENA.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM0_ENA.VALUE=0 +DRIVER.HET.VAR.HET1_BIT30_XORSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT27_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT22_XORSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT19_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT14_XORSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM1_PERIOD.VALUE=1000.000 +DRIVER.HET.VAR.HET2_BIT7_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_EDGE5_PIN_SELECT.VALUE=21 +DRIVER.HET.VAR.HET1_BIT29_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT0_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET_DIS_BLACKBOX.VALUE=0 +DRIVER.HET.VAR.HET2_PWM7_DUTYTIME.VALUE=500.480 +DRIVER.HET.VAR.HET2_HR_ACTUALFREQUENCY.VALUE=100.000 +DRIVER.HET.VAR.HET2_PWM5_DUTY_LVL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM4_ACTION.VALUE=3 +DRIVER.HET.VAR.HET1_BIT25_PULL.VALUE=1 +DRIVER.HET.VAR.HET1_BIT17_PULL.VALUE=1 +DRIVER.HET.VAR.HET1_BIT4_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_EDGE0_POLARITY.VALUE=0 +DRIVER.HET.VAR.HET1_CAP6_POLARITY.VALUE=0 +DRIVER.HET.VAR.HET1_BIT20_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT12_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT31_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT23_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT15_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_INT_X10.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT28_DOUT.VALUE=0 +DRIVER.HET.VAR.HET2_INT_X11.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_INT_X20.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_INT_X12.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM3_PERIOD_PRESCALER.VALUE=99968 +DRIVER.HET.VAR.HET2_PWM6_ENA.VALUE=0 +DRIVER.HET.VAR.HET2_BIT24_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT16_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_INT_X21.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_INT_X13.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_HR_PRESCALE.VALUE=0 +DRIVER.HET.VAR.HET1_EDGE6_POLARITY.VALUE=0 +DRIVER.HET.VAR.HET1_PWM6_PERIOD_INTENA.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_LR_PRESCALE.VALUE=7 +DRIVER.HET.VAR.HET2_PWM0_PIN_SELECT.VALUE=8 +DRIVER.HET.VAR.HET2_BIT6_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_INT_X30.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_INT_X22.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_INT_X14.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT2_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_INT_X31.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_INT_X23.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_INT_X15.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM3_PERIOD_PRESCALER.VALUE=99968 +DRIVER.HET.VAR.HET2_INT_X24.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_INT_X16.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BASE_PORT.VALUE=0xFFF7B84C +DRIVER.HET.VAR.HET2_PWM5_PERIOD_INTENA.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT0_ANDSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_INT_X25.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_INT_X17.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM4_POLARITY.VALUE=3 +DRIVER.HET.VAR.HET1_PWM3_DUTY_INTENA.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT10_HRSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT30_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT22_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT14_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_INT_X26.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_INT_X18.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_INT_X27.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_INT_X19.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT27_PULL.VALUE=1 +DRIVER.HET.VAR.HET2_BIT26_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT19_PULL.VALUE=1 +DRIVER.HET.VAR.HET2_BIT18_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_INT_X28.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM2_PERIOD_LVL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM1_DUTY_PRESCALER.VALUE=50176 +DRIVER.HET.VAR.HET2_PWM0_DUTY.VALUE=50 +DRIVER.HET.VAR.HET2_BIT26_XORSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT18_XORSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_INT_X29.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM1_ENA.VALUE=0 +DRIVER.HET.VAR.HET2_CAP7_PIN_SELECT.VALUE=30 +DRIVER.HET.VAR.HET2_BIT8_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM5_PERIOD.VALUE=1000.000 +DRIVER.HET.VAR.HET1_PWM4_ACTUALPERIOD.VALUE=1000.960 +DRIVER.HET.VAR.HET1_PWM3_PIN_SELECT.VALUE=14 +DRIVER.HET.VAR.HET1_BIT11_DOUT.VALUE=0 +DRIVER.HET.VAR.HET1_BIT1_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM0_DUTYTIME.VALUE=500.480 +DRIVER.HET.VAR.HET2_BIT2_PULL.VALUE=1 +DRIVER.HET.VAR.HET1_EDGE6_BOTH.VALUE=0 +DRIVER.HET.VAR.HET1_BIT5_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM6_POLARITY.VALUE=3 +DRIVER.HET.VAR.HET2_BIT30_HRSHARE.VALUE=0x00008000 +DRIVER.HET.VAR.HET2_BIT22_HRSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT14_HRSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT6_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM4_DUTY.VALUE=50 +DRIVER.HET.VAR.HET1_BIT20_ANDSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT12_ANDSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PIN_ENABLE.VALUE=0 +DRIVER.HET.VAR.HET2_BIT24_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT16_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT5_DOUT.VALUE=0 +DRIVER.HET.VAR.HET2_PWM0_DUTY_PRESCALER.VALUE=50176 +DRIVER.HET.VAR.HET1_BIT6_PULL.VALUE=1 +DRIVER.HET.VAR.HET2_PWM7_ENA.VALUE=0 +DRIVER.HET.VAR.HET1_PWM0_DUTY_INTENA.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT8_ANDSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_EDGE4_PIN_SELECT.VALUE=20 +DRIVER.HET.VAR.HET2_BIT7_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT9_DOUT.VALUE=0 +DRIVER.HET.VAR.HET1_BIT3_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM5_ACTION.VALUE=3 +DRIVER.HET.VAR.HET2_BIT10_PULL.VALUE=1 +DRIVER.HET.VAR.HET2_CAP1_POLARITY.VALUE=0 +DRIVER.HET.VAR.HET1_EDGE6_INTENA.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_CAP1_PIN_SELECT.VALUE=2 +DRIVER.HET.VAR.HET2_BIT31_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT23_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT21_DOUT.VALUE=0 +DRIVER.HET.VAR.HET2_BIT15_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT13_DOUT.VALUE=0 +DRIVER.HET.VAR.HET2_BIT27_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT19_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_EDGE3_EVENT.VALUE=1 +DRIVER.HET.VAR.HET1_PWM6_DUTY_LVL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM2_ENA.VALUE=0 +DRIVER.HET.VAR.HET2_BIT9_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT2_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_EDGE0_EVENT.VALUE=1 +DRIVER.HET.VAR.HET1_PWM2_PERIOD_PRESCALER.VALUE=99968 +DRIVER.HET.VAR.HET1_BIT26_PULL.VALUE=1 +DRIVER.HET.VAR.HET1_BIT18_PULL.VALUE=1 +DRIVER.HET.VAR.HET1_BIT6_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_EDGE3_INTENA.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT24_ANDSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT16_ANDSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT25_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT17_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_CAP4_PIN_SELECT.VALUE=24 +DRIVER.HET.VAR.HET1_BIT29_DOUT.VALUE=0 +DRIVER.HET.VAR.HET1_BIT0_DOUT.VALUE=0 +DRIVER.HET.VAR.HET2_PWM2_PERIOD_PRESCALER.VALUE=99968 +DRIVER.HET.VAR.HET2_EDGE3_POLARITY.VALUE=0 +DRIVER.HET.VAR.HET1_BIT3_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT2_HRSHARE.VALUE=0x00000002 +DRIVER.HET.VAR.HET2_PWM6_PERIOD.VALUE=1000.000 +DRIVER.HET.VAR.HET2_BIT8_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM1_ACTUALPERIOD.VALUE=1000.960 +DRIVER.HET.VAR.HET1_BIT4_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT4_HRSHARE.VALUE=0x00000004 +DRIVER.HET.VAR.HET1_BIT25_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT17_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT24_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT16_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM1_DUTYTIME.VALUE=500.480 +DRIVER.HET.VAR.HET2_PWM4_PERIOD_LVL.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT28_PULL.VALUE=1 +DRIVER.HET.VAR.HET2_BIT28_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM2_ACTION.VALUE=3 +DRIVER.HET.VAR.HET2_PWM1_DUTY.VALUE=50 +DRIVER.HET.VAR.HET2_BIT29_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM7_POLARITY.VALUE=3 +DRIVER.HET.VAR.HET1_PWM3_ENA.VALUE=0 +DRIVER.HET.VAR.HET1_BIT24_HRSHARE.VALUE=0x00001000 +DRIVER.HET.VAR.HET1_BIT16_HRSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT10_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM5_PIN_SELECT.VALUE=17 +DRIVER.HET.VAR.HET1_BIT20_DOUT.VALUE=0 +DRIVER.HET.VAR.HET1_BIT12_DOUT.VALUE=0 +DRIVER.HET.VAR.HET1_BIT3_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_INT_X10.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_INT_X11.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT3_PULL.VALUE=1 +DRIVER.HET.VAR.HET1_EDGE7_BOTH.VALUE=0 +DRIVER.HET.VAR.HET1_EDGE0_LVL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT7_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_INT_X20.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_INT_X12.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT30_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT22_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT14_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM5_DUTY.VALUE=50 +DRIVER.HET.VAR.HET1_BIT10_XORSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_INT_X21.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_INT_X13.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM5_ACTUALPERIOD.VALUE=1000.960 +DRIVER.HET.VAR.HET2_BIT26_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT18_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT6_DOUT.VALUE=0 +DRIVER.HET.VAR.HET1_EDGE4_PIN_SELECT.VALUE=20 +DRIVER.HET.VAR.HET1_INT_X30.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_INT_X22.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_INT_X14.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM3_DUTYTIME.VALUE=500.480 +DRIVER.HET.VAR.HET1_INT_X31.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_INT_X23.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_INT_X15.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_EDGE5_EVENT.VALUE=1 +DRIVER.HET.VAR.HET2_PWM1_DUTY_LVL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM7_PERIOD_LVL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM6_DUTY_PRESCALER.VALUE=50176 +DRIVER.HET.VAR.HET1_BIT7_PULL.VALUE=1 +DRIVER.HET.VAR.HET1_INT_X24.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_INT_X16.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT28_HRSHARE.VALUE=0x00004000 +DRIVER.HET.VAR.HET1_CAP2_POLARITY.VALUE=0 +DRIVER.HET.VAR.HET1_PWM3_PERIOD_INTENA.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT6_XORSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_INT_X25.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_INT_X17.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT9_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT5_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_INT_X26.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_INT_X18.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_INT_X27.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_INT_X19.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT11_PULL.VALUE=1 +DRIVER.HET.VAR.HET1_INT_X28.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM2_PERIOD_INTENA.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_RAM_SIZE.VALUE=160 +DRIVER.HET.VAR.HET1_EDGE2_POLARITY.VALUE=0 +DRIVER.HET.VAR.HET1_INT_X29.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT30_DOUT.VALUE=0 +DRIVER.HET.VAR.HET2_BIT25_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT22_DOUT.VALUE=0 +DRIVER.HET.VAR.HET2_BIT17_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT14_DOUT.VALUE=0 +DRIVER.HET.VAR.HET1_PWM3_PERIOD.VALUE=1000.000 +DRIVER.HET.VAR.HET2_PWM5_DUTY_PRESCALER.VALUE=50176 +DRIVER.HET.VAR.HET2_BIT29_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM1_PERIOD_PRESCALER.VALUE=99968 +DRIVER.HET.VAR.HET1_BIT10_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_CAP4_POLARITY.VALUE=0 +DRIVER.HET.VAR.HET2_BIT8_XORSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT4_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM4_ENA.VALUE=0 +DRIVER.HET.VAR.HET1_PWM0_POLARITY.VALUE=3 +DRIVER.HET.VAR.HET1_BIT4_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM1_PERIOD_PRESCALER.VALUE=99968 +DRIVER.HET.VAR.HET1_EDGE1_LVL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM1_PERIOD_LVL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT27_PULL.VALUE=1 +DRIVER.HET.VAR.HET1_BIT19_PULL.VALUE=1 +DRIVER.HET.VAR.HET1_BIT8_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT30_XORSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT22_XORSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT14_XORSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_CAP6_PIN_SELECT.VALUE=28 +DRIVER.HET.VAR.HET2_BIT27_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT19_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM2_PIN_SELECT.VALUE=12 +DRIVER.HET.VAR.HET1_BIT1_DOUT.VALUE=0 +DRIVER.HET.VAR.HET2_PWM3_ACTION.VALUE=3 +DRIVER.HET.VAR.HET2_PWM2_POLARITY.VALUE=3 +DRIVER.HET.VAR.HET1_EDGE4_INTENA.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT28_XORSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT6_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_EDGE0_BOTH.VALUE=0 +DRIVER.HET.VAR.HET2_EDGE6_POLARITY.VALUE=0 +DRIVER.HET.VAR.HET2_PWM5_DUTY_INTENA.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT8_HRSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT4_ANDSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_EDGE3_PIN_SELECT.VALUE=15 +DRIVER.HET.VAR.HET2_PWM2_ACTUALPERIOD.VALUE=1000.960 +DRIVER.HET.VAR.HET2_BIT26_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT18_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT29_PULL.VALUE=1 +DRIVER.HET.VAR.HET1_BIT11_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT10_PULL.VALUE=1 +DRIVER.HET.VAR.HET2_EDGE1_INTENA.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM7_PERIOD_INTENA.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM2_DUTY.VALUE=50 +DRIVER.HET.VAR.HET1_PWM5_ENA.VALUE=0 +DRIVER.HET.VAR.HET1_BIT8_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_CAP0_PIN_SELECT.VALUE=0 +DRIVER.HET.VAR.HET1_BIT21_DOUT.VALUE=0 +DRIVER.HET.VAR.HET1_BIT13_DOUT.VALUE=0 +DRIVER.HET.VAR.HET1_BIT5_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM4_DUTYTIME.VALUE=500.480 +DRIVER.HET.VAR.HET2_BIT4_PULL.VALUE=1 +DRIVER.HET.VAR.HET1_EDGE2_LVL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM2_DUTY_LVL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM2_DUTY_PRESCALER.VALUE=50176 +DRIVER.HET.VAR.HET1_BIT9_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT6_ANDSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM6_DUTY.VALUE=50 +DRIVER.HET.VAR.HET1_BIT1_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM4_PERIOD.VALUE=1000.000 +DRIVER.HET.VAR.HET2_BIT28_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT7_DOUT.VALUE=0 +DRIVER.HET.VAR.HET1_PWM7_ACTION.VALUE=3 +DRIVER.HET.VAR.HET1_BIT8_PULL.VALUE=1 +DRIVER.HET.VAR.HET2_PWM2_DUTY_INTENA.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT20_ANDSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT12_ANDSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT31_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT23_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT15_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_CAP3_PIN_SELECT.VALUE=6 +DRIVER.HET.VAR.HET1_BIT7_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM6_DUTYTIME.VALUE=500.480 +DRIVER.HET.VAR.HET2_PWM4_DUTY_LVL.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM1_DUTY_PRESCALER.VALUE=50176 +DRIVER.HET.VAR.HET2_BIT20_PULL.VALUE=1 +DRIVER.HET.VAR.HET2_BIT12_PULL.VALUE=1 +DRIVER.HET.VAR.HET1_PWM0_PERIOD_PRESCALER.VALUE=99968 +DRIVER.HET.VAR.HET1_PWM0_ACTION.VALUE=3 +DRIVER.HET.VAR.HET2_BIT27_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT19_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_CAP5_POLARITY.VALUE=0 +DRIVER.HET.VAR.HET1_BIT26_ANDSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT18_ANDSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT31_DOUT.VALUE=0 +DRIVER.HET.VAR.HET2_BIT27_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT23_DOUT.VALUE=0 +DRIVER.HET.VAR.HET2_BIT19_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT15_DOUT.VALUE=0 +DRIVER.HET.VAR.HET2_PWM0_PERIOD_PRESCALER.VALUE=99968 +DRIVER.HET.VAR.HET1_EDGE4_EVENT.VALUE=1 +DRIVER.HET.VAR.HET1_BIT20_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT12_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT20_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT12_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_EDGE5_POLARITY.VALUE=0 +DRIVER.HET.VAR.HET1_PWM6_ENA.VALUE=0 +DRIVER.HET.VAR.HET1_BIT6_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_EDGE1_EVENT.VALUE=1 +DRIVER.HET.VAR.HET2_PWM3_PERIOD_LVL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_EDGE3_LVL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT28_PULL.VALUE=1 +DRIVER.HET.VAR.HET2_CAP7_POLARITY.VALUE=0 +DRIVER.HET.VAR.HET1_PWM3_POLARITY.VALUE=3 +DRIVER.HET.VAR.HET2_PWM4_PIN_SELECT.VALUE=16 +DRIVER.HET.VAR.HET2_BIT29_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT10_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT2_DOUT.VALUE=0 +DRIVER.HET.VAR.HET2_BIT9_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM5_DUTY_INTENA.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM0_PERIOD_INTENA.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_EDGE3_PIN_SELECT.VALUE=15 +DRIVER.HET.VAR.HET1_PWM1_PERIOD.VALUE=1000.000 +DRIVER.HET.VAR.HET1_BIT8_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BASE.VALUE=0xFFF7B800 +DRIVER.HET.VAR.HET2_EDGE1_BOTH.VALUE=0 +DRIVER.HET.VAR.HET1_PWM6_PERIOD_LVL.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM5_POLARITY.VALUE=3 +DRIVER.HET.VAR.HET2_BIT20_HRSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT12_HRSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT2_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT2_XORSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT28_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM7_PIN_SELECT.VALUE=19 +DRIVER.HET.VAR.HET1_PWM5_ACTUALPERIOD.VALUE=1000.960 +DRIVER.HET.VAR.HET1_LR_ACTUALTIME.VALUE=1280.000 +DRIVER.HET.VAR.HET1_BIT21_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT13_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT11_PULL.VALUE=1 +DRIVER.HET.VAR.HET2_PWM3_DUTY.VALUE=50 +DRIVER.HET.VAR.HET1_PWM7_ENA.VALUE=0 +DRIVER.HET.VAR.HET1_HR_PRESCALE.VALUE=0 +DRIVER.HET.VAR.HET1_BIT30_DOUT.VALUE=0 +DRIVER.HET.VAR.HET1_BIT22_DOUT.VALUE=0 +DRIVER.HET.VAR.HET1_BIT14_DOUT.VALUE=0 +DRIVER.HET.VAR.HET1_BIT7_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_HR_ACTUALFREQUENCY.VALUE=100.000 +DRIVER.HET.VAR.HET2_PWM1_ACTION.VALUE=3 +DRIVER.HET.VAR.HET2_BIT5_PULL.VALUE=1 +DRIVER.HET.VAR.HET1_EDGE4_LVL.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_CAP0_POLARITY.VALUE=0 +DRIVER.HET.VAR.HET2_BIT4_XORSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_EDGE2_INTENA.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM7_DUTY.VALUE=50 +DRIVER.HET.VAR.HET1_PWM2_DUTY_INTENA.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT8_DOUT.VALUE=0 +DRIVER.HET.VAR.HET1_BIT11_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM7_DUTYTIME.VALUE=500.480 +DRIVER.HET.VAR.HET2_EDGE6_EVENT.VALUE=1 +DRIVER.HET.VAR.HET2_MASTER.VALUE=1 +DRIVER.HET.VAR.HET1_PWM5_DUTY_LVL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM0_PERIOD_LVL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT9_PULL.VALUE=1 +DRIVER.HET.VAR.HET2_EDGE6_INTENA.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT10_XORSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_CAP5_PIN_SELECT.VALUE=26 +DRIVER.HET.VAR.HET1_PWM1_PIN_SELECT.VALUE=10 +DRIVER.HET.VAR.HET1_BIT9_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT21_PULL.VALUE=1 +DRIVER.HET.VAR.HET2_BIT13_PULL.VALUE=1 +DRIVER.HET.VAR.HET1_PWM7_DUTY_PRESCALER.VALUE=50176 +DRIVER.HET.VAR.HET1_PWM5_PERIOD_INTENA.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT24_XORSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT16_XORSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT6_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_RAM_PARITY_ENA.VALUE=0x00000005 +DRIVER.HET.VAR.HET2_BIT29_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT24_DOUT.VALUE=0 +DRIVER.HET.VAR.HET2_BIT16_DOUT.VALUE=0 +DRIVER.HET.VAR.HET1_BIT10_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM7_DUTY_LVL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_EDGE0_BOTH.VALUE=0 +DRIVER.HET.VAR.HET1_BIT30_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT22_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT14_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_INT_X0.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_EDGE2_POLARITY.VALUE=0 +DRIVER.HET.VAR.HET2_PWM4_PERIOD_INTENA.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT28_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT0_ANDSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT0_HRSHARE.VALUE=0x00000001 +DRIVER.HET.VAR.HET1_INT_X1.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_EDGE2_PIN_SELECT.VALUE=13 +DRIVER.HET.VAR.HET2_PWM2_PERIOD.VALUE=1000.000 +DRIVER.HET.VAR.HET1_BIT8_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_INT_X2.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_DIS_BLACKBOX.VALUE=0 +DRIVER.HET.VAR.HET2_LR_TIME.VALUE=800.000 +DRIVER.HET.VAR.HET1_INT_X3.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM6_DUTY_PRESCALER.VALUE=50176 +DRIVER.HET.VAR.HET1_EDGE5_LVL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM5_ACTION.VALUE=3 +DRIVER.HET.VAR.HET1_BIT29_PULL.VALUE=1 +DRIVER.HET.VAR.HET1_BIT0_PULL.VALUE=1 +DRIVER.HET.VAR.HET1_INT_X4.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT2_HRSHARE.VALUE=0x00000002 +DRIVER.HET.VAR.HET1_BIT21_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT13_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_INT_X5.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM2_ACTUALPERIOD.VALUE=1000.960 +DRIVER.HET.VAR.HET1_BIT20_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT12_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT3_DOUT.VALUE=0 +DRIVER.HET.VAR.HET1_INT_X6.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM0_DUTYTIME.VALUE=500.480 +DRIVER.HET.VAR.HET1_INT_X7.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BASE_PORT.VALUE=0xFFF7B94C +DRIVER.HET.VAR.HET1_INT_X8.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT25_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT17_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT2_ANDSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM6_POLARITY.VALUE=3 +DRIVER.HET.VAR.HET1_BIT30_HRSHARE.VALUE=0x00008000 +DRIVER.HET.VAR.HET1_BIT22_HRSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT14_HRSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_INT_X9.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BASE.VALUE=0xFFF7B900 +DRIVER.HET.VAR.HET2_EDGE2_BOTH.VALUE=0 +DRIVER.HET.VAR.HET1_EDGE0_EVENT.VALUE=1 +DRIVER.HET.VAR.HET2_BIT28_XORSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT10_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_CAP2_PIN_SELECT.VALUE=4 +DRIVER.HET.VAR.HET1_BIT11_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM2_DUTYTIME.VALUE=500.480 +DRIVER.HET.VAR.HET2_PWM0_DUTY_LVL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT31_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT23_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT20_PULL.VALUE=1 +DRIVER.HET.VAR.HET1_BIT15_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT12_PULL.VALUE=1 +DRIVER.HET.VAR.HET2_PWM4_DUTY.VALUE=50 +DRIVER.HET.VAR.HET2_BIT26_HRSHARE.VALUE=0x00002000 +DRIVER.HET.VAR.HET2_BIT18_HRSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_CAP1_POLARITY.VALUE=0 +DRIVER.HET.VAR.HET1_BIT30_ANDSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT22_ANDSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT14_ANDSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM6_ACTUALPERIOD.VALUE=1000.960 +DRIVER.HET.VAR.HET1_PWM6_PERIOD.VALUE=1000.000 +DRIVER.HET.VAR.HET1_BIT31_DOUT.VALUE=0 +DRIVER.HET.VAR.HET1_BIT23_DOUT.VALUE=0 +DRIVER.HET.VAR.HET1_BIT15_DOUT.VALUE=0 +DRIVER.HET.VAR.HET1_BIT9_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT6_PULL.VALUE=1 +DRIVER.HET.VAR.HET1_EDGE6_LVL.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT7_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_EDGE1_POLARITY.VALUE=0 +DRIVER.HET.VAR.HET1_RAM_SIZE.VALUE=160 +DRIVER.HET.VAR.HET2_BIT9_DOUT.VALUE=0 +DRIVER.HET.VAR.HET1_BIT21_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT13_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM2_PERIOD_LVL.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT0_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM3_DUTY_PRESCALER.VALUE=50176 +DRIVER.HET.VAR.HET2_CAP3_POLARITY.VALUE=0 +DRIVER.HET.VAR.HET2_BIT0_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM3_PIN_SELECT.VALUE=14 +DRIVER.HET.VAR.HET2_PWM6_ACTION.VALUE=3 +DRIVER.HET.VAR.HET2_BIT30_PULL.VALUE=1 +DRIVER.HET.VAR.HET2_BIT22_PULL.VALUE=1 +DRIVER.HET.VAR.HET2_BIT14_PULL.VALUE=1 +DRIVER.HET.VAR.HET1_EDGE7_INTENA.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT25_DOUT.VALUE=0 +DRIVER.HET.VAR.HET2_BIT17_DOUT.VALUE=0 +DRIVER.HET.VAR.HET1_EDGE2_PIN_SELECT.VALUE=13 +DRIVER.HET.VAR.HET1_BIT20_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT12_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_HR_FREQUENCY.VALUE=110.000 +DRIVER.HET.VAR.HET2_PWM2_DUTY_PRESCALER.VALUE=50176 +DRIVER.HET.VAR.HET1_EDGE5_EVENT.VALUE=1 +DRIVER.HET.VAR.HET1_EDGE1_BOTH.VALUE=0 +DRIVER.HET.VAR.HET1_PWM5_PERIOD_LVL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT24_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT16_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM1_POLARITY.VALUE=3 +DRIVER.HET.VAR.HET2_BIT26_ANDSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT18_ANDSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_EDGE0_INTENA.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT0_DOUT.VALUE=0 +DRIVER.HET.VAR.HET1_PWM6_PIN_SELECT.VALUE=18 +DRIVER.HET.VAR.HET2_EDGE2_EVENT.VALUE=1 +DRIVER.HET.VAR.HET1_EDGE7_LVL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT1_PULL.VALUE=1 +DRIVER.HET.VAR.HET2_EDGE5_POLARITY.VALUE=0 +DRIVER.HET.VAR.HET2_EDGE4_INTENA.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT6_HRSHARE.VALUE=0x00000008 +DRIVER.HET.VAR.HET1_BIT30_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT22_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT14_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT4_DOUT.VALUE=0 +DRIVER.HET.VAR.HET2_BIT1_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM7_DUTY_INTENA.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT8_HRSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT0_XORSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT4_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_EDGE7_PIN_SELECT.VALUE=23 +DRIVER.HET.VAR.HET2_PWM7_PERIOD.VALUE=1000.000 +DRIVER.HET.VAR.HET2_PWM3_ACTUALPERIOD.VALUE=1000.960 +DRIVER.HET.VAR.HET1_PWM3_DUTYTIME.VALUE=500.480 +DRIVER.HET.VAR.HET2_EDGE3_BOTH.VALUE=0 +DRIVER.HET.VAR.HET1_PWM1_DUTY_LVL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM2_PERIOD_INTENA.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT28_HRSHARE.VALUE=0x00004000 +DRIVER.HET.VAR.HET1_BIT26_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT18_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_CAP4_PIN_SELECT.VALUE=24 +DRIVER.HET.VAR.HET2_PWM0_PERIOD.VALUE=1000.000 +DRIVER.HET.VAR.HET1_PWM0_PIN_SELECT.VALUE=8 +DRIVER.HET.VAR.HET1_BIT21_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT13_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_LR_TIME.VALUE=800.000 +DRIVER.HET.VAR.HET2_EDGE0_LVL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM3_ACTION.VALUE=3 +DRIVER.HET.VAR.HET1_BIT25_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT21_PULL.VALUE=1 +DRIVER.HET.VAR.HET1_BIT17_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT13_PULL.VALUE=1 +DRIVER.HET.VAR.HET2_PWM5_DUTY.VALUE=50 +DRIVER.HET.VAR.HET2_PWM1_PERIOD_INTENA.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT20_XORSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT12_XORSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT11_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT24_DOUT.VALUE=0 +DRIVER.HET.VAR.HET1_BIT16_DOUT.VALUE=0 +DRIVER.HET.VAR.HET2_PWM5_DUTYTIME.VALUE=500.480 +DRIVER.HET.VAR.HET2_RAM_BASE.VALUE=0xFF440000 +DRIVER.HET.VAR.HET2_PWM3_DUTY_LVL.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT7_PULL.VALUE=1 +DRIVER.HET.VAR.HET2_PWM4_DUTY_INTENA.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT31_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT23_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT15_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_CAP4_POLARITY.VALUE=0 +DRIVER.HET.VAR.HET1_BIT8_XORSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_EDGE1_PIN_SELECT.VALUE=11 +DRIVER.HET.VAR.HET1_CAP7_PIN_SELECT.VALUE=30 +DRIVER.HET.VAR.HET1_BIT31_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT23_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT15_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_EDGE7_EVENT.VALUE=1 +DRIVER.HET.VAR.HET2_BIT2_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_EDGE4_POLARITY.VALUE=0 +DRIVER.HET.VAR.HET2_BIT31_PULL.VALUE=1 +DRIVER.HET.VAR.HET2_BIT23_PULL.VALUE=1 +DRIVER.HET.VAR.HET2_BIT15_PULL.VALUE=1 +DRIVER.HET.VAR.HET2_BIT10_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_CAP6_POLARITY.VALUE=0 +DRIVER.HET.VAR.HET1_PWM2_POLARITY.VALUE=3 +DRIVER.HET.VAR.HET2_BIT26_DOUT.VALUE=0 +DRIVER.HET.VAR.HET2_BIT18_DOUT.VALUE=0 +DRIVER.HET.VAR.HET2_BIT0_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM4_PERIOD.VALUE=1000.000 +DRIVER.HET.VAR.HET1_BIT30_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT22_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT14_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_EDGE1_LVL.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM7_PERIOD_LVL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_EDGE2_BOTH.VALUE=0 +DRIVER.HET.VAR.HET1_BIT26_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT18_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM1_DUTY_INTENA.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT24_XORSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT16_XORSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT5_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_RAM_PARITY_ENA.VALUE=0x00000005 +DRIVER.HET.VAR.HET1_PWM7_PERIOD_INTENA.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM0_DUTY.VALUE=50 +DRIVER.HET.VAR.HET2_PWM0_ACTUALPERIOD.VALUE=1000.960 +DRIVER.HET.VAR.HET2_BIT1_DOUT.VALUE=0 +DRIVER.HET.VAR.HET1_CAP1_PIN_SELECT.VALUE=2 +DRIVER.HET.VAR.HET1_PWM7_PERIOD_PRESCALER.VALUE=99968 +DRIVER.HET.VAR.HET1_BIT2_PULL.VALUE=1 +DRIVER.HET.VAR.HET2_PWM6_PERIOD_INTENA.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM4_POLARITY.VALUE=3 +DRIVER.HET.VAR.HET2_BIT10_HRSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM7_DUTY_INTENA.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT10_ANDSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_EDGE7_PIN_SELECT.VALUE=23 +DRIVER.HET.VAR.HET1_BIT24_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT16_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT5_DOUT.VALUE=0 +DRIVER.HET.VAR.HET2_PWM7_PERIOD_PRESCALER.VALUE=99968 +DRIVER.HET.VAR.HET2_PWM7_DUTY_PRESCALER.VALUE=50176 +DRIVER.HET.VAR.HET2_PWM4_ACTION.VALUE=3 +DRIVER.HET.VAR.HET2_BIT3_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_EDGE5_INTENA.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT6_ANDSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM6_ACTUALPERIOD.VALUE=1000.960 +DRIVER.HET.VAR.HET2_EDGE4_BOTH.VALUE=0 +DRIVER.HET.VAR.HET2_PWM1_PERIOD_LVL.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT11_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_EDGE1_EVENT.VALUE=1 +DRIVER.HET.VAR.HET2_LR_PRESCALE.VALUE=7 +DRIVER.HET.VAR.HET2_PWM2_PIN_SELECT.VALUE=12 +DRIVER.HET.VAR.HET2_BIT1_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT31_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT23_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT15_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM6_DUTYTIME.VALUE=500.480 +DRIVER.HET.VAR.HET2_EDGE2_LVL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM4_DUTY_LVL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT30_PULL.VALUE=1 +DRIVER.HET.VAR.HET1_BIT27_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT22_PULL.VALUE=1 +DRIVER.HET.VAR.HET1_BIT19_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT14_PULL.VALUE=1 +DRIVER.HET.VAR.HET2_EDGE2_INTENA.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM6_DUTY.VALUE=50 +DRIVER.HET.VAR.HET2_BIT8_ANDSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM4_DUTY_INTENA.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT9_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_EDGE1_PIN_SELECT.VALUE=11 +DRIVER.HET.VAR.HET1_BIT25_DOUT.VALUE=0 +DRIVER.HET.VAR.HET1_BIT17_DOUT.VALUE=0 +DRIVER.HET.VAR.HET2_BIT8_PULL.VALUE=1 +DRIVER.HET.VAR.HET1_PWM4_PERIOD_LVL.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM0_ENA.VALUE=0 +DRIVER.HET.VAR.HET2_BIT30_ANDSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT22_ANDSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT14_ANDSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT2_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM5_PERIOD.VALUE=1000.000 +DRIVER.HET.VAR.HET2_BIT0_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM5_PIN_SELECT.VALUE=17 +DRIVER.HET.VAR.HET1_BIT25_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT17_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM6_DUTY_LVL.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT4_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_EDGE1_POLARITY.VALUE=0 +DRIVER.HET.VAR.HET1_CAP7_POLARITY.VALUE=0 +DRIVER.HET.VAR.HET1_BIT28_ANDSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT24_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT16_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT24_PULL.VALUE=1 +DRIVER.HET.VAR.HET2_BIT20_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT16_PULL.VALUE=1 +DRIVER.HET.VAR.HET2_BIT12_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM4_DUTY_PRESCALER.VALUE=50176 +DRIVER.HET.VAR.HET1_PWM1_ACTION.VALUE=3 +DRIVER.HET.VAR.HET2_BIT28_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT0_HRSHARE.VALUE=0x00000001 +DRIVER.HET.VAR.HET1_EDGE7_POLARITY.VALUE=0 +DRIVER.HET.VAR.HET1_PWM1_DUTY_INTENA.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_EDGE6_PIN_SELECT.VALUE=22 +DRIVER.HET.VAR.HET2_BIT27_DOUT.VALUE=0 +DRIVER.HET.VAR.HET2_BIT19_DOUT.VALUE=0 +DRIVER.HET.VAR.HET2_BIT2_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_DIS_BLACKBOX.VALUE=0 +DRIVER.HET.VAR.HET1_BIT24_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT16_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_EDGE3_LVL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_EDGE6_EVENT.VALUE=1 +DRIVER.HET.VAR.HET1_EDGE3_BOTH.VALUE=0 +DRIVER.HET.VAR.HET1_PWM6_PERIOD_PRESCALER.VALUE=99968 +DRIVER.HET.VAR.HET1_BIT28_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT21_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT13_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM5_POLARITY.VALUE=3 +DRIVER.HET.VAR.HET1_PWM1_DUTY.VALUE=50 +DRIVER.HET.VAR.HET1_BIT20_HRSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT12_HRSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_CAP3_PIN_SELECT.VALUE=6 +DRIVER.HET.VAR.HET2_BIT10_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT2_DOUT.VALUE=0 +DRIVER.HET.VAR.HET1_PWM3_ACTUALPERIOD.VALUE=1000.960 +DRIVER.HET.VAR.HET2_EDGE3_EVENT.VALUE=1 +DRIVER.HET.VAR.HET2_PWM6_PERIOD_PRESCALER.VALUE=99968 +DRIVER.HET.VAR.HET2_PWM3_DUTY_PRESCALER.VALUE=50176 +DRIVER.HET.VAR.HET1_BIT3_PULL.VALUE=1 +DRIVER.HET.VAR.HET2_PWM1_ENA.VALUE=0 +DRIVER.HET.VAR.HET2_BIT1_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT26_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT18_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT6_DOUT.VALUE=0 +DRIVER.HET.VAR.HET2_PWM1_DUTYTIME.VALUE=500.480 +DRIVER.HET.VAR.HET2_BIT5_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM7_POLARITY.VALUE=3 +DRIVER.HET.VAR.HET2_BIT24_HRSHARE.VALUE=0x00001000 +DRIVER.HET.VAR.HET2_BIT16_HRSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_CAP0_POLARITY.VALUE=0 +DRIVER.HET.VAR.HET1_BIT4_XORSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_EDGE0_PIN_SELECT.VALUE=9 +DRIVER.HET.VAR.HET2_BIT10_DOUT.VALUE=0 +DRIVER.HET.VAR.HET1_CAP6_PIN_SELECT.VALUE=28 +DRIVER.HET.VAR.HET1_PWM2_PERIOD.VALUE=1000.000 +DRIVER.HET.VAR.HET2_EDGE5_BOTH.VALUE=0 +DRIVER.HET.VAR.HET2_BIT21_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT13_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT3_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_EDGE0_POLARITY.VALUE=0 +DRIVER.HET.VAR.HET2_PWM7_ACTUALPERIOD.VALUE=1000.960 +DRIVER.HET.VAR.HET2_BIT3_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT25_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT17_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_EDGE4_LVL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT31_PULL.VALUE=1 +DRIVER.HET.VAR.HET1_BIT29_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT23_PULL.VALUE=1 +DRIVER.HET.VAR.HET1_BIT15_PULL.VALUE=1 +DRIVER.HET.VAR.HET1_BIT0_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_CAP2_POLARITY.VALUE=0 +DRIVER.HET.VAR.HET2_PWM7_DUTY.VALUE=50 +DRIVER.HET.VAR.HET2_BIT6_XORSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM4_PERIOD_INTENA.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT11_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT26_DOUT.VALUE=0 +DRIVER.HET.VAR.HET1_BIT18_DOUT.VALUE=0 +DRIVER.HET.VAR.HET2_PWM6_PERIOD_LVL.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM2_ACTION.VALUE=3 +DRIVER.HET.VAR.HET2_BIT9_PULL.VALUE=1 +DRIVER.HET.VAR.HET1_PWM7_DUTY_LVL.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM3_PERIOD_INTENA.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM2_ENA.VALUE=0 +DRIVER.HET.VAR.HET2_BIT20_XORSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT12_XORSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_EDGE3_INTENA.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM7_PIN_SELECT.VALUE=19 +DRIVER.HET.VAR.HET2_BIT2_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_CAP0_PIN_SELECT.VALUE=0 +DRIVER.HET.VAR.HET1_BIT27_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT19_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT6_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM0_DUTY_PRESCALER.VALUE=50176 +DRIVER.HET.VAR.HET2_EDGE7_INTENA.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM0_POLARITY.VALUE=3 +DRIVER.HET.VAR.HET1_BIT26_XORSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT18_XORSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT10_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_EDGE6_PIN_SELECT.VALUE=22 +DRIVER.HET.VAR.HET1_PWM0_ACTUALPERIOD.VALUE=1000.960 +DRIVER.HET.VAR.HET2_HR_FREQUENCY.VALUE=110.000 +DRIVER.HET.VAR.HET2_BIT30_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT25_PULL.VALUE=1 +DRIVER.HET.VAR.HET2_BIT22_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT17_PULL.VALUE=1 +DRIVER.HET.VAR.HET2_BIT14_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM5_PERIOD_PRESCALER.VALUE=99968 +DRIVER.HET.VAR.HET2_EDGE4_POLARITY.VALUE=0 +DRIVER.HET.VAR.HET2_EDGE0_INTENA.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT7_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT4_HRSHARE.VALUE=0x00000004 +DRIVER.HET.VAR.HET1_BIT2_ANDSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT28_DOUT.VALUE=0 +DRIVER.HET.VAR.HET2_BIT4_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT26_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT18_PSL.VALUE=0x00000000 +DRIVER.RTP.VAR.RTP_PORT_BIT1_DOUT.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT3_FUN.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT1_PSL.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT5_DIR.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT14_PULDIS.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT11_DIR.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT3_PDR.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT8_PULL.VALUE=2 +DRIVER.RTP.VAR.RTP_PORT_BIT4_FUN.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT6_PULDIS.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT2_PSL.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT10_FUN.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT6_DIR.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT14_PULL.VALUE=2 +DRIVER.RTP.VAR.RTP_PORT_BIT12_DIR.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT17_DOUT.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT4_PDR.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT10_PDR.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT2_DOUT.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT5_FUN.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT3_PSL.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT11_FUN.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT7_DIR.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT13_DIR.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT5_PDR.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT11_PDR.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT9_PULL.VALUE=2 +DRIVER.RTP.VAR.RTP_PORT_BIT6_FUN.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT12_PULDIS.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT4_PSL.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT12_FUN.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT8_DIR.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT10_PSL.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT15_PULL.VALUE=2 +DRIVER.RTP.VAR.RTP_PORT_BIT14_DIR.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT18_DOUT.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT6_PDR.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT0_PULL.VALUE=2 +DRIVER.RTP.VAR.RTP_PORT_BIT4_PULDIS.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT12_PDR.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT3_DOUT.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT7_FUN.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT5_PSL.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT13_FUN.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT9_DIR.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT11_PSL.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT15_DIR.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT7_PDR.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT13_PDR.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT8_FUN.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT6_PSL.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT14_FUN.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT12_PSL.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT16_PULL.VALUE=2 +DRIVER.RTP.VAR.RTP_PORT_BIT16_DIR.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT17_PULDIS.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT8_PDR.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT1_PULL.VALUE=2 +DRIVER.RTP.VAR.RTP_PORT_BIT10_PULDIS.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT14_PDR.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT4_DOUT.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT9_FUN.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT7_PSL.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT15_FUN.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT9_PULDIS.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT13_PSL.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT10_DOUT.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT17_DIR.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT2_PULDIS.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT9_PDR.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT15_PDR.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT8_PSL.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT16_FUN.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT14_PSL.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT18_DIR.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT17_PULL.VALUE=2 +DRIVER.RTP.VAR.RTP_BASE_PORT.VALUE=0xFFFFFA38 +DRIVER.RTP.VAR.RTP_PORT_BIT2_PULL.VALUE=2 +DRIVER.RTP.VAR.RTP_PORT_BIT16_PDR.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT5_DOUT.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT9_PSL.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT17_FUN.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT15_PULDIS.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT15_PSL.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT11_DOUT.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT17_PDR.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT7_PULDIS.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT18_FUN.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT0_PULDIS.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT16_PSL.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT18_PULL.VALUE=2 +DRIVER.RTP.VAR.RTP_PORT_BIT3_PULL.VALUE=2 +DRIVER.RTP.VAR.RTP_PORT_BIT18_PDR.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT6_DOUT.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT17_PSL.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT12_DOUT.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT13_PULDIS.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT18_PSL.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT4_PULL.VALUE=2 +DRIVER.RTP.VAR.RTP_PORT_BIT5_PULDIS.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT7_DOUT.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT10_PULL.VALUE=2 +DRIVER.RTP.VAR.RTP_PORT_BIT13_DOUT.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT18_PULDIS.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT5_PULL.VALUE=2 +DRIVER.RTP.VAR.RTP_PORT_BIT11_PULDIS.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT8_DOUT.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT0_DIR.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT11_PULL.VALUE=2 +DRIVER.RTP.VAR.RTP_PORT_BIT14_DOUT.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT3_PULDIS.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT1_DIR.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT6_PULL.VALUE=2 +DRIVER.RTP.VAR.RTP_PORT_BIT0_FUN.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT9_DOUT.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT2_DIR.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT12_PULL.VALUE=2 +DRIVER.RTP.VAR.RTP_PORT_BIT16_PULDIS.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT15_DOUT.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT0_PDR.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT0_DOUT.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT1_FUN.VALUE=1 +DRIVER.RTP.VAR.RTP_BASE.VALUE=0xFFFFFA00 +DRIVER.RTP.VAR.RTP_PORT_BIT3_DIR.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT8_PULDIS.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT1_PULDIS.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT1_PDR.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT7_PULL.VALUE=2 +DRIVER.RTP.VAR.RTP_PORT_BIT2_FUN.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT0_PSL.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT4_DIR.VALUE=0 +DRIVER.RTP.VAR.RTP_BASE_RAM.VALUE=0xFFF83000 +DRIVER.RTP.VAR.RTP_PORT_BIT13_PULL.VALUE=2 +DRIVER.RTP.VAR.RTP_PORT_BIT10_DIR.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT16_DOUT.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT2_PDR.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT14_PULL.VALUE=2 +DRIVER.DMM.VAR.DMM_PORT_BIT17_DOUT.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT17_PSL.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT4_PULDIS.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT1_DIR.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT18_PSL.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT0_FUN.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT15_PULDIS.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT4_PULL.VALUE=2 +DRIVER.DMM.VAR.DMM_PORT_BIT2_DIR.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT7_DOUT.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT15_PULL.VALUE=2 +DRIVER.DMM.VAR.DMM_PORT_BIT18_DOUT.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT0_PDR.VALUE=0 +DRIVER.DMM.VAR.DMM_BASE.VALUE=0xFFFFF700 +DRIVER.DMM.VAR.DMM_PORT_BIT1_FUN.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT3_DIR.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT9_PULDIS.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT1_PDR.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT2_PULDIS.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT2_FUN.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT0_PSL.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT5_PULL.VALUE=2 +DRIVER.DMM.VAR.DMM_PORT_BIT4_DIR.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT8_DOUT.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT16_PULL.VALUE=2 +DRIVER.DMM.VAR.DMM_PORT_BIT2_PDR.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT13_PULDIS.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT3_FUN.VALUE=1 +DRIVER.DMM.VAR.DMM_BASE_PORT.VALUE=0xFFFFF770 +DRIVER.DMM.VAR.DMM_PORT_BIT1_PSL.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT5_DIR.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT10_DOUT.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT3_PDR.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT4_FUN.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT2_PSL.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT6_PULL.VALUE=2 +DRIVER.DMM.VAR.DMM_PORT_BIT6_DIR.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT7_PULDIS.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT9_DOUT.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT17_PULL.VALUE=2 +DRIVER.DMM.VAR.DMM_PORT_BIT0_PULDIS.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT4_PDR.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT5_FUN.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT3_PSL.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT0_DOUT.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT7_DIR.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT18_PULDIS.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT11_DOUT.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT11_PULDIS.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT5_PDR.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT6_FUN.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT4_PSL.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT8_DIR.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT7_PULL.VALUE=2 +DRIVER.DMM.VAR.DMM_PORT_BIT18_PULL.VALUE=2 +DRIVER.DMM.VAR.DMM_PORT_BIT6_PDR.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT10_DIR.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT7_FUN.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT5_PULDIS.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT5_PSL.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT1_DOUT.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT9_DIR.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT12_DOUT.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT7_PDR.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT11_DIR.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT8_FUN.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT16_PULDIS.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT6_PSL.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT8_PULL.VALUE=2 +DRIVER.DMM.VAR.DMM_PORT_BIT10_FUN.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT8_PDR.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT12_DIR.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT9_FUN.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT10_PDR.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT7_PSL.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT2_DOUT.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT10_PULL.VALUE=2 +DRIVER.DMM.VAR.DMM_PORT_BIT13_DOUT.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT11_FUN.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT9_PDR.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT13_DIR.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT3_PULDIS.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT11_PDR.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT8_PSL.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT9_PULL.VALUE=2 +DRIVER.DMM.VAR.DMM_PORT_BIT12_FUN.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT10_PSL.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT14_DIR.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT14_PULDIS.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT0_PULL.VALUE=2 +DRIVER.DMM.VAR.DMM_PORT_BIT12_PDR.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT9_PSL.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT3_DOUT.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT11_PULL.VALUE=2 +DRIVER.DMM.VAR.DMM_PORT_BIT14_DOUT.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT13_FUN.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT11_PSL.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT15_DIR.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT13_PDR.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT8_PULDIS.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT14_FUN.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT1_PULDIS.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT12_PSL.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT16_DIR.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT1_PULL.VALUE=2 +DRIVER.DMM.VAR.DMM_PORT_BIT14_PDR.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT4_DOUT.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT12_PULL.VALUE=2 +DRIVER.DMM.VAR.DMM_PORT_BIT15_DOUT.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT15_FUN.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT12_PULDIS.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT13_PSL.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT17_DIR.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT15_PDR.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT16_FUN.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT14_PSL.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT18_DIR.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT2_PULL.VALUE=2 +DRIVER.DMM.VAR.DMM_PORT_BIT6_PULDIS.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT16_PDR.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT5_DOUT.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT13_PULL.VALUE=2 +DRIVER.DMM.VAR.DMM_PORT_BIT16_DOUT.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT17_FUN.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT15_PSL.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT17_PULDIS.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT17_PDR.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT10_PULDIS.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT18_FUN.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT16_PSL.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT3_PULL.VALUE=2 +DRIVER.DMM.VAR.DMM_PORT_BIT0_DIR.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT18_PDR.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT6_DOUT.VALUE=0 +DRIVER.I2C.VAR.I2C1_STOPBITS.VALUE=2 +DRIVER.I2C.VAR.I2C1_PORT_BIT0_PULDIS.VALUE=0 +DRIVER.I2C.VAR.I2C1_BASE_PORT.VALUE=0xFFF7D44C +DRIVER.I2C.VAR.I2C2_PARITYENA.VALUE=0 +DRIVER.I2C.VAR.I2C1_DATACOUNT.VALUE=8 +DRIVER.I2C.VAR.I2C2_PORT_BIT0_PULL.VALUE=2 +DRIVER.I2C.VAR.I2C1_IGNACK.VALUE=0 +DRIVER.I2C.VAR.I2C1_ADDRMODE.VALUE=7BIT_AMODE +DRIVER.I2C.VAR.I2C2_ALINTLVL.VALUE=0 +DRIVER.I2C.VAR.I2C2_TXDMA.VALUE=0 +DRIVER.I2C.VAR.I2C1_BC_VALUE.VALUE=0x0003 +DRIVER.I2C.VAR.I2C1_TXRX_VALUE.VALUE=0 +DRIVER.I2C.VAR.I2C2_ICXRDYINTLVL.VALUE=0 +DRIVER.I2C.VAR.I2C2_MODCLK.VALUE=8 +DRIVER.I2C.VAR.I2C2_PORT_BIT1_PULL.VALUE=2 +DRIVER.I2C.VAR.I2C2_PORT_BIT0_DIR.VALUE=0 +DRIVER.I2C.VAR.I2C1_ALINTENA.VALUE=0 +DRIVER.I2C.VAR.I2C1_PRESCALE.VALUE=12 +DRIVER.I2C.VAR.I2C2_ARDYINTENA.VALUE=0 +DRIVER.I2C.VAR.I2C2_PORT_BIT1_DIR.VALUE=0 +DRIVER.I2C.VAR.I2C2_PORT_BIT0_FUN.VALUE=0 +DRIVER.I2C.VAR.I2C1_MSMODE.VALUE=1 +DRIVER.I2C.VAR.I2C1_AASLVL.VALUE=0 +DRIVER.I2C.VAR.I2C2_PORT_BIT0_PDR.VALUE=0 +DRIVER.I2C.VAR.I2C2_RM_ENA.VALUE=0 +DRIVER.I2C.VAR.I2C2_PORT_BIT1_FUN.VALUE=0 +DRIVER.I2C.VAR.I2C2_PORT_BIT1_PULDIS.VALUE=0 +DRIVER.I2C.VAR.I2C2_SCDLVL.VALUE=0 +DRIVER.I2C.VAR.I2C2_PORT_BIT1_PDR.VALUE=0 +DRIVER.I2C.VAR.I2C2_STPCND.VALUE=1 +DRIVER.I2C.VAR.I2C1_ALINTLVL.VALUE=0 +DRIVER.I2C.VAR.I2C2_PORT_BIT0_PSL.VALUE=1 +DRIVER.I2C.VAR.I2C1_ARDYINTENA.VALUE=0 +DRIVER.I2C.VAR.I2C2_ARDYINTLVL.VALUE=0 +DRIVER.I2C.VAR.I2C1_ICRRDYINTENA.VALUE=0 +DRIVER.I2C.VAR.I2C2_BASE_PORT.VALUE=0xFFF7D54C +DRIVER.I2C.VAR.I2C1_PORT_BIT1_PULDIS.VALUE=0 +DRIVER.I2C.VAR.I2C2_PORT_BIT1_PSL.VALUE=1 +DRIVER.I2C.VAR.I2C2_DATACOUNT.VALUE=8 +DRIVER.I2C.VAR.I2C1_LENGTH.VALUE=8 +DRIVER.I2C.VAR.I2C1_TXRX.VALUE=TRANSMITTER +DRIVER.I2C.VAR.I2C2_NACKINTENA.VALUE=0 +DRIVER.I2C.VAR.I2C2_IGNACK.VALUE=0 +DRIVER.I2C.VAR.I2C1_PORT_BIT0_DOUT.VALUE=0 +DRIVER.I2C.VAR.I2C1_STACND.VALUE=1 +DRIVER.I2C.VAR.I2C2_TXRX.VALUE=TRANSMITTER +DRIVER.I2C.VAR.I2C1_PORT_BIT0_DIR.VALUE=0 +DRIVER.I2C.VAR.I2C1_ARDYINTLVL.VALUE=0 +DRIVER.I2C.VAR.I2C1_ICRRDYINTLVL.VALUE=0 +DRIVER.I2C.VAR.I2C1_PARITYENA.VALUE=0 +DRIVER.I2C.VAR.I2C1_BASE.VALUE=0xFFF7D400 +DRIVER.I2C.VAR.I2C1_PORT_BIT1_DIR.VALUE=0 +DRIVER.I2C.VAR.I2C1_PORT_BIT1_DOUT.VALUE=0 +DRIVER.I2C.VAR.I2C1_ICXRDYINTENA.VALUE=0 +DRIVER.I2C.VAR.I2C1_PORT_BIT0_FUN.VALUE=0 +DRIVER.I2C.VAR.I2C1_NACKINTENA.VALUE=0 +DRIVER.I2C.VAR.I2C2_NACKINTLVL.VALUE=0 +DRIVER.I2C.VAR.I2C2_BAUDRATE.VALUE=100 +DRIVER.I2C.VAR.I2C1_AAS.VALUE=0 +DRIVER.I2C.VAR.I2C1_BCM.VALUE=0 +DRIVER.I2C.VAR.I2C1_PORT_BIT0_PDR.VALUE=0 +DRIVER.I2C.VAR.I2C2_MSMODE.VALUE=1 +DRIVER.I2C.VAR.I2C2_STOPBITS.VALUE=2 +DRIVER.I2C.VAR.I2C1_BC.VALUE=8_BIT +DRIVER.I2C.VAR.I2C1_PORT_BIT1_FUN.VALUE=0 +DRIVER.I2C.VAR.I2C2_EVENPARITY.VALUE=0 +DRIVER.I2C.VAR.I2C2_ICRRDYINTENA.VALUE=0 +DRIVER.I2C.VAR.I2C1_FDF.VALUE=0 +DRIVER.I2C.VAR.I2C2_BASE.VALUE=0xFFF7D500 +DRIVER.I2C.VAR.I2C2_AASLVL.VALUE=0 +DRIVER.I2C.VAR.I2C2_AAS.VALUE=0 +DRIVER.I2C.VAR.I2C1_ICCH.VALUE=33 +DRIVER.I2C.VAR.I2C2_BCM.VALUE=0 +DRIVER.I2C.VAR.I2C2_BC.VALUE=2_BIT +DRIVER.I2C.VAR.I2C1_MODCLK.VALUE=8 +DRIVER.I2C.VAR.I2C1_ADDRMODE_VALUE.VALUE=0x0001 +DRIVER.I2C.VAR.I2C2_PORT_BIT0_DOUT.VALUE=0 +DRIVER.I2C.VAR.I2C1_ICCL.VALUE=33 +DRIVER.I2C.VAR.I2C1_PORT_BIT1_PDR.VALUE=0 +DRIVER.I2C.VAR.I2C2_ADDRMODE.VALUE=7BIT_AMODE +DRIVER.I2C.VAR.I2C2_FDF.VALUE=0 +DRIVER.I2C.VAR.I2C1_PORT_BIT0_PSL.VALUE=1 +DRIVER.I2C.VAR.I2C1_RXDMA.VALUE=0 +DRIVER.I2C.VAR.I2C1_PORT_BIT1_PSL.VALUE=1 +DRIVER.I2C.VAR.I2C2_BC_VALUE.VALUE=0x0003 +DRIVER.I2C.VAR.I2C1_PORT_BIT0_PULL.VALUE=2 +DRIVER.I2C.VAR.I2C1_ICXRDYINTLVL.VALUE=0 +DRIVER.I2C.VAR.I2C2_ICCH.VALUE=33 +DRIVER.I2C.VAR.I2C1_NACKINTLVL.VALUE=0 +DRIVER.I2C.VAR.I2C2_ICCL.VALUE=33 +DRIVER.I2C.VAR.I2C2_PORT_BIT1_DOUT.VALUE=0 +DRIVER.I2C.VAR.I2C1_SCD.VALUE=0 +DRIVER.I2C.VAR.I2C1_TXDMA.VALUE=0 +DRIVER.I2C.VAR.I2C2_LENGTH.VALUE=8 +DRIVER.I2C.VAR.I2C1_EVENPARITY.VALUE=0 +DRIVER.I2C.VAR.I2C1_RM_ENA.VALUE=0 +DRIVER.I2C.VAR.I2C2_ICRRDYINTLVL.VALUE=0 +DRIVER.I2C.VAR.I2C2_ALINTENA.VALUE=0 +DRIVER.I2C.VAR.I2C2_PRESCALE.VALUE=12 +DRIVER.I2C.VAR.I2C2_PORT_BIT0_PULDIS.VALUE=0 +DRIVER.I2C.VAR.I2C1_SCDLVL.VALUE=0 +DRIVER.I2C.VAR.I2C2_SCD.VALUE=0 +DRIVER.I2C.VAR.I2C1_PORT_BIT1_PULL.VALUE=2 +DRIVER.I2C.VAR.I2C2_TXRX_VALUE.VALUE=0 +DRIVER.I2C.VAR.I2C1_STPCND.VALUE=1 +DRIVER.I2C.VAR.I2C2_ICXRDYINTENA.VALUE=0 +DRIVER.I2C.VAR.I2C2_ADDRMODE_VALUE.VALUE=0x0001 +DRIVER.I2C.VAR.I2C1_BAUDRATE.VALUE=100 +DRIVER.I2C.VAR.I2C2_STACND.VALUE=1 +DRIVER.I2C.VAR.I2C2_RXDMA.VALUE=0 +DRIVER.DCC.VAR.DCC1_ENABLE_KEY.VALUE=10 +DRIVER.DCC.VAR.PINMUX_BASE.VALUE=0xFFFFEA00 +DRIVER.DCC.VAR.DCC1_DETECTION_TIME.VALUE=2500.00 +DRIVER.DCC.VAR.DCC1_CLOCK_SOURCE1_VALUE.VALUE=0x0002 +DRIVER.DCC.VAR.DCC1_ENABLE_ERROR_INTERRUPT.VALUE=0xA +DRIVER.DCC.VAR.DCC2_ENABLE.VALUE=0xA +DRIVER.DCC.VAR.PINMUX_BASE_PORT.VALUE=0xFFFFEA40 +DRIVER.DCC.VAR.DCC2_ENABLE_ERROR_INTERRUPT.VALUE=0xA +DRIVER.DCC.VAR.DCC2_CLOCK_SOURCE0_VALUE.VALUE=0x0001 +DRIVER.DCC.VAR.DCC2_CLOCK_SOURCE0_FREQ.VALUE=0 +DRIVER.DCC.VAR.DCC2_VALID0_SEED.VALUE=0 +DRIVER.DCC.VAR.DCC2_CLKT_N2HET2_0_FREQ.VALUE=1 +DRIVER.DCC.VAR.DCC2_CLOCK_SOURCE1_FREQ.VALUE=0 +DRIVER.DCC.VAR.DCC2_DETECTION_TIME.VALUE=2500.00 +DRIVER.DCC.VAR.DCC2_CLOCK_DRIFT.VALUE=1.0 +DRIVER.DCC.VAR.DCC2_CLOCK_SOURCE1_VALUE.VALUE=0x0002 +DRIVER.DCC.VAR.DCC1_CLKT_N2HET1_31_FREQ.VALUE=1 +DRIVER.DCC.VAR.DCC2_COUNT0_SEED.VALUE=0 +DRIVER.DCC.VAR.DCC2_CLOCK_SOURCE0.VALUE=OSCIN +DRIVER.DCC.VAR.DCC2_CLOCK_SOURCE1.VALUE=VCLK +DRIVER.DCC.VAR.DCC1_CLOCK_SOURCE0_FREQ.VALUE=20.0 +DRIVER.DCC.VAR.DCC1_VALID0_SEED.VALUE=990 +DRIVER.DCC.VAR.DCC1_BASE.VALUE=0xFFFFEC00 +DRIVER.DCC.VAR.DCC2_COUNT1_SEED.VALUE=0 +DRIVER.DCC.VAR.DCC1_CLOCK_SOURCE1_FREQ.VALUE=300.00 +DRIVER.DCC.VAR.DCC1_CLOCK_DRIFT.VALUE=1.0 +DRIVER.DCC.VAR.DCC1_ENABLE.VALUE=0xA +DRIVER.DCC.VAR.DCC1_ENABLE_SINGLESHOT_MODE.VALUE=0x5 +DRIVER.DCC.VAR.DCC2_ENABLE_SINGLESHOT_MODE.VALUE=0x5 +DRIVER.DCC.VAR.DCC2_BASE.VALUE=0xFFFFF400 +DRIVER.DCC.VAR.DCC1_DONE_INTERRUPT_ENABLE.VALUE=0xA +DRIVER.DCC.VAR.DCC2_DONE_INTERRUPT_ENABLE.VALUE=0xA +DRIVER.DCC.VAR.DCC2_ENABLE_KEY.VALUE=0xA +DRIVER.DCC.VAR.DCC1_COUNT0_SEED.VALUE=49005 +DRIVER.DCC.VAR.DCC1_CLOCK_SOURCE0_VALUE.VALUE=0x0001 +DRIVER.DCC.VAR.DCC1_CLOCK_SOURCE0.VALUE=OSCIN +DRIVER.DCC.VAR.DCC1_CLOCK_SOURCE1.VALUE=PLL1 +DRIVER.DCC.VAR.CLKT_TCK_FREQ.VALUE=12.0 +DRIVER.DCC.VAR.DCC1_COUNT1_SEED.VALUE=742500 +DRIVER.PINMUX.VAR.EQEP2A_FILTER.VALUE=0 +DRIVER.PINMUX.VAR.MUX61_OPTION0.VALUE=1 +DRIVER.PINMUX.VAR.MUX53_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX45_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX37_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX29_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX7_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX61_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX53_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX45_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX37_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX29_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX7_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.ETPWM_SOC4A_SELECT.VALUE=ON +DRIVER.PINMUX.VAR.ETPWM_TIME_BASE_SELECT.VALUE=OFF +DRIVER.PINMUX.VAR.MUX61_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX53_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX50_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX45_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX42_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX37_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX34_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX29_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX26_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX18_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX61_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX53_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX45_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX37_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX29_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX61_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX53_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX45_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX37_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX29_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX61_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX53_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX45_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX37_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX29_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX99_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_96_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_88_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_5_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.MUX30_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX22_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX14_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX30_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX22_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX14_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX30_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX22_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX14_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_81_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_73_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_65_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_57_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_49_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.MUX30_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX22_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX14_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL5_OPTION0.VALUE=1 +DRIVER.PINMUX.VAR.MUX30_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX22_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX14_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL5_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX30_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX22_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX14_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX101_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL55_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL47_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL39_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_50_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_42_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_34_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_26_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_18_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.ECAP5_FILTER.VALUE=0 +DRIVER.PINMUX.VAR.EMIF_OUTPUT_ENABLE_SELECT.VALUE=OFF +DRIVER.PINMUX.VAR.PINMUX10.VALUE="PINMUX_BALL_K17_EMIF_nCS_3 | PINMUX_BALL_M17_GIOB_5 | PINMUX_BALL_R3_GIOB_6 | PINMUX_BALL_P3_GIOB_7" +DRIVER.PINMUX.VAR.MUX11_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL40_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL32_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL24_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL16_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_11_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PINMUX11.VALUE="PINMUX_BALL_D17_EMIF_nWE | PINMUX_BALL_E9_ETMDATA_08 | PINMUX_BALL_E8_ETMDATA_09 | PINMUX_BALL_E7_ETMDATA_10" +DRIVER.PINMUX.VAR.PINMUX20.VALUE="PINMUX_BALL_M1_GIOA_7 | PINMUX_BALL_F2_GIOB_2 | PINMUX_BALL_W10_GIOB_3 | PINMUX_BALL_J2_GIOB_6" +DRIVER.PINMUX.VAR.PINMUX12.VALUE="PINMUX_BALL_E6_ETMDATA_11 | PINMUX_BALL_E13_ETMDATA_12 | PINMUX_BALL_E12_ETMDATA_13 | PINMUX_BALL_E11_ETMDATA_14" +DRIVER.PINMUX.VAR.PINMUX21.VALUE="PINMUX_BALL_F1_GIOB_7 | PINMUX_BALL_R2_MIBSPI1NCS_0 | PINMUX_BALL_F3_MIBSPI1NCS_1 | PINMUX_BALL_G3_MIBSPI1NCS_2" +DRIVER.PINMUX.VAR.PINMUX13.VALUE="PINMUX_BALL_E10_ETMDATA_15 | PINMUX_BALL_K15_ETMDATA_16 | PINMUX_BALL_L15_ETMDATA_17 | PINMUX_BALL_M15_ETMDATA_18" +DRIVER.PINMUX.VAR.ECAP3_FILTER_SELECT.VALUE=OFF +DRIVER.PINMUX.VAR.PINMUX30.VALUE="PINMUX_BALL_E18_N2HET1_08 | PINMUX_BALL_V7_N2HET1_09 | PINMUX_BALL_D19_N2HET1_10 | PINMUX_BALL_E3_N2HET1_11" +DRIVER.PINMUX.VAR.PINMUX22.VALUE="PINMUX_BALL_J3_MIBSPI1NCS_3 | PINMUX_BALL_G19_MIBSPI1NENA | PINMUX_BALL_V9_MIBSPI3CLK | PINMUX_BALL_V10_MIBSPI3NCS_0" +DRIVER.PINMUX.VAR.PINMUX14.VALUE="PINMUX_BALL_N15_ETMDATA_19 | PINMUX_BALL_E5_ETMDATA_20 | PINMUX_BALL_F5_ETMDATA_21 | PINMUX_BALL_G5_ETMDATA_22" +DRIVER.PINMUX.VAR.MUX92_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX84_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX76_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX68_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.PINMUX31.VALUE="PINMUX_BALL_B4_N2HET1_12 | PINMUX_BALL_N2_N2HET1_13 | PINMUX_BALL_N1_N2HET1_15 | PINMUX_BALL_A4_N2HET1_16" +DRIVER.PINMUX.VAR.PINMUX23.VALUE="PINMUX_BALL_V5_MIBSPI3NCS_1 | PINMUX_BALL_B2_I2C1_SDA | PINMUX_BALL_C3_I2C1_SCL | PINMUX_BALL_W9_MIBSPI3NENA" +DRIVER.PINMUX.VAR.PINMUX15.VALUE="PINMUX_BALL_K5_ETMDATA_23 | PINMUX_BALL_L5_ETMDATA_24 | PINMUX_BALL_M5_ETMDATA_25 | PINMUX_BALL_N5_ETMDATA_26" +DRIVER.PINMUX.VAR.PINMUX32.VALUE="PINMUX_BALL_A13_N2HET1_17 | PINMUX_BALL_J1_N2HET1_18 | PINMUX_BALL_B13_N2HET1_19 | PINMUX_BALL_P2_N2HET1_20" +DRIVER.PINMUX.VAR.PINMUX24.VALUE="PINMUX_BALL_W8_MIBSPI3SIMO | PINMUX_BALL_V8_MIBSPI3SOMI | PINMUX_BALL_H19_MIBSPI5CLK | PINMUX_BALL_E19_MIBSPI5NCS_0" +DRIVER.PINMUX.VAR.PINMUX16.VALUE="PINMUX_BALL_P5_ETMDATA_27 | PINMUX_BALL_R5_ETMDATA_28 | PINMUX_BALL_R6_ETMDATA_29 | PINMUX_BALL_R7_ETMDATA_30" +DRIVER.PINMUX.VAR.SIGNAL56_OPTION0.VALUE=1 +DRIVER.PINMUX.VAR.SIGNAL48_OPTION0.VALUE=1 +DRIVER.PINMUX.VAR.MUX131_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX123_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX115_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX107_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.PINMUX33.VALUE="PINMUX_BALL_H4_N2HET1_21 | PINMUX_BALL_B3_N2HET1_22 | PINMUX_BALL_J4_N2HET1_23 | PINMUX_BALL_P1_N2HET1_24" +DRIVER.PINMUX.VAR.PINMUX25.VALUE="PINMUX_BALL_B6_MIBSPI5NCS_1 | PINMUX_BALL_W6_MIBSPI5NCS_2 | PINMUX_BALL_T12_MIBSPI5NCS_3 | PINMUX_BALL_H18_MIBSPI5NENA" +DRIVER.PINMUX.VAR.PINMUX17.VALUE="PINMUX_BALL_R8_ETMDATA_31 | PINMUX_BALL_R9_ETMTRACECLKIN | PINMUX_BALL_R10_ETMTRACECLKOUT | PINMUX_BALL_R11_ETMTRACECTL" +DRIVER.PINMUX.VAR.SIGNAL56_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL48_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX131_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX123_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX115_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX107_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.GIOB6_DMA_SELECT.VALUE=OFF +DRIVER.PINMUX.VAR.EQEP2B_FILTER_SELECT.VALUE=OFF +DRIVER.PINMUX.VAR.ETPWM7_EQEPERR_SELECT.VALUE=OFF +DRIVER.PINMUX.VAR.PINMUX34.VALUE="PINMUX_BALL_A14_N2HET1_26 | PINMUX_BALL_K19_N2HET1_28 | PINMUX_BALL_B11_N2HET1_30 | PINMUX_BALL_D8_N2HET2_01" +DRIVER.PINMUX.VAR.PINMUX26.VALUE="PINMUX_BALL_J19_MIBSPI5SIMO_0 | PINMUX_BALL_E16_MIBSPI5SIMO_1 | PINMUX_BALL_H17_MIBSPI5SIMO_2 | PINMUX_BALL_G17_MIBSPI5SIMO_3" +DRIVER.PINMUX.VAR.PINMUX18.VALUE="PINMUX_BALL_B15_FRAYTX1 | PINMUX_BALL_B8_GIOB_0 | PINMUX_BALL_B16_GIOB_1 | PINMUX_BALL_B9_GIOB_2" +DRIVER.PINMUX.VAR.MUX131_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX123_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX115_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX107_OPTION2.VALUE=1 +DRIVER.PINMUX.VAR.PINMUX35.VALUE="PINMUX_BALL_D7_N2HET2_02 | PINMUX_BALL_D3_N2HET2_12 | PINMUX_BALL_D2_N2HET2_13 | PINMUX_BALL_D1_N2HET2_14" +DRIVER.PINMUX.VAR.PINMUX27.VALUE="PINMUX_BALL_J18_MIBSPI5SOMI_0 | PINMUX_BALL_E17_MIBSPI5SOMI_1 | PINMUX_BALL_H16_MIBSPI5SOMI_2 | PINMUX_BALL_G16_MIBSPI5SOMI_3" +DRIVER.PINMUX.VAR.PINMUX19.VALUE="PINMUX_BALL_C1_GIOA_2 | PINMUX_BALL_E1_GIOA_3 | PINMUX_BALL_B5_GIOA_5 | PINMUX_BALL_H3_GIOA_6" +DRIVER.PINMUX.VAR.MUX131_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX123_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX115_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX107_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.PINMUX36.VALUE="PINMUX_BALL_P4_N2HET2_19 | PINMUX_BALL_T5_N2HET2_20 | PINMUX_BALL_T4_MII_RXCLK | PINMUX_BALL_U7_MII_TX_CLK" +DRIVER.PINMUX.VAR.PINMUX28.VALUE="PINMUX_BALL_K18_N2HET1_00 | PINMUX_BALL_V2_N2HET1_01 | PINMUX_BALL_W5_N2HET1_02 | PINMUX_BALL_U1_N2HET1_03" +DRIVER.PINMUX.VAR.MUX131_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX123_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX115_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX107_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX98_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.PINMUX37.VALUE="PINMUX_BALL_E2_N2HET2_03 | PINMUX_BALL_N3_N2HET2_07" +DRIVER.PINMUX.VAR.PINMUX29.VALUE="PINMUX_BALL_B12_N2HET1_04 | PINMUX_BALL_V6_N2HET1_05 | PINMUX_BALL_W3_N2HET1_06 | PINMUX_BALL_T1_N2HET1_07" +DRIVER.PINMUX.VAR.MUX131_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX123_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX115_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX107_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX98_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX98_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX7_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL3_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.MUX98_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.PINMUX80.VALUE=SIGNAL_AD2EVT_T10 +DRIVER.PINMUX.VAR.SIGNAL41_OPTION0.VALUE=1 +DRIVER.PINMUX.VAR.SIGNAL33_OPTION0.VALUE=1 +DRIVER.PINMUX.VAR.SIGNAL25_OPTION0.VALUE=1 +DRIVER.PINMUX.VAR.SIGNAL17_OPTION0.VALUE=1 +DRIVER.PINMUX.VAR.MUX100_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX98_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.TEMP2_ENABLE.VALUE=0 +DRIVER.PINMUX.VAR.PINMUX81.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL41_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL33_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL25_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL17_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX100_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX98_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.PINMUX90.VALUE="SIGNAL_MII_RX_DV_U6 | SIGNAL_MII_RX_ER_U5 | SIGNAL_MII_RXCLK_T4 | SIGNAL_MII_RXD_0_U4" +DRIVER.PINMUX.VAR.PINMUX82.VALUE=0 +DRIVER.PINMUX.VAR.MUX127_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX119_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX100_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_133_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_125_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_117_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_109_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PINMUX91.VALUE="SIGNAL_MII_RXD_1_T3 | SIGNAL_MII_RXD_2_U3 | SIGNAL_MII_RXD_3_V3 | SIGNAL_MII_TX_CLK_U7" +DRIVER.PINMUX.VAR.PINMUX83.VALUE=SIGNAL_GIOA_0_A5 +DRIVER.PINMUX.VAR.MUX100_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.PINMUX92.VALUE="SIGNAL_N2HET1_17_A13 | SIGNAL_N2HET1_19_B13 | SIGNAL_N2HET1_21_H4 | SIGNAL_N2HET1_23_J4" +DRIVER.PINMUX.VAR.PINMUX84.VALUE="SIGNAL_GIOA_1_C2 | SIGNAL_GIOA_2_C1 | SIGNAL_GIOA_3_E1 | SIGNAL_GIOA_4_A6" +DRIVER.PINMUX.VAR.MUX100_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX91_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX83_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX75_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX67_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX59_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.PINMUX93.VALUE="SIGNAL_N2HET1_25_M3 | SIGNAL_N2HET1_27_A9 | SIGNAL_N2HET1_29_A3 | SIGNAL_N2HET1_31_J17" +DRIVER.PINMUX.VAR.PINMUX85.VALUE="SIGNAL_GIOA_5_B5 | SIGNAL_GIOA_6_H3 | SIGNAL_GIOA_7_M1 | SIGNAL_GIOB_0_M2" +DRIVER.PINMUX.VAR.MUX100_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX91_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX83_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX75_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX67_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX59_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.GIOB0_DMA_SELECT.VALUE=OFF +DRIVER.PINMUX.VAR.GIOA2_DMA_SELECT.VALUE=OFF +DRIVER.PINMUX.VAR.PINMUX94.VALUE="SIGNAL_N2HET2_00_D6 | SIGNAL_N2HET2_01_D8 | SIGNAL_N2HET2_02_D7 | SIGNAL_N2HET2_03_E2" +DRIVER.PINMUX.VAR.PINMUX86.VALUE="SIGNAL_GIOB_1_K2 | SIGNAL_GIOB_2_F2 | SIGNAL_GIOB_3_W10 | SIGNAL_GIOB_4_G1" +DRIVER.PINMUX.VAR.MUX91_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX83_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX75_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX67_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX61_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX59_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX53_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX45_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX37_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX29_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_110_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_102_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PINMUX95.VALUE="SIGNAL_N2HET2_04_D13 | SIGNAL_N2HET2_05_D12 | SIGNAL_N2HET2_06_D11 | SIGNAL_N2HET2_07_N3" +DRIVER.PINMUX.VAR.PINMUX87.VALUE="SIGNAL_GIOB_5_G2 | SIGNAL_GIOB_6_J2 | SIGNAL_GIOB_7_F1 | SIGNAL_MDIO_F4" +DRIVER.PINMUX.VAR.MUX91_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX83_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX75_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX67_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX59_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.ETPWM2_EQEPERR12.VALUE=EQEPERR12 +DRIVER.PINMUX.VAR.PINMUX96.VALUE="SIGNAL_N2HET2_08_K16 | SIGNAL_N2HET2_09_L16 | SIGNAL_N2HET2_10_M16 | SIGNAL_N2HET2_11_N16" +DRIVER.PINMUX.VAR.PINMUX88.VALUE="SIGNAL_MIBSPI1NCS_4_U10 | SIGNAL_MIBSPI1NCS_5_U9" +DRIVER.PINMUX.VAR.SIGNAL10_OPTION0.VALUE=1 +DRIVER.PINMUX.VAR.MUX91_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX83_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX75_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX67_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX59_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX6_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.PINMUX97.VALUE="SIGNAL_N2HET2_12_D3 | SIGNAL_N2HET2_13_D2 | SIGNAL_N2HET2_14_D1 | SIGNAL_N2HET2_15_K4" +DRIVER.PINMUX.VAR.PINMUX89.VALUE="SIGNAL_MII_COL_W4 | SIGNAL_MII_CRS_V4" +DRIVER.PINMUX.VAR.SIGNAL10_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX91_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX83_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX75_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX67_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX59_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX6_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.PINMUX98.VALUE="SIGNAL_N2HET2_16_L4 | SIGNAL_N2HET2_18_N4 | SIGNAL_N2HET2_20_T5 | SIGNAL_N2HET2_22_T7" +DRIVER.PINMUX.VAR.MUX6_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.PINMUX99.VALUE="SIGNAL_nTZ1_1_N19 | SIGNAL_nTZ1_2_F1 | SIGNAL_nTZ1_3_J3" +DRIVER.PINMUX.VAR.MUX6_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.EQEP1A_FILTER.VALUE=0 +DRIVER.PINMUX.VAR.MUX60_OPTION0.VALUE=1 +DRIVER.PINMUX.VAR.MUX52_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX44_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX36_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX28_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX6_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX60_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX52_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX44_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX36_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX28_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX6_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.EQEP1I_FILTER_SELECT.VALUE=OFF +DRIVER.PINMUX.VAR.ETPWM_SOC3A_SELECT.VALUE=ON +DRIVER.PINMUX.VAR.MUX60_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX52_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX44_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX36_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX28_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX60_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX52_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX44_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX36_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX28_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX60_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX52_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX44_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX36_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX28_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX60_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX52_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX44_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX36_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX28_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.TEMP3_ENABLE_SELECT.VALUE=OFF +DRIVER.PINMUX.VAR.MUX120_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX112_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX104_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_94_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_86_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_78_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_3_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.MUX21_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX13_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX21_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX13_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.ETPWM3_EQEPERR_SELECT.VALUE=OFF +DRIVER.PINMUX.VAR.GIOA_DISABLE_SELECT.VALUE=OFF +DRIVER.PINMUX.VAR.MUX30_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX22_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX21_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX14_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX13_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_71_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_63_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_55_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_47_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_39_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.MUX21_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX13_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL4_OPTION0.VALUE=1 +DRIVER.PINMUX.VAR.MUX21_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX13_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL4_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX21_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX13_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX95_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX87_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX79_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL61_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL53_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL45_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL37_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL29_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_40_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_32_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_24_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_16_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.ECAP3_FILTER.VALUE=0 +DRIVER.PINMUX.VAR.ETPWM7_EQEPERR12.VALUE=EQEPERR12 +DRIVER.PINMUX.VAR.MUX129_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX129_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.ETPWM_TBCLK_SELECT.VALUE=OFF +DRIVER.PINMUX.VAR.MUX129_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL30_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL22_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL14_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.MUX129_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX129_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX129_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.I2C1.VALUE=1 +DRIVER.PINMUX.VAR.I2C2.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL55_OPTION0.VALUE=1 +DRIVER.PINMUX.VAR.SIGNAL47_OPTION0.VALUE=1 +DRIVER.PINMUX.VAR.SIGNAL39_OPTION0.VALUE=1 +DRIVER.PINMUX.VAR.MUX130_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX122_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX114_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX106_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL55_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL47_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL39_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX130_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX122_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX114_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX106_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX130_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX122_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX114_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX106_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL8_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.GATE_EMIF_CLK.VALUE=0 +DRIVER.PINMUX.VAR.MUX130_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX122_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX114_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX106_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX130_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX122_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX114_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX106_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX97_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX89_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX130_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX122_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX114_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX106_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX97_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX89_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.EQEP1A_FILTER_SELECT.VALUE=OFF +DRIVER.PINMUX.VAR.MUX97_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX89_OPTION2.VALUE=1 +DRIVER.PINMUX.VAR.MUX80_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX72_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX64_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX56_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX48_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL1_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.GIOA0_DMA.VALUE=0 +DRIVER.PINMUX.VAR.MUX97_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX89_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL40_OPTION0.VALUE=1 +DRIVER.PINMUX.VAR.SIGNAL32_OPTION0.VALUE=1 +DRIVER.PINMUX.VAR.SIGNAL24_OPTION0.VALUE=1 +DRIVER.PINMUX.VAR.SIGNAL16_OPTION0.VALUE=1 +DRIVER.PINMUX.VAR.MUX97_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX89_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL40_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL32_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL24_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL16_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX97_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX89_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.GIOB5_DMA_SELECT.VALUE=OFF +DRIVER.PINMUX.VAR.GIOA7_DMA_SELECT.VALUE=OFF +DRIVER.PINMUX.VAR.PIN_MUX_131_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_123_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_115_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_107_SELECT.VALUE=2 +DRIVER.PINMUX.VAR.MUX90_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX82_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX74_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX66_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX58_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX90_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX82_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX74_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX66_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX58_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX90_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX82_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX74_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX66_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX58_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX3_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_100_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.MUX90_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX82_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX74_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX66_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX58_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX90_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX82_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX74_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX66_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX58_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX5_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX90_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX82_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX74_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX66_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX58_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX5_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.EQEP1S_FILTER_SELECT.VALUE=OFF +DRIVER.PINMUX.VAR.MUX131_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX123_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX115_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX107_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX5_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX5_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX51_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX43_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX35_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX27_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX19_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX5_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX51_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX43_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX35_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX27_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX19_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX5_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.GIOA1_DMA_SELECT.VALUE=OFF +DRIVER.PINMUX.VAR.ECAP5_FILTER_SELECT.VALUE=OFF +DRIVER.PINMUX.VAR.ETPWM_SOC2A_SELECT.VALUE=ON +DRIVER.PINMUX.VAR.MUX51_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX43_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX41_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX35_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX33_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX27_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX25_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX19_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX17_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_99_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_8_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.GIOA1_DMA.VALUE=0 +DRIVER.PINMUX.VAR.MUX51_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX43_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX35_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX27_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX19_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX51_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX43_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX35_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX27_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX19_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX51_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX43_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX35_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX27_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX19_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.ALT_ADC_SELECT.VALUE=1 +DRIVER.PINMUX.VAR.MUX98_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_92_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_84_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_76_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_68_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_1_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.MUX20_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX12_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX20_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX12_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX20_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX12_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL58_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_61_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_53_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_45_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_37_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_29_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.MUX20_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX12_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL3_OPTION0.VALUE=1 +DRIVER.PINMUX.VAR.MUX20_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX12_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL3_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX20_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX12_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX100_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL51_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL43_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL35_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL27_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL19_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_30_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_22_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_14_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.ECAP1_FILTER.VALUE=0 +DRIVER.PINMUX.VAR.CAN4.VALUE=0 +DRIVER.PINMUX.VAR.MUX128_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX128_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX128_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX10_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL20_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL12_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.GIOB0_DMA.VALUE=0 +DRIVER.PINMUX.VAR.GIOA2_DMA.VALUE=0 +DRIVER.PINMUX.VAR.MUX128_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX128_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX128_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.ETHERNET_SELECT.VALUE=MII +DRIVER.PINMUX.VAR.MUX91_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX83_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX75_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX67_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX59_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.ETPWM5_EQEPERR12.VALUE=EQEPERR12 +DRIVER.PINMUX.VAR.CONCOUNT.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL54_OPTION0.VALUE=1 +DRIVER.PINMUX.VAR.SIGNAL46_OPTION0.VALUE=1 +DRIVER.PINMUX.VAR.SIGNAL38_OPTION0.VALUE=1 +DRIVER.PINMUX.VAR.MUX121_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX113_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX105_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL54_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL46_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL38_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX121_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX113_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX105_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.EQEP2I_FILTER_SELECT.VALUE=OFF +DRIVER.PINMUX.VAR.MUX121_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX113_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX105_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL6_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.MUX121_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX113_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX105_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX121_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX113_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX105_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX96_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX88_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX121_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX113_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX105_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX96_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX88_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX96_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX88_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX6_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_128_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.MUX96_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX88_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL31_OPTION0.VALUE=1 +DRIVER.PINMUX.VAR.SIGNAL23_OPTION0.VALUE=1 +DRIVER.PINMUX.VAR.SIGNAL15_OPTION0.VALUE=1 +DRIVER.PINMUX.VAR.MUX96_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX88_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.TEMP_CHECK.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL31_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL23_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL15_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX96_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX88_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.ETPWM4_EQEPERR_SELECT.VALUE=OFF +DRIVER.PINMUX.VAR.GIOB_DISABLE_SELECT.VALUE=OFF +DRIVER.PINMUX.VAR.MUX134_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX126_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX118_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_121_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_113_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_105_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.GIOB1_DMA.VALUE=0 +DRIVER.PINMUX.VAR.GIOA3_DMA.VALUE=0 +DRIVER.PINMUX.VAR.EQEP2I_FILTER.VALUE=0 +DRIVER.PINMUX.VAR.MUX81_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX73_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX65_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX57_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX49_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX81_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX73_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX65_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX57_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX49_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.ETPWM_TZ2_SELECT.VALUE=OFF +DRIVER.PINMUX.VAR.MUX81_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX73_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX65_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX60_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX57_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX52_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX49_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX44_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX36_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX28_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX81_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX73_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX65_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX57_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX49_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.EQEP2B_FILTER.VALUE=0 +DRIVER.PINMUX.VAR.MUX81_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX73_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX65_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX57_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX49_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX4_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX81_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX73_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX65_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX57_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX49_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX4_OPTION1.VALUE=1 +DRIVER.PINMUX.VAR.GIOB4_DMA_SELECT.VALUE=OFF +DRIVER.PINMUX.VAR.GIOA6_DMA_SELECT.VALUE=OFF +DRIVER.PINMUX.VAR.ECAP.VALUE=0 +DRIVER.PINMUX.VAR.MUX4_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX4_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX50_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX42_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX34_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX26_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX18_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX4_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX50_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX42_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX34_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX26_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX18_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX4_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.ETPWM_SOC1A_SELECT.VALUE=ON +DRIVER.PINMUX.VAR.MUX50_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX42_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX34_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX26_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX18_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_97_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_89_SELECT.VALUE=2 +DRIVER.PINMUX.VAR.PIN_MUX_6_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.MUX50_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX42_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX34_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX26_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX18_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL9_OPTION0.VALUE=1 +DRIVER.PINMUX.VAR.MUX50_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX42_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX34_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX26_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX18_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL9_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX50_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX42_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX34_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX26_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX18_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.ECAP2_FILTER_SELECT.VALUE=OFF +DRIVER.PINMUX.VAR.MUX111_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX103_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_90_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_82_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_74_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_66_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_58_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.GIOB2_DMA.VALUE=0 +DRIVER.PINMUX.VAR.GIOA4_DMA.VALUE=0 +DRIVER.PINMUX.VAR.MUX11_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX11_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.GIOA0_DMA_SELECT.VALUE=OFF +DRIVER.PINMUX.VAR.EQEP2A_FILTER_SELECT.VALUE=OFF +DRIVER.PINMUX.VAR.MUX21_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX13_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX11_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL56_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL48_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_51_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_43_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_35_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_27_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_19_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.MUX11_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.ECAP6_FILTER.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL2_OPTION0.VALUE=1 +DRIVER.PINMUX.VAR.MUX11_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.ETPWM_TBCLK_SYNC_ENABLE.VALUE=0 +DRIVER.PINMUX.VAR.AD1.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL2_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX11_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.AD2.VALUE=0 +DRIVER.PINMUX.VAR.MUX94_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX86_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX78_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL41_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL33_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL25_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL17_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_20_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_12_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.MUX127_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX119_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX127_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX119_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX127_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX119_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL10_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.MUX127_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX119_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX127_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX119_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX127_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX119_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.EQEP2S_FILTER_SELECT.VALUE=OFF +DRIVER.PINMUX.VAR.MUX9_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.GIOB3_DMA.VALUE=0 +DRIVER.PINMUX.VAR.GIOA5_DMA.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL61_OPTION0.VALUE=1 +DRIVER.PINMUX.VAR.SIGNAL53_OPTION0.VALUE=1 +DRIVER.PINMUX.VAR.SIGNAL45_OPTION0.VALUE=1 +DRIVER.PINMUX.VAR.SIGNAL37_OPTION0.VALUE=1 +DRIVER.PINMUX.VAR.SIGNAL29_OPTION0.VALUE=1 +DRIVER.PINMUX.VAR.MUX120_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX112_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX104_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL61_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL53_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL45_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL37_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL29_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX120_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX112_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX104_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX129_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX120_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX112_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX104_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL4_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.ALT_ADC.VALUE=0 +DRIVER.PINMUX.VAR.I2C.VALUE=0 +DRIVER.PINMUX.VAR.MUX120_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX112_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX104_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX120_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX112_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX104_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX95_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX87_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX79_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.TEMP3_ENABLE.VALUE=0 +DRIVER.PINMUX.VAR.MUX120_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX112_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX104_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX95_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX87_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX79_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX95_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX87_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX79_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX71_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX63_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX55_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX47_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX39_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_134_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_126_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_118_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.MUX95_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX87_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX79_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.ETPWM3_EQEPERR12.VALUE=EQEPERR12 +DRIVER.PINMUX.VAR.SIGNAL30_OPTION0.VALUE=1 +DRIVER.PINMUX.VAR.SIGNAL22_OPTION0.VALUE=1 +DRIVER.PINMUX.VAR.SIGNAL14_OPTION0.VALUE=1 +DRIVER.PINMUX.VAR.MUX95_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX87_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX79_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL30_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL22_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL14_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX95_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX87_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX79_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.TEMP2_ENABLE_SELECT.VALUE=OFF +DRIVER.PINMUX.VAR.PIN_MUX_111_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_103_SELECT.VALUE=2 +DRIVER.PINMUX.VAR.EQEP1I_FILTER.VALUE=0 +DRIVER.PINMUX.VAR.MUX80_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX72_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX64_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX56_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX48_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.HET1.VALUE=0 +DRIVER.PINMUX.VAR.MUX80_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX72_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX64_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX56_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX48_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.ETPWM_SOC7A_SELECT.VALUE=ON +DRIVER.PINMUX.VAR.HET2.VALUE=0 +DRIVER.PINMUX.VAR.MUX80_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX72_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX64_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX56_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX48_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX2_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.GIOB4_DMA.VALUE=0 +DRIVER.PINMUX.VAR.GIOA6_DMA.VALUE=0 +DRIVER.PINMUX.VAR.MUX80_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX72_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX64_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX56_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX48_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.EQEP1B_FILTER.VALUE=0 +DRIVER.PINMUX.VAR.MUX80_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX72_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX64_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX56_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX48_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX3_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX80_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX72_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX64_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX56_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX48_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX3_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX130_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX122_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX114_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX106_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX3_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX3_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.EMIF.VALUE=0 +DRIVER.PINMUX.VAR.MUX41_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX33_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX25_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX17_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX3_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.ETPWM_TZ1.VALUE=ASYNC +DRIVER.PINMUX.VAR.MUX41_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX33_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX25_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX17_OPTION1.VALUE=1 +DRIVER.PINMUX.VAR.MUX3_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.ETPWM_TZ2.VALUE=ASYNC +DRIVER.PINMUX.VAR.MUX41_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX40_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX33_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX32_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX25_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX24_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX17_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX16_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_95_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_87_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_79_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_4_SELECT.VALUE=1 +DRIVER.PINMUX.VAR.ETPWM_TZ3.VALUE=ASYNC +DRIVER.PINMUX.VAR.MUX41_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX33_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX25_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX17_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL8_OPTION0.VALUE=1 +DRIVER.PINMUX.VAR.MUX41_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX33_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX25_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX17_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL8_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX41_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX33_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX25_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX17_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.GIOB3_DMA_SELECT.VALUE=OFF +DRIVER.PINMUX.VAR.GIOA5_DMA_SELECT.VALUE=OFF +DRIVER.PINMUX.VAR.MUX97_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX89_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_80_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_72_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_64_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_56_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_48_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.GIOA.VALUE=0 +DRIVER.PINMUX.VAR.GIOB.VALUE=1 +DRIVER.PINMUX.VAR.MUX10_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.GIOB_DISABLE.VALUE=0 +DRIVER.PINMUX.VAR.MUX10_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX10_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL54_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL46_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL38_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_41_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_33_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_25_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_17_SELECT.VALUE=1 +DRIVER.PINMUX.VAR.GIOB5_DMA.VALUE=0 +DRIVER.PINMUX.VAR.GIOA7_DMA.VALUE=0 +DRIVER.PINMUX.VAR.MUX10_OPTION3.VALUE=1 +DRIVER.PINMUX.VAR.ECAP4_FILTER.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL1_OPTION0.VALUE=1 +DRIVER.PINMUX.VAR.MUX10_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL1_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX10_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.ETPWM5_EQEPERR_SELECT.VALUE=OFF +DRIVER.PINMUX.VAR.SIGNAL31_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL23_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL15_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_10_SELECT.VALUE=3 +DRIVER.PINMUX.VAR.SIGNAL59_OPTION0.VALUE=1 +DRIVER.PINMUX.VAR.MUX134_OPTION0.VALUE=1 +DRIVER.PINMUX.VAR.MUX126_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX118_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL59_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX134_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX126_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX118_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.EQEP.VALUE=0 +DRIVER.PINMUX.VAR.MUX134_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX126_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX118_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX134_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX126_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX118_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX134_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX126_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX118_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX134_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX126_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX118_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX90_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX82_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX74_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX66_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX58_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL9_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.MIBSPI1.VALUE=0 +DRIVER.PINMUX.VAR.MIBSPI2.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL60_OPTION0.VALUE=1 +DRIVER.PINMUX.VAR.SIGNAL52_OPTION0.VALUE=1 +DRIVER.PINMUX.VAR.SIGNAL44_OPTION0.VALUE=1 +DRIVER.PINMUX.VAR.SIGNAL36_OPTION0.VALUE=1 +DRIVER.PINMUX.VAR.SIGNAL28_OPTION0.VALUE=1 +DRIVER.PINMUX.VAR.MUX111_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX103_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MIBSPI3.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL60_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL52_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL44_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL36_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL28_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX111_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX103_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MIBSPI4.VALUE=0 +DRIVER.PINMUX.VAR.OHCI0.VALUE=0 +DRIVER.PINMUX.VAR.MUX111_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX103_OPTION2.VALUE=1 +DRIVER.PINMUX.VAR.SIGNAL2_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.GIOB6_DMA.VALUE=0 +DRIVER.PINMUX.VAR.MIBSPI5.VALUE=0 +DRIVER.PINMUX.VAR.W2FC.VALUE=0 +DRIVER.PINMUX.VAR.OHCI1.VALUE=0 +DRIVER.PINMUX.VAR.MUX111_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX103_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.EQEP2S_FILTER.VALUE=0 +DRIVER.PINMUX.VAR.MUX111_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX103_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX94_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX86_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX78_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.TEMP1_ENABLE.VALUE=0 +DRIVER.PINMUX.VAR.MUX111_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX103_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX94_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX86_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX78_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.ECAP4_FILTER_SELECT.VALUE=OFF +DRIVER.PINMUX.VAR.MUX94_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX86_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX78_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX5_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_132_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_124_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_116_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_108_SELECT.VALUE=2 +DRIVER.PINMUX.VAR.MUX94_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX86_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX78_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL21_OPTION0.VALUE=1 +DRIVER.PINMUX.VAR.SIGNAL13_OPTION0.VALUE=1 +DRIVER.PINMUX.VAR.MUX94_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX86_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX78_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX9_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL21_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL13_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX94_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX86_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX78_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX9_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX133_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX125_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX117_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX109_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX9_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_101_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.MUX9_OPTION3.VALUE=1 +DRIVER.PINMUX.VAR.MUX71_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX63_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX55_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX47_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX39_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX9_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX71_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX63_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX55_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX47_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX39_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX9_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.ETPWM_SOC6A_SELECT.VALUE=ON +DRIVER.PINMUX.VAR.MUX71_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX63_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX55_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX51_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX47_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX43_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX39_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX35_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX27_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX19_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX71_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX63_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX55_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX47_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX39_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.ETPWM1_EQEPERR12.VALUE=EQEPERR12 +DRIVER.PINMUX.VAR.MUX71_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX63_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX55_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX47_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX39_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX2_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.EMIF_OUTPUT_ENABLE.VALUE=0 +DRIVER.PINMUX.VAR.MUX71_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX63_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX55_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX47_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX39_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX2_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.ETPWM1_EQEPERR_SELECT.VALUE=OFF +DRIVER.PINMUX.VAR.MUX2_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_9_SELECT.VALUE=3 +DRIVER.PINMUX.VAR.GIOB7_DMA.VALUE=0 +DRIVER.PINMUX.VAR.MUX2_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX40_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX32_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX24_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX16_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX2_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX40_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX32_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX24_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX16_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX2_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.ETPWM_EPWM1SYNCI_SELECT.VALUE=OFF +DRIVER.PINMUX.VAR.MUX40_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX32_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX24_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX16_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_93_SELECT.VALUE=2 +DRIVER.PINMUX.VAR.PIN_MUX_85_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_77_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_69_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_2_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.MUX40_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX32_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX24_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX16_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL7_OPTION0.VALUE=1 +DRIVER.PINMUX.VAR.MUX40_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX32_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX24_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX16_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL7_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX40_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX32_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX24_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX16_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX110_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX102_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL59_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_70_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_62_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_54_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_46_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_38_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.MII.VALUE=0 +DRIVER.PINMUX.VAR.SCI2.VALUE=0 +DRIVER.PINMUX.VAR.GIOA_DISABLE.VALUE=0 +DRIVER.PINMUX.VAR.SCI3.VALUE=0 +DRIVER.PINMUX.VAR.GATE_EMIF_CLK_SELECT.VALUE=OFF +DRIVER.PINMUX.VAR.SCI4.VALUE=0 +DRIVER.PINMUX.VAR.MUX20_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX12_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL60_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL52_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL44_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL36_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL28_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_31_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_23_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_15_SELECT.VALUE=3 +DRIVER.PINMUX.VAR.ECAP2_FILTER.VALUE=0 +DRIVER.PINMUX.VAR.ETPWM_TIME_BASE_SYNC_ENABLE.VALUE=0 +DRIVER.PINMUX.VAR.GIOB2_DMA_SELECT.VALUE=OFF +DRIVER.PINMUX.VAR.GIOA4_DMA_SELECT.VALUE=OFF +DRIVER.PINMUX.VAR.MUX93_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX85_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX77_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX69_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL21_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL13_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.ETPWM_EPWM1SYNCI.VALUE=ASYNC +DRIVER.PINMUX.VAR.ETPWM6_EQEPERR12.VALUE=EQEPERR12 +DRIVER.PINMUX.VAR.SIGNAL58_OPTION0.VALUE=1 +DRIVER.PINMUX.VAR.MUX133_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX125_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX117_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX109_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL58_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX133_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX125_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX117_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX109_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX133_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX125_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX117_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX109_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.ETPWM_SOC1A.VALUE=1 +DRIVER.PINMUX.VAR.SCI.VALUE=0 +DRIVER.PINMUX.VAR.MUX133_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX125_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX117_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX109_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX133_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX125_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX117_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX109_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.ETPWM_SOC2A.VALUE=1 +DRIVER.PINMUX.VAR.MUX133_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX125_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX117_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX109_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX8_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL7_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.ETPWM_SOC3A.VALUE=1 +DRIVER.PINMUX.VAR.SIGNAL51_OPTION0.VALUE=1 +DRIVER.PINMUX.VAR.SIGNAL43_OPTION0.VALUE=1 +DRIVER.PINMUX.VAR.SIGNAL35_OPTION0.VALUE=1 +DRIVER.PINMUX.VAR.SIGNAL27_OPTION0.VALUE=1 +DRIVER.PINMUX.VAR.SIGNAL19_OPTION0.VALUE=1 +DRIVER.PINMUX.VAR.MUX110_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX102_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.ETPWM_SOC4A.VALUE=1 +DRIVER.PINMUX.VAR.SIGNAL51_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL43_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL35_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL27_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL19_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX110_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX102_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX128_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX110_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX102_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_129_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.ETPWM_SOC5A.VALUE=1 +DRIVER.PINMUX.VAR.ETPWM.VALUE=0 +DRIVER.PINMUX.VAR.MUX110_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX102_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.EQEP1S_FILTER.VALUE=0 +DRIVER.PINMUX.VAR.MUX110_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX102_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX93_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX85_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX77_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX69_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.ETPWM_SOC6A.VALUE=1 +DRIVER.PINMUX.VAR.MUX110_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX102_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX93_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX85_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX77_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX69_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX93_OPTION2.VALUE=1 +DRIVER.PINMUX.VAR.MUX85_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX77_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX70_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX69_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX62_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX54_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX46_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX38_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_130_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_122_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_114_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_106_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.ETPWM_SOC7A.VALUE=1 +DRIVER.PINMUX.VAR.MUX93_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX85_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX77_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX69_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL20_OPTION0.VALUE=1 +DRIVER.PINMUX.VAR.SIGNAL12_OPTION0.VALUE=1 +DRIVER.PINMUX.VAR.MUX93_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX85_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX77_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX69_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX8_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL20_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL12_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX93_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX85_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX77_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX69_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX8_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.ECAP1_FILTER_SELECT.VALUE=OFF +DRIVER.PINMUX.VAR.ETPWM_TZ3_SELECT.VALUE=OFF +DRIVER.PINMUX.VAR.MUX8_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX8_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX70_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX62_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX54_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX46_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX38_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX8_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX70_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX62_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX54_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX46_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX38_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX8_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.EQEP1B_FILTER_SELECT.VALUE=OFF +DRIVER.PINMUX.VAR.ETPWM_SOC5A_SELECT.VALUE=ON +DRIVER.PINMUX.VAR.ETPWM6_EQEPERR_SELECT.VALUE=OFF +DRIVER.PINMUX.VAR.MUX70_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX62_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX54_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX46_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX38_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX1_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX70_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX62_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX54_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX46_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX38_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX70_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX62_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX54_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX46_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX38_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX1_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX70_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX62_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX54_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX46_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX38_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX1_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX121_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX113_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX105_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX1_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_98_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_7_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.MUX1_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX31_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX23_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX15_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX1_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX31_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX23_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX15_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX1_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX31_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX31_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX23_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX23_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX15_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX15_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_91_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_83_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_75_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_67_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_59_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.MUX31_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX23_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX15_OPTION3.VALUE=1 +DRIVER.PINMUX.VAR.SIGNAL6_OPTION0.VALUE=1 +DRIVER.PINMUX.VAR.MUX31_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX23_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX15_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL6_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX31_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX23_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX15_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX96_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX88_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL57_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL49_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_60_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_52_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_44_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_36_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_28_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.GIOB7_DMA_SELECT.VALUE=OFF +DRIVER.PINMUX.VAR.ECAP6_FILTER_SELECT.VALUE=OFF +DRIVER.PINMUX.VAR.SIGNAL50_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL42_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL34_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL26_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL18_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_21_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_13_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL11_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.SPI2.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL57_OPTION0.VALUE=1 +DRIVER.PINMUX.VAR.SIGNAL49_OPTION0.VALUE=1 +DRIVER.PINMUX.VAR.MUX132_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX124_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX116_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX108_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL57_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL49_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX132_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX124_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX116_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX108_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.TEMP1_ENABLE_SELECT.VALUE=OFF +DRIVER.PINMUX.VAR.SPI4.VALUE=0 +DRIVER.PINMUX.VAR.MUX132_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX124_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX116_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX108_OPTION2.VALUE=1 +DRIVER.PINMUX.VAR.RMII.VALUE=0 +DRIVER.PINMUX.VAR.MUX132_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX124_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX116_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX108_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.PINMUX0.VALUE="PINMUX_BALL_N19_AD1EVT | PINMUX_BALL_D4_EMIF_ADDR_00 | PINMUX_BALL_D5_EMIF_ADDR_01 | PINMUX_BALL_C4_EMIF_ADDR_06" +DRIVER.PINMUX.VAR.MUX132_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX124_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX116_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX108_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX99_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.PINMUX1.VALUE="PINMUX_BALL_C5_EMIF_ADDR_07 | PINMUX_BALL_C6_EMIF_ADDR_08 | PINMUX_BALL_C7_EMIF_ADDR_09 | PINMUX_BALL_C8_EMIF_ADDR_10" +DRIVER.PINMUX.VAR.MUX132_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX124_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX116_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX108_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX99_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.GIOB1_DMA_SELECT.VALUE=OFF +DRIVER.PINMUX.VAR.GIOA3_DMA_SELECT.VALUE=OFF +DRIVER.PINMUX.VAR.ETPWM2_EQEPERR_SELECT.VALUE=OFF +DRIVER.PINMUX.VAR.PINMUX2.VALUE="PINMUX_BALL_C9_EMIF_ADDR_11 | PINMUX_BALL_C10_EMIF_ADDR_12 | PINMUX_BALL_C11_EMIF_ADDR_13 | PINMUX_BALL_C12_EMIF_ADDR_14" +DRIVER.PINMUX.VAR.MUX99_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX81_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX73_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX65_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX57_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX49_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL5_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PINMUX3.VALUE="PINMUX_BALL_C13_EMIF_ADDR_15 | PINMUX_BALL_D14_EMIF_ADDR_16 | PINMUX_BALL_C14_EMIF_ADDR_17 | PINMUX_BALL_D15_EMIF_ADDR_18" +DRIVER.PINMUX.VAR.MUX99_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.ETPWM4_EQEPERR12.VALUE=EQEPERR12 +DRIVER.PINMUX.VAR.PINMUX4.VALUE="PINMUX_BALL_C15_EMIF_ADDR_19 | PINMUX_BALL_C16_EMIF_ADDR_20 | PINMUX_BALL_C17_EMIF_ADDR_21" +DRIVER.PINMUX.VAR.SIGNAL50_OPTION0.VALUE=1 +DRIVER.PINMUX.VAR.SIGNAL42_OPTION0.VALUE=1 +DRIVER.PINMUX.VAR.SIGNAL34_OPTION0.VALUE=1 +DRIVER.PINMUX.VAR.SIGNAL26_OPTION0.VALUE=1 +DRIVER.PINMUX.VAR.SIGNAL18_OPTION0.VALUE=1 +DRIVER.PINMUX.VAR.MUX101_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX99_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.PINMUX5.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL50_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL42_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL34_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL26_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL18_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX101_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX99_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.PINMUX6.VALUE=0 +DRIVER.PINMUX.VAR.MUX101_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_127_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_119_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.ALT_ADC_A.VALUE=0 +DRIVER.PINMUX.VAR.PINMUX7.VALUE=0 +DRIVER.PINMUX.VAR.MUX101_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.ALT_ADC_B.VALUE=0 +DRIVER.PINMUX.VAR.PINMUX8.VALUE=PINMUX_BALL_D16_EMIF_BA_1 +DRIVER.PINMUX.VAR.MUX101_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX92_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX84_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX76_OPTION0.VALUE=1 +DRIVER.PINMUX.VAR.MUX68_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.PINMUX9.VALUE="PINMUX_BALL_R4_GIOB_3 | PINMUX_BALL_N17_EMIF_nCS_0 | PINMUX_BALL_L17_GIOB_4" +DRIVER.PINMUX.VAR.MUX101_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX92_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX84_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX76_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX68_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX92_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX84_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX76_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX68_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX4_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_120_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_112_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_104_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.MUX92_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX84_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX76_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX68_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL11_OPTION0.VALUE=1 +DRIVER.PINMUX.VAR.MUX92_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX84_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX76_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX68_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX7_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.SIGNAL11_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX92_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX84_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX76_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX68_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX7_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.ETPWM_TZ1_SELECT.VALUE=OFF +DRIVER.PINMUX.VAR.MUX132_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX124_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX116_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX108_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX7_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX7_OPTION3.VALUE=0 +DRIVER.CRC.VAR.HTU_CPB_7_SEL_1.VALUE=ENABLE +DRIVER.CRC.VAR.CRC1_CH1_URI.VALUE=0x00000000 +DRIVER.CRC.VAR.CRC1_CH2_TOE.VALUE=0x00000000 +DRIVER.CRC.VAR.HTU_DCP0_TRDIR_1.VALUE=HET_TO_MAIN_MEM +DRIVER.CRC.VAR.CRC2_CH2_WDTO.VALUE=0 +DRIVER.CRC.VAR.HTU_ICPBL_7_SEL_1.VALUE=HIGH +DRIVER.CRC.VAR.HTU_ICPA_5_SEL_1.VALUE=ENABLE +DRIVER.CRC.VAR.HTU_ICPB_1_SEL_1.VALUE=ENABLE +DRIVER.CRC.VAR.HTU_DEBMOD_1.VALUE=0 +DRIVER.CRC.VAR.CRC1_CH2_URI.VALUE=0x00000000 +DRIVER.CRC.VAR.HTU_ICPAL_1_SEL_1.VALUE=HIGH +DRIVER.CRC.VAR.HTU_ENABUS_1.VALUE=0 +DRIVER.CRC.VAR.CRC1_CH2_MODE.VALUE=FULL_CPU +DRIVER.CRC.VAR.HTU_CPA_2_SEL_1.VALUE=ENABLE +DRIVER.CRC.VAR.CRC2_CH1_PSSIH.VALUE=0 +DRIVER.CRC.VAR.CRC2_CH1_PSSIL.VALUE=0 +DRIVER.CRC.VAR.HTU_MP1_ACC_1.VALUE=READ_ONLY +DRIVER.CRC.VAR.HTU_CONTPAR_1.VALUE=0 +DRIVER.CRC.VAR.HTU_ICPB_6_SEL_1.VALUE=ENABLE +DRIVER.CRC.VAR.HTU_DCP0_EC_1.VALUE=0 +DRIVER.CRC.VAR.HTU_DCP0_CPBFULADD_1.VALUE=0 +DRIVER.CRC.VAR.HTU_ICPAL_6_SEL_1.VALUE=HIGH +DRIVER.CRC.VAR.CRC1_CH1_PSIH.VALUE=0 +DRIVER.CRC.VAR.HTU_CPA_7_SEL_1.VALUE=ENABLE +DRIVER.CRC.VAR.HTU_CPB_3_SEL_1.VALUE=ENABLE +DRIVER.CRC.VAR.CRC1_BASE.VALUE=0xFE000000 +DRIVER.CRC.VAR.CRC1_CH1_PSIL.VALUE=0 +DRIVER.CRC.VAR.HTU_DCP0_FC_1.VALUE=0 +DRIVER.CRC.VAR.HTU_BASE.VALUE=0xFFF7A400 +DRIVER.CRC.VAR.HTU_ICPBL_3_SEL_1.VALUE=HIGH +DRIVER.CRC.VAR.HTU_ICPA_1_SEL_1.VALUE=ENABLE +DRIVER.CRC.VAR.CRC1_CH1_WDTO.VALUE=0x00000000 +DRIVER.CRC.VAR.CRC1_CH2_PSIH.VALUE=0 +DRIVER.CRC.VAR.CRC2_BASE.VALUE=0xFB000000 +DRIVER.CRC.VAR.CRC1_CH2_PSIL.VALUE=0 +DRIVER.CRC.VAR.HTU_ICPA_6_SEL_1.VALUE=ENABLE +DRIVER.CRC.VAR.HTU_ICPB_2_SEL_1.VALUE=ENABLE +DRIVER.CRC.VAR.HTU_DCP0_CPAFULADD_1.VALUE=0 +DRIVER.CRC.VAR.HTU_ICPAL_2_SEL_1.VALUE=HIGH +DRIVER.CRC.VAR.HTU_CPA_3_SEL_1.VALUE=ENABLE +DRIVER.CRC.VAR.CRC2_CH2_PSSIH.VALUE=0 +DRIVER.CRC.VAR.CRC2_CH2_PSSIL.VALUE=0 +DRIVER.CRC.VAR.HTU_MP1_STADD_1.VALUE=0 +DRIVER.CRC.VAR.HTU_ICPB_7_SEL_1.VALUE=ENABLE +DRIVER.CRC.VAR.CRC1_CH2_WDTO.VALUE=0x00000000 +DRIVER.CRC.VAR.HTU_ICPAL_7_SEL_1.VALUE=HIGH +DRIVER.CRC.VAR.HTU_CPB_4_SEL_1.VALUE=ENABLE +DRIVER.CRC.VAR.CRC2_CH1_BCTO.VALUE=0 +DRIVER.CRC.VAR.HTU_MP0_ENA_1.VALUE=0 +DRIVER.CRC.VAR.HTU_ICPBL_4_SEL_1.VALUE=HIGH +DRIVER.CRC.VAR.HTU_ICPA_2_SEL_1.VALUE=ENABLE +DRIVER.CRC.VAR.HTU_PAR_1.VALUE=0 +DRIVER.CRC.VAR.HTU_CONT_1.VALUE=0 +DRIVER.CRC.VAR.HTU_ENAREQ_1.VALUE=0 +DRIVER.CRC.VAR.CRC2_CH2_BCTO.VALUE=0 +DRIVER.CRC.VAR.HTU_MP1_ERRENA_1.VALUE=0 +DRIVER.CRC.VAR.HTU_MP0_STADD_1.VALUE=0 +DRIVER.CRC.VAR.HTU_ICPA_7_SEL_1.VALUE=ENABLE +DRIVER.CRC.VAR.HTU_ICPB_3_SEL_1.VALUE=ENABLE +DRIVER.CRC.VAR.HTU_ICPAL_3_SEL_1.VALUE=HIGH +DRIVER.CRC.VAR.HTU_CPA_4_SEL_1.VALUE=ENABLE +DRIVER.CRC.VAR.HTU_CPB_0_SEL_1.VALUE=ENABLE +DRIVER.CRC.VAR.HTU_DCP0_MMADD_1.VALUE=POST_INCREMENT +DRIVER.CRC.VAR.CRC2_CH1_CCI.VALUE=0x00000000 +DRIVER.CRC.VAR.HTU_ENAINTMAP_1.VALUE=0 +DRIVER.CRC.VAR.CRC2_CH1_CFI.VALUE=0x00000000 +DRIVER.CRC.VAR.HTU_ICPBL_0_SEL_1.VALUE=HIGH +DRIVER.CRC.VAR.HTU_CPB_5_SEL_1.VALUE=ENABLE +DRIVER.CRC.VAR.CRC2_CH2_CCI.VALUE=0x00000000 +DRIVER.CRC.VAR.HTU_MP1_ENA_1.VALUE=0 +DRIVER.CRC.VAR.CRC1_CH2_MODE_VALUE.VALUE=0x0001 +DRIVER.CRC.VAR.HTU_DCP0_HETADD.VALUE=0 +DRIVER.CRC.VAR.CRC2_CH2_CFI.VALUE=0x00000000 +DRIVER.CRC.VAR.HTU_ICPBL_5_SEL_1.VALUE=HIGH +DRIVER.CRC.VAR.HTU_ICPA_3_SEL_1.VALUE=ENABLE +DRIVER.CRC.VAR.CRC2_CH1_DTE.VALUE=0 +DRIVER.CRC.VAR.CRC2_CH1_CVH.VALUE=0 +DRIVER.CRC.VAR.HTU_CPA_0_SEL_1.VALUE=ENABLE +DRIVER.CRC.VAR.HTU_RES_1.VALUE=0 +DRIVER.CRC.VAR.CRC1_CH1_BCTO.VALUE=0x00000000 +DRIVER.CRC.VAR.CRC2_CH1_CVL.VALUE=0 +DRIVER.CRC.VAR.HTU_DCP0_CPATMOD_1.VALUE=POST_INCREMENT +DRIVER.CRC.VAR.CRC1_CH1_CCI.VALUE=0x00000000 +DRIVER.CRC.VAR.CRC2_CH1_MODE.VALUE=FULL_CPU +DRIVER.CRC.VAR.CRC1_CH1_PSSIH.VALUE=0 +DRIVER.CRC.VAR.CRC2_CH2_DTE.VALUE=1 +DRIVER.CRC.VAR.CRC1_CH1_CFI.VALUE=0x00000000 +DRIVER.CRC.VAR.CRC1_CH1_PSSIL.VALUE=0 +DRIVER.CRC.VAR.HTU_MP1_ENDADD_1.VALUE=0 +DRIVER.CRC.VAR.HTU_ICPB_4_SEL_1.VALUE=ENABLE +DRIVER.CRC.VAR.CRC2_CH2_CVH.VALUE=0 +DRIVER.CRC.VAR.HTU_ICPAL_4_SEL_1.VALUE=HIGH +DRIVER.CRC.VAR.CRC2_CH2_CVL.VALUE=0 +DRIVER.CRC.VAR.CRC2_CH1_PCP.VALUE=0 +DRIVER.CRC.VAR.HTU_CPA_5_SEL_1.VALUE=ENABLE +DRIVER.CRC.VAR.HTU_CPB_1_SEL_1.VALUE=ENABLE +DRIVER.CRC.VAR.CRC1_CH2_CCI.VALUE=0x00000000 +DRIVER.CRC.VAR.CRC1_CH2_CFI.VALUE=0x00000000 +DRIVER.CRC.VAR.CRC2_CH1_SCP.VALUE=0 +DRIVER.CRC.VAR.HTU_VBHOLD_1.VALUE=0 +DRIVER.CRC.VAR.CRC1_CH2_BCTO.VALUE=0x00000000 +DRIVER.CRC.VAR.CRC1_CH1_MODE_VALUE.VALUE=0x0001 +DRIVER.CRC.VAR.CRC2_CH2_PCP.VALUE=0 +DRIVER.CRC.VAR.HTU_MP0_ERRENA_1.VALUE=0 +DRIVER.CRC.VAR.HTU_ICPBL_1_SEL_1.VALUE=HIGH +DRIVER.CRC.VAR.CRC2_CH1_PSA.VALUE=1 +DRIVER.CRC.VAR.CRC2_CH2_MODE.VALUE=FULL_CPU +DRIVER.CRC.VAR.CRC2_CH1_ORI.VALUE=0x00000000 +DRIVER.CRC.VAR.CRC1_CH1_DTE.VALUE=0 +DRIVER.CRC.VAR.HTU_CPB_6_SEL_1.VALUE=ENABLE +DRIVER.CRC.VAR.CRC1_CH1_CVH.VALUE=0x00000000 +DRIVER.CRC.VAR.CRC1_CH1_CVL.VALUE=0x00000000 +DRIVER.CRC.VAR.CRC2_CH2_SCP.VALUE=0 +DRIVER.CRC.VAR.CRC2_CH2_MODE_VALUE.VALUE=0x0001 +DRIVER.CRC.VAR.CRC2_CH1_TOE.VALUE=0x00000000 +DRIVER.CRC.VAR.CRC2_CH2_PSA.VALUE=1 +DRIVER.CRC.VAR.CRC2_CH2_ORI.VALUE=0x00000000 +DRIVER.CRC.VAR.CRC1_CH2_DTE.VALUE=1 +DRIVER.CRC.VAR.HTU_DCP0_TRDAT_1.VALUE=32BIT +DRIVER.CRC.VAR.HTU_ICPBL_6_SEL_1.VALUE=HIGH +DRIVER.CRC.VAR.HTU_ICPA_4_SEL_1.VALUE=ENABLE +DRIVER.CRC.VAR.HTU_ICPB_0_SEL_1.VALUE=ENABLE +DRIVER.CRC.VAR.CRC1_CH2_CVH.VALUE=0x00000000 +DRIVER.CRC.VAR.CRC2_CH1_PSIH.VALUE=0 +DRIVER.CRC.VAR.HTU_ICPAL_0_SEL_1.VALUE=HIGH +DRIVER.CRC.VAR.CRC1_CH2_CVL.VALUE=0x00000000 +DRIVER.CRC.VAR.CRC2_CH1_URI.VALUE=0x00000000 +DRIVER.CRC.VAR.CRC2_CH1_PSIL.VALUE=0 +DRIVER.CRC.VAR.CRC1_CH1_PCP.VALUE=0x00000000 +DRIVER.CRC.VAR.HTU_CPA_1_SEL_1.VALUE=ENABLE +DRIVER.CRC.VAR.CRC2_CH2_TOE.VALUE=0x00000000 +DRIVER.CRC.VAR.HTU_DCP0_CPBTMOD_1.VALUE=POST_INCREMENT +DRIVER.CRC.VAR.CRC1_CH2_PSSIH.VALUE=0 +DRIVER.CRC.VAR.HTU_MP0_ACC_1.VALUE=READ_ONLY +DRIVER.CRC.VAR.CRC1_CH2_PSSIL.VALUE=0 +DRIVER.CRC.VAR.CRC1_CH1_SCP.VALUE=0x00000000 +DRIVER.CRC.VAR.HTU_ICPB_5_SEL_1.VALUE=ENABLE +DRIVER.CRC.VAR.CRC2_CH2_URI.VALUE=0x00000000 +DRIVER.CRC.VAR.CRC1_CH2_PCP.VALUE=0x00000000 +DRIVER.CRC.VAR.HTU_ICPAL_5_SEL_1.VALUE=HIGH +DRIVER.CRC.VAR.CRC1_CH1_PSA.VALUE=1 +DRIVER.CRC.VAR.CRC1_CH1_ORI.VALUE=0x00000000 +DRIVER.CRC.VAR.HTU_DCP0_ADMOD_1.VALUE=INCREMENT_16BIT +DRIVER.CRC.VAR.HTU_CPA_6_SEL_1.VALUE=ENABLE +DRIVER.CRC.VAR.HTU_CPB_2_SEL_1.VALUE=ENABLE +DRIVER.CRC.VAR.CRC2_CH1_WDTO.VALUE=0 +DRIVER.CRC.VAR.CRC2_CH2_PSIH.VALUE=0 +DRIVER.CRC.VAR.CRC1_CH2_SCP.VALUE=0x00000000 +DRIVER.CRC.VAR.HTU_ENA_1.VALUE=0 +DRIVER.CRC.VAR.CRC1_CH1_TOE.VALUE=0x00000000 +DRIVER.CRC.VAR.CRC1_CH1_MODE.VALUE=SEMI_CPU +DRIVER.CRC.VAR.CRC2_CH2_PSIL.VALUE=0 +DRIVER.CRC.VAR.CRC1_CH2_PSA.VALUE=1 +DRIVER.CRC.VAR.CRC1_CH2_ORI.VALUE=0x00000000 +DRIVER.CRC.VAR.HTU_MP0_ENDADD_1.VALUE=0 +DRIVER.CRC.VAR.HTU_ICPBL_2_SEL_1.VALUE=HIGH +DRIVER.CRC.VAR.HTU_ICPA_0_SEL_1.VALUE=ENABLE +DRIVER.CRC.VAR.CRC2_CH1_MODE_VALUE.VALUE=0x0001 +DRIVER.EMAC.VAR.EMAC_PHY_CUSTOM.VALUE=0 +DRIVER.EMAC.VAR.EMAC_ADD1.VALUE=FF +DRIVER.EMAC.VAR.EMAC_ADD2.VALUE=FF +DRIVER.EMAC.VAR.EMAC_ADD3.VALUE=FF +DRIVER.EMAC.VAR.EMAC_ADD4.VALUE=FF +DRIVER.EMAC.VAR.EMAC_ADD5.VALUE=FF +DRIVER.EMAC.VAR.EMAC_ADD6.VALUE=FF +DRIVER.EMAC.VAR.EMAC_CTRL_BASE.VALUE=0xFCF78800 +DRIVER.EMAC.VAR.EMAC_PHY_DP83640.VALUE=1 +DRIVER.EMAC.VAR.EMAC_LOOPBACK_ENA.VALUE=0 +DRIVER.EMAC.VAR.MDIO_BASE.VALUE=0xFCF78900 +DRIVER.EMAC.VAR.EMAC_BASE.VALUE=0xFCF78000 +DRIVER.EMAC.VAR.EMAC_BASE_PORT.VALUE=0xFFFFFFFF +DRIVER.EMAC.VAR.EMAC_TRANSMIT_ENA.VALUE=1 +DRIVER.EMAC.VAR.EMAC_PHY_TLK111.VALUE=0 +DRIVER.EMAC.VAR.EMAC_CHANNELNUMBER.VALUE=0 +DRIVER.EMAC.VAR.EMAC_RX_PBUF_ALLOC.VALUE=10 +DRIVER.EMAC.VAR.EMAC_UNICAST_ENA.VALUE=1 +DRIVER.EMAC.VAR.EMAC_FULL_DUPLEX_ENA.VALUE=1 +DRIVER.EMAC.VAR.EMAC_PHYADDRESS.VALUE=1 +DRIVER.EMAC.VAR.EMAC_MII_ENA.VALUE=1 +DRIVER.EMAC.VAR.EMAC_CTRL_RAM_BASE.VALUE=0xFC520000 +DRIVER.EMAC.VAR.EMAC_BROADCAST_ENA.VALUE=1 +DRIVER.EMAC.VAR.EMAC_RECEIVE_ENA.VALUE=1 +DRIVER.EMIF.VAR.EMIF_ASYNC2_TAVAV.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC1_TD.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC3_EXTENDED_WAIT.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC1_TH.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC2_TA.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC3_WAIT.VALUE=pin0 +DRIVER.EMIF.VAR.EMIF_ASYNC2_TD.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC2_NOR_FLASH.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC2_TEHQZ.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC2_TH.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC3_TA.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC3_TD.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ENA_SDRAM.VALUE=1 +DRIVER.EMIF.VAR.EMIF_ASYNC3_TH.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC2_TELQV.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC2_PAGE_MODE.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC1_ENA.VALUE=1 +DRIVER.EMIF.VAR.EMIF_SDRAM_REFRESH_CYCLES.VALUE=0 +DRIVER.EMIF.VAR.EMIF_AVAILABLE.VALUE=1 +DRIVER.EMIF.VAR.EMIF_SDRAM_TRC_MAX.VALUE=160 +DRIVER.EMIF.VAR.EMIF_ASYNC3_TEHEL.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC2_ENA.VALUE=1 +DRIVER.EMIF.VAR.EMIF_ASYNC1_R_STROBE.VALUE=63 +DRIVER.EMIF.VAR.EMIF_SDRAM_TRAS_MAX.VALUE=160 +DRIVER.EMIF.VAR.EMIF_ASYNC3_TELEH.VALUE=0 +DRIVER.EMIF.VAR.EMIF_SDRAM_TRRD_MAX.VALUE=80 +DRIVER.EMIF.VAR.EMIF_ASYNC3_STROBE_MODE.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC3_ENA.VALUE=1 +DRIVER.EMIF.VAR.EMIF_ASYNC1_ASIZE.VALUE=8_bit +DRIVER.EMIF.VAR.EMIF_SDRAM_TRC_VAL.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC3_TAVAV.VALUE=0 +DRIVER.EMIF.VAR.EMIF_SDRAM_BANKS.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC1_PAGE_DELAY_VAL.VALUE=0 +DRIVER.EMIF.VAR.EMIF_SDRAM_TRAS_VAL.VALUE=0 +DRIVER.EMIF.VAR.EMIF_SDRAM_TRRD_VAL.VALUE=0 +DRIVER.EMIF.VAR.EMIF_BASE.VALUE=0xFCFFE800 +DRIVER.EMIF.VAR.EMIF_ASYNC3_TEHQZ.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC1_W_STROBE.VALUE=63 +DRIVER.EMIF.VAR.EMIF_ASYNC3_TELQV.VALUE=0 +DRIVER.EMIF.VAR.EMIF_SDRAM_TXSR_MAX.VALUE=320 +DRIVER.EMIF.VAR.EMIF_ASYNC2_PAGE_SIZE.VALUE=4_words +DRIVER.EMIF.VAR.EMIF_CLKFRQ.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC3_W_HOLD.VALUE=7 +DRIVER.EMIF.VAR.EMIF_ASYNC2_R_HOLD.VALUE=7 +DRIVER.EMIF.VAR.EMIF_SDRAM_TREFRESH_VAL.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC3_R_SETUP.VALUE=15 +DRIVER.EMIF.VAR.EMIF_SDRAM_TXSR_VAL.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC1_TSU.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC2_EXTENDED_WAIT.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC2_ASIZE.VALUE=8_bit +DRIVER.EMIF.VAR.EMIF_ASYNC2_TSU.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC3_W_SETUP.VALUE=15 +DRIVER.EMIF.VAR.EMIF_ASYNC3_NOR_FLASH.VALUE=0 +DRIVER.EMIF.VAR.EMIF_SDRAM_TWR_MAX.VALUE=80 +DRIVER.EMIF.VAR.EMIF_ASYNC2_PAGE_DELAY_VAL.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC1_W_HOLD.VALUE=7 +DRIVER.EMIF.VAR.EMIF_SDRAM_INIT_TIME.VALUE=200 +DRIVER.EMIF.VAR.EMIF_SDRAM_TREFRESH_DEFAULT.VALUE=2005 +DRIVER.EMIF.VAR.EMIF_ASYNC3_TSU.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC3_PAGE_MODE.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC2_STROBE_MODE.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC2_R_SETUP.VALUE=15 +DRIVER.EMIF.VAR.EMIF_SDRAM_TWR_VAL.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC3_R_STROBE.VALUE=63 +DRIVER.EMIF.VAR.EMIF_SDRAM_TRCD_MAX.VALUE=80 +DRIVER.EMIF.VAR.EMIF_CLK.VALUE=0 +DRIVER.EMIF.VAR.EMIF_SDRAM_TRCD.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC2_W_SETUP.VALUE=15 +DRIVER.EMIF.VAR.EMIF_SDRAM_TRFC.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC3_ASIZE.VALUE=8_bit +DRIVER.EMIF.VAR.EMIF_SDRAM_TRAS.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC1_NOR_FLASH.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC3_PAGE_DELAY.VALUE=0 +DRIVER.EMIF.VAR.EMIF_SDRAM_CAS_LATENCY.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC_WAIT_POLARITY0.VALUE=pin_low +DRIVER.EMIF.VAR.EMIF_SDRAM_TRCD_VAL.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC_WAIT_POLARITY1.VALUE=pin_high +DRIVER.EMIF.VAR.EMIF_ASYNC1_PAGE_MODE.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC1_R_SETUP.VALUE=15 +DRIVER.EMIF.VAR.EMIF_SDRAM_TRC.VALUE=0 +DRIVER.EMIF.VAR.EMIF_SDRAM_TRRD.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC3_PAGE_DELAY_VAL.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC3_W_STROBE.VALUE=63 +DRIVER.EMIF.VAR.EMIF_ASYNC1_TEHEL.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC_MAX_EXT_WAIT.VALUE=0 +DRIVER.EMIF.VAR.EMIF_SDRAM_TRP.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC3_PAGE_SIZE.VALUE=4_words +DRIVER.EMIF.VAR.EMIF_ASYNC1_W_SETUP.VALUE=15 +DRIVER.EMIF.VAR.EMIF_ASYNC1_TELEH.VALUE=0 +DRIVER.EMIF.VAR.EMIF_SDRAM_REFRESH_CYCLES_MAX.VALUE=0 +DRIVER.EMIF.VAR.EMIF_MS.VALUE=0.001 +DRIVER.EMIF.VAR.EMIF_NS.VALUE=0.000000001 +DRIVER.EMIF.VAR.EMIF_SDRAM_TWR.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC1_EXTENDED_WAIT.VALUE=0 +DRIVER.EMIF.VAR.EMIF_SDRAM_REFRESH_PERIOD.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC3_R_HOLD.VALUE=7 +DRIVER.EMIF.VAR.EMIF_ASYNC1_TAVAV.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC2_PAGE_DELAY.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC1_WAIT.VALUE=pin0 +DRIVER.EMIF.VAR.EMIF_SDRAM_TRP_MAX.VALUE=80 +DRIVER.EMIF.VAR.EMIF_SDRAM_TXSR.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC1_TEHQZ.VALUE=0 +DRIVER.EMIF.VAR.EMIF_SDRAM_TRFC_MAX.VALUE=320 +DRIVER.EMIF.VAR.EMIF_ASYNC2_R_STROBE.VALUE=63 +DRIVER.EMIF.VAR.EMIF_ASYNC1_TELQV.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC1_STROBE_MODE.VALUE=0 +DRIVER.EMIF.VAR.EMIF_SDRAM_TRP_VAL.VALUE=0 +DRIVER.EMIF.VAR.EMIF_SDRAM_REFRESH_PERIOD_MAX.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC2_W_HOLD.VALUE=7 +DRIVER.EMIF.VAR.EMIF_ASYNC1_PAGE_SIZE.VALUE=4_words +DRIVER.EMIF.VAR.EMIF_ASYNC2_WAIT.VALUE=pin0 +DRIVER.EMIF.VAR.EMIF_ASYNC2_TEHEL.VALUE=0 +DRIVER.EMIF.VAR.EMIF_SDRAM_TRFC_VAL.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC1_R_HOLD.VALUE=7 +DRIVER.EMIF.VAR.EMIF_SDRAM_PAGE_SIZE.VALUE=elements_256 +DRIVER.EMIF.VAR.EMIF_ASYNC2_TELEH.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC1_PAGE_DELAY.VALUE=0 +DRIVER.EMIF.VAR.EMIF_IBANK.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC2_W_STROBE.VALUE=63 +DRIVER.EMIF.VAR.EMIF_ASYNC1_TA.VALUE=0 +DRIVER.POM.VAR.POM_OVRLY_START_ADD28.VALUE=0x00000000 +DRIVER.POM.VAR.POM_OVRLY_START_ADD29.VALUE=0x00000000 +DRIVER.POM.VAR.POM_REGION_10_ENA.VALUE=0 +DRIVER.POM.VAR.POM_TIMEOUT_ENABLE.VALUE=0 +DRIVER.POM.VAR.POM_REGION_11_ENA.VALUE=0 +DRIVER.POM.VAR.POM_REGION_20_ENA.VALUE=0 +DRIVER.POM.VAR.POM_REGION_12_ENA.VALUE=0 +DRIVER.POM.VAR.POM_NO_OF_REGION.VALUE=1 +DRIVER.POM.VAR.POM_REGION_21_ENA.VALUE=0 +DRIVER.POM.VAR.POM_REGION_13_ENA.VALUE=0 +DRIVER.POM.VAR.POM_REGION_30_ENA.VALUE=0 +DRIVER.POM.VAR.POM_REGION_22_ENA.VALUE=0 +DRIVER.POM.VAR.POM_REGION_14_ENA.VALUE=0 +DRIVER.POM.VAR.POM_REGION_31_ENA.VALUE=0 +DRIVER.POM.VAR.POM_REGION_23_ENA.VALUE=0 +DRIVER.POM.VAR.POM_REGION_15_ENA.VALUE=0 +DRIVER.POM.VAR.POM_REGION_1_ENA.VALUE=1 +DRIVER.POM.VAR.POM_REGION_32_ENA.VALUE=0 +DRIVER.POM.VAR.POM_REGION_24_ENA.VALUE=0 +DRIVER.POM.VAR.POM_REGION_16_ENA.VALUE=0 +DRIVER.POM.VAR.POM_REGION_2_ENA.VALUE=0 +DRIVER.POM.VAR.POM_REGION_25_ENA.VALUE=0 +DRIVER.POM.VAR.POM_REGION_17_ENA.VALUE=0 +DRIVER.POM.VAR.POM_OVRLY_START_ADD1.VALUE=0x00000000 +DRIVER.POM.VAR.POM_OVRLY_START_ADD2.VALUE=0x00000000 +DRIVER.POM.VAR.POM_OVRLY_START_ADD3.VALUE=0x00000000 +DRIVER.POM.VAR.POM_OVRLY_START_ADD4.VALUE=0x00000000 +DRIVER.POM.VAR.POM_OVRLY_START_ADD5.VALUE=0x00000000 +DRIVER.POM.VAR.POM_OVRLY_START_ADD6.VALUE=0x00000000 +DRIVER.POM.VAR.POM_OVRLY_START_ADD7.VALUE=0x00000000 +DRIVER.POM.VAR.POM_OVRLY_START_ADD8.VALUE=0x00000000 +DRIVER.POM.VAR.POM_OVLY_TRG_REGION.VALUE=INTERNAL_RAM +DRIVER.POM.VAR.POM_OVRLY_START_ADD9.VALUE=0x00000000 +DRIVER.POM.VAR.POM_REGION_3_ENA.VALUE=0 +DRIVER.POM.VAR.POM_REGION_26_ENA.VALUE=0 +DRIVER.POM.VAR.POM_REGION_18_ENA.VALUE=0 +DRIVER.POM.VAR.POM_REGION_4_ENA.VALUE=0 +DRIVER.POM.VAR.POM_REGION_27_ENA.VALUE=0 +DRIVER.POM.VAR.POM_REGION_19_ENA.VALUE=0 +DRIVER.POM.VAR.POM_REGION_5_ENA.VALUE=0 +DRIVER.POM.VAR.POM_REGION_28_ENA.VALUE=0 +DRIVER.POM.VAR.POM_REGION_6_ENA.VALUE=0 +DRIVER.POM.VAR.POM_REGION_SIZE10.VALUE=SIZE_64BYTES +DRIVER.POM.VAR.POM_REGION_SIZE11.VALUE=SIZE_64BYTES +DRIVER.POM.VAR.POM_REGION_SIZE20.VALUE=SIZE_64BYTES +DRIVER.POM.VAR.POM_REGION_SIZE12.VALUE=SIZE_64BYTES +DRIVER.POM.VAR.POM_REGION_29_ENA.VALUE=0 +DRIVER.POM.VAR.POM_REGION_SIZE21.VALUE=SIZE_64BYTES +DRIVER.POM.VAR.POM_REGION_SIZE13.VALUE=SIZE_64BYTES +DRIVER.POM.VAR.POM_REGION_SIZE30.VALUE=SIZE_64BYTES +DRIVER.POM.VAR.POM_REGION_SIZE22.VALUE=SIZE_64BYTES +DRIVER.POM.VAR.POM_REGION_SIZE14.VALUE=SIZE_64BYTES +DRIVER.POM.VAR.POM_REGION_SIZE31.VALUE=SIZE_64BYTES +DRIVER.POM.VAR.POM_REGION_SIZE23.VALUE=SIZE_64BYTES +DRIVER.POM.VAR.POM_REGION_SIZE15.VALUE=SIZE_64BYTES +DRIVER.POM.VAR.POM_REGION_SIZE32.VALUE=SIZE_64BYTES +DRIVER.POM.VAR.POM_REGION_SIZE24.VALUE=SIZE_64BYTES +DRIVER.POM.VAR.POM_REGION_SIZE16.VALUE=SIZE_64BYTES +DRIVER.POM.VAR.POM_REGION_SIZE25.VALUE=SIZE_64BYTES +DRIVER.POM.VAR.POM_REGION_SIZE17.VALUE=SIZE_64BYTES +DRIVER.POM.VAR.POM_REGION_SIZE26.VALUE=SIZE_64BYTES +DRIVER.POM.VAR.POM_REGION_SIZE18.VALUE=SIZE_64BYTES +DRIVER.POM.VAR.POM_REGION_SIZE27.VALUE=SIZE_64BYTES +DRIVER.POM.VAR.POM_REGION_SIZE19.VALUE=SIZE_64BYTES +DRIVER.POM.VAR.POM_REGION_SIZE28.VALUE=SIZE_64BYTES +DRIVER.POM.VAR.POM_REGION_SIZE29.VALUE=SIZE_64BYTES +DRIVER.POM.VAR.POM_REGION_7_ENA.VALUE=0 +DRIVER.POM.VAR.POM_BASE.VALUE=0xFFA04000 +DRIVER.POM.VAR.POM_PROG_START_ADD10.VALUE=0x00000000 +DRIVER.POM.VAR.POM_PROG_START_ADD11.VALUE=0x00000000 +DRIVER.POM.VAR.POM_PROG_START_ADD20.VALUE=0x00000000 +DRIVER.POM.VAR.POM_PROG_START_ADD12.VALUE=0x00000000 +DRIVER.POM.VAR.POM_PROG_START_ADD21.VALUE=0x00000000 +DRIVER.POM.VAR.POM_PROG_START_ADD13.VALUE=0x00000000 +DRIVER.POM.VAR.POM_REGION_8_ENA.VALUE=0 +DRIVER.POM.VAR.POM_PROG_START_ADD30.VALUE=0x00000000 +DRIVER.POM.VAR.POM_PROG_START_ADD22.VALUE=0x00000000 +DRIVER.POM.VAR.POM_PROG_START_ADD14.VALUE=0x00000000 +DRIVER.POM.VAR.POM_PROG_START_ADD31.VALUE=0x00000000 +DRIVER.POM.VAR.POM_PROG_START_ADD23.VALUE=0x00000000 +DRIVER.POM.VAR.POM_PROG_START_ADD15.VALUE=0x00000000 +DRIVER.POM.VAR.POM_PROG_START_ADD32.VALUE=0x00000000 +DRIVER.POM.VAR.POM_PROG_START_ADD24.VALUE=0x00000000 +DRIVER.POM.VAR.POM_PROG_START_ADD16.VALUE=0x00000000 +DRIVER.POM.VAR.POM_PROG_START_ADD25.VALUE=0x00000000 +DRIVER.POM.VAR.POM_PROG_START_ADD17.VALUE=0x00000000 +DRIVER.POM.VAR.POM_PROG_START_ADD26.VALUE=0x00000000 +DRIVER.POM.VAR.POM_PROG_START_ADD18.VALUE=0x00000000 +DRIVER.POM.VAR.POM_PROG_START_ADD27.VALUE=0x00000000 +DRIVER.POM.VAR.POM_PROG_START_ADD19.VALUE=0x00000000 +DRIVER.POM.VAR.POM_REGION_SIZE1.VALUE=SIZE_64BYTES +DRIVER.POM.VAR.POM_PROG_START_ADD28.VALUE=0x00000000 +DRIVER.POM.VAR.POM_REGION_SIZE2.VALUE=SIZE_64BYTES +DRIVER.POM.VAR.POM_PROG_START_ADD29.VALUE=0x00000000 +DRIVER.POM.VAR.POM_REGION_SIZE3.VALUE=SIZE_64BYTES +DRIVER.POM.VAR.POM_REGION_SIZE4.VALUE=SIZE_64BYTES +DRIVER.POM.VAR.POM_REGION_SIZE5.VALUE=SIZE_64BYTES +DRIVER.POM.VAR.POM_REGION_SIZE6.VALUE=SIZE_64BYTES +DRIVER.POM.VAR.POM_REGION_SIZE7.VALUE=SIZE_64BYTES +DRIVER.POM.VAR.POM_REGION_SIZE8.VALUE=SIZE_64BYTES +DRIVER.POM.VAR.POM_REGION_SIZE9.VALUE=SIZE_64BYTES +DRIVER.POM.VAR.POM_REGION_9_ENA.VALUE=0 +DRIVER.POM.VAR.POM_PROG_START_ADD1.VALUE=0x00000000 +DRIVER.POM.VAR.POM_PROG_START_ADD2.VALUE=0x00000000 +DRIVER.POM.VAR.POM_PROG_START_ADD3.VALUE=0x00000000 +DRIVER.POM.VAR.POM_PROG_START_ADD4.VALUE=0x00000000 +DRIVER.POM.VAR.POM_PROG_START_ADD5.VALUE=0x00000000 +DRIVER.POM.VAR.POM_PROG_START_ADD6.VALUE=0x00000000 +DRIVER.POM.VAR.POM_PROG_START_ADD7.VALUE=0x00000000 +DRIVER.POM.VAR.POM_PROG_START_ADD8.VALUE=0x00000000 +DRIVER.POM.VAR.POM_PROG_START_ADD9.VALUE=0x00000000 +DRIVER.POM.VAR.POM_OVRLY_START_ADD10.VALUE=0x00000000 +DRIVER.POM.VAR.POM_OVRLY_START_ADD11.VALUE=0x00000000 +DRIVER.POM.VAR.POM_OVRLY_START_ADD20.VALUE=0x00000000 +DRIVER.POM.VAR.POM_OVRLY_START_ADD12.VALUE=0x00000000 +DRIVER.POM.VAR.POM_OVRLY_START_ADD21.VALUE=0x00000000 +DRIVER.POM.VAR.POM_OVRLY_START_ADD13.VALUE=0x00000000 +DRIVER.POM.VAR.POM_OVRLY_START_ADD30.VALUE=0x00000000 +DRIVER.POM.VAR.POM_OVRLY_START_ADD22.VALUE=0x00000000 +DRIVER.POM.VAR.POM_OVRLY_START_ADD14.VALUE=0x00000000 +DRIVER.POM.VAR.POM_OVRLY_START_ADD31.VALUE=0x00000000 +DRIVER.POM.VAR.POM_OVRLY_START_ADD23.VALUE=0x00000000 +DRIVER.POM.VAR.POM_OVRLY_START_ADD15.VALUE=0x00000000 +DRIVER.POM.VAR.POM_OVRLY_START_ADD32.VALUE=0x00000000 +DRIVER.POM.VAR.POM_OVRLY_START_ADD24.VALUE=0x00000000 +DRIVER.POM.VAR.POM_OVRLY_START_ADD16.VALUE=0x00000000 +DRIVER.POM.VAR.POM_OVRLY_START_ADD25.VALUE=0x00000000 +DRIVER.POM.VAR.POM_OVRLY_START_ADD17.VALUE=0x00000000 +DRIVER.POM.VAR.POM_OVRLY_START_ADD26.VALUE=0x00000000 +DRIVER.POM.VAR.POM_OVRLY_START_ADD18.VALUE=0x00000000 +DRIVER.POM.VAR.POM_OVRLY_START_ADD27.VALUE=0x00000000 +DRIVER.POM.VAR.POM_OVRLY_START_ADD19.VALUE=0x00000000 +DRIVER.PMM.VAR.PMM_RAM_PWR_DOMAIN2_ENABLE.VALUE=0 +DRIVER.PMM.VAR.PMM_PWR_DOMAIN5_ENABLE.VALUE=0 +DRIVER.PMM.VAR.PMM_PWR_DOMAIN3_ENABLE.VALUE=0 +DRIVER.PMM.VAR.PMM_RAM_PWR_DOMAIN3_ENABLE.VALUE=0 +DRIVER.PMM.VAR.PMM_RAM_PWR_DOMAIN1_ENABLE.VALUE=0 +DRIVER.PMM.VAR.PMM_PWR_DOMAIN4_ENABLE.VALUE=0 +DRIVER.PMM.VAR.PMM_PWR_DOMAIN2_ENABLE.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM6_OSHT_WIDTH.VALUE=100 +DRIVER.ETPWM.VAR.ETPWM3_PWMA_PERIOD_REG.VALUE=1000 +DRIVER.ETPWM.VAR.ETPWM2_PWMA_COMPARE.VALUE=50 +DRIVER.ETPWM.VAR.ETPWM5_CHOPPER_PERIOD.VALUE=100.000 +DRIVER.ETPWM.VAR.ETPWM3_PWMA_ACTUALPERIOD.VALUE=1000.000 +DRIVER.ETPWM.VAR.ETPWM3_PWMA_DUTY.VALUE=50 +DRIVER.ETPWM.VAR.ETPWM7_PWMB_PERIOD.VALUE=1000.000 +DRIVER.ETPWM.VAR.ETPWM3_PWMB_DEADBAND_OUT.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM5_HSPCLKDIV.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM4_CLKDIV_REG.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM3_SOCA_PERIOD.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM1_DEADBAND_INPUT.VALUE=PWMA_RED_FED +DRIVER.ETPWM.VAR.ETPWM7_BASE.VALUE=0xFCF79200 +DRIVER.ETPWM.VAR.ETPWM5_TB_ACTUALFREQUENCY.VALUE=80.000 +DRIVER.ETPWM.VAR.ETPWM6_DCBEVT1.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM6_DCBEVT2.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM7_ENABLE_SOCA.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM1_CBC.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM7_ENABLE_SOCB.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM7_PWMA_FALLING_EDGE_DELAY_REG.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM6_CHOPPER_PERIOD_REG.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM2_PWMA_ENA.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM4_PWMB_PERIOD.VALUE=1000.000 +DRIVER.ETPWM.VAR.ETPWM6_RDELAY_SOURCE.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM6_PWMA_DUTYTIME.VALUE=500.000 +DRIVER.ETPWM.VAR.ETPWM1_CHOPPER_DUTY_NEW.VALUE=50.0 +DRIVER.ETPWM.VAR.ETPWM7_SOCB_PERIOD.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM1_OSHT_ACTUAL_WIDTH.VALUE=100 +DRIVER.ETPWM.VAR.ETPWM7_PWMB_FALLING_EDGE_DELAY_REG.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM6_PWMB_COMPARE.VALUE=50 +DRIVER.ETPWM.VAR.ETPWM2_PWMB_POLARITY.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM1_OSHT1.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM1_OSHT2.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM1_PWMA_DEADBAND_OUT.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM4_ENABLE_SOCA.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM1_OSHT3.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM4_ENABLE_SOCB.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM1_OSHT4.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM5_OSHT_WIDTH_REG.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM1_OSHT5.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM1_PWMA_PERIOD_REG.VALUE=1000 +DRIVER.ETPWM.VAR.ETPWM1_OSHT6.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM1_CHOPPER_PERIOD.VALUE=100.000 +DRIVER.ETPWM.VAR.ETPWM1_PWMB_PERIOD.VALUE=1000.000 +DRIVER.ETPWM.VAR.ETPWM2_CBC.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM4_CLKDIV.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM2_PWMB_ENA.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM4_SOCB_PERIOD.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM7_CHOPPER_MODE.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM3_PWMB_DUTY.VALUE=50 +DRIVER.ETPWM.VAR.ETPWM7_DEADBAND_OUTPUT.VALUE=PWMA_PWMB_NIL +DRIVER.ETPWM.VAR.ETPWM4_PWMB_ACTUALPERIOD.VALUE=1000.000 +DRIVER.ETPWM.VAR.ETPWM1_ENABLE_SOCA.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM2_PWMB_DEADBAND_INVERT.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM1_ENABLE_SOCB.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM7_CHOPPER_DUTY.VALUE=50 +DRIVER.ETPWM.VAR.ETPWM5_DCAEVT1.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM4_HSPCLKDIV_REG.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM5_DCAEVT2.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM7_CHOPPER_DUTYTIME.VALUE=50.000 +DRIVER.ETPWM.VAR.ETPWM6_OSHT_ACTUAL_WIDTH.VALUE=100 +DRIVER.ETPWM.VAR.ETPWM4_PWMB_DEADBAND_INVERT.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM7_PWMB_POLARITY.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM6_OSHT1.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM2_PWMA_RISING_EDGE_DELAY_REG.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM6_OSHT2.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM6_PWMA_DEADBAND_OUT.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM1_SOCB_PERIOD.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM6_OSHT3.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM5_PWMB_DUTYTIME.VALUE=500.000 +DRIVER.ETPWM.VAR.ETPWM3_CBC.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM2_TB_ACTUALFREQUENCY.VALUE=80.000 +DRIVER.ETPWM.VAR.ETPWM1_FDELAY_SOURCE.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM6_OSHT4.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM6_PWMB_DEADBAND_INVERT.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM6_OSHT5.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM3_PWMB_COMPARE.VALUE=50 +DRIVER.ETPWM.VAR.ETPWM2_PWMB_RISING_EDGE_DELAY_REG.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM6_OSHT6.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM6_DEADBAND_INPUT.VALUE=PWMA_RED_FED +DRIVER.ETPWM.VAR.ETPWM6_SELECT_SOCA.VALUE=DCAEVT1 +DRIVER.ETPWM.VAR.ETPWM6_SELECT_SOCB.VALUE=DCBEVT1 +DRIVER.ETPWM.VAR.ETPWM6_SELECT_EVENT.VALUE=NO_EVENT +DRIVER.ETPWM.VAR.ETPWM5_OSHT_WIDTH.VALUE=100 +DRIVER.ETPWM.VAR.ETPWM1_PWMA_DEADBAND_INVERT.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM5_PWMA_ENA.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM3_CHOPPER_PERIOD_REG.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM3_PWMA_DEADBAND_INVERT.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM6_PWMB_PERIOD_REG.VALUE=1000.000 +DRIVER.ETPWM.VAR.ETPWM5_DCBEVT1.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM1_OSHT_WIDTH_REG.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM1_PWMA_DUTY.VALUE=50 +DRIVER.ETPWM.VAR.ETPWM5_DCBEVT2.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM2_PWMA_ACTUALPERIOD.VALUE=1000.000 +DRIVER.ETPWM.VAR.ETPWM5_PWMA_DEADBAND_INVERT.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM3_HSPCLKDIV.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM6_PWMA_FALLING_EDGE_DELAY_REG.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM6_PWMA_RISING_EDGE_DELAY_REG.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM4_CHOPPER_MODE.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM3_CLKDIV_REG.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM2_PWMB_DEADBAND_OUT.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM6_TB_FREQUENCY.VALUE=110.000 +DRIVER.ETPWM.VAR.ETPWM4_CBC.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM3_SELECT_SOCA.VALUE=DCAEVT1 +DRIVER.ETPWM.VAR.ETPWM7_PWMA_DEADBAND_INVERT.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM3_SELECT_SOCB.VALUE=DCBEVT1 +DRIVER.ETPWM.VAR.ETPWM6_PWMB_RISING_EDGE_DELAY_REG.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM5_PWMA_POLARITY.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM4_CHOPPER_DUTY.VALUE=50 +DRIVER.ETPWM.VAR.ETPWM5_DEADBAND_OUTPUT.VALUE=PWMA_PWMB_NIL +DRIVER.ETPWM.VAR.ETPWM6_FDELAY_SOURCE.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM3_RDELAY_SOURCE.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM3_PWMA_DUTYTIME.VALUE=500.000 +DRIVER.ETPWM.VAR.ETPWM6_PWMB_FALLING_EDGE_DELAY_REG.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM6_PWMA_COMPARE.VALUE=50 +DRIVER.ETPWM.VAR.ETPWM5_PWMB_ENA.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM6_CHOPPER_PERIOD.VALUE=100.000 +DRIVER.ETPWM.VAR.ETPWM6_CHOPPER_DUTYTIME.VALUE=50.000 +DRIVER.ETPWM.VAR.ETPWM1_PWMB_FALLING_EDGE_DELAY.VALUE=9.091 +DRIVER.ETPWM.VAR.ETPWM3_SELECT_EVENT.VALUE=NO_EVENT +DRIVER.ETPWM.VAR.ETPWM2_CLKDIV.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM6_PWMA_DUTY.VALUE=50 +DRIVER.ETPWM.VAR.ETPWM7_PWMA_ACTUALPERIOD.VALUE=1000.000 +DRIVER.ETPWM.VAR.ETPWM2_DEADBAND_INPUT.VALUE=PWMA_RED_FED +DRIVER.ETPWM.VAR.ETPWM5_CBC.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM1_CBC1.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM1_CBC2.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM1_CBC3.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM1_CHOPPER_DUTYTIME_REG.VALUE=3 +DRIVER.ETPWM.VAR.ETPWM7_PWMB_DEADBAND_OUT.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM1_CBC4.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM1_CBC5.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM1_CBC6.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM4_DCAEVT1.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM4_PWMB_PERIOD_REG.VALUE=1000.000 +DRIVER.ETPWM.VAR.ETPWM3_CHOPPER_DUTYTIME_REG.VALUE=3 +DRIVER.ETPWM.VAR.ETPWM1_CHOPPER_MODE.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM5_PWMA_PERIOD.VALUE=1000.000 +DRIVER.ETPWM.VAR.ETPWM4_DCAEVT2.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM7_TB_ACTUALFREQUENCY.VALUE=80.000 +DRIVER.ETPWM.VAR.ETPWM3_TB_FREQUENCY.VALUE=110.000 +DRIVER.ETPWM.VAR.ETPWM2_PWMB_FALLING_EDGE_DELAY.VALUE=9.091 +DRIVER.ETPWM.VAR.ETPWM5_CHOPPER_DUTYTIME_REG.VALUE=3 +DRIVER.ETPWM.VAR.ETPWM2_OSHT1.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM1_CHOPPER_DUTY.VALUE=50 +DRIVER.ETPWM.VAR.ETPWM1_PWMB_DUTY.VALUE=50 +DRIVER.ETPWM.VAR.ETPWM1_HSPCLKDIV_REG.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM7_INTERRUPT_PERIOD.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM2_OSHT2.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM2_OSHT3.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM2_OSHT4.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM7_CHOPPER_DUTYTIME_REG.VALUE=3 +DRIVER.ETPWM.VAR.ETPWM4_PWMB_POLARITY.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM3_PWMA_COMPARE.VALUE=50 +DRIVER.ETPWM.VAR.ETPWM2_OSHT5.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM3_DEADBAND_OUTPUT.VALUE=PWMA_PWMB_NIL +DRIVER.ETPWM.VAR.ETPWM3_PWMB_ACTUALPERIOD.VALUE=1000.000 +DRIVER.ETPWM.VAR.ETPWM2_OSHT6.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM6_CBC.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM2_PWMB_DUTYTIME.VALUE=500.000 +DRIVER.ETPWM.VAR.ETPWM6_OSHT_WIDTH_REG.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM2_CHOPPER_PERIOD.VALUE=100.000 +DRIVER.ETPWM.VAR.ETPWM2_PWMA_PERIOD.VALUE=1000.000 +DRIVER.ETPWM.VAR.ETPWM5_CHOPPER_DUTYTIME.VALUE=50.000 +DRIVER.ETPWM.VAR.ETPWM5_OSHT_ACTUAL_WIDTH.VALUE=100 +DRIVER.ETPWM.VAR.ETPWM4_DCBEVT1.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM5_SOCA_PERIOD.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM5_PWMA_DEADBAND_OUT.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM4_DCBEVT2.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM3_PWMB_FALLING_EDGE_DELAY.VALUE=9.091 +DRIVER.ETPWM.VAR.ETPWM4_OSHT_WIDTH.VALUE=100 +DRIVER.ETPWM.VAR.ETPWM5_PWMA_FALLING_EDGE_DELAY_REG.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM4_PWMA_RISING_EDGE_DELAY_REG.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM1_PWMA_ENA.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM7_OSHT1.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM6_PWMB_DUTY.VALUE=50 +DRIVER.ETPWM.VAR.ETPWM6_PWMA_PERIOD_REG.VALUE=1000 +DRIVER.ETPWM.VAR.ETPWM6_HSPCLKDIV_REG.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM4_PWMB_RISING_EDGE_DELAY_REG.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM7_OSHT2.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM6_PWMB_PERIOD.VALUE=1000.000 +DRIVER.ETPWM.VAR.ETPWM7_CBC.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM7_OSHT3.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM2_CBC1.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM7_OSHT4.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM2_CBC2.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM1_HSPCLKDIV.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM7_OSHT5.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM5_PWMB_FALLING_EDGE_DELAY_REG.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM2_CBC3.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM2_PWMB_PERIOD_REG.VALUE=1000.000 +DRIVER.ETPWM.VAR.ETPWM2_PWMA_POLARITY.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM2_CLKDIV_REG.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM7_OSHT6.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM2_SOCA_PERIOD.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM2_CBC4.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM1_OST.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM1_CHOPPER_ACTUALPERIOD.VALUE=100.000 +DRIVER.ETPWM.VAR.ETPWM1_PWMA_ACTUALPERIOD.VALUE=1000.000 +DRIVER.ETPWM.VAR.ETPWM7_PWMB_DUTYTIME.VALUE=500.000 +DRIVER.ETPWM.VAR.ETPWM3_FDELAY_SOURCE.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM2_CBC5.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM7_CLKDIV.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM2_CBC6.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM7_PWMB_COMPARE.VALUE=50 +DRIVER.ETPWM.VAR.ETPWM7_DEADBAND_INPUT.VALUE=PWMA_RED_FED +DRIVER.ETPWM.VAR.ETPWM6_INTERRUPT_PERIOD.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM3_CHOPPER_ACTUALPERIOD.VALUE=100.000 +DRIVER.ETPWM.VAR.ETPWM1_PWMB_DEADBAND_OUT.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM6_ENABLE_SOCA.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM4_PWMB_FALLING_EDGE_DELAY.VALUE=9.091 +DRIVER.ETPWM.VAR.ETPWM1_BASE.VALUE=0xFCF78C00 +DRIVER.ETPWM.VAR.ETPWM6_ENABLE_SOCB.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM1_PWMB_ENA.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM5_CHOPPER_ACTUALPERIOD.VALUE=100.000 +DRIVER.ETPWM.VAR.ETPWM3_PWMB_PERIOD.VALUE=1000.000 +DRIVER.ETPWM.VAR.ETPWM1_DEADBAND_OUTPUT.VALUE=PWMA_PWMB_NIL +DRIVER.ETPWM.VAR.ETPWM4_TB_ACTUALFREQUENCY.VALUE=80.000 +DRIVER.ETPWM.VAR.ETPWM2_OSHT_WIDTH_REG.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM7_CHOPPER_ACTUALPERIOD.VALUE=100.000 +DRIVER.ETPWM.VAR.ETPWM6_SOCB_PERIOD.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM4_CHOPPER_DUTYTIME.VALUE=50.000 +DRIVER.ETPWM.VAR.ETPWM5_CHOPPER_PERIOD_REG.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM4_PWMA_DUTY.VALUE=50 +DRIVER.ETPWM.VAR.ETPWM3_DCAEVT1.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM3_DCAEVT2.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM2_OST.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM3_ENABLE_SOCA.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM6_HSPCLKDIV.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM3_ENABLE_SOCB.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM7_PWMA_POLARITY.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM2_PWMA_FALLING_EDGE_DELAY_REG.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM6_PWMA_ACTUALPERIOD.VALUE=1000.000 +DRIVER.ETPWM.VAR.ETPWM5_RDELAY_SOURCE.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM5_PWMB_FALLING_EDGE_DELAY.VALUE=9.091 +DRIVER.ETPWM.VAR.ETPWM5_PWMA_DUTYTIME.VALUE=500.000 +DRIVER.ETPWM.VAR.ETPWM4_PWMA_PERIOD_REG.VALUE=1000 +DRIVER.ETPWM.VAR.ETPWM7_CHOPPER_PERIOD.VALUE=100.000 +DRIVER.ETPWM.VAR.ETPWM6_PWMB_DEADBAND_OUT.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM3_SOCB_PERIOD.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM4_PWMB_COMPARE.VALUE=50 +DRIVER.ETPWM.VAR.ETPWM4_PWMA_ENA.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM2_PWMB_FALLING_EDGE_DELAY_REG.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM1_PWMB_POLARITY.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM3_CBC1.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM7_SELECT_EVENT.VALUE=NO_EVENT +DRIVER.ETPWM.VAR.ETPWM3_CBC2.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM3_DCBEVT1.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM3_CBC3.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM5_INTERRUPT_PERIOD.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM3_OST.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM3_DCBEVT2.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM3_CBC4.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM3_DEADBAND_INPUT.VALUE=PWMA_RED_FED +DRIVER.ETPWM.VAR.ETPWM3_CBC5.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM3_CBC6.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM4_PWMA_FALLING_EDGE_DELAY_REG.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM2_PWMB_ACTUALPERIOD.VALUE=1000.000 +DRIVER.ETPWM.VAR.ETPWM6_PWMB_FALLING_EDGE_DELAY.VALUE=9.091 +DRIVER.ETPWM.VAR.ETPWM2_BASE.VALUE=0xFCF78D00 +DRIVER.ETPWM.VAR.ETPWM7_CHOPPER_DUTY_NEW.VALUE=50.0 +DRIVER.ETPWM.VAR.ETPWM7_CLKDIV_REG.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM5_CHOPPER_MODE.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM3_OSHT1.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM3_OSHT2.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM7_TB_FREQUENCY.VALUE=110.000 +DRIVER.ETPWM.VAR.ETPWM5_SELECT_SOCA.VALUE=DCAEVT1 +DRIVER.ETPWM.VAR.ETPWM3_OSHT3.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM3_CHOPPER_DUTYTIME.VALUE=50.000 +DRIVER.ETPWM.VAR.ETPWM5_SELECT_SOCB.VALUE=DCBEVT1 +DRIVER.ETPWM.VAR.ETPWM4_OSHT_ACTUAL_WIDTH.VALUE=100 +DRIVER.ETPWM.VAR.ETPWM3_OSHT4.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM3_OSHT_WIDTH.VALUE=100 +DRIVER.ETPWM.VAR.ETPWM5_CHOPPER_DUTY.VALUE=50 +DRIVER.ETPWM.VAR.ETPWM4_PWMB_FALLING_EDGE_DELAY_REG.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM4_PWMB_ENA.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM3_OSHT5.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM3_HSPCLKDIV_REG.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM4_PWMA_DEADBAND_OUT.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM3_OSHT6.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM1_TB_ACTUALFREQUENCY.VALUE=80.000 +DRIVER.ETPWM.VAR.ETPWM5_CLKDIV.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM7_PWMA_COMPARE.VALUE=50 +DRIVER.ETPWM.VAR.ETPWM6_PWMB_POLARITY.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM4_PWMB_DUTY.VALUE=50 +DRIVER.ETPWM.VAR.ETPWM4_OST.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM4_PWMB_DUTYTIME.VALUE=500.000 +DRIVER.ETPWM.VAR.ETPWM7_OSHT_WIDTH_REG.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM2_CHOPPER_PERIOD_REG.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM2_PWMA_PERIOD_REG.VALUE=1000 +DRIVER.ETPWM.VAR.ETPWM1_PWMB_COMPARE.VALUE=50 +DRIVER.ETPWM.VAR.ETPWM1_CLKDIV_REG.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM3_CHOPPER_PERIOD.VALUE=100.000 +DRIVER.ETPWM.VAR.ETPWM7_PWMB_FALLING_EDGE_DELAY.VALUE=9.091 +DRIVER.ETPWM.VAR.ETPWM2_SELECT_SOCA.VALUE=DCAEVT1 +DRIVER.ETPWM.VAR.ETPWM4_SELECT_EVENT.VALUE=NO_EVENT +DRIVER.ETPWM.VAR.ETPWM2_SELECT_SOCB.VALUE=DCBEVT1 +DRIVER.ETPWM.VAR.ETPWM7_PWMB_ACTUALPERIOD.VALUE=1000.000 +DRIVER.ETPWM.VAR.ETPWM2_DCAEVT1.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM4_INTERRUPT_PERIOD.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM2_DCAEVT2.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM4_CBC1.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM1_PWMB_RISING_EDGE_DELAY.VALUE=9.091 +DRIVER.ETPWM.VAR.ETPWM4_CBC2.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM7_PWMA_ENA.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM4_CBC3.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM2_CHOPPER_MODE.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM1_PWMA_FALLING_EDGE_DELAY_REG.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM7_PWMA_PERIOD.VALUE=1000.000 +DRIVER.ETPWM.VAR.ETPWM5_OST.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM4_CBC4.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM4_CBC5.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM4_TB_FREQUENCY.VALUE=110.000 +DRIVER.ETPWM.VAR.ETPWM4_CBC6.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM6_CHOPPER_DUTY_NEW.VALUE=50.0 +DRIVER.ETPWM.VAR.ETPWM4_PWMA_POLARITY.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM2_CHOPPER_DUTY.VALUE=50 +DRIVER.ETPWM.VAR.ETPWM2_PWMA_DUTY.VALUE=50 +DRIVER.ETPWM.VAR.ETPWM5_FDELAY_SOURCE.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM3_BASE.VALUE=0xFCF78E00 +DRIVER.ETPWM.VAR.ETPWM2_CHOPPER_DUTYTIME.VALUE=50.000 +DRIVER.ETPWM.VAR.ETPWM2_RDELAY_SOURCE.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM2_PWMB_RISING_EDGE_DELAY.VALUE=9.091 +DRIVER.ETPWM.VAR.ETPWM2_PWMA_DUTYTIME.VALUE=500.000 +DRIVER.ETPWM.VAR.ETPWM1_PWMA_FALLING_EDGE_DELAY.VALUE=9.091 +DRIVER.ETPWM.VAR.ETPWM4_HSPCLKDIV.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM4_PWMA_COMPARE.VALUE=50 +DRIVER.ETPWM.VAR.ETPWM1_PWMB_FALLING_EDGE_DELAY_REG.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM1_PWMB_DEADBAND_INVERT.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM7_PWMA_RISING_EDGE_DELAY_REG.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM2_DCBEVT1.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM5_PWMA_ACTUALPERIOD.VALUE=1000.000 +DRIVER.ETPWM.VAR.ETPWM4_PWMA_PERIOD.VALUE=1000.000 +DRIVER.ETPWM.VAR.ETPWM2_DCBEVT2.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM3_PWMB_RISING_EDGE_DELAY.VALUE=9.091 +DRIVER.ETPWM.VAR.ETPWM3_PWMB_DEADBAND_INVERT.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM1_SELECT_EVENT.VALUE=NO_EVENT +DRIVER.ETPWM.VAR.ETPWM7_PWMB_PERIOD_REG.VALUE=1000.000 +DRIVER.ETPWM.VAR.ETPWM7_PWMB_RISING_EDGE_DELAY_REG.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM7_PWMB_ENA.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM3_OSHT_WIDTH_REG.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM3_PWMA_FALLING_EDGE_DELAY_REG.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM7_SOCA_PERIOD.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM6_OST.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM5_PWMB_DEADBAND_OUT.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM5_PWMB_DEADBAND_INVERT.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM6_TB_ACTUALFREQUENCY.VALUE=80.000 +DRIVER.ETPWM.VAR.ETPWM4_PWMB_RISING_EDGE_DELAY.VALUE=9.091 +DRIVER.ETPWM.VAR.ETPWM2_PWMA_FALLING_EDGE_DELAY.VALUE=9.091 +DRIVER.ETPWM.VAR.ETPWM7_PWMB_DEADBAND_INVERT.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM7_PWMA_DUTY.VALUE=50 +DRIVER.ETPWM.VAR.ETPWM3_PWMB_FALLING_EDGE_DELAY_REG.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM6_DEADBAND_OUTPUT.VALUE=PWMA_PWMB_NIL +DRIVER.ETPWM.VAR.ETPWM3_INTERRUPT_PERIOD.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM1_PWMA_PERIOD.VALUE=1000.000 +DRIVER.ETPWM.VAR.ETPWM7_RDELAY_SOURCE.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM7_PWMA_DUTYTIME.VALUE=500.000 +DRIVER.ETPWM.VAR.ETPWM1_TB_FREQUENCY.VALUE=110.000 +DRIVER.ETPWM.VAR.ETPWM3_CLKDIV.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM2_PWMA_DEADBAND_INVERT.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM7_CHOPPER_PERIOD_REG.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM6_CLKDIV_REG.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM4_SOCA_PERIOD.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM1_PWMB_ACTUALPERIOD.VALUE=1000.000 +DRIVER.ETPWM.VAR.ETPWM5_CBC1.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM5_PWMB_RISING_EDGE_DELAY.VALUE=9.091 +DRIVER.ETPWM.VAR.ETPWM5_CBC2.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM4_PWMA_DEADBAND_INVERT.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM2_OSHT_WIDTH.VALUE=100 +DRIVER.ETPWM.VAR.ETPWM5_CBC3.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM5_CHOPPER_DUTY_NEW.VALUE=50.0 +DRIVER.ETPWM.VAR.ETPWM3_PWMB_POLARITY.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM1_PWMA_COMPARE.VALUE=50 +DRIVER.ETPWM.VAR.ETPWM7_OST.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM5_CBC4.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM5_CBC5.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM1_CHOPPER_DUTYTIME.VALUE=50.000 +DRIVER.ETPWM.VAR.ETPWM1_PWMB_DUTYTIME.VALUE=500.000 +DRIVER.ETPWM.VAR.ETPWM6_PWMA_DEADBAND_INVERT.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM5_CBC6.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM3_OSHT_ACTUAL_WIDTH.VALUE=100 +DRIVER.ETPWM.VAR.ETPWM2_PWMB_DUTY.VALUE=50 +DRIVER.ETPWM.VAR.ETPWM5_PWMB_PERIOD.VALUE=1000.000 +DRIVER.ETPWM.VAR.ETPWM4_DEADBAND_INPUT.VALUE=PWMA_RED_FED +DRIVER.ETPWM.VAR.ETPWM3_PWMA_DEADBAND_OUT.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM6_PWMB_RISING_EDGE_DELAY.VALUE=9.091 +DRIVER.ETPWM.VAR.ETPWM4_BASE.VALUE=0xFCF78F00 +DRIVER.ETPWM.VAR.ETPWM3_PWMA_FALLING_EDGE_DELAY.VALUE=9.091 +DRIVER.ETPWM.VAR.ETPWM4_OSHT1.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM1_DCAEVT1.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM1_PWMA_RISING_EDGE_DELAY_REG.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM4_OSHT2.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM1_SOCA_PERIOD.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM1_DCAEVT2.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM4_OSHT3.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM4_OSHT4.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM5_PWMB_PERIOD_REG.VALUE=1000.000 +DRIVER.ETPWM.VAR.ETPWM4_OSHT5.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM1_PWMB_RISING_EDGE_DELAY_REG.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM4_OSHT6.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM7_PWMB_RISING_EDGE_DELAY.VALUE=9.091 +DRIVER.ETPWM.VAR.ETPWM5_ENABLE_SOCA.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM5_ENABLE_SOCB.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM5_HSPCLKDIV_REG.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM6_PWMB_ACTUALPERIOD.VALUE=1000.000 +DRIVER.ETPWM.VAR.ETPWM2_PWMB_PERIOD.VALUE=1000.000 +DRIVER.ETPWM.VAR.ETPWM3_PWMA_ENA.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM1_PWMA_POLARITY.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM5_SOCB_PERIOD.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM4_DEADBAND_OUTPUT.VALUE=PWMA_PWMB_NIL +DRIVER.ETPWM.VAR.ETPWM2_INTERRUPT_PERIOD.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM6_PWMB_DUTYTIME.VALUE=500.000 +DRIVER.ETPWM.VAR.ETPWM4_PWMA_FALLING_EDGE_DELAY.VALUE=9.091 +DRIVER.ETPWM.VAR.ETPWM2_FDELAY_SOURCE.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM1_PWMA_RISING_EDGE_DELAY.VALUE=9.091 +DRIVER.ETPWM.VAR.ETPWM7_PWMB_DUTY.VALUE=50 +DRIVER.ETPWM.VAR.ETPWM5_PWMB_COMPARE.VALUE=50 +DRIVER.ETPWM.VAR.ETPWM5_PWMA_RISING_EDGE_DELAY_REG.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM2_CHOPPER_DUTYTIME_REG.VALUE=3 +DRIVER.ETPWM.VAR.ETPWM1_DCBEVT1.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM4_CHOPPER_PERIOD.VALUE=100.000 +DRIVER.ETPWM.VAR.ETPWM1_DCBEVT2.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM3_TB_ACTUALFREQUENCY.VALUE=80.000 +DRIVER.ETPWM.VAR.ETPWM2_ENABLE_SOCA.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM2_ENABLE_SOCB.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM2_HSPCLKDIV.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM5_PWMB_RISING_EDGE_DELAY_REG.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM4_CHOPPER_DUTYTIME_REG.VALUE=3 +DRIVER.ETPWM.VAR.ETPWM4_CHOPPER_DUTY_NEW.VALUE=50.0 +DRIVER.ETPWM.VAR.ETPWM6_CBC1.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM2_PWMA_RISING_EDGE_DELAY.VALUE=9.091 +DRIVER.ETPWM.VAR.ETPWM6_CBC2.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM6_CBC3.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM6_CHOPPER_DUTYTIME_REG.VALUE=3 +DRIVER.ETPWM.VAR.ETPWM4_CHOPPER_PERIOD_REG.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM6_CBC4.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM2_SOCB_PERIOD.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM6_CBC5.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM6_CBC6.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM7_PWMA_PERIOD_REG.VALUE=1000 +DRIVER.ETPWM.VAR.ETPWM6_CHOPPER_MODE.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM3_PWMB_ENA.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM4_PWMA_ACTUALPERIOD.VALUE=1000.000 +DRIVER.ETPWM.VAR.ETPWM7_SELECT_SOCA.VALUE=DCAEVT1 +DRIVER.ETPWM.VAR.ETPWM5_PWMA_FALLING_EDGE_DELAY.VALUE=9.091 +DRIVER.ETPWM.VAR.ETPWM5_BASE.VALUE=0xFCF79000 +DRIVER.ETPWM.VAR.ETPWM3_PWMA_RISING_EDGE_DELAY.VALUE=9.091 +DRIVER.ETPWM.VAR.ETPWM7_SELECT_SOCB.VALUE=DCBEVT1 +DRIVER.ETPWM.VAR.ETPWM7_OSHT_WIDTH.VALUE=100 +DRIVER.ETPWM.VAR.ETPWM1_CLKDIV.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM6_CHOPPER_DUTY.VALUE=50 +DRIVER.ETPWM.VAR.ETPWM6_PWMA_POLARITY.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM3_PWMB_PERIOD_REG.VALUE=1000.000 +DRIVER.ETPWM.VAR.ETPWM4_PWMB_DEADBAND_OUT.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM7_FDELAY_SOURCE.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM4_RDELAY_SOURCE.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM4_PWMA_DUTYTIME.VALUE=500.000 +DRIVER.ETPWM.VAR.ETPWM7_DCAEVT1.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM5_PWMA_DUTY.VALUE=50 +DRIVER.ETPWM.VAR.ETPWM7_DCAEVT2.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM4_PWMA_RISING_EDGE_DELAY.VALUE=9.091 +DRIVER.ETPWM.VAR.ETPWM7_HSPCLKDIV.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM5_CLKDIV_REG.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM2_PWMB_COMPARE.VALUE=50 +DRIVER.ETPWM.VAR.ETPWM2_DEADBAND_OUTPUT.VALUE=PWMA_PWMB_NIL +DRIVER.ETPWM.VAR.ETPWM1_INTERRUPT_PERIOD.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM4_SELECT_SOCA.VALUE=DCAEVT1 +DRIVER.ETPWM.VAR.ETPWM5_SELECT_EVENT.VALUE=NO_EVENT +DRIVER.ETPWM.VAR.ETPWM4_SELECT_SOCB.VALUE=DCBEVT1 +DRIVER.ETPWM.VAR.ETPWM1_OSHT_WIDTH.VALUE=100 +DRIVER.ETPWM.VAR.ETPWM4_OSHT_WIDTH_REG.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM6_PWMA_FALLING_EDGE_DELAY.VALUE=9.091 +DRIVER.ETPWM.VAR.ETPWM5_PWMA_RISING_EDGE_DELAY.VALUE=9.091 +DRIVER.ETPWM.VAR.ETPWM6_PWMA_ENA.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM3_CHOPPER_DUTY_NEW.VALUE=50.0 +DRIVER.ETPWM.VAR.ETPWM2_CHOPPER_ACTUALPERIOD.VALUE=100.000 +DRIVER.ETPWM.VAR.ETPWM2_OSHT_ACTUAL_WIDTH.VALUE=100 +DRIVER.ETPWM.VAR.ETPWM7_DCBEVT1.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM3_CHOPPER_MODE.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM7_DCBEVT2.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM4_CHOPPER_ACTUALPERIOD.VALUE=100.000 +DRIVER.ETPWM.VAR.ETPWM2_PWMA_DEADBAND_OUT.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM7_CBC1.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM6_PWMA_RISING_EDGE_DELAY.VALUE=9.091 +DRIVER.ETPWM.VAR.ETPWM5_TB_FREQUENCY.VALUE=110.000 +DRIVER.ETPWM.VAR.ETPWM1_SELECT_SOCA.VALUE=DCAEVT1 +DRIVER.ETPWM.VAR.ETPWM7_CBC2.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM1_SELECT_SOCB.VALUE=DCBEVT1 +DRIVER.ETPWM.VAR.ETPWM7_CBC3.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM5_PWMA_PERIOD_REG.VALUE=1000 +DRIVER.ETPWM.VAR.ETPWM3_CHOPPER_DUTY.VALUE=50 +DRIVER.ETPWM.VAR.ETPWM2_HSPCLKDIV_REG.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM7_CBC4.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM6_CHOPPER_ACTUALPERIOD.VALUE=100.000 +DRIVER.ETPWM.VAR.ETPWM7_CBC5.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM7_CBC6.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM5_PWMB_POLARITY.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM5_PWMA_COMPARE.VALUE=50 +DRIVER.ETPWM.VAR.ETPWM3_PWMA_RISING_EDGE_DELAY_REG.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM1_CHOPPER_PERIOD_REG.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM1_PWMB_PERIOD_REG.VALUE=1000.000 +DRIVER.ETPWM.VAR.ETPWM7_PWMA_FALLING_EDGE_DELAY.VALUE=9.091 +DRIVER.ETPWM.VAR.ETPWM7_PWMA_RISING_EDGE_DELAY.VALUE=9.091 +DRIVER.ETPWM.VAR.ETPWM6_BASE.VALUE=0xFCF79100 +DRIVER.ETPWM.VAR.ETPWM3_PWMB_DUTYTIME.VALUE=500.000 +DRIVER.ETPWM.VAR.ETPWM6_PWMB_ENA.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM5_OSHT1.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM3_PWMB_RISING_EDGE_DELAY_REG.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM6_PWMA_PERIOD.VALUE=1000.000 +DRIVER.ETPWM.VAR.ETPWM5_OSHT2.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM5_DEADBAND_INPUT.VALUE=PWMA_RED_FED +DRIVER.ETPWM.VAR.ETPWM5_PWMB_ACTUALPERIOD.VALUE=1000.000 +DRIVER.ETPWM.VAR.ETPWM5_OSHT3.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM5_OSHT4.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM2_SELECT_EVENT.VALUE=NO_EVENT +DRIVER.ETPWM.VAR.ETPWM5_OSHT5.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM5_PWMB_DUTY.VALUE=50 +DRIVER.ETPWM.VAR.ETPWM5_OSHT6.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM7_OSHT_ACTUAL_WIDTH.VALUE=100 +DRIVER.ETPWM.VAR.ETPWM6_CLKDIV.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM7_PWMA_DEADBAND_OUT.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM7_HSPCLKDIV_REG.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM2_CHOPPER_DUTY_NEW.VALUE=50.0 +DRIVER.ETPWM.VAR.ETPWM3_PWMA_PERIOD.VALUE=1000.000 +DRIVER.ETPWM.VAR.ETPWM2_TB_FREQUENCY.VALUE=110.000 +DRIVER.ETPWM.VAR.ETPWM6_DCAEVT1.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM3_PWMA_POLARITY.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM6_SOCA_PERIOD.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM6_DCAEVT2.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM4_FDELAY_SOURCE.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM1_RDELAY_SOURCE.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM1_PWMA_DUTYTIME.VALUE=500.000 +DRIVER.ECAP.VAR.ECAP1_PRESCALE_REG.VALUE=0 +DRIVER.ECAP.VAR.ECAP2_ENA_PWM.VALUE=0 +DRIVER.ECAP.VAR.ECAP4_PRD.VALUE=0x0000 +DRIVER.ECAP.VAR.ECAP6_RESET_COUNTER_CAP1.VALUE=RESET_DISABLE +DRIVER.ECAP.VAR.ECAP6_RESET_COUNTER_CAP2.VALUE=RESET_DISABLE +DRIVER.ECAP.VAR.ECAP6_RESET_COUNTER_CAP3.VALUE=RESET_DISABLE +DRIVER.ECAP.VAR.ECAP6_RESET_COUNTER_CAP4.VALUE=RESET_DISABLE +DRIVER.ECAP.VAR.ECAP5_PWM_DUTY.VALUE=50 +DRIVER.ECAP.VAR.ECAP5_PWM_PERIOD.VALUE=1000.000 +DRIVER.ECAP.VAR.ECAP4_CAP2_POLARITY.VALUE=RISING_EDGE +DRIVER.ECAP.VAR.ECAP5_PRESCALE.VALUE=0 +DRIVER.ECAP.VAR.ECAP5_PRD.VALUE=0x0000 +DRIVER.ECAP.VAR.ECAP6_PWM_COMPARE.VALUE=50 +DRIVER.ECAP.VAR.ECAP5_CAP4_POLARITY.VALUE=RISING_EDGE +DRIVER.ECAP.VAR.ECAP5_ENA_LOAD.VALUE=0 +DRIVER.ECAP.VAR.ECAP6_PWM_PERIOD_REG.VALUE=0 +DRIVER.ECAP.VAR.ECAP6_WRAP_COUNTER.VALUE=CAPTURE_EVENT1 +DRIVER.ECAP.VAR.ECAP3_PWM_COMPARE.VALUE=50 +DRIVER.ECAP.VAR.ECAP2_CAP1_POLARITY.VALUE=RISING_EDGE +DRIVER.ECAP.VAR.ECAP6_PRD.VALUE=0x0000 +DRIVER.ECAP.VAR.ECAP4_PWM_DUTYTIME.VALUE=500.000 +DRIVER.ECAP.VAR.ECAP3_RESET_COUNTER_CAP1.VALUE=RESET_DISABLE +DRIVER.ECAP.VAR.ECAP3_CAP3_POLARITY.VALUE=RISING_EDGE +DRIVER.ECAP.VAR.ECAP3_RESET_COUNTER_CAP2.VALUE=RESET_DISABLE +DRIVER.ECAP.VAR.ECAP3_RESET_COUNTER_CAP3.VALUE=RESET_DISABLE +DRIVER.ECAP.VAR.ECAP3_RESET_COUNTER_CAP4.VALUE=RESET_DISABLE +DRIVER.ECAP.VAR.ECAP1_ENA_PWM.VALUE=0 +DRIVER.ECAP.VAR.ECAP3_WRAP_COUNTER.VALUE=CAPTURE_EVENT1 +DRIVER.ECAP.VAR.ECAP2_PWM_PERIOD_REG.VALUE=0 +DRIVER.ECAP.VAR.ECAP5_RESET_COUNTER.VALUE=0 +DRIVER.ECAP.VAR.ECAP5_CEVT1.VALUE=0x0000 +DRIVER.ECAP.VAR.ECAP4_CAPTURE_MODE.VALUE=ONE_SHOT +DRIVER.ECAP.VAR.ECAP5_CEVT2.VALUE=0x0000 +DRIVER.ECAP.VAR.ECAP5_CEVT3.VALUE=0x0000 +DRIVER.ECAP.VAR.ECAP5_CEVT4.VALUE=0x0000 +DRIVER.ECAP.VAR.ECAP1_PWM_DUTY.VALUE=50 +DRIVER.ECAP.VAR.ECAP1_CAP2_POLARITY.VALUE=RISING_EDGE +DRIVER.ECAP.VAR.ECAP4_PWM_PERIOD.VALUE=1000.000 +DRIVER.ECAP.VAR.ECAP1_PWM_DUTYTIME.VALUE=500.000 +DRIVER.ECAP.VAR.ECAP5_CNTOVF.VALUE=0x0000 +DRIVER.ECAP.VAR.ECAP5_PRESCALE_REG.VALUE=0 +DRIVER.ECAP.VAR.ECAP2_CAP4_POLARITY.VALUE=RISING_EDGE +DRIVER.ECAP.VAR.ECAP1_PRESCALE.VALUE=0 +DRIVER.ECAP.VAR.ECAP1_ENA_LOAD.VALUE=0 +DRIVER.ECAP.VAR.ECAP6_CAP2_POLARITY.VALUE=RISING_EDGE +DRIVER.ECAP.VAR.ECAP1_CAPTURE_MODE.VALUE=ONE_SHOT +DRIVER.ECAP.VAR.ECAP2_PRESCALE_REG.VALUE=0 +DRIVER.ECAP.VAR.ECAP4_PWM_DUTY.VALUE=50 +DRIVER.ECAP.VAR.ECAP6_PWM_ACTUALPERIOD.VALUE=1000.000 +DRIVER.ECAP.VAR.ECAP4_CAP1_POLARITY.VALUE=RISING_EDGE +DRIVER.ECAP.VAR.ECAP1_CEVT1.VALUE=0x0000 +DRIVER.ECAP.VAR.ECAP1_CEVT2.VALUE=0x0000 +DRIVER.ECAP.VAR.ECAP1_CEVT3.VALUE=0x0000 +DRIVER.ECAP.VAR.ECAP2_RESET_COUNTER.VALUE=0 +DRIVER.ECAP.VAR.ECAP1_CEVT4.VALUE=0x0000 +DRIVER.ECAP.VAR.ECAP4_PRESCALE.VALUE=0 +DRIVER.ECAP.VAR.ECAP5_CAP3_POLARITY.VALUE=RISING_EDGE +DRIVER.ECAP.VAR.ECAP4_ENA_LOAD.VALUE=0 +DRIVER.ECAP.VAR.ECAP3_CNTOVF.VALUE=0x0000 +DRIVER.ECAP.VAR.ECAP3_PWM_PERIOD.VALUE=1000.000 +DRIVER.ECAP.VAR.ECAP5_RESET_COUNTER_CAP1.VALUE=RESET_DISABLE +DRIVER.ECAP.VAR.ECAP5_RESET_COUNTER_CAP2.VALUE=RESET_DISABLE +DRIVER.ECAP.VAR.ECAP5_RESET_COUNTER_CAP3.VALUE=RESET_DISABLE +DRIVER.ECAP.VAR.ECAP5_RESET_COUNTER_CAP4.VALUE=RESET_DISABLE +DRIVER.ECAP.VAR.ECAP6_CEVT1.VALUE=0x0000 +DRIVER.ECAP.VAR.ECAP3_PWM_PERIOD_REG.VALUE=0 +DRIVER.ECAP.VAR.ECAP6_CEVT2.VALUE=0x0000 +DRIVER.ECAP.VAR.ECAP6_CEVT3.VALUE=0x0000 +DRIVER.ECAP.VAR.ECAP6_CEVT4.VALUE=0x0000 +DRIVER.ECAP.VAR.ECAP5_PWM_COMPARE.VALUE=50 +DRIVER.ECAP.VAR.ECAP5_PWM_ACTUALPERIOD.VALUE=1000.000 +DRIVER.ECAP.VAR.ECAP6_ENA_PWM.VALUE=0 +DRIVER.ECAP.VAR.ECAP3_CAP2_POLARITY.VALUE=RISING_EDGE +DRIVER.ECAP.VAR.ECAP5_PWM_DUTYTIME.VALUE=500.000 +DRIVER.ECAP.VAR.ECAP1_BASE.VALUE=0xFCF79300 +DRIVER.ECAP.VAR.ECAP4_CAP4_POLARITY.VALUE=RISING_EDGE +DRIVER.ECAP.VAR.ECAP2_PWM_COMPARE.VALUE=50 +DRIVER.ECAP.VAR.ECAP4_WRAP_COUNTER.VALUE=CAPTURE_EVENT1 +DRIVER.ECAP.VAR.ECAP5_CAPTURE_MODE.VALUE=ONE_SHOT +DRIVER.ECAP.VAR.ECAP1_CAP1_POLARITY.VALUE=RISING_EDGE +DRIVER.ECAP.VAR.ECAP2_RESET_COUNTER_CAP1.VALUE=RESET_DISABLE +DRIVER.ECAP.VAR.ECAP4_PWM_ACTUALPERIOD.VALUE=1000.000 +DRIVER.ECAP.VAR.ECAP2_RESET_COUNTER_CAP2.VALUE=RESET_DISABLE +DRIVER.ECAP.VAR.ECAP1_CNTOVF.VALUE=0x0000 +DRIVER.ECAP.VAR.ECAP2_PWM_DUTYTIME.VALUE=500.000 +DRIVER.ECAP.VAR.ECAP2_RESET_COUNTER_CAP3.VALUE=RESET_DISABLE +DRIVER.ECAP.VAR.ECAP2_RESET_COUNTER_CAP4.VALUE=RESET_DISABLE +DRIVER.ECAP.VAR.ECAP2_CAP3_POLARITY.VALUE=RISING_EDGE +DRIVER.ECAP.VAR.ECAP6_PRESCALE_REG.VALUE=0 +DRIVER.ECAP.VAR.ECAP2_BASE.VALUE=0xFCF79400 +DRIVER.ECAP.VAR.ECAP2_CEVT1.VALUE=0x0000 +DRIVER.ECAP.VAR.ECAP2_CEVT2.VALUE=0x0000 +DRIVER.ECAP.VAR.ECAP2_PWM_PERIOD.VALUE=1000.000 +DRIVER.ECAP.VAR.ECAP2_CEVT3.VALUE=0x0000 +DRIVER.ECAP.VAR.ECAP2_CEVT4.VALUE=0x0000 +DRIVER.ECAP.VAR.ECAP1_WRAP_COUNTER.VALUE=CAPTURE_EVENT1 +DRIVER.ECAP.VAR.ECAP6_CAP1_POLARITY.VALUE=RISING_EDGE +DRIVER.ECAP.VAR.ECAP5_ENA_PWM.VALUE=0 +DRIVER.ECAP.VAR.ECAP4_RESET_COUNTER.VALUE=0 +DRIVER.ECAP.VAR.ECAP2_CAPTURE_MODE.VALUE=ONE_SHOT +DRIVER.ECAP.VAR.ECAP3_PWM_ACTUALPERIOD.VALUE=1000.000 +DRIVER.ECAP.VAR.ECAP3_PWM_DUTY.VALUE=50 +DRIVER.ECAP.VAR.ECAP3_PRESCALE_REG.VALUE=0 +DRIVER.ECAP.VAR.ECAP1_CAP4_POLARITY.VALUE=RISING_EDGE +DRIVER.ECAP.VAR.ECAP4_PWM_PERIOD_REG.VALUE=0 +DRIVER.ECAP.VAR.ECAP3_PRESCALE.VALUE=0 +DRIVER.ECAP.VAR.ECAP6_CNTOVF.VALUE=0x0000 +DRIVER.ECAP.VAR.ECAP3_BASE.VALUE=0xFCF79500 +DRIVER.ECAP.VAR.ECAP5_CAP2_POLARITY.VALUE=RISING_EDGE +DRIVER.ECAP.VAR.ECAP3_ENA_LOAD.VALUE=0 +DRIVER.ECAP.VAR.ECAP6_CAP4_POLARITY.VALUE=RISING_EDGE +DRIVER.ECAP.VAR.ECAP1_CMP.VALUE=0x0000 +DRIVER.ECAP.VAR.ECAP2_PWM_ACTUALPERIOD.VALUE=1000.000 +DRIVER.ECAP.VAR.ECAP4_ENA_PWM.VALUE=0 +DRIVER.ECAP.VAR.ECAP3_CAP1_POLARITY.VALUE=RISING_EDGE +DRIVER.ECAP.VAR.ECAP1_PWM_PERIOD.VALUE=1000.000 +DRIVER.ECAP.VAR.ECAP1_RESET_COUNTER.VALUE=0 +DRIVER.ECAP.VAR.ECAP6_PWM_DUTY.VALUE=50 +DRIVER.ECAP.VAR.ECAP2_CMP.VALUE=0x0000 +DRIVER.ECAP.VAR.ECAP6_PWM_DUTYTIME.VALUE=500.000 +DRIVER.ECAP.VAR.ECAP4_CAP3_POLARITY.VALUE=RISING_EDGE +DRIVER.ECAP.VAR.ECAP4_BASE.VALUE=0xFCF79600 +DRIVER.ECAP.VAR.ECAP6_PRESCALE.VALUE=0 +DRIVER.ECAP.VAR.ECAP4_PWM_COMPARE.VALUE=50 +DRIVER.ECAP.VAR.ECAP4_RESET_COUNTER_CAP1.VALUE=RESET_DISABLE +DRIVER.ECAP.VAR.ECAP3_CEVT1.VALUE=0x0000 +DRIVER.ECAP.VAR.ECAP4_RESET_COUNTER_CAP2.VALUE=RESET_DISABLE +DRIVER.ECAP.VAR.ECAP3_CEVT2.VALUE=0x0000 +DRIVER.ECAP.VAR.ECAP4_RESET_COUNTER_CAP3.VALUE=RESET_DISABLE +DRIVER.ECAP.VAR.ECAP3_CEVT3.VALUE=0x0000 +DRIVER.ECAP.VAR.ECAP4_RESET_COUNTER_CAP4.VALUE=RESET_DISABLE +DRIVER.ECAP.VAR.ECAP3_CEVT4.VALUE=0x0000 +DRIVER.ECAP.VAR.ECAP6_ENA_LOAD.VALUE=0 +DRIVER.ECAP.VAR.ECAP5_WRAP_COUNTER.VALUE=CAPTURE_EVENT1 +DRIVER.ECAP.VAR.ECAP4_CNTOVF.VALUE=0x0000 +DRIVER.ECAP.VAR.ECAP3_CMP.VALUE=0x0000 +DRIVER.ECAP.VAR.ECAP1_PWM_ACTUALPERIOD.VALUE=1000.000 +DRIVER.ECAP.VAR.ECAP6_RESET_COUNTER.VALUE=0 +DRIVER.ECAP.VAR.ECAP6_CAPTURE_MODE.VALUE=ONE_SHOT +DRIVER.ECAP.VAR.ECAP1_PWM_COMPARE.VALUE=50 +DRIVER.ECAP.VAR.ECAP2_CAP2_POLARITY.VALUE=RISING_EDGE +DRIVER.ECAP.VAR.ECAP3_PWM_DUTYTIME.VALUE=500.000 +DRIVER.ECAP.VAR.ECAP3_CAP4_POLARITY.VALUE=RISING_EDGE +DRIVER.ECAP.VAR.ECAP4_CMP.VALUE=0x0000 +DRIVER.ECAP.VAR.ECAP1_PRD.VALUE=0x0000 +DRIVER.ECAP.VAR.ECAP5_PWM_PERIOD_REG.VALUE=0 +DRIVER.ECAP.VAR.ECAP6_PWM_PERIOD.VALUE=1000.000 +DRIVER.ECAP.VAR.ECAP5_BASE.VALUE=0xFCF79700 +DRIVER.ECAP.VAR.ECAP3_ENA_PWM.VALUE=0 +DRIVER.ECAP.VAR.ECAP2_WRAP_COUNTER.VALUE=CAPTURE_EVENT1 +DRIVER.ECAP.VAR.ECAP3_CAPTURE_MODE.VALUE=ONE_SHOT +DRIVER.ECAP.VAR.ECAP1_RESET_COUNTER_CAP1.VALUE=RESET_DISABLE +DRIVER.ECAP.VAR.ECAP1_RESET_COUNTER_CAP2.VALUE=RESET_DISABLE +DRIVER.ECAP.VAR.ECAP1_RESET_COUNTER_CAP3.VALUE=RESET_DISABLE +DRIVER.ECAP.VAR.ECAP1_RESET_COUNTER_CAP4.VALUE=RESET_DISABLE +DRIVER.ECAP.VAR.ECAP5_CMP.VALUE=0x0000 +DRIVER.ECAP.VAR.ECAP2_PRD.VALUE=0x0000 +DRIVER.ECAP.VAR.ECAP2_PWM_DUTY.VALUE=50 +DRIVER.ECAP.VAR.ECAP1_CAP3_POLARITY.VALUE=RISING_EDGE +DRIVER.ECAP.VAR.ECAP4_PRESCALE_REG.VALUE=0 +DRIVER.ECAP.VAR.ECAP2_PRESCALE.VALUE=0 +DRIVER.ECAP.VAR.ECAP2_CNTOVF.VALUE=0x0000 +DRIVER.ECAP.VAR.ECAP5_CAP1_POLARITY.VALUE=RISING_EDGE +DRIVER.ECAP.VAR.ECAP1_PWM_PERIOD_REG.VALUE=0 +DRIVER.ECAP.VAR.ECAP6_CMP.VALUE=0x0000 +DRIVER.ECAP.VAR.ECAP2_ENA_LOAD.VALUE=0 +DRIVER.ECAP.VAR.ECAP3_PRD.VALUE=0x0000 +DRIVER.ECAP.VAR.ECAP3_RESET_COUNTER.VALUE=0 +DRIVER.ECAP.VAR.ECAP6_BASE.VALUE=0xFCF79800 +DRIVER.ECAP.VAR.ECAP6_CAP3_POLARITY.VALUE=RISING_EDGE +DRIVER.ECAP.VAR.ECAP4_CEVT1.VALUE=0x0000 +DRIVER.ECAP.VAR.ECAP4_CEVT2.VALUE=0x0000 +DRIVER.ECAP.VAR.ECAP4_CEVT3.VALUE=0x0000 +DRIVER.ECAP.VAR.ECAP4_CEVT4.VALUE=0x0000 +DRIVER.EQEP.VAR.EQEP2_QUPRD.VALUE=0 +DRIVER.EQEP.VAR.EQEP2_INDEX_EVT_INIT_ENABLE.VALUE=0 +DRIVER.EQEP.VAR.EQEP2_IGATE.VALUE=0 +DRIVER.EQEP.VAR.EQEP1_QPE_INT_ENA.VALUE=0 +DRIVER.EQEP.VAR.EQEP1_PC_RST_MODE.VALUE=MAX_POSITION +DRIVER.EQEP.VAR.EQEP1_UTO_INT_ENA.VALUE=0 +DRIVER.EQEP.VAR.EQEP1_SEL_INT_ENA.VALUE=0 +DRIVER.EQEP.VAR.EQEP1_INDEX_EVT_SELECT.VALUE=RISING_EDGE +DRIVER.EQEP.VAR.EQEP2_PCE_INT_ENA.VALUE=0 +DRIVER.EQEP.VAR.EQEP1_PCU_INT_ENA.VALUE=0 +DRIVER.EQEP.VAR.EQEP1_BASE.VALUE=0xFCF79900 +DRIVER.EQEP.VAR.EQEP1_INV_QEPS_POL.VALUE=0 +DRIVER.EQEP.VAR.EQEP1_INV_QEPA_POL.VALUE=0 +DRIVER.EQEP.VAR.EQEP2_PCSHDW.VALUE=0 +DRIVER.EQEP.VAR.EQEP2_PC_INIT_VALUE.VALUE=0x00000000 +DRIVER.EQEP.VAR.EQEP2_PCR_INT_ENA.VALUE=0 +DRIVER.EQEP.VAR.EQEP2_BASE.VALUE=0xFCF79A00 +DRIVER.EQEP.VAR.EQEP1_ENABLE_CAPTURE.VALUE=0 +DRIVER.EQEP.VAR.EQEP1_INV_QEPB_POL.VALUE=0 +DRIVER.EQEP.VAR.EQEP2_MAXPC_VALUE.VALUE=0x00000000 +DRIVER.EQEP.VAR.EQEP1_PCM_INT_ENA.VALUE=0 +DRIVER.EQEP.VAR.EQEP1_PCPOL.VALUE=ACTIVE_HIGH +DRIVER.EQEP.VAR.EQEP2_UNIT_POS_PRESCALER.VALUE=PS_512 +DRIVER.EQEP.VAR.EQEP2_CAP_CLK_PRESCALER.VALUE=PS_8 +DRIVER.EQEP.VAR.EQEP1_PCSPW.VALUE=0x000 +DRIVER.EQEP.VAR.EQEP1_POSCMP.VALUE=0x00000000 +DRIVER.EQEP.VAR.EQEP2_PC_MODE.VALUE=DIRECTION_COUNT +DRIVER.EQEP.VAR.EQEP1_PCE_INT_ENA.VALUE=0 +DRIVER.EQEP.VAR.EQEP2_INV_QEPS_POL.VALUE=0 +DRIVER.EQEP.VAR.EQEP1_SET_INIT_AT_STARTUP.VALUE=0 +DRIVER.EQEP.VAR.EQEP2_ENABLE_CAPTURE.VALUE=0 +DRIVER.EQEP.VAR.EQEP2_STROBE_EVT_SELECT.VALUE=DIRECTON_DEPENDENT +DRIVER.EQEP.VAR.EQEP2_PCPOL.VALUE=ACTIVE_HIGH +DRIVER.EQEP.VAR.EQEP2_INV_QEPA_POL.VALUE=0 +DRIVER.EQEP.VAR.EQEP1_CAP_CLK_PRESCALER.VALUE=PS_8 +DRIVER.EQEP.VAR.EQEP2_QDC_INT_ENA.VALUE=0 +DRIVER.EQEP.VAR.EQEP1_QCLM.VALUE=ON_POSITION_COUNTER_READ +DRIVER.EQEP.VAR.EQEP1_PC_MODE.VALUE=DIRECTION_COUNT +DRIVER.EQEP.VAR.EQEP2_WTO_INT_ENA.VALUE=0 +DRIVER.EQEP.VAR.EQEP2_SWI_ENABLE.VALUE=0 +DRIVER.EQEP.VAR.EQEP1_PCR_INT_ENA.VALUE=0 +DRIVER.EQEP.VAR.EQEP2_INV_QEPB_POL.VALUE=0 +DRIVER.EQEP.VAR.EQEP1_IEL.VALUE=RISING_EDGE +DRIVER.EQEP.VAR.EQEP2_PCSPW.VALUE=0 +DRIVER.EQEP.VAR.EQEP1_PC_INIT_VALUE.VALUE=0x00000000 +DRIVER.EQEP.VAR.EQEP1_PCLOAD.VALUE=QPOSCNT_EQ_QPSCMP +DRIVER.EQEP.VAR.EQEP2_IEL_INT_ENA.VALUE=0 +DRIVER.EQEP.VAR.EQEP2_IEL.VALUE=RISING_EDGE +DRIVER.EQEP.VAR.EQEP1_MAXPC_VALUE.VALUE=0x00000000 +DRIVER.EQEP.VAR.EQEP1_INV_QEPI_POL.VALUE=0 +DRIVER.EQEP.VAR.EQEP2_QCLM.VALUE=ON_POSITION_COUNTER_READ +DRIVER.EQEP.VAR.EQEP1_STROBE_EVT_INIT_ENABLE.VALUE=0 +DRIVER.EQEP.VAR.EQEP2_PCO_INT_ENA.VALUE=0 +DRIVER.EQEP.VAR.EQEP2_STROBE_EVT_INIT_ENABLE.VALUE=0 +DRIVER.EQEP.VAR.EQEP1_EXT_CLK_RATE.VALUE=RESOLUTION_1x +DRIVER.EQEP.VAR.EQEP1_STROBE_EVT_SELECT.VALUE=DIRECTON_DEPENDENT +DRIVER.EQEP.VAR.EQEP1_UNIT_POS_PRESCALER.VALUE=PS_512 +DRIVER.EQEP.VAR.EQEP1_WDPRD.VALUE=0x0000 +DRIVER.EQEP.VAR.EQEP1_SEL.VALUE=RISING_EDGE +DRIVER.EQEP.VAR.EQEP1_SOEN.VALUE=0 +DRIVER.EQEP.VAR.EQEP2_QPE_INT_ENA.VALUE=0 +DRIVER.EQEP.VAR.EQEP2_PC_RST_MODE.VALUE=MAX_POSITION +DRIVER.EQEP.VAR.EQEP1_WDE.VALUE=0 +DRIVER.EQEP.VAR.EQEP2_SET_INIT_AT_STARTUP.VALUE=0 +DRIVER.EQEP.VAR.EQEP2_UTO_INT_ENA.VALUE=0 +DRIVER.EQEP.VAR.EQEP1_SWI_ENABLE.VALUE=0 +DRIVER.EQEP.VAR.EQEP2_POSITIVE_ROTATION.VALUE=CLOCKWISE +DRIVER.EQEP.VAR.EQEP2_SEL_INT_ENA.VALUE=0 +DRIVER.EQEP.VAR.EQEP2_SEL.VALUE=RISING_EDGE +DRIVER.EQEP.VAR.EQEP2_PCU_INT_ENA.VALUE=0 +DRIVER.EQEP.VAR.EQEP2_WDE.VALUE=0 +DRIVER.EQEP.VAR.EQEP1_SPSEL.VALUE=INDEX_PIN +DRIVER.EQEP.VAR.EQEP1_PCSHDW.VALUE=0 +DRIVER.EQEP.VAR.EQEP1_SWAP.VALUE=0 +DRIVER.EQEP.VAR.EQEP2_SOEN.VALUE=0 +DRIVER.EQEP.VAR.EQEP2_POSCMP.VALUE=0 +DRIVER.EQEP.VAR.EQEP1_QUPRD.VALUE=0x00000000 +DRIVER.EQEP.VAR.EQEP1_IGATE.VALUE=0 +DRIVER.EQEP.VAR.EQEP1_QDC_INT_ENA.VALUE=0 +DRIVER.EQEP.VAR.EQEP2_SWAP.VALUE=0 +DRIVER.EQEP.VAR.EQEP2_WDPRD.VALUE=0 +DRIVER.EQEP.VAR.EQEP1_WTO_INT_ENA.VALUE=0 +DRIVER.EQEP.VAR.EQEP1_POSITIVE_ROTATION.VALUE=CLOCKWISE +DRIVER.EQEP.VAR.EQEP2_INV_QEPI_POL.VALUE=0 +DRIVER.EQEP.VAR.EQEP2_PCM_INT_ENA.VALUE=0 +DRIVER.EQEP.VAR.EQEP1_IEL_INT_ENA.VALUE=0 +DRIVER.EQEP.VAR.EQEP2_EXT_CLK_RATE.VALUE=RESOLUTION_1x +DRIVER.EQEP.VAR.EQEP2_SPSEL.VALUE=INDEX_PIN +DRIVER.EQEP.VAR.EQEP1_PCO_INT_ENA.VALUE=0 +DRIVER.EQEP.VAR.EQEP2_INDEX_EVT_SELECT.VALUE=RISING_EDGE +DRIVER.EQEP.VAR.EQEP1_INDEX_EVT_INIT_ENABLE.VALUE=0 +DRIVER.EQEP.VAR.EQEP2_PCLOAD.VALUE=QPOSCNT_EQ_QPSCMP +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_11_NUMBER.VALUE=11 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_10_END.VALUE=9 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_7_NUMBER.VALUE=7 +DRIVER.FEE.VAR.FEE_START_SECTOR.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_3_DEVICE_INDEX.VALUE=0x00000000 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_13_DATASETS.VALUE=1 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_4_BANK.VALUE=7 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_21_START.VALUE=20 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_13_START.VALUE=12 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_9_START.VALUE=8 +DRIVER.FEE.VAR.FEE_VS29_ENABLE.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_11_OFFSET.VALUE=0 +DRIVER.FEE.VAR.FEE_VS30_ENABLE.VALUE=0 +DRIVER.FEE.VAR.FEE_VS22_ENABLE.VALUE=0 +DRIVER.FEE.VAR.FEE_VS14_ENABLE.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_9_OFFSET.VALUE=0 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_32_BANK.VALUE=7 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_24_BANK.VALUE=7 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_16_BANK.VALUE=7 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_11_END.VALUE=10 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_11_SIZE.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_2_WRITE_CYCLES.VALUE=0x8 +DRIVER.FEE.VAR.FEE_VS7_ENABLE.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_2_OFFSET.VALUE=0 +DRIVER.FEE.VAR.FEE_READ_CYCLE_COUNT.VALUE=10 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_5_IMED_DATA.VALUE=TRUE +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_3_DATASETS.VALUE=1 +DRIVER.FEE.VAR.FEE_NUMBER_OF_VIRTUAL_SECTORS.VALUE=4 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX15_ENABLE.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX4_ENABLE.VALUE=0 +DRIVER.FEE.VAR.FEE_FLASH_CRC_ENABLE.VALUE=STD_ON +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_26_START.VALUE=25 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_18_START.VALUE=17 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_7_SIZE.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_12_NUMBER.VALUE=12 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_20_END.VALUE=19 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_12_END.VALUE=11 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_10_EEP.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_16_WRITE_CYCLES.VALUE=0x8 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_5_BANK.VALUE=7 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_3_NUMBER.VALUE=3 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_32_NUMBER.VALUE=32 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_24_NUMBER.VALUE=24 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_16_NUMBER.VALUE=16 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_13_IMED_DATA.VALUE=TRUE +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_16_DATASETS.VALUE=1 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_5_NUMBER.VALUE=5 +DRIVER.FEE.VAR.FEE_SECTORS_EEP1.VALUE=0 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_33_BANK.VALUE=7 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_25_BANK.VALUE=7 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_17_BANK.VALUE=7 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_21_END.VALUE=20 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_13_END.VALUE=12 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_12_SIZE.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_16_OFFSET.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_14_DEVICE_INDEX.VALUE=0x00000000 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_11_EEP.VALUE=0 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_5_START.VALUE=4 +DRIVER.FEE.VAR.FEE_BLOCK_NUMBER.VALUE=1 +DRIVER.FEE.VAR.FEE_VS27_ENABLE.VALUE=0 +DRIVER.FEE.VAR.FEE_VS19_ENABLE.VALUE=0 +DRIVER.FEE.VAR.FEE_VS20_ENABLE.VALUE=0 +DRIVER.FEE.VAR.FEE_VS12_ENABLE.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_7_OFFSET.VALUE=0 +DRIVER.FEE.VAR.FEE_DRIVER_INDEX.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_6_DATASETS.VALUE=1 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_13_WRITE_CYCLES.VALUE=0x8 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_9_WRITE_CYCLES.VALUE=0x8 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_8_SIZE.VALUE=0 +DRIVER.FEE.VAR.FEE_VS5_ENABLE.VALUE=0 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_30_END.VALUE=29 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_22_END.VALUE=21 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_14_END.VALUE=13 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX9_ENABLE.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_12_EEP.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX13_ENABLE.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX2_ENABLE.VALUE=0 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_6_BANK.VALUE=7 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_30_START.VALUE=29 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_22_START.VALUE=21 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_14_START.VALUE=13 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_3_IMED_DATA.VALUE=TRUE +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_11_DEVICE_INDEX.VALUE=0x00000000 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_7_DEVICE_INDEX.VALUE=0x00000000 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_10_NUMBER.VALUE=10 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_26_BANK.VALUE=7 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_18_BANK.VALUE=7 +DRIVER.FEE.VAR.FEE_NUMBER_OF_EEPS.VALUE=1 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_8_NUMBER.VALUE=8 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_31_END.VALUE=30 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_29_NUMBER.VALUE=29 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_23_END.VALUE=22 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_15_END.VALUE=14 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_13_SIZE.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_13_EEP.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_1_NUMBER.VALUE=1 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_30_NUMBER.VALUE=30 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_22_NUMBER.VALUE=22 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_14_NUMBER.VALUE=14 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_10_WRITE_CYCLES.VALUE=0x8 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_6_WRITE_CYCLES.VALUE=0x8 +DRIVER.FEE.VAR.FEE_DEVICE_INDEX.VALUE=0 +DRIVER.FEE.VAR.FEE_PAGE_OVERHEAD.VALUE=0 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_3_NUMBER.VALUE=3 +DRIVER.FEE.VAR.FEE_TI_FEE_SW_MAJOR_VERSION.VALUE=1 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_27_START.VALUE=26 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_19_START.VALUE=18 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_11_IMED_DATA.VALUE=TRUE +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_9_SIZE.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_8_IMED_DATA.VALUE=TRUE +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_14_OFFSET.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_12_DATASETS.VALUE=1 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_9_DATASETS.VALUE=1 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_32_END.VALUE=31 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_24_END.VALUE=23 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_16_END.VALUE=15 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_1_END.VALUE=0 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_1_START.VALUE=0 +DRIVER.FEE.VAR.FEE_VS33_ENABLE.VALUE=0 +DRIVER.FEE.VAR.FEE_VS25_ENABLE.VALUE=0 +DRIVER.FEE.VAR.FEE_VS17_ENABLE.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_14_EEP.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_4_DEVICE_INDEX.VALUE=0x00000000 +DRIVER.FEE.VAR.FEE_SECTOR_NUMBER.VALUE=1 +DRIVER.FEE.VAR.FEE_VS10_ENABLE.VALUE=0 +DRIVER.FEE.VAR.FEE_VIRTUALPAGE_SIZE.VALUE=8 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_5_OFFSET.VALUE=0 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_7_BANK.VALUE=7 +DRIVER.FEE.VAR.FEE_VS3_ENABLE.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX7_ENABLE.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_3_WRITE_CYCLES.VALUE=0x8 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_1_EEP.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_2_DATASETS.VALUE=1 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_27_BANK.VALUE=7 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_19_BANK.VALUE=7 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_33_END.VALUE=32 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_25_END.VALUE=24 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_17_END.VALUE=16 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_2_END.VALUE=1 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_16_IMED_DATA.VALUE=TRUE +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_14_SIZE.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX11_ENABLE.VALUE=0 +DRIVER.FEE.VAR.FEE_FLASH_WRITECOUNTER_SAVE.VALUE=STD_ON +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_15_EEP.VALUE=0 +DRIVER.FEE.VAR.FEE_VS_INDEX.VALUE=2 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_15_NUMBER.VALUE=15 +DRIVER.FEE.VAR.FEE_TI_FEE_SW_PATCH_VERSION.VALUE=0 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_10_START.VALUE=9 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_6_START.VALUE=5 +DRIVER.FEE.VAR.FEE_JOBERROR_NOTIFICATION.VALUE=JobErrorNotification +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_1_DEVICE_INDEX.VALUE=0x00000000 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_10_BANK.VALUE=7 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_6_NUMBER.VALUE=6 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_27_NUMBER.VALUE=27 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_19_NUMBER.VALUE=19 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_1_IMED_DATA.VALUE=TRUE +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_2_EEP.VALUE=0 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_26_END.VALUE=25 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_20_NUMBER.VALUE=20 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_18_END.VALUE=17 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_12_NUMBER.VALUE=12 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_8_NUMBER.VALUE=8 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_3_END.VALUE=2 +DRIVER.FEE.VAR.FEE_BLOCK_SIZE.VALUE=0x10 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_16_EEP.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_15_DATASETS.VALUE=1 +DRIVER.FEE.VAR.FEE_TOTAL_BLOCKS_DATASETS.VALUE=1 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_1_NUMBER.VALUE=1 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_8_BANK.VALUE=7 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_31_START.VALUE=30 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_23_START.VALUE=22 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_15_START.VALUE=14 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_1_SIZE.VALUE=8 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_12_OFFSET.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX.VALUE=1 +DRIVER.FEE.VAR.FEE_VS31_ENABLE.VALUE=0 +DRIVER.FEE.VAR.FEE_VS23_ENABLE.VALUE=0 +DRIVER.FEE.VAR.FEE_VS15_ENABLE.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_15_DEVICE_INDEX.VALUE=0x00000000 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_3_EEP.VALUE=0 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_28_BANK.VALUE=7 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_27_END.VALUE=26 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_19_END.VALUE=18 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_4_END.VALUE=3 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_15_SIZE.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_6_IMED_DATA.VALUE=TRUE +DRIVER.FEE.VAR.FEE_VS8_ENABLE.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_3_OFFSET.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_5_DATASETS.VALUE=1 +DRIVER.FEE.VAR.FEE_MAXIMUM_BLOCKING_TIME.VALUE=600 +DRIVER.FEE.VAR.FEE_VS1_ENABLE.VALUE=1 +DRIVER.FEE.VAR.FEE_NO_OF_UNCONFIGURED_BLOCKS_TO_COPY.VALUE=0 +DRIVER.FEE.VAR.FEE_FLASH_BANK_NUM.VALUE=7 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX16_ENABLE.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_14_WRITE_CYCLES.VALUE=0x8 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX5_ENABLE.VALUE=0 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_11_BANK.VALUE=7 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_28_START.VALUE=27 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_4_EEP.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_13_NUMBER.VALUE=13 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_28_END.VALUE=27 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_5_END.VALUE=4 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_2_START.VALUE=1 +DRIVER.FEE.VAR.FEE_SECTOR_OVERHEAD.VALUE=16 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_14_IMED_DATA.VALUE=TRUE +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_12_DEVICE_INDEX.VALUE=0x00000000 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_8_DEVICE_INDEX.VALUE=0x00000000 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_9_BANK.VALUE=7 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_4_NUMBER.VALUE=4 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_33_NUMBER.VALUE=32 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_25_NUMBER.VALUE=25 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_17_NUMBER.VALUE=17 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_2_SIZE.VALUE=0 +DRIVER.FEE.VAR.FEE_TI_FEE_SW_MINOR_VERSION.VALUE=0 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_10_NUMBER.VALUE=10 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_6_NUMBER.VALUE=6 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_5_EEP.VALUE=0 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_29_BANK.VALUE=7 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_29_END.VALUE=28 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_6_END.VALUE=5 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_16_SIZE.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_11_WRITE_CYCLES.VALUE=0x8 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_7_WRITE_CYCLES.VALUE=0x8 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_11_START.VALUE=10 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_7_START.VALUE=6 +DRIVER.FEE.VAR.FEE_VS28_ENABLE.VALUE=0 +DRIVER.FEE.VAR.FEE_VERSIONINFO_API.VALUE=STD_ON +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_10_OFFSET.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_11_DATASETS.VALUE=1 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_8_DATASETS.VALUE=1 +DRIVER.FEE.VAR.MAX_BLOCK_TIME.VALUE=600 +DRIVER.FEE.VAR.FEE_VS21_ENABLE.VALUE=0 +DRIVER.FEE.VAR.FEE_VS13_ENABLE.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_8_OFFSET.VALUE=0 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_20_BANK.VALUE=7 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_12_BANK.VALUE=7 +DRIVER.FEE.VAR.FEE_VS6_ENABLE.VALUE=0 +DRIVER.FEE.VAR.FEE_WRITE_CYCLES.VALUE=10 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_6_EEP.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_5_DEVICE_INDEX.VALUE=0x00000000 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_1_OFFSET.VALUE=16 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_7_END.VALUE=6 +DRIVER.FEE.VAR.FEE_NUMBER_OF_BLOCKS.VALUE=1 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_BANK.VALUE=1 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX14_ENABLE.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_4_IMED_DATA.VALUE=TRUE +DRIVER.FEE.VAR.FEE_BLOCK_INDEX3_ENABLE.VALUE=0 +DRIVER.FEE.VAR.FEE_NUMBER_OF_EIGHTBYTEWRITES.VALUE=1 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_1_DATASETS.VALUE=1 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_32_START.VALUE=31 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_24_START.VALUE=23 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_16_START.VALUE=15 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_4_WRITE_CYCLES.VALUE=0x8 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_3_SIZE.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_11_NUMBER.VALUE=11 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_7_EEP.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_9_NUMBER.VALUE=9 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_8_END.VALUE=7 +DRIVER.FEE.VAR.FEE_END_SECTOR.VALUE=0 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_1_BANK.VALUE=7 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_2_NUMBER.VALUE=2 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_31_NUMBER.VALUE=31 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_23_NUMBER.VALUE=23 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_15_NUMBER.VALUE=15 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_2_DEVICE_INDEX.VALUE=0x00000000 +DRIVER.FEE.VAR.FEE_FLASH_ERROR_CORRECTION_HANDLING.VALUE=TI_Fee_None +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_4_NUMBER.VALUE=4 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_12_IMED_DATA.VALUE=TRUE +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_9_IMED_DATA.VALUE=TRUE +DRIVER.FEE.VAR.FEE_DEVERROR_DETECT.VALUE=STD_ON +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_14_DATASETS.VALUE=1 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_21_BANK.VALUE=7 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_13_BANK.VALUE=7 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_29_START.VALUE=28 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_15_OFFSET.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_8_EEP.VALUE=0 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_9_END.VALUE=8 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_3_START.VALUE=2 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_1_WRITE_CYCLES.VALUE=0x8 +DRIVER.FEE.VAR.FEE_VS26_ENABLE.VALUE=0 +DRIVER.FEE.VAR.FEE_VS18_ENABLE.VALUE=0 +DRIVER.FEE.VAR.FEE_VS11_ENABLE.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_6_OFFSET.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_4_SIZE.VALUE=0 +DRIVER.FEE.VAR.FEE_VS4_ENABLE.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_16_DEVICE_INDEX.VALUE=0x00000000 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_4_DATASETS.VALUE=1 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX8_ENABLE.VALUE=0 +DRIVER.FEE.VAR.FEE_MAX_NUMBER_OF_LINKS.VALUE=256 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_9_EEP.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX12_ENABLE.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX1_ENABLE.VALUE=1 +DRIVER.FEE.VAR.FEE_FLASH_ERROR_CORRECTION_ENABLE.VALUE=STD_ON +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_2_BANK.VALUE=7 +DRIVER.FEE.VAR.FEE_DATASELECT_BITS.VALUE=0 +DRIVER.FEE.VAR.FEE_OPERATING_FREQ.VALUE=100.000 +DRIVER.FEE.VAR.FEE_TOTAL_SECTORS.VALUE=32 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_16_NUMBER.VALUE=16 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_20_START.VALUE=19 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_12_START.VALUE=11 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_8_START.VALUE=7 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_15_WRITE_CYCLES.VALUE=0x8 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_2_IMED_DATA.VALUE=TRUE +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_30_BANK.VALUE=7 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_22_BANK.VALUE=7 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_14_BANK.VALUE=7 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_7_NUMBER.VALUE=7 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_28_NUMBER.VALUE=28 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_21_NUMBER.VALUE=21 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_13_NUMBER.VALUE=13 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_9_NUMBER.VALUE=9 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_13_DEVICE_INDEX.VALUE=0x00000000 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_9_DEVICE_INDEX.VALUE=0x00000000 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_2_NUMBER.VALUE=2 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_33_START.VALUE=32 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_25_START.VALUE=24 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_17_START.VALUE=16 +DRIVER.FEE.VAR.FEE_JOBEND_NOTIFICATION.VALUE=JobEndNotification +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_5_SIZE.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_13_OFFSET.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_12_WRITE_CYCLES.VALUE=0x8 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_10_IMED_DATA.VALUE=TRUE +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_8_WRITE_CYCLES.VALUE=0x8 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_7_IMED_DATA.VALUE=TRUE +DRIVER.FEE.VAR.FEE_VS32_ENABLE.VALUE=0 +DRIVER.FEE.VAR.FEE_VS24_ENABLE.VALUE=0 +DRIVER.FEE.VAR.FEE_VS16_ENABLE.VALUE=0 +DRIVER.FEE.VAR.FEE_ENABLE_ECC.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_OVERHEAD.VALUE=24 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_10_DATASETS.VALUE=1 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_7_DATASETS.VALUE=1 +DRIVER.FEE.VAR.FEE_VS9_ENABLE.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_4_OFFSET.VALUE=0 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_3_BANK.VALUE=7 +DRIVER.FEE.VAR.FEE_VS2_ENABLE.VALUE=1 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX6_ENABLE.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_10_DEVICE_INDEX.VALUE=0x00000000 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_6_DEVICE_INDEX.VALUE=0x00000000 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_31_BANK.VALUE=7 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_23_BANK.VALUE=7 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_15_BANK.VALUE=7 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_10_SIZE.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX10_ENABLE.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_14_NUMBER.VALUE=14 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_4_START.VALUE=3 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_15_IMED_DATA.VALUE=TRUE +DRIVER.FEE.VAR.FEE_CHECK_BANK7_ACCESS.VALUE=STD_OFF +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_5_WRITE_CYCLES.VALUE=0x8 +DRIVER.FEE.VAR.FEE_POLLING_MODE.VALUE=STD_ON +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_5_NUMBER.VALUE=5 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_26_NUMBER.VALUE=26 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_18_NUMBER.VALUE=18 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_6_SIZE.VALUE=0 +DRIVER.AJSM.VAR.AJSM_NEW_KEY_WORD_2.VALUE=0xFFFDFFFE +DRIVER.AJSM.VAR.AJSM_NEW_KEY_WORD_3.VALUE=0xFFEFFFFF +DRIVER.AJSM.VAR.AJSM_VISIBLE_KEY_WORD_0.VALUE=0xEFFDFFFF +DRIVER.AJSM.VAR.AJSM_VISIBLE_KEY_WORD_1.VALUE=0xFFFFFFFF +DRIVER.AJSM.VAR.AJSM_VISIBLE_KEY_WORD_2.VALUE=0xFFFDFFFE +DRIVER.AJSM.VAR.AJSM_VISIBLE_KEY_WORD_3.VALUE=0xFFEFFFFF +DRIVER.AJSM.VAR.AJSM_SCAN_PATTERN_WORD_0.VALUE=PATTERN_NOT_REQUIRED +DRIVER.AJSM.VAR.AJSM_VISIBLE_KEY_ECC_BYTE_0.VALUE=0xED +DRIVER.AJSM.VAR.AJSM_SCAN_PATTERN_WORD_1.VALUE=PATTERN_NOT_REQUIRED +DRIVER.AJSM.VAR.AJSM_VISIBLE_KEY_ECC_BYTE_1.VALUE=0xED +DRIVER.AJSM.VAR.AJSM_SCAN_PATTERN_WORD_2.VALUE=PATTERN_NOT_REQUIRED +DRIVER.AJSM.VAR.AJSM_SCAN_PATTERN_WORD_3.VALUE=PATTERN_NOT_REQUIRED +DRIVER.AJSM.VAR.AJSM_NEW_KEY_ECC_BYTE_0.VALUE=0xED +DRIVER.AJSM.VAR.AJSM_NEW_KEY_ECC_BYTE_1.VALUE=0xED +DRIVER.AJSM.VAR.AJSM_SCAN_PATTERN.VALUE=PATTERN_NOT_REQUIRED +DRIVER.AJSM.VAR.AJSM_NEW_KEY_WORD_0.VALUE=0xEFFDFFFF +DRIVER.AJSM.VAR.AJSM_NEW_KEY_WORD_1.VALUE=0xFFFFFFFF diff --git a/conf/hcg/bootloader.hcg b/conf/hcg/bootloader.hcg new file mode 100644 index 00000000..6a3a420c --- /dev/null +++ b/conf/hcg/bootloader.hcg @@ -0,0 +1,885 @@ + + + + TMS570LC43x + TMS570LC4357ZWT + bootloader.dil + ti + + + 04.07.01 + + + + + + + + + + + + + + + + + + + + + + + + + HL_hal_stdtypes.h + include\HL_hal_stdtypes.h + + + HL_sys_common.h + include\HL_sys_common.h + + + HL_reg_system.h + include\HL_reg_system.h + + + HL_reg_flash.h + include\HL_reg_flash.h + + + HL_reg_l2ramw.h + include\HL_reg_l2ramw.h + + + HL_reg_vim.h + include\HL_reg_vim.h + + + HL_reg_pbist.h + include\HL_reg_pbist.h + + + HL_reg_stc.h + include\HL_reg_stc.h + + + HL_reg_efc.h + include\HL_reg_efc.h + + + HL_reg_pcr.h + include\HL_reg_pcr.h + + + HL_reg_pmm.h + include\HL_reg_pmm.h + + + HL_reg_dma.h + include\HL_reg_dma.h + + + HL_reg_ccmr5.h + include\HL_reg_ccmr5.h + + + HL_sys_core.h + include\HL_sys_core.h + + + HL_system.h + include\HL_system.h + + + HL_sys_vim.h + include\HL_sys_vim.h + + + HL_sys_mpu.h + include\HL_sys_mpu.h + + + HL_sys_pmu.h + include\HL_sys_pmu.h + + + HL_sys_pcr.h + include\HL_sys_pcr.h + + + HL_sys_pmm.h + include\HL_sys_pmm.h + + + HL_sys_dma.h + include\HL_sys_dma.h + + + HL_sys_core.asm + source\HL_sys_core.asm + + + HL_sys_intvecs.asm + source\HL_sys_intvecs.asm + + + HL_sys_mpu.asm + source\HL_sys_mpu.asm + + + HL_sys_pmu.asm + source\HL_sys_pmu.asm + + + HL_sys_pcr.c + source\HL_sys_pcr.c + + + HL_sys_pmm.c + source\HL_sys_pmm.c + + + HL_sys_dma.c + source\HL_sys_dma.c + + + HL_system.c + source\HL_system.c + + + HL_sys_phantom.c + source\HL_sys_phantom.c + + + HL_sys_startup.c + source\HL_sys_startup.c + + + HL_sys_vim.c + source\HL_sys_vim.c + + + HL_sys_main.c + source\HL_sys_main.c + + + HL_notification.c + source\HL_notification.c + + + HL_sys_link.cmd + source\HL_sys_link.cmd + + + HL_reg_epc.h + include\HL_reg_epc.h + + + HL_reg_nmpu.h + include\HL_reg_nmpu.h + + + HL_reg_scm.h + include\HL_reg_scm.h + + + HL_reg_sdcmmr.h + include\HL_reg_sdcmmr.h + + + HL_epc.h + include\HL_epc.h + + + HL_epc.c + source\HL_epc.c + + + HL_nmpu.h + include\HL_nmpu.h + + + HL_nmpu.c + source\HL_nmpu.c + + + HL_errata.h + include\HL_errata.h + + + HL_errata.c + source\HL_errata.c + + + HL_Test.h + + + HL_errata_SSWF021_45.h + include\HL_errata_SSWF021_45.h + + + HL_errata_SSWF021_45_defs.h + include\HL_errata_SSWF021_45_defs.h + + + HL_errata_SSWF021_45.c + source\HL_errata_SSWF021_45.c + + + HL_reg_pinmux.h + + + HL_pinmux.h + + + HL_pinmux.c + + + HL_reg_rti.h + + + HL_rti.h + + + HL_rti.c + + + HL_reg_gio.h + + + HL_gio.h + + + HL_gio.c + + + HL_reg_esm.h + + + HL_esm.h + + + HL_esm.c + + + HL_reg_sci.h + + + HL_sci.h + + + + HL_reg_lin.h + + + HL_lin.h + + + + HL_reg_mibspi.h + + + HL_mibspi.h + + + + HL_reg_spi.h + + + HL_spi.h + + + + HL_reg_can.h + + + HL_can.h + + + HL_can.c + + + HL_reg_adc.h + + + HL_adc.h + + + + + + + + + + std_nhet.h + + + HL_reg_het.h + + + HL_het.h + + + HL_reg_htu.h + + + HL_htu.h + + + + + + + + + + HL_reg_i2c.h + + + HL_i2c.h + + + HL_i2c.c + + + HL_emac.h + + + HL_hw_emac.h + + + HL_hw_emac_ctrl.h + + + HL_hw_mdio.h + + + HL_hw_reg_access.h + + + HL_mdio.h + + + HL_phy_dp83640.h + + + HL_phy_tlk111.h + + + HL_emac_phyConfig.h + + + + + + + HL_reg_dcc.h + + + HL_dcc.h + + + + HL_reg_rtp.h + + + HL_rtp.h + + + + HL_reg_dmm.h + + + HL_dmm.h + + + + HL_reg_emif.h + + + HL_emif.h + + + + HL_reg_pom.h + + + HL_pom.h + + + + HL_reg_crc.h + + + HL_crc.h + + + HL_crc.c + + + HL_reg_etpwm.h + + + HL_etpwm.h + + + + HL_reg_ecap.h + + + HL_ecap.h + + + + HL_reg_eqep.h + + + HL_eqep.h + + + + Device_TMS570LC43.h + + + Device_header.h + + + Device_types.h + + + ti_fee_cfg.h + + + MemMap.h + + + ti_fee_types.h + + + ti_fee.h + + + fee_interface.h + + + + + + + + + + + + + + + + + + + + + + + include\HL_reg_pinmux.h + + + include\HL_pinmux.h + + + source\HL_pinmux.c + + + + + + + include\HL_reg_rti.h + + + include\HL_rti.h + + + source\HL_rti.c + + + + + + + include\HL_reg_gio.h + + + include\HL_gio.h + + + source\HL_gio.c + + + + + + + include\HL_reg_esm.h + + + include\HL_esm.h + + + source\HL_esm.c + + + + + + + include\HL_reg_sci.h + + + include\HL_sci.h + + + + + + + + + + include\HL_reg_lin.h + + + include\HL_lin.h + + + + + + + + + + include\HL_reg_mibspi.h + + + include\HL_mibspi.h + + + + + + + + + + include\HL_reg_spi.h + + + include\HL_spi.h + + + + + + + + + + include\HL_reg_can.h + + + include\HL_can.h + + + source\HL_can.c + + + + + + + include\HL_reg_adc.h + + + include\HL_adc.h + + + + + + + + + + include\std_nhet.h + + + include\HL_reg_het.h + + + include\HL_het.h + + + include\HL_reg_htu.h + + + include\HL_htu.h + + + + + + + + + + include\HL_reg_i2c.h + + + include\HL_i2c.h + + + source\HL_i2c.c + + + + + + + include\HL_emac.h + + + include\HL_hw_emac.h + + + include\HL_hw_emac_ctrl.h + + + include\HL_hw_mdio.h + + + include\HL_hw_reg_access.h + + + include\HL_mdio.h + + + include\HL_phy_dp83640.h + + + include\HL_phy_tlk111.h + + + include\HL_emac_phyConfig.h + + + + + + + + + + + + + + + + + + + include\HL_reg_dcc.h + + + include\HL_dcc.h + + + + + + + + + + include\HL_reg_rtp.h + + + include\HL_rtp.h + + + + + + + + + + include\HL_reg_dmm.h + + + include\HL_dmm.h + + + + + + + + + + include\HL_reg_emif.h + + + include\HL_emif.h + + + + + + + + + + include\HL_reg_pom.h + + + include\HL_pom.h + + + + + + + + + + include\HL_reg_crc.h + + + include\HL_crc.h + + + source\HL_crc.c + + + + + + + include\HL_reg_etpwm.h + + + include\HL_etpwm.h + + + + + + + + + + include\HL_reg_ecap.h + + + include\HL_ecap.h + + + + + + + + + + include\HL_reg_eqep.h + + + include\HL_eqep.h + + + + + + + + + + include\Device_TMS570LC43.h + + + include\Device_header.h + + + include\Device_types.h + + + include\ti_fee_cfg.h + + + include\MemMap.h + + + include\ti_fee_types.h + + + include\ti_fee.h + + + include\fee_interface.h + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/conf/tpl/c.c b/conf/tpl/c.c index a6b4cbdd..48857219 100644 --- a/conf/tpl/c.c +++ b/conf/tpl/c.c @@ -43,8 +43,8 @@ * @file c.c * @author foxBMS Team * @date 2019-08-27 (date of creation) - * @updated 2024-08-08 (date of last update) - * @version v1.7.0 + * @updated 2024-12-20 (date of last update) + * @version v1.8.0 * @ingroup SOME_GROUP * @prefix ABC * diff --git a/conf/tpl/c.h b/conf/tpl/c.h index 12d923d9..820327a8 100644 --- a/conf/tpl/c.h +++ b/conf/tpl/c.h @@ -43,8 +43,8 @@ * @file c.h * @author foxBMS Team * @date 2019-08-27 (date of creation) - * @updated 2024-08-08 (date of last update) - * @version v1.7.0 + * @updated 2024-12-20 (date of last update) + * @version v1.8.0 * @ingroup SOME_GROUP * @prefix ABC * diff --git a/conf/tpl/test_c.c b/conf/tpl/test_c.c index 877f7516..0deab9ba 100644 --- a/conf/tpl/test_c.c +++ b/conf/tpl/test_c.c @@ -43,12 +43,13 @@ * @file test_c.c * @author foxBMS Team * @date 2020-08-10 (date of creation) - * @updated 2024-08-08 (date of last update) - * @version v1.7.0 + * @updated 2024-12-20 (date of last update) + * @version v1.8.0 * @ingroup UNIT_TEST_IMPLEMENTATION * @prefix TEST * * @brief Test of some module + * @details Detailed Test Description * */ diff --git a/conf/tpl/test_c.h b/conf/tpl/test_c.h index 4183c870..8bcd5bb5 100644 --- a/conf/tpl/test_c.h +++ b/conf/tpl/test_c.h @@ -43,8 +43,8 @@ * @file test_c.h * @author foxBMS Team * @date 2020-08-10 (date of creation) - * @updated 2024-08-08 (date of last update) - * @version v1.7.0 + * @updated 2024-12-20 (date of last update) + * @version v1.8.0 * @ingroup UNIT_TEST_IMPLEMENTATION * @prefix TEST * diff --git a/conf/unit/project_posix.yml b/conf/unit/app_project_posix.yml similarity index 94% rename from conf/unit/project_posix.yml rename to conf/unit/app_project_posix.yml index 0af62a97..8368f42d 100644 --- a/conf/unit/project_posix.yml +++ b/conf/unit/app_project_posix.yml @@ -110,20 +110,26 @@ # see documentation for the many options for specifying this. :paths: :test: - - +:./../../tests/unit/** + - +:./../../tests/unit/app/** + - +:./../../tests/unit/opt/** + # we do not need the main directory as there are no meaning full test + # sources or headers in it. + - -:./../../tests/unit/app # see tests/unit/app/driver/afe/adi/common/ades183x/README.md why this # directory is excluded - -:./../../tests/unit/app/driver/afe/adi/common/ades183x/** + # helper headers that shall not be included + - -:./../../tests/unit/app/main/helper + - -:./../../tests/unit/app/driver/afe/adi/ades1830/include - -:./../../tests/unit/support :source: - +:./../../src/app/** - +:./../../src/opt/** :include: - - +:./include/** + - +:./include/** # HALCoGen - +:./../../src/os/freertos/include - +:./../../src/os/freertos/portable/ccs/arm_cortex-r5 - +:./../../src/app/main/include - - +:./../../src/app/main/include/config - +:./../../src/app/application/config # see marker 'CONFIG' - +:./../../src/app/engine/config - +:./../../src/app/engine/database @@ -162,6 +168,8 @@ - FOXBMS_AFE_DRIVER_ADI=1u - FOXBMS_AFE_DRIVER_ADI_ADES1830=1u - TEST_BS_NR_OF_CELL_BLOCKS_PER_MODULE=16u + :/test_bms.c/: + - TEST_BS_NR_OF_STRINGS=2u :/test_debug_default.*/: - FOXBMS_AFE_DRIVER_DEBUG=1u :/test_debug_can.*/: @@ -176,29 +184,32 @@ :/test_nxp_.*/: - FOXBMS_AFE_DRIVER_NXP=1u - TEST_BS_NR_OF_CELL_BLOCKS_PER_MODULE=14u + :/test_st_.*/: + - FOXBMS_AFE_DRIVER_ST=1u + - TEST_BS_NR_OF_CELL_BLOCKS_PER_MODULE=18u :/test_ti_.*/: - FOXBMS_AFE_DRIVER_TI=1u - TEST_BS_NR_OF_CELL_BLOCKS_PER_MODULE=18u - :test_spi_adi.c: + :/test_spi_adi.c: - FOXBMS_AFE_DRIVER_ADI=1u - :test_spi_debug.c: + :/test_spi_debug.c: - FOXBMS_AFE_DRIVER_DEBUG=1u - :test_spi_ltc.c: + :/test_spi_ltc.c: - FOXBMS_AFE_DRIVER_LTC=1u - :test_spi_mxm.c: + :/test_spi_mxm.c: - FOXBMS_AFE_DRIVER_MAXIM=1u - :test_spi_nxp.c: + :/test_spi_nxp.c: - FOXBMS_AFE_DRIVER_NXP=1u - :test_spi_ti.c: + :/test_spi_st.c: + - FOXBMS_AFE_DRIVER_ST=1u + :/test_spi_ti.c: - FOXBMS_AFE_DRIVER_TI=1u :/test_can_cbs_tx_string.*/: - TEST_BS_NR_OF_STRINGS=2u - :test_can_cbs_tx_pack-minimum-maximum-values.c: + :/test_can_cbs_tx_pack-minimum-maximum-values.c: - TEST_BS_NR_OF_STRINGS=2u - :test_can_cbs_tx_pack-state-estimation.c: + :/test_can_cbs_tx_pack-state-estimation.c: - TEST_BS_NR_OF_STRINGS=2u - :fstartup.c: - - uint32=uint32_t :preprocess: <<: *config-test-defines :*: @@ -222,10 +233,9 @@ - -Wextra - -Wall - -pedantic - - -include test_ignore_list.h + - -include + - test_ignore_list.h - -Werror - :fstartup.c: - - -Wimplicit-fallthrough=4 # Configuration Options specific to CMock. See CMock docs for details :cmock: @@ -241,7 +251,6 @@ - "semphr.h" - "stream_buffer.h" - "event_groups.h" - - "string.h" :plugins: # What plugins should be used by CMock? - :ignore - :callback @@ -374,7 +383,7 @@ :threads: 8 :keep: FALSE :html_artifact_filename: GcovCoverageResults.html - :html_title: foxBMS 2 Test Coverage Report + :html_title: foxBMS 2 App Test Coverage Report :html_medium_threshold: 75 :html_high_threshold: 90 :html_absolute_paths: FALSE diff --git a/conf/unit/project_win32.yml b/conf/unit/app_project_win32.yml similarity index 90% rename from conf/unit/project_win32.yml rename to conf/unit/app_project_win32.yml index 34ebd824..60163e74 100644 --- a/conf/unit/project_win32.yml +++ b/conf/unit/app_project_win32.yml @@ -110,20 +110,26 @@ # see documentation for the many options for specifying this. :paths: :test: - - +:./../../tests/unit/** + - +:./../../tests/unit/app/** + - +:./../../tests/unit/opt/** + # we do not need the main directory as there are no meaning full test + # sources or headers in it. + - -:./../../tests/unit/app # see tests/unit/app/driver/afe/adi/common/ades183x/README.md why this # directory is excluded - -:./../../tests/unit/app/driver/afe/adi/common/ades183x/** + # helper headers that shall not be included + - -:./../../tests/unit/app/main/helper + - -:./../../tests/unit/app/driver/afe/adi/ades1830/include - -:./../../tests/unit/support :source: - +:./../../src/app/** - +:./../../src/opt/** :include: - - +:./include/** + - +:./include/** # HALCoGen - +:./../../src/os/freertos/include - +:./../../src/os/freertos/portable/ccs/arm_cortex-r5 - +:./../../src/app/main/include - - +:./../../src/app/main/include/config - +:./../../src/app/application/config # see marker 'CONFIG' - +:./../../src/app/engine/config - +:./../../src/app/engine/database @@ -159,6 +165,8 @@ - FOXBMS_AFE_DRIVER_ADI=1u - FOXBMS_AFE_DRIVER_ADI_ADES1830=1u - TEST_BS_NR_OF_CELL_BLOCKS_PER_MODULE=16u + :/test_bms.c/: + - TEST_BS_NR_OF_STRINGS=2u :/test_debug_default.*/: - FOXBMS_AFE_DRIVER_DEBUG=1u :/test_debug_can.*/: @@ -173,29 +181,40 @@ :/test_nxp_.*/: - FOXBMS_AFE_DRIVER_NXP=1u - TEST_BS_NR_OF_CELL_BLOCKS_PER_MODULE=14u + :/test_st_.*/: + - FOXBMS_AFE_DRIVER_ST=1u + - TEST_BS_NR_OF_CELL_BLOCKS_PER_MODULE=18u :/test_ti_.*/: - FOXBMS_AFE_DRIVER_TI=1u - TEST_BS_NR_OF_CELL_BLOCKS_PER_MODULE=18u - :test_spi_adi.c: + :/test_spi_adi.c: - FOXBMS_AFE_DRIVER_ADI=1u - :test_spi_debug.c: + :/test_spi_debug.c: - FOXBMS_AFE_DRIVER_DEBUG=1u - :test_spi_ltc.c: + :/test_spi_ltc.c: - FOXBMS_AFE_DRIVER_LTC=1u - :test_spi_mxm.c: + :/test_spi_mxm.c: - FOXBMS_AFE_DRIVER_MAXIM=1u - :test_spi_nxp.c: + :/test_spi_nxp.c: - FOXBMS_AFE_DRIVER_NXP=1u - :test_spi_ti.c: + :/test_spi_st.c: + - FOXBMS_AFE_DRIVER_ST=1u + :/test_spi_ti.c: - FOXBMS_AFE_DRIVER_TI=1u :/test_can_cbs_tx_string.*/: - TEST_BS_NR_OF_STRINGS=2u - :test_can_cbs_tx_pack-minimum-maximum-values.c: + :/test_can_cbs_tx_pack-minimum-maximum-values.c: - TEST_BS_NR_OF_STRINGS=2u - :test_can_cbs_tx_pack-state-estimation.c: + :/test_can_cbs_tx_pack-state-estimation.c: - TEST_BS_NR_OF_STRINGS=2u - :fstartup.c: - - uint32=uint32_t + :/test_fstartup.c: + # See file-level doxygen comment in + # 'tests/unit/app/main/test_fstartup.c' for more details. + # We need to NOT include the 'HL_reg_esm.h' file, in order to fake the + # registers, and this is the define guard of this file. + # This only works in combination with other flags and the + # helper header 'mock_esm.h'. + - __REG_ESM_H__ :preprocess: <<: *config-test-defines :*: @@ -219,10 +238,23 @@ - -Wextra - -Wall - -pedantic - - -include test_ignore_list.h + - -include + - test_ignore_list.h - -Werror - :fstartup.c: - - -Wimplicit-fallthrough=4 + :/test_fstartup.c: + # See file-level doxygen comment in + # 'tests/unit/app/main/test_fstartup.c' for more details + # HALCoGen creates an invalid header 'HL_errata_SSWF021_45.h', as it + # does not include a declaration of 'uint32' but uses it. uint32 is + # defined in 'HL_hal_stdtypes.h'. + # 'HL_esm.c' uses 'config_value_type_t', but does not include + # 'HL_sys_common.h' + - -include + - HL_hal_stdtypes.h + - -include + - HL_sys_common.h + - -include + - mock_esm.h # Configuration Options specific to CMock. See CMock docs for details :cmock: @@ -238,7 +270,6 @@ - "semphr.h" - "stream_buffer.h" - "event_groups.h" - - "string.h" :plugins: # What plugins should be used by CMock? - :ignore - :callback @@ -371,7 +402,7 @@ :threads: 8 :keep: FALSE :html_artifact_filename: GcovCoverageResults.html - :html_title: foxBMS 2 Test Coverage Report + :html_title: foxBMS 2 App Test Coverage Report :html_medium_threshold: 75 :html_high_threshold: 90 :html_absolute_paths: FALSE diff --git a/conf/unit/bootloader_project_posix.yml b/conf/unit/bootloader_project_posix.yml new file mode 100644 index 00000000..1dece6b2 --- /dev/null +++ b/conf/unit/bootloader_project_posix.yml @@ -0,0 +1,466 @@ +# ========================================================================= +# Ceedling - Test-Centered Build System for C +# ThrowTheSwitch.org +# Copyright (c) 2010-24 Mike Karlesky, Mark VanderVoord, & Greg Williams +# SPDX-License-Identifier: MIT +# ========================================================================= + +--- +############################################################################### +# Note: # +# This file is based on the 'project.yml' file created by # +# 'ceedling new --local tmp', so that upgrading is as simple as possible # +# by creating the smallest possible diff. On the other hand this leads to # +# some configuration options that are just commented out, as they are not # +# needed. # +############################################################################### +# Important: # +# Paths must be given as seen from the build variant root directory # +############################################################################### +:project: + # how to use ceedling. If you're not sure, leave this as `gem` and `?` + :which_ceedling: ../../tools/vendor/ceedling + :ceedling_version: 1.0.0 + + # optional features. If you don't need them, keep them turned off for performance + :use_mocks: TRUE + :use_exceptions: TRUE + :use_test_preprocessor: :all + :use_backtrace: :gdb + :use_auxiliary_dependencies: TRUE + :use_decorators: :auto #Decorate Ceedling's output text. Your options are :auto, :all, or :none + + # tweak the way ceedling handles automatic tasks + :build_root: . + :test_file_prefix: test_ + :default_tasks: + - test:all + + # performance options. If your tools start giving mysterious errors, consider + # dropping this to 1 to force single-tasking + :test_threads: 8 + :compile_threads: 8 + + # enable release build (more details in release_build section below) + :release_build: FALSE + +# Specify where to find mixins and any that should be enabled automatically +:mixins: + :enabled: [] + :load_paths: [] + +# further details to configure the way Ceedling handles test code +:test_build: + :use_assembly: FALSE + +# further details to configure the way Ceedling handles release code +#:release_build: +# :output: MyApp.out +# :use_assembly: FALSE +# :artifacts: [] + +# Plugins are optional Ceedling features which can be enabled. Ceedling supports +# a variety of plugins which may effect the way things are compiled, reported, +# or may provide new command options. Refer to the readme in each plugin for +# details on how to use it. +:plugins: + :load_paths: + - ../../tools/vendor/ceedling/plugins + :enabled: + #- beep # beeps when finished, so you don't waste time waiting for ceedling + - module_generator # handy for quickly creating source, header, and test templates + - gcov # test coverage using gcov. Requires gcc, gcov, and a coverage analyzer like gcovr + #- bullseye # test coverage using bullseye. Requires bullseye for your platform + #- command_hooks # write custom actions to be called at different points during the build process + #- compile_commands_json_db # generate a compile_commands.json file + #- dependencies # automatically fetch 3rd party libraries, etc. + #- subprojects # managing builds and test for static libraries + #- fake_function_framework # use FFF instead of CMock + + # Report options (You'll want to choose one stdout option, but may choose multiple stored options if desired) + #- report_build_warnings_log + #- report_tests_gtestlike_stdout + #- report_tests_ide_stdout + - report_tests_log_factory + - report_tests_pretty_stdout + - report_tests_raw_output_log + #- report_tests_teamcity_stdout + +# Specify which reports you'd like from the log factory +:report_tests_log_factory: + :reports: + - json + - junit + - cppunit + - html + +# override the default extensions for your system and toolchain +:extension: + #:header: .h + #:source: .c + #:assembly: .s + #:dependencies: .d + #:object: .o + :executable: .out + #:testpass: .pass + #:testfail: .fail + #:subprojects: .a + +# This is where Ceedling should look for your source and test files. +# see documentation for the many options for specifying this. +:paths: + :test: + - +:./../../tests/unit/bootloader/** + # we do not need the main directory as there are no meaning full test + # sources or headers in it. + - -:./../../tests/unit/bootloader + - -:./../../tests/unit/support + # helper headers that shall not be included + - -:./../../tests/unit/bootloader/main/helper + :source: + - +:./../../src/bootloader/** + :include: + - +:./include/** # HALCoGen + - +:./../../src/bootloader/main/include + :support: + - +:./../../tests/unit/support/** + :libraries: [] + +# You can even specify specific files to add or remove from your test +# and release collections. Usually it's better to use paths and let +# Ceedling do the work for you! +:files: + :test: + # this file can only be tested on Windows due to HALCoGen availability + - -:./../../tests/unit/bootloader/main/test_fstartup.c + :source: [] + +# Compilation symbols to be injected into builds +# See documentation for advanced options: +# - Test name matchers for different symbols per test executable build +# - Referencing symbols in multiple lists using advanced YAML +# - Specifiying symbols used during test preprocessing +:defines: + :test: &config-test-defines + :*: &match-all-tests + - UNITY_UNIT_TEST + - FAS_ASSERT_LEVEL=2 + - UNITY_INCLUDE_EXEC_TIME + - _POSIX_C_SOURCE=200809L + :preprocess: + <<: *config-test-defines + :*: + - *match-all-tests + +# :release: [] +# +# # Enable to inject name of a test as a unique compilation symbol into its respective executable build. +# :use_test_definition: FALSE + +# Configure additional command line flags provided to tools used in each build step +:flags: + # :release: + # :compile: # Add '-Wall' and '--02' to compilation of all files in release target + # - -Wall + # - --O2 + :test: + :compile: + :*: + - -std=c11 + - -Wextra + - -Wall + - -pedantic + - -include + - test_ignore_list.h + - -Werror + +# Configuration Options specific to CMock. See CMock docs for details +:cmock: + # Core conffiguration + :includes: [] + :plugins: # What plugins should be used by CMock? + - :ignore + - :callback + - :ignore_arg + - :return_thru_ptr + :verbosity: 2 # the options being 0 errors only, 1 warnings and errors, 2 normal info, 3 verbose + :when_no_prototypes: :warn # the options being :ignore, :warn, or :erro + + # File configuration + :mock_path: "./mocks" # Subdirectory to store mocks when generated (default: mocks) + :skeleton_path: "" # Subdirectory to store stubs when generated (default: '') + :mock_prefix: "Mock" # Prefix to append to filenames for mocks + :mock_suffix: "" # Suffix to append to filenames for mocks + + # Parser configuration + :strippables: [] + :attributes: + - __ramfunc + - __irq + - __fiq + - register + - extern + :c_calling_conventions: + - __stdcall + - __cdecl + - __fastcall + :treat_externs: :include # the options being :include or :exclude + :treat_inlines: :exclude # the options being :include or :exclude + + # Type handling configuration + #:unity_helper_path: '' # specify a string of where to find a unity_helper.h file to discover custom type assertions + :treat_as: # optionally add additional types to map custom types + uint8: HEX8 + uint16: HEX16 + uint32: UINT32 + int8: INT8 + bool: UINT8 + #:treat_as_array: {} # hint to cmock that these types are pointers to something + #:treat_as_void: [] # hint to cmock that these types are actually aliases of void + :memcmp_if_unknown: true # allow cmock to use the memory comparison assertions for unknown types + :when_ptr: :compare_data # hint to cmock how to handle pointers in general, the options being :compare_ptr, :compare_data, or :smart + + # Mock generation configuration + :weak: "" # Symbol to use to declare weak functions + :enforce_strict_ordering: true # Do we want cmock to enforce ordering of all function calls? + :fail_on_unexpected_calls: true # Do we want cmock to fail when it encounters a function call that wasn't expected? + :callback_include_count: true # Do we want cmock to include the number of calls to this callback, when using callbacks? + :callback_after_arg_check: false # Do we want cmock to enforce an argument check first when using a callback? + #:includes: [] # You can add additional includes here, or specify the location with the options below + #:includes_h_pre_orig_header: [] + #:includes_h_post_orig_header: [] + #:includes_c_pre_header: [] + #:includes_c_post_header: [] + #:array_size_type: [] # Specify a type or types that should be used for array lengths + #:array_size_name: 'size|len' # Specify a name or names that CMock might automatically recognize as the length of an array + :exclude_setjmp_h: false # Don't use setjmp when running CMock. Note that this might result in late reporting or out-of-order failures. + +# Configuration options specific to Unity. +#:unity: +# :defines: +# - UNITY_EXCLUDE_FLOAT + +# Configuration options specify to Unity's test runner generator +:test_runner: + :cmdline_args: true + +# You can optionally have ceedling create environment variables for you before +# performing the rest of its tasks. +:environment: [] + +# LIBRARIES +# These libraries are automatically injected into the build process. Those specified as +# common will be used in all types of builds. Otherwise, libraries can be injected in just +# tests or releases. These options are MERGED with the options in supplemental yaml files. +:libraries: + :placement: :end + :flag: "-l${1}" + :path_flag: "-L ${1}" + :system: [] # for example, you might list 'm' to grab the math library + :test: [] + :release: [] + +################################################################ +# PLUGIN CONFIGURATION +################################################################ + +# Add -gcov to the plugins list to make sure of the gcov plugin +# You will need to have gcov and gcovr both installed to make it work. +# For more information on these options, see docs in plugins/gcov +:gcov: + :utilities: + - gcovr # Use gcovr to create the specified reports (default). + #- ReportGenerator # Use ReportGenerator to create the specified reports. + :reports: # Specify one or more reports to generate. + # Make an HTML summary report. + - HtmlBasic + - HtmlDetailed + - Text + - Cobertura + # - SonarQube + # - JSON + # - HtmlInline + # - HtmlInlineAzure + # - HtmlInlineAzureDark + # - HtmlChart + # - MHtml + # - Badges + # - CsvSummary + # - Latex + # - LatexSummary + # - PngChart + # - TeamCitySummary + # - lcov + # - Xml + # - XmlSummary + :gcovr: + :report_root: "../../" + :report_exclude: ".*vendor.*|.*/build.*|.*test.*|.*tests.*|.*lib.*|.*Test.*|.*src.hal.*" + :exclude_directories: ".*tests.*|.*/build.*" + :sort_percentage: TRUE + :sort_uncovered: FALSE + :print_summary: TRUE + :threads: 8 + :keep: FALSE + :html_artifact_filename: GcovCoverageResults.html + :html_title: foxBMS 2 Bootloader Test Coverage Report + :html_medium_threshold: 75 + :html_high_threshold: 90 + :html_absolute_paths: FALSE + :html_encoding: UTF-8 + :merge_mode_function: merge-use-line-min +# :module_generator: +# :project_root: ./ +# :source_root: source/ +# :inc_root: includes/ +# :test_root: tests/ +# :naming: :snake #options: :bumpy, :camel, :caps, or :snake +# :includes: +# :tst: [] +# :src: [] +# :boilerplates: +# :src: "" +# :inc: "" +# :tst: "" + +# :dependencies: +# :libraries: +# - :name: WolfSSL +# :source_path: third_party/wolfssl/source +# :build_path: third_party/wolfssl/build +# :artifact_path: third_party/wolfssl/install +# :fetch: +# :method: :zip +# :source: \\shared_drive\third_party_libs\wolfssl\wolfssl-4.2.0.zip +# :environment: +# - CFLAGS+=-DWOLFSSL_DTLS_ALLOW_FUTURE +# :build: +# - "autoreconf -i" +# - "./configure --enable-tls13 --enable-singlethreaded" +# - make +# - make install +# :artifacts: +# :static_libraries: +# - lib/wolfssl.a +# :dynamic_libraries: +# - lib/wolfssl.so +# :includes: +# - include/** + +# :subprojects: +# :paths: +# - :name: libprojectA +# :source: +# - ./subprojectA/source +# :include: +# - ./subprojectA/include +# :build_root: ./subprojectA/build +# :defines: [] + +# :command_hooks: +# :pre_mock_preprocess: +# :post_mock_preprocess: +# :pre_test_preprocess: +# :post_test_preprocess: +# :pre_mock_generate: +# :post_mock_generate: +# :pre_runner_generate: +# :post_runner_generate: +# :pre_compile_execute: +# :post_compile_execute: +# :pre_link_execute: +# :post_link_execute: +# :pre_test_fixture_execute: +# :post_test_fixture_execute: +# :pre_test: +# :post_test: +# :pre_release: +# :post_release: +# :pre_build: +# :post_build: +# :post_error: + +################################################################ +# TOOLCHAIN CONFIGURATION +################################################################ + +#:tools: +# Ceedling defaults to using gcc for compiling, linking, etc. +# As [:tools] is blank, gcc will be used (so long as it's in your system path) +# See documentation to configure a given toolchain for use +:tools: + # :test_compiler: + # :executable: + # :arguments: [] + # :name: + # :optional: FALSE + :test_linker: + :executable: gcc + :arguments: + - ${1} + - ${5} + - -o ${2} + - ${4} + - -flto + :gcov_linker: + :executable: gcc + :arguments: + - ${1} + - ${5} + - -o ${2} + - ${4} + - -lgcov + - --coverage + - -flto +# :name: +# :optional: FALSE +# :test_assembler: +# :executable: +# :arguments: [] +# :name: +# :optional: FALSE +# :test_fixture: +# :executable: +# :arguments: [] +# :name: +# :optional: FALSE +# :test_includes_preprocessor: +# :executable: +# :arguments: [] +# :name: +# :optional: FALSE +# :test_file_preprocessor: +# :executable: +# :arguments: [] +# :name: +# :optional: FALSE +# :test_file_preprocessor_directives: +# :executable: +# :arguments: [] +# :name: +# :optional: FALSE +# :test_dependencies_generator: +# :executable: +# :arguments: [] +# :name: +# :optional: FALSE +# :release_compiler: +# :executable: +# :arguments: [] +# :name: +# :optional: FALSE +# :release_linker: +# :executable: +# :arguments: [] +# :name: +# :optional: FALSE +# :release_assembler: +# :executable: +# :arguments: [] +# :name: +# :optional: FALSE +# :release_dependencies_generator: +# :executable: +# :arguments: [] +# :name: +# :optional: FALSE diff --git a/conf/unit/bootloader_project_win32.yml b/conf/unit/bootloader_project_win32.yml new file mode 100644 index 00000000..c0591d8d --- /dev/null +++ b/conf/unit/bootloader_project_win32.yml @@ -0,0 +1,496 @@ +# ========================================================================= +# Ceedling - Test-Centered Build System for C +# ThrowTheSwitch.org +# Copyright (c) 2010-24 Mike Karlesky, Mark VanderVoord, & Greg Williams +# SPDX-License-Identifier: MIT +# ========================================================================= + +--- +############################################################################### +# Note: # +# This file is based on the 'project.yml' file created by # +# 'ceedling new --local tmp', so that upgrading is as simple as possible # +# by creating the smallest possible diff. On the other hand this leads to # +# some configuration options that are just commented out, as they are not # +# needed. # +############################################################################### +# Important: # +# Paths must be given as seen from the build variant root directory # +############################################################################### +:project: + # how to use ceedling. If you're not sure, leave this as `gem` and `?` + :which_ceedling: ../../tools/vendor/ceedling + :ceedling_version: 1.0.0 + + # optional features. If you don't need them, keep them turned off for performance + :use_mocks: TRUE + :use_exceptions: TRUE + :use_test_preprocessor: :all + :use_backtrace: :gdb + :use_auxiliary_dependencies: TRUE + :use_decorators: :auto #Decorate Ceedling's output text. Your options are :auto, :all, or :none + + # tweak the way ceedling handles automatic tasks + :build_root: . + :test_file_prefix: test_ + :default_tasks: + - test:all + + # performance options. If your tools start giving mysterious errors, consider + # dropping this to 1 to force single-tasking + :test_threads: 8 + :compile_threads: 8 + + # enable release build (more details in release_build section below) + :release_build: FALSE + +# Specify where to find mixins and any that should be enabled automatically +:mixins: + :enabled: [] + :load_paths: [] + +# further details to configure the way Ceedling handles test code +:test_build: + :use_assembly: FALSE + +# further details to configure the way Ceedling handles release code +#:release_build: +# :output: MyApp.out +# :use_assembly: FALSE +# :artifacts: [] + +# Plugins are optional Ceedling features which can be enabled. Ceedling supports +# a variety of plugins which may effect the way things are compiled, reported, +# or may provide new command options. Refer to the readme in each plugin for +# details on how to use it. +:plugins: + :load_paths: + - ../../tools/vendor/ceedling/plugins + :enabled: + #- beep # beeps when finished, so you don't waste time waiting for ceedling + - module_generator # handy for quickly creating source, header, and test templates + - gcov # test coverage using gcov. Requires gcc, gcov, and a coverage analyzer like gcovr + #- bullseye # test coverage using bullseye. Requires bullseye for your platform + #- command_hooks # write custom actions to be called at different points during the build process + #- compile_commands_json_db # generate a compile_commands.json file + #- dependencies # automatically fetch 3rd party libraries, etc. + #- subprojects # managing builds and test for static libraries + #- fake_function_framework # use FFF instead of CMock + + # Report options (You'll want to choose one stdout option, but may choose multiple stored options if desired) + #- report_build_warnings_log + #- report_tests_gtestlike_stdout + #- report_tests_ide_stdout + - report_tests_log_factory + - report_tests_pretty_stdout + - report_tests_raw_output_log + #- report_tests_teamcity_stdout + +# Specify which reports you'd like from the log factory +:report_tests_log_factory: + :reports: + - json + - junit + - cppunit + - html + +# override the default extensions for your system and toolchain +:extension: + #:header: .h + #:source: .c + #:assembly: .s + #:dependencies: .d + #:object: .o + :executable: .out + #:testpass: .pass + #:testfail: .fail + #:subprojects: .a + +# This is where Ceedling should look for your source and test files. +# see documentation for the many options for specifying this. +:paths: + :test: + - +:./../../tests/unit/bootloader/** + # we do not need the main directory as there are no meaning full test + # sources or headers in it. + - -:./../../tests/unit/bootloader + + # helper headers that shall not be included + - -:./../../tests/unit/bootloader/main/helper + - -:./../../tests/unit/support + :source: + - +:./../../src/bootloader/** + :include: + - +:./include/** # HALCoGen + - +:./../../src/bootloader/main/include + :support: + - +:./../../tests/unit/support/** + :libraries: [] + +# You can even specify specific files to add or remove from your test +# and release collections. Usually it's better to use paths and let +# Ceedling do the work for you! +:files: + :test: [] + :source: [] + +# Compilation symbols to be injected into builds +# See documentation for advanced options: +# - Test name matchers for different symbols per test executable build +# - Referencing symbols in multiple lists using advanced YAML +# - Specifiying symbols used during test preprocessing +:defines: + :test: &config-test-defines + :*: &match-all-tests + - UNITY_UNIT_TEST + - FAS_ASSERT_LEVEL=2 + - UNITY_INCLUDE_EXEC_TIME + :/test_boot_helper.c/: + - UNITY_UNIT_TEST_BOOT_HELPER + :fstartup.c: + # See file-level doxygen comment in + # 'tests/unit/bootloader/main/test_fstartup.c' for more details. + # We need to NOT include the 'HL_reg_esm.h' file, in order to fake the + # registers, and this is the define guard of this file. + # This only works in combination with other flags and the + # helper header 'mock_esm.h'. + - __REG_ESM_H__ + :preprocess: + <<: *config-test-defines + :*: + - *match-all-tests + +# :release: [] +# +# # Enable to inject name of a test as a unique compilation symbol into its respective executable build. +# :use_test_definition: FALSE + +# Configure additional command line flags provided to tools used in each build step +:flags: + # :release: + # :compile: # Add '-Wall' and '--02' to compilation of all files in release target + # - -Wall + # - --O2 + :test: + :compile: + :*: + - -std=c11 + - -Wextra + - -Wall + - -pedantic + - -include + - test_ignore_list.h + - -Werror + :fstartup.c: + # See file-level doxygen comment in + # 'tests/unit/bootloader/main/test_fstartup.c' for more details + # HALCoGen creates an invalid header 'HL_errata_SSWF021_45.h', as it + # does not include a declaration of 'uint32' but uses it. uint32 is + # defined in 'HL_hal_stdtypes.h'. + # 'HL_esm.c' uses 'config_value_type_t', but does not include + # 'HL_sys_common.h' + - -include + - HL_hal_stdtypes.h + - -include + - HL_sys_common.h + - -include + - mock_esm.h + :.*test_flash.c: + # FapiFunctions.h does not include + # - 'Types.h' but uses its type 'Fapi_StatusType' + # - 'stdint.h' but uses its types 'uintXX_t' + - -include + - Types.h + - -include + - stdint.h + +# Configuration Options specific to CMock. See CMock docs for details +:cmock: + # Core conffiguration + :includes: [] + :plugins: # What plugins should be used by CMock? + - :ignore + - :callback + - :ignore_arg + - :return_thru_ptr + :verbosity: 2 # the options being 0 errors only, 1 warnings and errors, 2 normal info, 3 verbose + :when_no_prototypes: :warn # the options being :ignore, :warn, or :erro + + # File configuration + :mock_path: "./mocks" # Subdirectory to store mocks when generated (default: mocks) + :skeleton_path: "" # Subdirectory to store stubs when generated (default: '') + :mock_prefix: "Mock" # Prefix to append to filenames for mocks + :mock_suffix: "" # Suffix to append to filenames for mocks + + # Parser configuration + :strippables: [] + :attributes: + - __ramfunc + - __irq + - __fiq + - register + - extern + :c_calling_conventions: + - __stdcall + - __cdecl + - __fastcall + :treat_externs: :include # the options being :include or :exclude + :treat_inlines: :exclude # the options being :include or :exclude + + # Type handling configuration + #:unity_helper_path: '' # specify a string of where to find a unity_helper.h file to discover custom type assertions + :treat_as: # optionally add additional types to map custom types + uint8: HEX8 + uint16: HEX16 + uint32: UINT32 + int8: INT8 + bool: UINT8 + #:treat_as_array: {} # hint to cmock that these types are pointers to something + #:treat_as_void: [] # hint to cmock that these types are actually aliases of void + :memcmp_if_unknown: true # allow cmock to use the memory comparison assertions for unknown types + :when_ptr: :compare_data # hint to cmock how to handle pointers in general, the options being :compare_ptr, :compare_data, or :smart + + # Mock generation configuration + :weak: "" # Symbol to use to declare weak functions + :enforce_strict_ordering: true # Do we want cmock to enforce ordering of all function calls? + :fail_on_unexpected_calls: true # Do we want cmock to fail when it encounters a function call that wasn't expected? + :callback_include_count: true # Do we want cmock to include the number of calls to this callback, when using callbacks? + :callback_after_arg_check: false # Do we want cmock to enforce an argument check first when using a callback? + #:includes: [] # You can add additional includes here, or specify the location with the options below + #:includes_h_pre_orig_header: [] + #:includes_h_post_orig_header: [] + #:includes_c_pre_header: [] + #:includes_c_post_header: [] + #:array_size_type: [] # Specify a type or types that should be used for array lengths + #:array_size_name: 'size|len' # Specify a name or names that CMock might automatically recognize as the length of an array + :exclude_setjmp_h: false # Don't use setjmp when running CMock. Note that this might result in late reporting or out-of-order failures. + +# Configuration options specific to Unity. +#:unity: +# :defines: +# - UNITY_EXCLUDE_FLOAT + +# Configuration options specify to Unity's test runner generator +:test_runner: + :cmdline_args: true + +# You can optionally have ceedling create environment variables for you before +# performing the rest of its tasks. +:environment: [] + +# LIBRARIES +# These libraries are automatically injected into the build process. Those specified as +# common will be used in all types of builds. Otherwise, libraries can be injected in just +# tests or releases. These options are MERGED with the options in supplemental yaml files. +:libraries: + :placement: :end + :flag: "-l${1}" + :path_flag: "-L ${1}" + :system: [] # for example, you might list 'm' to grab the math library + :test: [] + :release: [] + +################################################################ +# PLUGIN CONFIGURATION +################################################################ + +# Add -gcov to the plugins list to make sure of the gcov plugin +# You will need to have gcov and gcovr both installed to make it work. +# For more information on these options, see docs in plugins/gcov +:gcov: + :utilities: + - gcovr # Use gcovr to create the specified reports (default). + #- ReportGenerator # Use ReportGenerator to create the specified reports. + :reports: # Specify one or more reports to generate. + # Make an HTML summary report. + - HtmlBasic + - HtmlDetailed + - Text + - Cobertura + # - SonarQube + # - JSON + # - HtmlInline + # - HtmlInlineAzure + # - HtmlInlineAzureDark + # - HtmlChart + # - MHtml + # - Badges + # - CsvSummary + # - Latex + # - LatexSummary + # - PngChart + # - TeamCitySummary + # - lcov + # - Xml + # - XmlSummary + :gcovr: + :report_root: "../../" + :report_exclude: ".*vendor.*|.*/build.*|.*test.*|.*tests.*|.*lib.*|.*Test.*|.*src.hal.*" + :exclude_directories: ".*tests.*|.*/build.*" + :sort_percentage: TRUE + :sort_uncovered: FALSE + :print_summary: TRUE + :threads: 8 + :keep: FALSE + :html_artifact_filename: GcovCoverageResults.html + :html_title: foxBMS 2 Bootloader Test Coverage Report + :html_medium_threshold: 75 + :html_high_threshold: 90 + :html_absolute_paths: FALSE + :html_encoding: UTF-8 + :merge_mode_function: merge-use-line-min +# :module_generator: +# :project_root: ./ +# :source_root: source/ +# :inc_root: includes/ +# :test_root: tests/ +# :naming: :snake #options: :bumpy, :camel, :caps, or :snake +# :includes: +# :tst: [] +# :src: [] +# :boilerplates: +# :src: "" +# :inc: "" +# :tst: "" + +# :dependencies: +# :libraries: +# - :name: WolfSSL +# :source_path: third_party/wolfssl/source +# :build_path: third_party/wolfssl/build +# :artifact_path: third_party/wolfssl/install +# :fetch: +# :method: :zip +# :source: \\shared_drive\third_party_libs\wolfssl\wolfssl-4.2.0.zip +# :environment: +# - CFLAGS+=-DWOLFSSL_DTLS_ALLOW_FUTURE +# :build: +# - "autoreconf -i" +# - "./configure --enable-tls13 --enable-singlethreaded" +# - make +# - make install +# :artifacts: +# :static_libraries: +# - lib/wolfssl.a +# :dynamic_libraries: +# - lib/wolfssl.so +# :includes: +# - include/** + +# :subprojects: +# :paths: +# - :name: libprojectA +# :source: +# - ./subprojectA/source +# :include: +# - ./subprojectA/include +# :build_root: ./subprojectA/build +# :defines: [] + +# :command_hooks: +# :pre_mock_preprocess: +# :post_mock_preprocess: +# :pre_test_preprocess: +# :post_test_preprocess: +# :pre_mock_generate: +# :post_mock_generate: +# :pre_runner_generate: +# :post_runner_generate: +# :pre_compile_execute: +# :post_compile_execute: +# :pre_link_execute: +# :post_link_execute: +# :pre_test_fixture_execute: +# :post_test_fixture_execute: +# :pre_test: +# :post_test: +# :pre_release: +# :post_release: +# :pre_build: +# :post_build: +# :post_error: + +################################################################ +# TOOLCHAIN CONFIGURATION +################################################################ + +#:tools: +# Ceedling defaults to using gcc for compiling, linking, etc. +# As [:tools] is blank, gcc will be used (so long as it's in your system path) +# See documentation to configure a given toolchain for use +:tools: + # :test_compiler: + # :executable: + # :arguments: [] + # :name: + # :optional: FALSE + :test_linker: + :executable: gcc + :arguments: + - ${1} + - ${5} + - -o ${2} + - ${4} + - -flto + :gcov_linker: + :executable: gcc + :arguments: + - ${1} + - ${5} + - -o ${2} + - ${4} + - -lgcov + - --coverage + - -flto +# :name: +# :optional: FALSE +# :test_assembler: +# :executable: +# :arguments: [] +# :name: +# :optional: FALSE +# :test_fixture: +# :executable: +# :arguments: [] +# :name: +# :optional: FALSE +# :test_includes_preprocessor: +# :executable: +# :arguments: [] +# :name: +# :optional: FALSE +# :test_file_preprocessor: +# :executable: +# :arguments: [] +# :name: +# :optional: FALSE +# :test_file_preprocessor_directives: +# :executable: +# :arguments: [] +# :name: +# :optional: FALSE +# :test_dependencies_generator: +# :executable: +# :arguments: [] +# :name: +# :optional: FALSE +# :release_compiler: +# :executable: +# :arguments: [] +# :name: +# :optional: FALSE +# :release_linker: +# :executable: +# :arguments: [] +# :name: +# :optional: FALSE +# :release_assembler: +# :executable: +# :arguments: [] +# :name: +# :optional: FALSE +# :release_dependencies_generator: +# :executable: +# :arguments: [] +# :name: +# :optional: FALSE diff --git a/docs/_templates/fox-cli-class-template.rst b/docs/_templates/fox-cli-class-template.rst new file mode 100644 index 00000000..c465769c --- /dev/null +++ b/docs/_templates/fox-cli-class-template.rst @@ -0,0 +1,35 @@ +{# https://www.sphinx-doc.org/en/master/usage/extensions/autosummary.html#customizing-templates #} +{# defaults are described in /Lib/site-packages/sphinx/ext/autosummary/templates/autosummary #} + +{{- fullname | escape | underline}} + +.. currentmodule:: {{ module }} + +.. autoclass:: {{ objname }} + :members: + :show-inheritance: + :inherited-members: + + {% block methods %} + .. automethod:: __init__ + + {% if methods %} + .. rubric:: {{ _('Methods') }} + + .. autosummary:: + {% for item in methods %} + ~{{ name }}.{{ item }} + {%- endfor %} + {% endif %} + {% endblock %} + + {% block attributes %} + {% if attributes %} + .. rubric:: {{ _('Attributes') }} + + .. autosummary:: + {% for item in attributes %} + ~{{ name }}.{{ item }} + {%- endfor %} + {% endif %} + {% endblock %} diff --git a/docs/_templates/fox-cli-module-template.rst b/docs/_templates/fox-cli-module-template.rst new file mode 100644 index 00000000..556b19e3 --- /dev/null +++ b/docs/_templates/fox-cli-module-template.rst @@ -0,0 +1,68 @@ +{# https://www.sphinx-doc.org/en/master/usage/extensions/autosummary.html#customizing-templates #} +{# defaults are described in /Lib/site-packages/sphinx/ext/autosummary/templates/autosummary #} + +{{- fullname | escape | underline}} + +.. automodule:: {{ fullname }} + + {% block attributes %} + {% if attributes %} + .. rubric:: {{ _('Module Attributes') }} + + .. autosummary:: + :toctree: + {% for item in attributes %} + {{ item }} + {%- endfor %} + {% endif %} + {% endblock %} + + {% block functions %} + {% if functions %} + .. rubric:: {{ _('Functions') }} + + .. autosummary:: + :toctree: + {% for item in functions %} + {{ item }} + {%- endfor %} + {% endif %} + {% endblock %} + + {% block classes %} + {% if classes %} + .. rubric:: {{ _('Classes') }} + + .. autosummary:: + :toctree: + {% for item in classes %} + {{ item }} + {%- endfor %} + {% endif %} + {% endblock %} + + {% block exceptions %} + {% if exceptions %} + .. rubric:: {{ _('Exceptions') }} + + .. autosummary:: + :toctree: + {% for item in exceptions %} + {{ item }} + {%- endfor %} + {% endif %} + {% endblock %} + +{% block modules %} +{% if modules %} +.. rubric:: Modules + +.. autosummary:: + :toctree: + :template: fox-cli-module-template.rst + :recursive: +{% for item in modules %} + {{ item }} +{%- endfor %} +{% endif %} +{% endblock %} diff --git a/docs/conf.py b/docs/conf.py index 45dda62f..869c621d 100755 --- a/docs/conf.py +++ b/docs/conf.py @@ -42,18 +42,30 @@ import os import sys import time +import logging + +from pathlib import Path import sphinx_rtd_theme # noqa: F401 +logging.getLogger("can.pcan").setLevel(logging.CRITICAL) + + +ROOT = Path(__file__).resolve().parent.parent + + sys.path = [ os.path.abspath("."), + os.path.abspath(str(ROOT)), os.path.abspath("./../tools/waf3-2.0.22-1241519b19b496207abef1f72bbf61c2/waflib"), os.path.abspath("./../tools/.waf3-2.0.22-1241519b19b496207abef1f72bbf61c2/waflib"), os.path.abspath("./../tools/waf-tools"), - os.path.abspath("./../tests/scripts/waf-tools/f_hcg"), ] + sys.path -project = "foxBMS 2" +from cli.foxbms_version import __version__ # noqa: E402 + + +project = f"foxBMS 2 - {__version__}" copyright = ( "2010 - 2024, Fraunhofer-Gesellschaft zur Foerderung der angewandten " "Forschung e.V. All rights reserved. See license section for further " @@ -68,10 +80,11 @@ "sphinx.ext.intersphinx", "sphinx.ext.napoleon", "sphinxcontrib.bibtex", + "sphinx_tabs.tabs", ] -source_suffix = ".rst" +source_suffix = {".rst": "restructuredtext"} master_doc = "index" html_favicon = "_static/favicon.ico" @@ -114,6 +127,18 @@ html_theme_options = { "logo_only": False, - "display_version": True, "prev_next_buttons_location": "bottom", } +autosummary_generate = True + +sphinx_tabs_valid_builders = ["linkcheck"] + + +def create_doc_sources(app, config): + # documentation version must match foxBMS 2 version + with open("version_macro.txt", "w", encoding="utf-8") as f: + f.write(f".. |version_foxbms| replace:: ``{__version__}``") + + +def setup(app): + app.connect("config-inited", create_doc_sources) diff --git a/docs/developer-manual/style-guide/examples/c-004.c b/docs/developer-manual/style-guide/examples/c-004.c index 588ee7ce..7de0425e 100644 --- a/docs/developer-manual/style-guide/examples/c-004.c +++ b/docs/developer-manual/style-guide/examples/c-004.c @@ -43,8 +43,8 @@ * @file c-004.c * @author foxBMS Team * @date 2021-06-04 (date of creation) - * @updated 2024-08-08 (date of last update) - * @version v1.7.0 + * @updated 2024-12-20 (date of last update) + * @version v1.8.0 * @ingroup GUIDELINES * @prefix NONE * diff --git a/docs/developer-manual/style-guide/examples/c-005.c b/docs/developer-manual/style-guide/examples/c-005.c index 763c54dc..6568f92e 100644 --- a/docs/developer-manual/style-guide/examples/c-005.c +++ b/docs/developer-manual/style-guide/examples/c-005.c @@ -43,8 +43,8 @@ * @file c-005.c * @author foxBMS Team * @date 2023-01-13 (date of creation) - * @updated 2024-08-08 (date of last update) - * @version v1.7.0 + * @updated 2024-12-20 (date of last update) + * @version v1.8.0 * @ingroup GUIDELINES * @prefix NONE * diff --git a/docs/developer-manual/style-guide/examples/c-005.h b/docs/developer-manual/style-guide/examples/c-005.h index c4922f25..4fc41999 100644 --- a/docs/developer-manual/style-guide/examples/c-005.h +++ b/docs/developer-manual/style-guide/examples/c-005.h @@ -43,8 +43,8 @@ * @file c-005.h * @author foxBMS Team * @date 2023-01-13 (date of creation) - * @updated 2024-08-08 (date of last update) - * @version v1.7.0 + * @updated 2024-12-20 (date of last update) + * @version v1.8.0 * @ingroup GUIDELINES * @prefix NONE * diff --git a/docs/developer-manual/style-guide/examples/c-006-source.c b/docs/developer-manual/style-guide/examples/c-006-source.c index 026d5715..cdc22632 100644 --- a/docs/developer-manual/style-guide/examples/c-006-source.c +++ b/docs/developer-manual/style-guide/examples/c-006-source.c @@ -43,8 +43,8 @@ * @file c-006-source.c * @author foxBMS Team * @date 2021-06-04 (date of creation) - * @updated 2024-08-08 (date of last update) - * @version v1.7.0 + * @updated 2024-12-20 (date of last update) + * @version v1.8.0 * @ingroup GUIDELINES * @prefix NONE * diff --git a/docs/developer-manual/style-guide/examples/c-006-source.h b/docs/developer-manual/style-guide/examples/c-006-source.h index 724de9ae..932e5c1d 100644 --- a/docs/developer-manual/style-guide/examples/c-006-source.h +++ b/docs/developer-manual/style-guide/examples/c-006-source.h @@ -43,8 +43,8 @@ * @file c-006-source.h * @author foxBMS Team * @date 2021-06-04 (date of creation) - * @updated 2024-08-08 (date of last update) - * @version v1.7.0 + * @updated 2024-12-20 (date of last update) + * @version v1.8.0 * @ingroup GUIDELINES * @prefix NONE * diff --git a/docs/developer-manual/style-guide/examples/c-006-test.c b/docs/developer-manual/style-guide/examples/c-006-test.c index 3396e9ac..393860aa 100644 --- a/docs/developer-manual/style-guide/examples/c-006-test.c +++ b/docs/developer-manual/style-guide/examples/c-006-test.c @@ -43,8 +43,8 @@ * @file c-006-test.c * @author foxBMS Team * @date 2021-06-04 (date of creation) - * @updated 2024-08-08 (date of last update) - * @version v1.7.0 + * @updated 2024-12-20 (date of last update) + * @version v1.8.0 * @ingroup GUIDELINES * @prefix NONE * diff --git a/docs/developer-manual/style-guide/examples/c-006-test.h b/docs/developer-manual/style-guide/examples/c-006-test.h index 13fa8807..17cc64e0 100644 --- a/docs/developer-manual/style-guide/examples/c-006-test.h +++ b/docs/developer-manual/style-guide/examples/c-006-test.h @@ -43,8 +43,8 @@ * @file c-006-test.h * @author foxBMS Team * @date 2021-06-04 (date of creation) - * @updated 2024-08-08 (date of last update) - * @version v1.7.0 + * @updated 2024-12-20 (date of last update) + * @version v1.8.0 * @ingroup GUIDELINES * @prefix NONE * diff --git a/docs/developer-manual/style-guide/examples/c-007_abc.c b/docs/developer-manual/style-guide/examples/c-007_abc.c index a4aba2dc..7c846b12 100644 --- a/docs/developer-manual/style-guide/examples/c-007_abc.c +++ b/docs/developer-manual/style-guide/examples/c-007_abc.c @@ -43,8 +43,8 @@ * @file c-007_abc.c * @author foxBMS Team * @date 2021-06-04 (date of creation) - * @updated 2024-08-08 (date of last update) - * @version v1.7.0 + * @updated 2024-12-20 (date of last update) + * @version v1.8.0 * @ingroup GUIDELINES * @prefix NONE * diff --git a/docs/developer-manual/style-guide/examples/c-007_abc.h b/docs/developer-manual/style-guide/examples/c-007_abc.h index 7cda70e8..bce08f38 100644 --- a/docs/developer-manual/style-guide/examples/c-007_abc.h +++ b/docs/developer-manual/style-guide/examples/c-007_abc.h @@ -43,8 +43,8 @@ * @file c-007_abc.h * @author foxBMS Team * @date 2021-06-04 (date of creation) - * @updated 2024-08-08 (date of last update) - * @version v1.7.0 + * @updated 2024-12-20 (date of last update) + * @version v1.8.0 * @ingroup GUIDELINES * @prefix NONE * diff --git a/docs/developer-manual/style-guide/examples/c-007_abc_cfg.c b/docs/developer-manual/style-guide/examples/c-007_abc_cfg.c index c4f40e3f..197352b3 100644 --- a/docs/developer-manual/style-guide/examples/c-007_abc_cfg.c +++ b/docs/developer-manual/style-guide/examples/c-007_abc_cfg.c @@ -43,8 +43,8 @@ * @file c-007_abc_cfg.c * @author foxBMS Team * @date 2021-06-04 (date of creation) - * @updated 2024-08-08 (date of last update) - * @version v1.7.0 + * @updated 2024-12-20 (date of last update) + * @version v1.8.0 * @ingroup GUIDELINES * @prefix NONE * diff --git a/docs/developer-manual/style-guide/examples/c-007_abc_cfg.h b/docs/developer-manual/style-guide/examples/c-007_abc_cfg.h index 95300090..678e8694 100644 --- a/docs/developer-manual/style-guide/examples/c-007_abc_cfg.h +++ b/docs/developer-manual/style-guide/examples/c-007_abc_cfg.h @@ -43,8 +43,8 @@ * @file c-007_abc_cfg.h * @author foxBMS Team * @date 2021-06-04 (date of creation) - * @updated 2024-08-08 (date of last update) - * @version v1.7.0 + * @updated 2024-12-20 (date of last update) + * @version v1.8.0 * @ingroup GUIDELINES * @prefix NONE * diff --git a/docs/developer-manual/style-guide/examples/c-008.c b/docs/developer-manual/style-guide/examples/c-008.c index 5ea2a165..ffb90486 100644 --- a/docs/developer-manual/style-guide/examples/c-008.c +++ b/docs/developer-manual/style-guide/examples/c-008.c @@ -43,8 +43,8 @@ * @file c-008.c * @author foxBMS Team * @date 2021-06-04 (date of creation) - * @updated 2024-08-08 (date of last update) - * @version v1.7.0 + * @updated 2024-12-20 (date of last update) + * @version v1.8.0 * @ingroup GUIDELINES * @prefix NONE * diff --git a/docs/developer-manual/style-guide/examples/c-008.h b/docs/developer-manual/style-guide/examples/c-008.h index c8e4407b..3e802a0a 100644 --- a/docs/developer-manual/style-guide/examples/c-008.h +++ b/docs/developer-manual/style-guide/examples/c-008.h @@ -43,8 +43,8 @@ * @file c-008.h * @author foxBMS Team * @date 2021-06-04 (date of creation) - * @updated 2024-08-08 (date of last update) - * @version v1.7.0 + * @updated 2024-12-20 (date of last update) + * @version v1.8.0 * @ingroup GUIDELINES * @prefix NONE * diff --git a/docs/developer-manual/style-guide/examples/c-009.c b/docs/developer-manual/style-guide/examples/c-009.c index 42cb9aa7..9f003b24 100644 --- a/docs/developer-manual/style-guide/examples/c-009.c +++ b/docs/developer-manual/style-guide/examples/c-009.c @@ -43,8 +43,8 @@ * @file c-009.c * @author foxBMS Team * @date 2021-06-04 (date of creation) - * @updated 2024-08-08 (date of last update) - * @version v1.7.0 + * @updated 2024-12-20 (date of last update) + * @version v1.8.0 * @ingroup GUIDELINES * @prefix NONE * diff --git a/docs/developer-manual/style-guide/examples/c-011.c b/docs/developer-manual/style-guide/examples/c-011.c index 765f45c0..f6a35564 100644 --- a/docs/developer-manual/style-guide/examples/c-011.c +++ b/docs/developer-manual/style-guide/examples/c-011.c @@ -43,8 +43,8 @@ * @file c-011.c * @author foxBMS Team * @date 2021-06-04 (date of creation) - * @updated 2024-08-08 (date of last update) - * @version v1.7.0 + * @updated 2024-12-20 (date of last update) + * @version v1.8.0 * @ingroup GUIDELINES * @prefix NONE * diff --git a/docs/developer-manual/style-guide/examples/c-011.h b/docs/developer-manual/style-guide/examples/c-011.h index b7f5e960..33e486d2 100644 --- a/docs/developer-manual/style-guide/examples/c-011.h +++ b/docs/developer-manual/style-guide/examples/c-011.h @@ -43,8 +43,8 @@ * @file c-011.h * @author foxBMS Team * @date 2021-06-04 (date of creation) - * @updated 2024-08-08 (date of last update) - * @version v1.7.0 + * @updated 2024-12-20 (date of last update) + * @version v1.8.0 * @ingroup GUIDELINES * @prefix NONE * diff --git a/docs/developer-manual/style-guide/examples/c-012.c b/docs/developer-manual/style-guide/examples/c-012.c index bebe2dad..7bae01f7 100644 --- a/docs/developer-manual/style-guide/examples/c-012.c +++ b/docs/developer-manual/style-guide/examples/c-012.c @@ -43,8 +43,8 @@ * @file c-012.c * @author foxBMS Team * @date 2021-06-04 (date of creation) - * @updated 2024-08-08 (date of last update) - * @version v1.7.0 + * @updated 2024-12-20 (date of last update) + * @version v1.8.0 * @ingroup GUIDELINES * @prefix NONE * diff --git a/docs/developer-manual/style-guide/examples/c-013.c b/docs/developer-manual/style-guide/examples/c-013.c index 8fa136a0..9c3778e9 100644 --- a/docs/developer-manual/style-guide/examples/c-013.c +++ b/docs/developer-manual/style-guide/examples/c-013.c @@ -43,8 +43,8 @@ * @file c-013.c * @author foxBMS Team * @date 2021-06-04 (date of creation) - * @updated 2024-08-08 (date of last update) - * @version v1.7.0 + * @updated 2024-12-20 (date of last update) + * @version v1.8.0 * @ingroup GUIDELINES * @prefix NONE * diff --git a/docs/developer-manual/style-guide/examples/c-013.h b/docs/developer-manual/style-guide/examples/c-013.h index abde80f1..0ad99617 100644 --- a/docs/developer-manual/style-guide/examples/c-013.h +++ b/docs/developer-manual/style-guide/examples/c-013.h @@ -43,8 +43,8 @@ * @file c-013.h * @author foxBMS Team * @date 2023-01-13 (date of creation) - * @updated 2024-08-08 (date of last update) - * @version v1.7.0 + * @updated 2024-12-20 (date of last update) + * @version v1.8.0 * @ingroup GUIDELINES * @prefix NONE * diff --git a/docs/developer-manual/style-guide/examples/c-015.c b/docs/developer-manual/style-guide/examples/c-015.c index 69b8a896..bae8ec27 100644 --- a/docs/developer-manual/style-guide/examples/c-015.c +++ b/docs/developer-manual/style-guide/examples/c-015.c @@ -43,8 +43,8 @@ * @file c-015.c * @author foxBMS Team * @date 2021-06-04 (date of creation) - * @updated 2024-08-08 (date of last update) - * @version v1.7.0 + * @updated 2024-12-20 (date of last update) + * @version v1.8.0 * @ingroup GUIDELINES * @prefix ABC * diff --git a/docs/developer-manual/style-guide/examples/c-015.h b/docs/developer-manual/style-guide/examples/c-015.h index 45623425..53df838d 100644 --- a/docs/developer-manual/style-guide/examples/c-015.h +++ b/docs/developer-manual/style-guide/examples/c-015.h @@ -43,8 +43,8 @@ * @file c-015.h * @author foxBMS Team * @date 2021-06-04 (date of creation) - * @updated 2024-08-08 (date of last update) - * @version v1.7.0 + * @updated 2024-12-20 (date of last update) + * @version v1.8.0 * @ingroup GUIDELINES * @prefix ABC * diff --git a/docs/developer-manual/style-guide/examples/c-016.c b/docs/developer-manual/style-guide/examples/c-016.c index b904561b..311d9ab8 100644 --- a/docs/developer-manual/style-guide/examples/c-016.c +++ b/docs/developer-manual/style-guide/examples/c-016.c @@ -43,8 +43,8 @@ * @file c-016.c * @author foxBMS Team * @date 2021-06-04 (date of creation) - * @updated 2024-08-08 (date of last update) - * @version v1.7.0 + * @updated 2024-12-20 (date of last update) + * @version v1.8.0 * @ingroup GUIDELINES * @prefix ABC * diff --git a/docs/developer-manual/style-guide/examples/c-017.c b/docs/developer-manual/style-guide/examples/c-017.c index 2159f00a..125ab3a0 100644 --- a/docs/developer-manual/style-guide/examples/c-017.c +++ b/docs/developer-manual/style-guide/examples/c-017.c @@ -43,8 +43,8 @@ * @file c-017.c * @author foxBMS Team * @date 2021-06-04 (date of creation) - * @updated 2024-08-08 (date of last update) - * @version v1.7.0 + * @updated 2024-12-20 (date of last update) + * @version v1.8.0 * @ingroup GUIDELINES * @prefix ABC * diff --git a/docs/developer-manual/style-guide/examples/c-018.c b/docs/developer-manual/style-guide/examples/c-018.c index 31c75c08..04c4296b 100644 --- a/docs/developer-manual/style-guide/examples/c-018.c +++ b/docs/developer-manual/style-guide/examples/c-018.c @@ -43,8 +43,8 @@ * @file c-018.c * @author foxBMS Team * @date 2021-06-04 (date of creation) - * @updated 2024-08-08 (date of last update) - * @version v1.7.0 + * @updated 2024-12-20 (date of last update) + * @version v1.8.0 * @ingroup GUIDELINES * @prefix ABC * diff --git a/docs/developer-manual/style-guide/examples/c-019.c b/docs/developer-manual/style-guide/examples/c-019.c index 80fe1af3..2b317608 100644 --- a/docs/developer-manual/style-guide/examples/c-019.c +++ b/docs/developer-manual/style-guide/examples/c-019.c @@ -43,8 +43,8 @@ * @file c-019.c * @author foxBMS Team * @date 2021-06-04 (date of creation) - * @updated 2024-08-08 (date of last update) - * @version v1.7.0 + * @updated 2024-12-20 (date of last update) + * @version v1.8.0 * @ingroup GUIDELINES * @prefix ABC * diff --git a/docs/developer-manual/style-guide/examples/c-020.c b/docs/developer-manual/style-guide/examples/c-020.c index a3ebbbaa..5a31269d 100644 --- a/docs/developer-manual/style-guide/examples/c-020.c +++ b/docs/developer-manual/style-guide/examples/c-020.c @@ -43,8 +43,8 @@ * @file c-020.c * @author foxBMS Team * @date 2021-06-04 (date of creation) - * @updated 2024-08-08 (date of last update) - * @version v1.7.0 + * @updated 2024-12-20 (date of last update) + * @version v1.8.0 * @ingroup GUIDELINES * @prefix ABC * diff --git a/docs/developer-manual/style-guide/examples/c-021.c b/docs/developer-manual/style-guide/examples/c-021.c index d11f47ed..dccb7e54 100644 --- a/docs/developer-manual/style-guide/examples/c-021.c +++ b/docs/developer-manual/style-guide/examples/c-021.c @@ -43,8 +43,8 @@ * @file c-021.c * @author foxBMS Team * @date 2021-06-04 (date of creation) - * @updated 2024-08-08 (date of last update) - * @version v1.7.0 + * @updated 2024-12-20 (date of last update) + * @version v1.8.0 * @ingroup GUIDELINES * @prefix ABC * diff --git a/docs/developer-manual/style-guide/examples/c-022.c b/docs/developer-manual/style-guide/examples/c-022.c index 91a9be74..3ee63fda 100644 --- a/docs/developer-manual/style-guide/examples/c-022.c +++ b/docs/developer-manual/style-guide/examples/c-022.c @@ -43,8 +43,8 @@ * @file c-022.c * @author foxBMS Team * @date 2021-06-04 (date of creation) - * @updated 2024-08-08 (date of last update) - * @version v1.7.0 + * @updated 2024-12-20 (date of last update) + * @version v1.8.0 * @ingroup GUIDELINES * @prefix ABC * diff --git a/docs/developer-manual/style-guide/examples/c-023.c b/docs/developer-manual/style-guide/examples/c-023.c index eb92fa47..5cd3dfc2 100644 --- a/docs/developer-manual/style-guide/examples/c-023.c +++ b/docs/developer-manual/style-guide/examples/c-023.c @@ -43,8 +43,8 @@ * @file c-023.c * @author foxBMS Team * @date 2021-06-04 (date of creation) - * @updated 2024-08-08 (date of last update) - * @version v1.7.0 + * @updated 2024-12-20 (date of last update) + * @version v1.8.0 * @ingroup GUIDELINES * @prefix ABC * diff --git a/docs/developer-manual/style-guide/examples/c-024.c b/docs/developer-manual/style-guide/examples/c-024.c index 2b8879ca..54fa8973 100644 --- a/docs/developer-manual/style-guide/examples/c-024.c +++ b/docs/developer-manual/style-guide/examples/c-024.c @@ -43,8 +43,8 @@ * @file c-024.c * @author foxBMS Team * @date 2021-06-04 (date of creation) - * @updated 2024-08-08 (date of last update) - * @version v1.7.0 + * @updated 2024-12-20 (date of last update) + * @version v1.8.0 * @ingroup GUIDELINES * @prefix ABC * diff --git a/docs/developer-manual/style-guide/examples/c-025.c b/docs/developer-manual/style-guide/examples/c-025.c index fbc6b309..5dd97f4a 100644 --- a/docs/developer-manual/style-guide/examples/c-025.c +++ b/docs/developer-manual/style-guide/examples/c-025.c @@ -43,8 +43,8 @@ * @file c-025.c * @author foxBMS Team * @date 2021-06-04 (date of creation) - * @updated 2024-08-08 (date of last update) - * @version v1.7.0 + * @updated 2024-12-20 (date of last update) + * @version v1.8.0 * @ingroup GUIDELINES * @prefix ABC * diff --git a/docs/developer-manual/style-guide/examples/c-026.c b/docs/developer-manual/style-guide/examples/c-026.c index 17728d96..2fb4883f 100644 --- a/docs/developer-manual/style-guide/examples/c-026.c +++ b/docs/developer-manual/style-guide/examples/c-026.c @@ -43,8 +43,8 @@ * @file c-026.c * @author foxBMS Team * @date 2021-06-04 (date of creation) - * @updated 2024-08-08 (date of last update) - * @version v1.7.0 + * @updated 2024-12-20 (date of last update) + * @version v1.8.0 * @ingroup GUIDELINES * @prefix ABC * diff --git a/docs/developer-manual/style-guide/examples/c-027.c b/docs/developer-manual/style-guide/examples/c-027.c index 87bcd3bd..2bf29762 100644 --- a/docs/developer-manual/style-guide/examples/c-027.c +++ b/docs/developer-manual/style-guide/examples/c-027.c @@ -43,8 +43,8 @@ * @file c-027.c * @author foxBMS Team * @date 2021-06-04 (date of creation) - * @updated 2024-08-08 (date of last update) - * @version v1.7.0 + * @updated 2024-12-20 (date of last update) + * @version v1.8.0 * @ingroup GUIDELINES * @prefix ABC * diff --git a/docs/developer-manual/style-guide/examples/c-028-battery-defines.c b/docs/developer-manual/style-guide/examples/c-028-battery-defines.c index 173a0b93..fa188871 100644 --- a/docs/developer-manual/style-guide/examples/c-028-battery-defines.c +++ b/docs/developer-manual/style-guide/examples/c-028-battery-defines.c @@ -43,8 +43,8 @@ * @file c-028-battery-defines.c * @author foxBMS Team * @date 2021-06-04 (date of creation) - * @updated 2024-08-08 (date of last update) - * @version v1.7.0 + * @updated 2024-12-20 (date of last update) + * @version v1.8.0 * @ingroup GUIDELINES * @prefix ABC * diff --git a/docs/developer-manual/style-guide/examples/c-028.c b/docs/developer-manual/style-guide/examples/c-028.c index 7db99aed..6f5bf2ae 100644 --- a/docs/developer-manual/style-guide/examples/c-028.c +++ b/docs/developer-manual/style-guide/examples/c-028.c @@ -43,8 +43,8 @@ * @file c-028.c * @author foxBMS Team * @date 2021-06-04 (date of creation) - * @updated 2024-08-08 (date of last update) - * @version v1.7.0 + * @updated 2024-12-20 (date of last update) + * @version v1.8.0 * @ingroup GUIDELINES * @prefix ABC * diff --git a/docs/developer-manual/style-guide/examples/wscript b/docs/developer-manual/style-guide/examples/wscript index 3085f5d3..b89cd4ed 100755 --- a/docs/developer-manual/style-guide/examples/wscript +++ b/docs/developer-manual/style-guide/examples/wscript @@ -47,7 +47,6 @@ This build script is not meant to be reused! """ import collections -import os def build(bld): @@ -72,43 +71,17 @@ def build(bld): bld.add_group() includes = [ ".", - os.path.join("..", "..", "..", "..", "src", "app", "main", "include"), + "../../../../src/app/main/include", ] includes_freertos = [ - os.path.join("..", "..", "..", "..", "src", "os", "freertos", "include"), - os.path.join( - "..", - "..", - "..", - "..", - "src", - "os", - "freertos", - "portable", - "ccs", - "arm_cortex-r5", - ), + "../../../../src/os/freertos/include", + "../../../../src/os/freertos/portable/ccs/arm_cortex-r5", ] includes_c_028 = includes + [ - bld.path.find_node( - os.path.join("..", "..", "..", "..", "src", "app", "application", "config") - ) + bld.path.find_node("../../../../src/app/application/config") ] includes_c_006 = includes + [ - bld.path.find_node( - os.path.join( - "..", - "..", - "..", - "..", - "tools", - "vendor", - "ceedling", - "vendor", - "unity", - "src", - ) - ) + bld.path.find_node("../../../../tools/vendor/ceedling/vendor/unity/src") ] cflags = ["--c11"] Example = collections.namedtuple("Example", ["source", "includes", "cflags"]) diff --git a/docs/developer-manual/style-guide/guidelines_c.rst b/docs/developer-manual/style-guide/guidelines_c.rst index ae43f0d7..e415876b 100644 --- a/docs/developer-manual/style-guide/guidelines_c.rst +++ b/docs/developer-manual/style-guide/guidelines_c.rst @@ -34,7 +34,8 @@ Using VS Code files are automatically saved correctly (see .. warning:: The style of third party sources (generated HAL sources in - ``build/bin/src/hal/**`` and ``src/os``) should not be changed. + ``build/app_embedded/src/app/hal/**`` and ``src/os``) should not be + changed. To save without reformatting use :kbd:`Ctrl-K + Ctrl-Shift-S`. The following list shows more detailed rules for |foxbms|. @@ -958,8 +959,8 @@ General note and common mistakes (``C:030``) For both, *camel Case* and *Pascal Case*, the general rules of the English language apply. -This means that the correct version for a variable about the cell voltage is -``abc_cellVoltage`` (**not** ``abc_cellvoltage``). +This means that the correct version for a variable about the cell voltage +is ``abc_cellVoltage`` (**not** ``abc_cellvoltage``). .. _rule_c_formatting: diff --git a/docs/developer-manual/style-guide/state-machine-example/state-machine.c b/docs/developer-manual/style-guide/state-machine-example/state-machine.c index 0e4849b1..f4dd0f84 100644 --- a/docs/developer-manual/style-guide/state-machine-example/state-machine.c +++ b/docs/developer-manual/style-guide/state-machine-example/state-machine.c @@ -43,8 +43,8 @@ * @file state-machine.c * @author foxBMS Team * @date 2020-10-29 (date of creation) - * @updated 2024-08-08 (date of last update) - * @version v1.7.0 + * @updated 2024-12-20 (date of last update) + * @version v1.8.0 * @ingroup STATE_MACHINE * @prefix EG * diff --git a/docs/developer-manual/style-guide/state-machine-example/state-machine.h b/docs/developer-manual/style-guide/state-machine-example/state-machine.h index cc155627..510c5e81 100644 --- a/docs/developer-manual/style-guide/state-machine-example/state-machine.h +++ b/docs/developer-manual/style-guide/state-machine-example/state-machine.h @@ -43,8 +43,8 @@ * @file state-machine.h * @author foxBMS Team * @date 2020-10-29 (date of creation) - * @updated 2024-08-08 (date of last update) - * @version v1.7.0 + * @updated 2024-12-20 (date of last update) + * @version v1.8.0 * @ingroup STATE_MACHINE * @prefix EG * diff --git a/docs/doxygen_src.conf.in b/docs/doxygen.conf.in similarity index 99% rename from docs/doxygen_src.conf.in rename to docs/doxygen.conf.in index 071f5292..7168c961 100644 --- a/docs/doxygen_src.conf.in +++ b/docs/doxygen.conf.in @@ -2409,7 +2409,7 @@ INCLUDE_FILE_PATTERNS = # recursively expanded use the := operator instead of the = operator. # This tag requires that the tag ENABLE_PREPROCESSING is set to YES. -PREDEFINED = +PREDEFINED = @PREDEFINED@ # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this # tag can be used to specify a list of macro names that should be expanded. The diff --git a/docs/doxygen_tests.conf.in b/docs/doxygen_tests.conf.in deleted file mode 100644 index 9d3bd17d..00000000 --- a/docs/doxygen_tests.conf.in +++ /dev/null @@ -1,2845 +0,0 @@ -# Doxyfile 1.11.0 - -# This file describes the settings to be used by the documentation system -# doxygen (www.doxygen.org) for a project. -# -# All text after a double hash (##) is considered a comment and is placed in -# front of the TAG it is preceding. -# -# All text after a single hash (#) is considered a comment and will be ignored. -# The format is: -# TAG = value [value, ...] -# For lists, items can also be appended using: -# TAG += value [value, ...] -# Values that contain spaces should be placed between quotes (\" \"). -# -# Note: -# -# Use doxygen to compare the used configuration file with the template -# configuration file: -# doxygen -x [configFile] -# Use doxygen to compare the used configuration file with the template -# configuration file without replacing the environment variables or CMake type -# replacement variables: -# doxygen -x_noenv [configFile] - -#--------------------------------------------------------------------------- -# Project related configuration options -#--------------------------------------------------------------------------- - -# This tag specifies the encoding used for all characters in the configuration -# file that follow. The default is UTF-8 which is also the encoding used for all -# text before the first occurrence of this tag. Doxygen uses libiconv (or the -# iconv built into libc) for the transcoding. See -# https://www.gnu.org/software/libiconv/ for the list of possible encodings. -# The default value is: UTF-8. - -DOXYFILE_ENCODING = UTF-8 - -# The PROJECT_NAME tag is a single word (or a sequence of words surrounded by -# double-quotes, unless you are using Doxywizard) that should identify the -# project for which the documentation is generated. This name is used in the -# title of most generated pages and in a few other places. -# The default value is: My Project. - -PROJECT_NAME = @PROJECT_NAME@ - -# The PROJECT_NUMBER tag can be used to enter a project or revision number. This -# could be handy for archiving the generated documentation or if some version -# control system is used. - -PROJECT_NUMBER = @PROJECT_NUMBER@ - -# Using the PROJECT_BRIEF tag one can provide an optional one line description -# for a project that appears at the top of each page and should give viewer a -# quick idea about the purpose of the project. Keep the description short. - -PROJECT_BRIEF = @PROJECT_BRIEF@ - -# With the PROJECT_LOGO tag one can specify a logo or an icon that is included -# in the documentation. The maximum height of the logo should not exceed 55 -# pixels and the maximum width should not exceed 200 pixels. Doxygen will copy -# the logo to the output directory. - -PROJECT_LOGO = @PROJECT_LOGO@ - -# With the PROJECT_ICON tag one can specify an icon that is included in the tabs -# when the HTML document is shown. Doxygen will copy the logo to the output -# directory. - -PROJECT_ICON = - -# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) path -# into which the generated documentation will be written. If a relative path is -# entered, it will be relative to the location where doxygen was started. If -# left blank the current directory will be used. - -OUTPUT_DIRECTORY = @OUTPUT_DIRECTORY@ - -# If the CREATE_SUBDIRS tag is set to YES then doxygen will create up to 4096 -# sub-directories (in 2 levels) under the output directory of each output format -# and will distribute the generated files over these directories. Enabling this -# option can be useful when feeding doxygen a huge amount of source files, where -# putting all generated files in the same directory would otherwise causes -# performance problems for the file system. Adapt CREATE_SUBDIRS_LEVEL to -# control the number of sub-directories. -# The default value is: NO. - -CREATE_SUBDIRS = NO - -# Controls the number of sub-directories that will be created when -# CREATE_SUBDIRS tag is set to YES. Level 0 represents 16 directories, and every -# level increment doubles the number of directories, resulting in 4096 -# directories at level 8 which is the default and also the maximum value. The -# sub-directories are organized in 2 levels, the first level always has a fixed -# number of 16 directories. -# Minimum value: 0, maximum value: 8, default value: 8. -# This tag requires that the tag CREATE_SUBDIRS is set to YES. - -CREATE_SUBDIRS_LEVEL = 8 - -# If the ALLOW_UNICODE_NAMES tag is set to YES, doxygen will allow non-ASCII -# characters to appear in the names of generated files. If set to NO, non-ASCII -# characters will be escaped, for example _xE3_x81_x84 will be used for Unicode -# U+3044. -# The default value is: NO. - -ALLOW_UNICODE_NAMES = NO - -# The OUTPUT_LANGUAGE tag is used to specify the language in which all -# documentation generated by doxygen is written. Doxygen will use this -# information to generate all constant output in the proper language. -# Possible values are: Afrikaans, Arabic, Armenian, Brazilian, Bulgarian, -# Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish, Dutch, English -# (United States), Esperanto, Farsi (Persian), Finnish, French, German, Greek, -# Hindi, Hungarian, Indonesian, Italian, Japanese, Japanese-en (Japanese with -# English messages), Korean, Korean-en (Korean with English messages), Latvian, -# Lithuanian, Macedonian, Norwegian, Persian (Farsi), Polish, Portuguese, -# Romanian, Russian, Serbian, Serbian-Cyrillic, Slovak, Slovene, Spanish, -# Swedish, Turkish, Ukrainian and Vietnamese. -# The default value is: English. - -OUTPUT_LANGUAGE = English - -# If the BRIEF_MEMBER_DESC tag is set to YES, doxygen will include brief member -# descriptions after the members that are listed in the file and class -# documentation (similar to Javadoc). Set to NO to disable this. -# The default value is: YES. - -BRIEF_MEMBER_DESC = YES - -# If the REPEAT_BRIEF tag is set to YES, doxygen will prepend the brief -# description of a member or function before the detailed description -# -# Note: If both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the -# brief descriptions will be completely suppressed. -# The default value is: YES. - -REPEAT_BRIEF = YES - -# This tag implements a quasi-intelligent brief description abbreviator that is -# used to form the text in various listings. Each string in this list, if found -# as the leading text of the brief description, will be stripped from the text -# and the result, after processing the whole list, is used as the annotated -# text. Otherwise, the brief description is used as-is. If left blank, the -# following values are used ($name is automatically replaced with the name of -# the entity):The $name class, The $name widget, The $name file, is, provides, -# specifies, contains, represents, a, an and the. - -ABBREVIATE_BRIEF = - -# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then -# doxygen will generate a detailed section even if there is only a brief -# description. -# The default value is: NO. - -ALWAYS_DETAILED_SEC = NO - -# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all -# inherited members of a class in the documentation of that class as if those -# members were ordinary class members. Constructors, destructors and assignment -# operators of the base classes will not be shown. -# The default value is: NO. - -INLINE_INHERITED_MEMB = NO - -# If the FULL_PATH_NAMES tag is set to YES, doxygen will prepend the full path -# before files name in the file list and in the header files. If set to NO the -# shortest path that makes the file name unique will be used -# The default value is: YES. - -FULL_PATH_NAMES = NO - -# The STRIP_FROM_PATH tag can be used to strip a user-defined part of the path. -# Stripping is only done if one of the specified strings matches the left-hand -# part of the path. The tag can be used to show relative paths in the file list. -# If left blank the directory from which doxygen is run is used as the path to -# strip. -# -# Note that you can specify absolute paths here, but also relative paths, which -# will be relative from the directory where doxygen is started. -# This tag requires that the tag FULL_PATH_NAMES is set to YES. - -STRIP_FROM_PATH = - -# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of the -# path mentioned in the documentation of a class, which tells the reader which -# header file to include in order to use a class. If left blank only the name of -# the header file containing the class definition is used. Otherwise one should -# specify the list of include paths that are normally passed to the compiler -# using the -I flag. - -STRIP_FROM_INC_PATH = - -# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter (but -# less readable) file names. This can be useful is your file systems doesn't -# support long names like on DOS, Mac, or CD-ROM. -# The default value is: NO. - -SHORT_NAMES = NO - -# If the JAVADOC_AUTOBRIEF tag is set to YES then doxygen will interpret the -# first line (until the first dot) of a Javadoc-style comment as the brief -# description. If set to NO, the Javadoc-style will behave just like regular Qt- -# style comments (thus requiring an explicit @brief command for a brief -# description.) -# The default value is: NO. - -JAVADOC_AUTOBRIEF = NO - -# If the JAVADOC_BANNER tag is set to YES then doxygen will interpret a line -# such as -# /*************** -# as being the beginning of a Javadoc-style comment "banner". If set to NO, the -# Javadoc-style will behave just like regular comments and it will not be -# interpreted by doxygen. -# The default value is: NO. - -JAVADOC_BANNER = NO - -# If the QT_AUTOBRIEF tag is set to YES then doxygen will interpret the first -# line (until the first dot) of a Qt-style comment as the brief description. If -# set to NO, the Qt-style will behave just like regular Qt-style comments (thus -# requiring an explicit \brief command for a brief description.) -# The default value is: NO. - -QT_AUTOBRIEF = NO - -# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make doxygen treat a -# multi-line C++ special comment block (i.e. a block of //! or /// comments) as -# a brief description. This used to be the default behavior. The new default is -# to treat a multi-line C++ comment block as a detailed description. Set this -# tag to YES if you prefer the old behavior instead. -# -# Note that setting this tag to YES also means that rational rose comments are -# not recognized any more. -# The default value is: NO. - -MULTILINE_CPP_IS_BRIEF = NO - -# By default Python docstrings are displayed as preformatted text and doxygen's -# special commands cannot be used. By setting PYTHON_DOCSTRING to NO the -# doxygen's special commands can be used and the contents of the docstring -# documentation blocks is shown as doxygen documentation. -# The default value is: YES. - -PYTHON_DOCSTRING = YES - -# If the INHERIT_DOCS tag is set to YES then an undocumented member inherits the -# documentation from any documented member that it re-implements. -# The default value is: YES. - -INHERIT_DOCS = YES - -# If the SEPARATE_MEMBER_PAGES tag is set to YES then doxygen will produce a new -# page for each member. If set to NO, the documentation of a member will be part -# of the file/class/namespace that contains it. -# The default value is: NO. - -SEPARATE_MEMBER_PAGES = NO - -# The TAB_SIZE tag can be used to set the number of spaces in a tab. Doxygen -# uses this value to replace tabs by spaces in code fragments. -# Minimum value: 1, maximum value: 16, default value: 4. - -TAB_SIZE = 4 - -# This tag can be used to specify a number of aliases that act as commands in -# the documentation. An alias has the form: -# name=value -# For example adding -# "sideeffect=@par Side Effects:^^" -# will allow you to put the command \sideeffect (or @sideeffect) in the -# documentation, which will result in a user-defined paragraph with heading -# "Side Effects:". Note that you cannot put \n's in the value part of an alias -# to insert newlines (in the resulting output). You can put ^^ in the value part -# of an alias to insert a newline as if a physical newline was in the original -# file. When you need a literal { or } or , in the value part of an alias you -# have to escape them by means of a backslash (\), this can lead to conflicts -# with the commands \{ and \} for these it is advised to use the version @{ and -# @} or use a double escape (\\{ and \\}) - -ALIASES = "prefix=\par Prefix ^^" \ - "updated=\par Updated ^^" \ - "unit=\par Unit ^^" \ - "ptype=\par Type ^^" - -# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources -# only. Doxygen will then generate output that is more tailored for C. For -# instance, some of the names that are used will be different. The list of all -# members will be omitted, etc. -# The default value is: NO. - -OPTIMIZE_OUTPUT_FOR_C = YES - -# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java or -# Python sources only. Doxygen will then generate output that is more tailored -# for that language. For instance, namespaces will be presented as packages, -# qualified scopes will look different, etc. -# The default value is: NO. - -OPTIMIZE_OUTPUT_JAVA = NO - -# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran -# sources. Doxygen will then generate output that is tailored for Fortran. -# The default value is: NO. - -OPTIMIZE_FOR_FORTRAN = NO - -# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL -# sources. Doxygen will then generate output that is tailored for VHDL. -# The default value is: NO. - -OPTIMIZE_OUTPUT_VHDL = NO - -# Set the OPTIMIZE_OUTPUT_SLICE tag to YES if your project consists of Slice -# sources only. Doxygen will then generate output that is more tailored for that -# language. For instance, namespaces will be presented as modules, types will be -# separated into more groups, etc. -# The default value is: NO. - -OPTIMIZE_OUTPUT_SLICE = NO - -# Doxygen selects the parser to use depending on the extension of the files it -# parses. With this tag you can assign which parser to use for a given -# extension. Doxygen has a built-in mapping, but you can override or extend it -# using this tag. The format is ext=language, where ext is a file extension, and -# language is one of the parsers supported by doxygen: IDL, Java, JavaScript, -# Csharp (C#), C, C++, Lex, D, PHP, md (Markdown), Objective-C, Python, Slice, -# VHDL, Fortran (fixed format Fortran: FortranFixed, free formatted Fortran: -# FortranFree, unknown formatted Fortran: Fortran. In the later case the parser -# tries to guess whether the code is fixed or free formatted code, this is the -# default for Fortran type files). For instance to make doxygen treat .inc files -# as Fortran files (default is PHP), and .f files as C (default is Fortran), -# use: inc=Fortran f=C. -# -# Note: For files without extension you can use no_extension as a placeholder. -# -# Note that for custom extensions you also need to set FILE_PATTERNS otherwise -# the files are not read by doxygen. When specifying no_extension you should add -# * to the FILE_PATTERNS. -# -# Note see also the list of default file extension mappings. - -EXTENSION_MAPPING = - -# If the MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all comments -# according to the Markdown format, which allows for more readable -# documentation. See https://daringfireball.net/projects/markdown/ for details. -# The output of markdown processing is further processed by doxygen, so you can -# mix doxygen, HTML, and XML commands with Markdown formatting. Disable only in -# case of backward compatibilities issues. -# The default value is: YES. - -MARKDOWN_SUPPORT = YES - -# When the TOC_INCLUDE_HEADINGS tag is set to a non-zero value, all headings up -# to that level are automatically included in the table of contents, even if -# they do not have an id attribute. -# Note: This feature currently applies only to Markdown headings. -# Minimum value: 0, maximum value: 99, default value: 6. -# This tag requires that the tag MARKDOWN_SUPPORT is set to YES. - -TOC_INCLUDE_HEADINGS = 5 - -# The MARKDOWN_ID_STYLE tag can be used to specify the algorithm used to -# generate identifiers for the Markdown headings. Note: Every identifier is -# unique. -# Possible values are: DOXYGEN use a fixed 'autotoc_md' string followed by a -# sequence number starting at 0 and GITHUB use the lower case version of title -# with any whitespace replaced by '-' and punctuation characters removed. -# The default value is: DOXYGEN. -# This tag requires that the tag MARKDOWN_SUPPORT is set to YES. - -MARKDOWN_ID_STYLE = DOXYGEN - -# When enabled doxygen tries to link words that correspond to documented -# classes, or namespaces to their corresponding documentation. Such a link can -# be prevented in individual cases by putting a % sign in front of the word or -# globally by setting AUTOLINK_SUPPORT to NO. -# The default value is: YES. - -AUTOLINK_SUPPORT = YES - -# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want -# to include (a tag file for) the STL sources as input, then you should set this -# tag to YES in order to let doxygen match functions declarations and -# definitions whose arguments contain STL classes (e.g. func(std::string); -# versus func(std::string) {}). This also makes the inheritance and -# collaboration diagrams that involve STL classes more complete and accurate. -# The default value is: NO. - -BUILTIN_STL_SUPPORT = NO - -# If you use Microsoft's C++/CLI language, you should set this option to YES to -# enable parsing support. -# The default value is: NO. - -CPP_CLI_SUPPORT = NO - -# Set the SIP_SUPPORT tag to YES if your project consists of sip (see: -# https://www.riverbankcomputing.com/software) sources only. Doxygen will parse -# them like normal C++ but will assume all classes use public instead of private -# inheritance when no explicit protection keyword is present. -# The default value is: NO. - -SIP_SUPPORT = NO - -# For Microsoft's IDL there are propget and propput attributes to indicate -# getter and setter methods for a property. Setting this option to YES will make -# doxygen to replace the get and set methods by a property in the documentation. -# This will only work if the methods are indeed getting or setting a simple -# type. If this is not the case, or you want to show the methods anyway, you -# should set this option to NO. -# The default value is: YES. - -IDL_PROPERTY_SUPPORT = YES - -# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC -# tag is set to YES then doxygen will reuse the documentation of the first -# member in the group (if any) for the other members of the group. By default -# all members of a group must be documented explicitly. -# The default value is: NO. - -DISTRIBUTE_GROUP_DOC = YES - -# If one adds a struct or class to a group and this option is enabled, then also -# any nested class or struct is added to the same group. By default this option -# is disabled and one has to add nested compounds explicitly via \ingroup. -# The default value is: NO. - -GROUP_NESTED_COMPOUNDS = NO - -# Set the SUBGROUPING tag to YES to allow class member groups of the same type -# (for instance a group of public functions) to be put as a subgroup of that -# type (e.g. under the Public Functions section). Set it to NO to prevent -# subgrouping. Alternatively, this can be done per class using the -# \nosubgrouping command. -# The default value is: YES. - -SUBGROUPING = YES - -# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and unions -# are shown inside the group in which they are included (e.g. using \ingroup) -# instead of on a separate page (for HTML and Man pages) or section (for LaTeX -# and RTF). -# -# Note that this feature does not work in combination with -# SEPARATE_MEMBER_PAGES. -# The default value is: NO. - -INLINE_GROUPED_CLASSES = NO - -# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and unions -# with only public data fields or simple typedef fields will be shown inline in -# the documentation of the scope in which they are defined (i.e. file, -# namespace, or group documentation), provided this scope is documented. If set -# to NO, structs, classes, and unions are shown on a separate page (for HTML and -# Man pages) or section (for LaTeX and RTF). -# The default value is: NO. - -INLINE_SIMPLE_STRUCTS = NO - -# When TYPEDEF_HIDES_STRUCT tag is enabled, a typedef of a struct, union, or -# enum is documented as struct, union, or enum with the name of the typedef. So -# typedef struct TypeS {} TypeT, will appear in the documentation as a struct -# with name TypeT. When disabled the typedef will appear as a member of a file, -# namespace, or class. And the struct will be named TypeS. This can typically be -# useful for C code in case the coding convention dictates that all compound -# types are typedef'ed and only the typedef is referenced, never the tag name. -# The default value is: NO. - -TYPEDEF_HIDES_STRUCT = NO - -# The size of the symbol lookup cache can be set using LOOKUP_CACHE_SIZE. This -# cache is used to resolve symbols given their name and scope. Since this can be -# an expensive process and often the same symbol appears multiple times in the -# code, doxygen keeps a cache of pre-resolved symbols. If the cache is too small -# doxygen will become slower. If the cache is too large, memory is wasted. The -# cache size is given by this formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range -# is 0..9, the default is 0, corresponding to a cache size of 2^16=65536 -# symbols. At the end of a run doxygen will report the cache usage and suggest -# the optimal cache size from a speed point of view. -# Minimum value: 0, maximum value: 9, default value: 0. - -LOOKUP_CACHE_SIZE = 0 - -# The NUM_PROC_THREADS specifies the number of threads doxygen is allowed to use -# during processing. When set to 0 doxygen will based this on the number of -# cores available in the system. You can set it explicitly to a value larger -# than 0 to get more control over the balance between CPU load and processing -# speed. At this moment only the input processing can be done using multiple -# threads. Since this is still an experimental feature the default is set to 1, -# which effectively disables parallel processing. Please report any issues you -# encounter. Generating dot graphs in parallel is controlled by the -# DOT_NUM_THREADS setting. -# Minimum value: 0, maximum value: 32, default value: 1. - -NUM_PROC_THREADS = 1 - -# If the TIMESTAMP tag is set different from NO then each generated page will -# contain the date or date and time when the page was generated. Setting this to -# NO can help when comparing the output of multiple runs. -# Possible values are: YES, NO, DATETIME and DATE. -# The default value is: NO. - -TIMESTAMP = NO - -#--------------------------------------------------------------------------- -# Build related configuration options -#--------------------------------------------------------------------------- - -# If the EXTRACT_ALL tag is set to YES, doxygen will assume all entities in -# documentation are documented, even if no documentation was available. Private -# class members and static file members will be hidden unless the -# EXTRACT_PRIVATE respectively EXTRACT_STATIC tags are set to YES. -# Note: This will also disable the warnings about undocumented members that are -# normally produced when WARNINGS is set to YES. -# The default value is: NO. - -EXTRACT_ALL = YES - -# If the EXTRACT_PRIVATE tag is set to YES, all private members of a class will -# be included in the documentation. -# The default value is: NO. - -EXTRACT_PRIVATE = NO - -# If the EXTRACT_PRIV_VIRTUAL tag is set to YES, documented private virtual -# methods of a class will be included in the documentation. -# The default value is: NO. - -EXTRACT_PRIV_VIRTUAL = NO - -# If the EXTRACT_PACKAGE tag is set to YES, all members with package or internal -# scope will be included in the documentation. -# The default value is: NO. - -EXTRACT_PACKAGE = NO - -# If the EXTRACT_STATIC tag is set to YES, all static members of a file will be -# included in the documentation. -# The default value is: NO. - -EXTRACT_STATIC = YES - -# If the EXTRACT_LOCAL_CLASSES tag is set to YES, classes (and structs) defined -# locally in source files will be included in the documentation. If set to NO, -# only classes defined in header files are included. Does not have any effect -# for Java sources. -# The default value is: YES. - -EXTRACT_LOCAL_CLASSES = YES - -# This flag is only useful for Objective-C code. If set to YES, local methods, -# which are defined in the implementation section but not in the interface are -# included in the documentation. If set to NO, only methods in the interface are -# included. -# The default value is: NO. - -EXTRACT_LOCAL_METHODS = NO - -# If this flag is set to YES, the members of anonymous namespaces will be -# extracted and appear in the documentation as a namespace called -# 'anonymous_namespace{file}', where file will be replaced with the base name of -# the file that contains the anonymous namespace. By default anonymous namespace -# are hidden. -# The default value is: NO. - -EXTRACT_ANON_NSPACES = NO - -# If this flag is set to YES, the name of an unnamed parameter in a declaration -# will be determined by the corresponding definition. By default unnamed -# parameters remain unnamed in the output. -# The default value is: YES. - -RESOLVE_UNNAMED_PARAMS = YES - -# If the HIDE_UNDOC_MEMBERS tag is set to YES, doxygen will hide all -# undocumented members inside documented classes or files. If set to NO these -# members will be included in the various overviews, but no documentation -# section is generated. This option has no effect if EXTRACT_ALL is enabled. -# The default value is: NO. - -HIDE_UNDOC_MEMBERS = NO - -# If the HIDE_UNDOC_CLASSES tag is set to YES, doxygen will hide all -# undocumented classes that are normally visible in the class hierarchy. If set -# to NO, these classes will be included in the various overviews. This option -# will also hide undocumented C++ concepts if enabled. This option has no effect -# if EXTRACT_ALL is enabled. -# The default value is: NO. - -HIDE_UNDOC_CLASSES = NO - -# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, doxygen will hide all friend -# declarations. If set to NO, these declarations will be included in the -# documentation. -# The default value is: NO. - -HIDE_FRIEND_COMPOUNDS = NO - -# If the HIDE_IN_BODY_DOCS tag is set to YES, doxygen will hide any -# documentation blocks found inside the body of a function. If set to NO, these -# blocks will be appended to the function's detailed documentation block. -# The default value is: NO. - -HIDE_IN_BODY_DOCS = NO - -# The INTERNAL_DOCS tag determines if documentation that is typed after a -# \internal command is included. If the tag is set to NO then the documentation -# will be excluded. Set it to YES to include the internal documentation. -# The default value is: NO. - -INTERNAL_DOCS = NO - -# With the correct setting of option CASE_SENSE_NAMES doxygen will better be -# able to match the capabilities of the underlying filesystem. In case the -# filesystem is case sensitive (i.e. it supports files in the same directory -# whose names only differ in casing), the option must be set to YES to properly -# deal with such files in case they appear in the input. For filesystems that -# are not case sensitive the option should be set to NO to properly deal with -# output files written for symbols that only differ in casing, such as for two -# classes, one named CLASS and the other named Class, and to also support -# references to files without having to specify the exact matching casing. On -# Windows (including Cygwin) and MacOS, users should typically set this option -# to NO, whereas on Linux or other Unix flavors it should typically be set to -# YES. -# Possible values are: SYSTEM, NO and YES. -# The default value is: SYSTEM. - -CASE_SENSE_NAMES = YES - -# If the HIDE_SCOPE_NAMES tag is set to NO then doxygen will show members with -# their full class and namespace scopes in the documentation. If set to YES, the -# scope will be hidden. -# The default value is: NO. - -HIDE_SCOPE_NAMES = NO - -# If the HIDE_COMPOUND_REFERENCE tag is set to NO (default) then doxygen will -# append additional text to a page's title, such as Class Reference. If set to -# YES the compound reference will be hidden. -# The default value is: NO. - -HIDE_COMPOUND_REFERENCE= NO - -# If the SHOW_HEADERFILE tag is set to YES then the documentation for a class -# will show which file needs to be included to use the class. -# The default value is: YES. - -SHOW_HEADERFILE = YES - -# If the SHOW_INCLUDE_FILES tag is set to YES then doxygen will put a list of -# the files that are included by a file in the documentation of that file. -# The default value is: YES. - -SHOW_INCLUDE_FILES = YES - -# If the SHOW_GROUPED_MEMB_INC tag is set to YES then Doxygen will add for each -# grouped member an include statement to the documentation, telling the reader -# which file to include in order to use the member. -# The default value is: NO. - -SHOW_GROUPED_MEMB_INC = NO - -# If the FORCE_LOCAL_INCLUDES tag is set to YES then doxygen will list include -# files with double quotes in the documentation rather than with sharp brackets. -# The default value is: NO. - -FORCE_LOCAL_INCLUDES = NO - -# If the INLINE_INFO tag is set to YES then a tag [inline] is inserted in the -# documentation for inline members. -# The default value is: YES. - -INLINE_INFO = YES - -# If the SORT_MEMBER_DOCS tag is set to YES then doxygen will sort the -# (detailed) documentation of file and class members alphabetically by member -# name. If set to NO, the members will appear in declaration order. -# The default value is: YES. - -SORT_MEMBER_DOCS = YES - -# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the brief -# descriptions of file, namespace and class members alphabetically by member -# name. If set to NO, the members will appear in declaration order. Note that -# this will also influence the order of the classes in the class list. -# The default value is: NO. - -SORT_BRIEF_DOCS = NO - -# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the -# (brief and detailed) documentation of class members so that constructors and -# destructors are listed first. If set to NO the constructors will appear in the -# respective orders defined by SORT_BRIEF_DOCS and SORT_MEMBER_DOCS. -# Note: If SORT_BRIEF_DOCS is set to NO this option is ignored for sorting brief -# member documentation. -# Note: If SORT_MEMBER_DOCS is set to NO this option is ignored for sorting -# detailed member documentation. -# The default value is: NO. - -SORT_MEMBERS_CTORS_1ST = NO - -# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the hierarchy -# of group names into alphabetical order. If set to NO the group names will -# appear in their defined order. -# The default value is: NO. - -SORT_GROUP_NAMES = NO - -# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be sorted by -# fully-qualified names, including namespaces. If set to NO, the class list will -# be sorted only by class name, not including the namespace part. -# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. -# Note: This option applies only to the class list, not to the alphabetical -# list. -# The default value is: NO. - -SORT_BY_SCOPE_NAME = NO - -# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to do proper -# type resolution of all parameters of a function it will reject a match between -# the prototype and the implementation of a member function even if there is -# only one candidate or it is obvious which candidate to choose by doing a -# simple string match. By disabling STRICT_PROTO_MATCHING doxygen will still -# accept a match between prototype and implementation in such cases. -# The default value is: NO. - -STRICT_PROTO_MATCHING = NO - -# The GENERATE_TODOLIST tag can be used to enable (YES) or disable (NO) the todo -# list. This list is created by putting \todo commands in the documentation. -# The default value is: YES. - -GENERATE_TODOLIST = YES - -# The GENERATE_TESTLIST tag can be used to enable (YES) or disable (NO) the test -# list. This list is created by putting \test commands in the documentation. -# The default value is: YES. - -GENERATE_TESTLIST = YES - -# The GENERATE_BUGLIST tag can be used to enable (YES) or disable (NO) the bug -# list. This list is created by putting \bug commands in the documentation. -# The default value is: YES. - -GENERATE_BUGLIST = YES - -# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or disable (NO) -# the deprecated list. This list is created by putting \deprecated commands in -# the documentation. -# The default value is: YES. - -GENERATE_DEPRECATEDLIST= YES - -# The ENABLED_SECTIONS tag can be used to enable conditional documentation -# sections, marked by \if ... \endif and \cond -# ... \endcond blocks. - -ENABLED_SECTIONS = - -# The MAX_INITIALIZER_LINES tag determines the maximum number of lines that the -# initial value of a variable or macro / define can have for it to appear in the -# documentation. If the initializer consists of more lines than specified here -# it will be hidden. Use a value of 0 to hide initializers completely. The -# appearance of the value of individual variables and macros / defines can be -# controlled using \showinitializer or \hideinitializer command in the -# documentation regardless of this setting. -# Minimum value: 0, maximum value: 10000, default value: 30. - -MAX_INITIALIZER_LINES = 30 - -# Set the SHOW_USED_FILES tag to NO to disable the list of files generated at -# the bottom of the documentation of classes and structs. If set to YES, the -# list will mention the files that were used to generate the documentation. -# The default value is: YES. - -SHOW_USED_FILES = YES - -# Set the SHOW_FILES tag to NO to disable the generation of the Files page. This -# will remove the Files entry from the Quick Index and from the Folder Tree View -# (if specified). -# The default value is: YES. - -SHOW_FILES = YES - -# Set the SHOW_NAMESPACES tag to NO to disable the generation of the Namespaces -# page. This will remove the Namespaces entry from the Quick Index and from the -# Folder Tree View (if specified). -# The default value is: YES. - -SHOW_NAMESPACES = YES - -# The FILE_VERSION_FILTER tag can be used to specify a program or script that -# doxygen should invoke to get the current version for each file (typically from -# the version control system). Doxygen will invoke the program by executing (via -# popen()) the command command input-file, where command is the value of the -# FILE_VERSION_FILTER tag, and input-file is the name of an input file provided -# by doxygen. Whatever the program writes to standard output is used as the file -# version. For an example see the documentation. - -FILE_VERSION_FILTER = - -# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed -# by doxygen. The layout file controls the global structure of the generated -# output files in an output format independent way. To create the layout file -# that represents doxygen's defaults, run doxygen with the -l option. You can -# optionally specify a file name after the option, if omitted DoxygenLayout.xml -# will be used as the name of the layout file. See also section "Changing the -# layout of pages" for information. -# -# Note that if you run doxygen from a directory containing a file called -# DoxygenLayout.xml, doxygen will parse it automatically even if the LAYOUT_FILE -# tag is left empty. - -LAYOUT_FILE = @LAYOUT_FILE@ - -# The CITE_BIB_FILES tag can be used to specify one or more bib files containing -# the reference definitions. This must be a list of .bib files. The .bib -# extension is automatically appended if omitted. This requires the bibtex tool -# to be installed. See also https://en.wikipedia.org/wiki/BibTeX for more info. -# For LaTeX the style of the bibliography can be controlled using -# LATEX_BIB_STYLE. To use this feature you need bibtex and perl available in the -# search path. See also \cite for info how to create references. - -CITE_BIB_FILES = - -#--------------------------------------------------------------------------- -# Configuration options related to warning and progress messages -#--------------------------------------------------------------------------- - -# The QUIET tag can be used to turn on/off the messages that are generated to -# standard output by doxygen. If QUIET is set to YES this implies that the -# messages are off. -# The default value is: NO. - -QUIET = NO - -# The WARNINGS tag can be used to turn on/off the warning messages that are -# generated to standard error (stderr) by doxygen. If WARNINGS is set to YES -# this implies that the warnings are on. -# -# Tip: Turn warnings on while writing the documentation. -# The default value is: YES. - -WARNINGS = YES - -# If the WARN_IF_UNDOCUMENTED tag is set to YES then doxygen will generate -# warnings for undocumented members. If EXTRACT_ALL is set to YES then this flag -# will automatically be disabled. -# The default value is: YES. - -WARN_IF_UNDOCUMENTED = YES - -# If the WARN_IF_DOC_ERROR tag is set to YES, doxygen will generate warnings for -# potential errors in the documentation, such as documenting some parameters in -# a documented function twice, or documenting parameters that don't exist or -# using markup commands wrongly. -# The default value is: YES. - -WARN_IF_DOC_ERROR = YES - -# If WARN_IF_INCOMPLETE_DOC is set to YES, doxygen will warn about incomplete -# function parameter documentation. If set to NO, doxygen will accept that some -# parameters have no documentation without warning. -# The default value is: YES. - -WARN_IF_INCOMPLETE_DOC = YES - -# This WARN_NO_PARAMDOC option can be enabled to get warnings for functions that -# are documented, but have no documentation for their parameters or return -# value. If set to NO, doxygen will only warn about wrong parameter -# documentation, but not about the absence of documentation. If EXTRACT_ALL is -# set to YES then this flag will automatically be disabled. See also -# WARN_IF_INCOMPLETE_DOC -# The default value is: NO. - -WARN_NO_PARAMDOC = NO - -# If WARN_IF_UNDOC_ENUM_VAL option is set to YES, doxygen will warn about -# undocumented enumeration values. If set to NO, doxygen will accept -# undocumented enumeration values. If EXTRACT_ALL is set to YES then this flag -# will automatically be disabled. -# The default value is: NO. - -WARN_IF_UNDOC_ENUM_VAL = NO - -# If the WARN_AS_ERROR tag is set to YES then doxygen will immediately stop when -# a warning is encountered. If the WARN_AS_ERROR tag is set to FAIL_ON_WARNINGS -# then doxygen will continue running as if WARN_AS_ERROR tag is set to NO, but -# at the end of the doxygen process doxygen will return with a non-zero status. -# If the WARN_AS_ERROR tag is set to FAIL_ON_WARNINGS_PRINT then doxygen behaves -# like FAIL_ON_WARNINGS but in case no WARN_LOGFILE is defined doxygen will not -# write the warning messages in between other messages but write them at the end -# of a run, in case a WARN_LOGFILE is defined the warning messages will be -# besides being in the defined file also be shown at the end of a run, unless -# the WARN_LOGFILE is defined as - i.e. standard output (stdout) in that case -# the behavior will remain as with the setting FAIL_ON_WARNINGS. -# Possible values are: NO, YES, FAIL_ON_WARNINGS and FAIL_ON_WARNINGS_PRINT. -# The default value is: NO. - -WARN_AS_ERROR = YES - -# The WARN_FORMAT tag determines the format of the warning messages that doxygen -# can produce. The string should contain the $file, $line, and $text tags, which -# will be replaced by the file and line number from which the warning originated -# and the warning text. Optionally the format may contain $version, which will -# be replaced by the version of the file (if it could be obtained via -# FILE_VERSION_FILTER) -# See also: WARN_LINE_FORMAT -# The default value is: $file:$line: $text. - -WARN_FORMAT = "$file:$line: $text" - -# In the $text part of the WARN_FORMAT command it is possible that a reference -# to a more specific place is given. To make it easier to jump to this place -# (outside of doxygen) the user can define a custom "cut" / "paste" string. -# Example: -# WARN_LINE_FORMAT = "'vi $file +$line'" -# See also: WARN_FORMAT -# The default value is: at line $line of file $file. - -WARN_LINE_FORMAT = "at line $line of file $file" - -# The WARN_LOGFILE tag can be used to specify a file to which warning and error -# messages should be written. If left blank the output is written to standard -# error (stderr). In case the file specified cannot be opened for writing the -# warning and error messages are written to standard error. When as file - is -# specified the warning and error messages are written to standard output -# (stdout). - -WARN_LOGFILE = - -#--------------------------------------------------------------------------- -# Configuration options related to the input files -#--------------------------------------------------------------------------- - -# The INPUT tag is used to specify the files and/or directories that contain -# documented source files. You may enter file names like myfile.cpp or -# directories like /usr/src/myproject. Separate the files or directories with -# spaces. See also FILE_PATTERNS and EXTENSION_MAPPING -# Note: If this tag is empty the current directory is searched. - -INPUT = @INPUT@ - -# This tag can be used to specify the character encoding of the source files -# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses -# libiconv (or the iconv built into libc) for the transcoding. See the libiconv -# documentation (see: -# https://www.gnu.org/software/libiconv/) for the list of possible encodings. -# See also: INPUT_FILE_ENCODING -# The default value is: UTF-8. - -INPUT_ENCODING = UTF-8 - -# This tag can be used to specify the character encoding of the source files -# that doxygen parses The INPUT_FILE_ENCODING tag can be used to specify -# character encoding on a per file pattern basis. Doxygen will compare the file -# name with each pattern and apply the encoding instead of the default -# INPUT_ENCODING) if there is a match. The character encodings are a list of the -# form: pattern=encoding (like *.php=ISO-8859-1). -# See also: INPUT_ENCODING for further information on supported encodings. - -INPUT_FILE_ENCODING = - -# If the value of the INPUT tag contains directories, you can use the -# FILE_PATTERNS tag to specify one or more wildcard patterns (like *.cpp and -# *.h) to filter out the source-files in the directories. -# -# Note that for custom extensions or not directly supported extensions you also -# need to set EXTENSION_MAPPING for the extension otherwise the files are not -# read by doxygen. -# -# Note the list of default checked file patterns might differ from the list of -# default file extension mappings. -# -# If left blank the following patterns are tested:*.c, *.cc, *.cxx, *.cxxm, -# *.cpp, *.cppm, *.ccm, *.c++, *.c++m, *.java, *.ii, *.ixx, *.ipp, *.i++, *.inl, -# *.idl, *.ddl, *.odl, *.h, *.hh, *.hxx, *.hpp, *.h++, *.ixx, *.l, *.cs, *.d, -# *.php, *.php4, *.php5, *.phtml, *.inc, *.m, *.markdown, *.md, *.mm, *.dox (to -# be provided as doxygen C comment), *.py, *.pyw, *.f90, *.f95, *.f03, *.f08, -# *.f18, *.f, *.for, *.vhd, *.vhdl, *.ucf, *.qsf and *.ice. - -FILE_PATTERNS = *.c *.h - -# The RECURSIVE tag can be used to specify whether or not subdirectories should -# be searched for input files as well. -# The default value is: NO. - -RECURSIVE = YES - -# The EXCLUDE tag can be used to specify files and/or directories that should be -# excluded from the INPUT source files. This way you can easily exclude a -# subdirectory from a directory tree whose root is specified with the INPUT tag. -# -# Note that relative paths are relative to the directory from which doxygen is -# run. - -EXCLUDE = @EXCLUDE@ - -# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or -# directories that are symbolic links (a Unix file system feature) are excluded -# from the input. -# The default value is: NO. - -EXCLUDE_SYMLINKS = NO - -# If the value of the INPUT tag contains directories, you can use the -# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude -# certain files from those directories. -# -# Note that the wildcards are matched against the file with absolute path, so to -# exclude all test directories for example use the pattern */test/* - -EXCLUDE_PATTERNS = - -# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names -# (namespaces, classes, functions, etc.) that should be excluded from the -# output. The symbol name can be a fully qualified name, a word, or if the -# wildcard * is used, a substring. Examples: ANamespace, AClass, -# ANamespace::AClass, ANamespace::*Test - -EXCLUDE_SYMBOLS = - -# The EXAMPLE_PATH tag can be used to specify one or more files or directories -# that contain example code fragments that are included (see the \include -# command). - -EXAMPLE_PATH = - -# If the value of the EXAMPLE_PATH tag contains directories, you can use the -# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp and -# *.h) to filter out the source-files in the directories. If left blank all -# files are included. - -EXAMPLE_PATTERNS = - -# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be -# searched for input files to be used with the \include or \dontinclude commands -# irrespective of the value of the RECURSIVE tag. -# The default value is: NO. - -EXAMPLE_RECURSIVE = NO - -# The IMAGE_PATH tag can be used to specify one or more files or directories -# that contain images that are to be included in the documentation (see the -# \image command). - -IMAGE_PATH = @IMAGE_PATH@ - -# The INPUT_FILTER tag can be used to specify a program that doxygen should -# invoke to filter for each input file. Doxygen will invoke the filter program -# by executing (via popen()) the command: -# -# -# -# where is the value of the INPUT_FILTER tag, and is the -# name of an input file. Doxygen will then use the output that the filter -# program writes to standard output. If FILTER_PATTERNS is specified, this tag -# will be ignored. -# -# Note that the filter must not add or remove lines; it is applied before the -# code is scanned, but not when the output code is generated. If lines are added -# or removed, the anchors will not be placed correctly. -# -# Note that doxygen will use the data processed and written to standard output -# for further processing, therefore nothing else, like debug statements or used -# commands (so in case of a Windows batch file always use @echo OFF), should be -# written to standard output. -# -# Note that for custom extensions or not directly supported extensions you also -# need to set EXTENSION_MAPPING for the extension otherwise the files are not -# properly processed by doxygen. - -INPUT_FILTER = - -# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern -# basis. Doxygen will compare the file name with each pattern and apply the -# filter if there is a match. The filters are a list of the form: pattern=filter -# (like *.cpp=my_cpp_filter). See INPUT_FILTER for further information on how -# filters are used. If the FILTER_PATTERNS tag is empty or if none of the -# patterns match the file name, INPUT_FILTER is applied. -# -# Note that for custom extensions or not directly supported extensions you also -# need to set EXTENSION_MAPPING for the extension otherwise the files are not -# properly processed by doxygen. - -FILTER_PATTERNS = - -# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using -# INPUT_FILTER) will also be used to filter the input files that are used for -# producing the source files to browse (i.e. when SOURCE_BROWSER is set to YES). -# The default value is: NO. - -FILTER_SOURCE_FILES = NO - -# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file -# pattern. A pattern will override the setting for FILTER_PATTERN (if any) and -# it is also possible to disable source filtering for a specific pattern using -# *.ext= (so without naming a filter). -# This tag requires that the tag FILTER_SOURCE_FILES is set to YES. - -FILTER_SOURCE_PATTERNS = - -# If the USE_MDFILE_AS_MAINPAGE tag refers to the name of a markdown file that -# is part of the input, its contents will be placed on the main page -# (index.html). This can be useful if you have a project on for instance GitHub -# and want to reuse the introduction page also for the doxygen output. - -USE_MDFILE_AS_MAINPAGE = - -# The Fortran standard specifies that for fixed formatted Fortran code all -# characters from position 72 are to be considered as comment. A common -# extension is to allow longer lines before the automatic comment starts. The -# setting FORTRAN_COMMENT_AFTER will also make it possible that longer lines can -# be processed before the automatic comment starts. -# Minimum value: 7, maximum value: 10000, default value: 72. - -FORTRAN_COMMENT_AFTER = 72 - -#--------------------------------------------------------------------------- -# Configuration options related to source browsing -#--------------------------------------------------------------------------- - -# If the SOURCE_BROWSER tag is set to YES then a list of source files will be -# generated. Documented entities will be cross-referenced with these sources. -# -# Note: To get rid of all source code in the generated output, make sure that -# also VERBATIM_HEADERS is set to NO. -# The default value is: NO. - -SOURCE_BROWSER = YES - -# Setting the INLINE_SOURCES tag to YES will include the body of functions, -# multi-line macros, enums or list initialized variables directly into the -# documentation. -# The default value is: NO. - -INLINE_SOURCES = NO - -# Setting the STRIP_CODE_COMMENTS tag to YES will instruct doxygen to hide any -# special comment blocks from generated source code fragments. Normal C, C++ and -# Fortran comments will always remain visible. -# The default value is: YES. - -STRIP_CODE_COMMENTS = NO - -# If the REFERENCED_BY_RELATION tag is set to YES then for each documented -# entity all documented functions referencing it will be listed. -# The default value is: NO. - -REFERENCED_BY_RELATION = NO - -# If the REFERENCES_RELATION tag is set to YES then for each documented function -# all documented entities called/used by that function will be listed. -# The default value is: NO. - -REFERENCES_RELATION = NO - -# If the REFERENCES_LINK_SOURCE tag is set to YES and SOURCE_BROWSER tag is set -# to YES then the hyperlinks from functions in REFERENCES_RELATION and -# REFERENCED_BY_RELATION lists will link to the source code. Otherwise they will -# link to the documentation. -# The default value is: YES. - -REFERENCES_LINK_SOURCE = YES - -# If SOURCE_TOOLTIPS is enabled (the default) then hovering a hyperlink in the -# source code will show a tooltip with additional information such as prototype, -# brief description and links to the definition and documentation. Since this -# will make the HTML file larger and loading of large files a bit slower, you -# can opt to disable this feature. -# The default value is: YES. -# This tag requires that the tag SOURCE_BROWSER is set to YES. - -SOURCE_TOOLTIPS = YES - -# If the USE_HTAGS tag is set to YES then the references to source code will -# point to the HTML generated by the htags(1) tool instead of doxygen built-in -# source browser. The htags tool is part of GNU's global source tagging system -# (see https://www.gnu.org/software/global/global.html). You will need version -# 4.8.6 or higher. -# -# To use it do the following: -# - Install the latest version of global -# - Enable SOURCE_BROWSER and USE_HTAGS in the configuration file -# - Make sure the INPUT points to the root of the source tree -# - Run doxygen as normal -# -# Doxygen will invoke htags (and that will in turn invoke gtags), so these -# tools must be available from the command line (i.e. in the search path). -# -# The result: instead of the source browser generated by doxygen, the links to -# source code will now point to the output of htags. -# The default value is: NO. -# This tag requires that the tag SOURCE_BROWSER is set to YES. - -USE_HTAGS = NO - -# If the VERBATIM_HEADERS tag is set the YES then doxygen will generate a -# verbatim copy of the header file for each class for which an include is -# specified. Set to NO to disable this. -# See also: Section \class. -# The default value is: YES. - -VERBATIM_HEADERS = YES - -# If the CLANG_ASSISTED_PARSING tag is set to YES then doxygen will use the -# clang parser (see: -# http://clang.llvm.org/) for more accurate parsing at the cost of reduced -# performance. This can be particularly helpful with template rich C++ code for -# which doxygen's built-in parser lacks the necessary type information. -# Note: The availability of this option depends on whether or not doxygen was -# generated with the -Duse_libclang=ON option for CMake. -# The default value is: NO. - -CLANG_ASSISTED_PARSING = NO - -# If the CLANG_ASSISTED_PARSING tag is set to YES and the CLANG_ADD_INC_PATHS -# tag is set to YES then doxygen will add the directory of each input to the -# include path. -# The default value is: YES. -# This tag requires that the tag CLANG_ASSISTED_PARSING is set to YES. - -CLANG_ADD_INC_PATHS = YES - -# If clang assisted parsing is enabled you can provide the compiler with command -# line options that you would normally use when invoking the compiler. Note that -# the include paths will already be set by doxygen for the files and directories -# specified with INPUT and INCLUDE_PATH. -# This tag requires that the tag CLANG_ASSISTED_PARSING is set to YES. - -CLANG_OPTIONS = - -# If clang assisted parsing is enabled you can provide the clang parser with the -# path to the directory containing a file called compile_commands.json. This -# file is the compilation database (see: -# http://clang.llvm.org/docs/HowToSetupToolingForLLVM.html) containing the -# options used when the source files were built. This is equivalent to -# specifying the -p option to a clang tool, such as clang-check. These options -# will then be passed to the parser. Any options specified with CLANG_OPTIONS -# will be added as well. -# Note: The availability of this option depends on whether or not doxygen was -# generated with the -Duse_libclang=ON option for CMake. - -CLANG_DATABASE_PATH = - -#--------------------------------------------------------------------------- -# Configuration options related to the alphabetical class index -#--------------------------------------------------------------------------- - -# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index of all -# compounds will be generated. Enable this if the project contains a lot of -# classes, structs, unions or interfaces. -# The default value is: YES. - -ALPHABETICAL_INDEX = YES - -# The IGNORE_PREFIX tag can be used to specify a prefix (or a list of prefixes) -# that should be ignored while generating the index headers. The IGNORE_PREFIX -# tag works for classes, function and member names. The entity will be placed in -# the alphabetical list under the first letter of the entity name that remains -# after removing the prefix. -# This tag requires that the tag ALPHABETICAL_INDEX is set to YES. - -IGNORE_PREFIX = - -#--------------------------------------------------------------------------- -# Configuration options related to the HTML output -#--------------------------------------------------------------------------- - -# If the GENERATE_HTML tag is set to YES, doxygen will generate HTML output -# The default value is: YES. - -GENERATE_HTML = YES - -# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. If a -# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of -# it. -# The default directory is: html. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_OUTPUT = html - -# The HTML_FILE_EXTENSION tag can be used to specify the file extension for each -# generated HTML page (for example: .htm, .php, .asp). -# The default value is: .html. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_FILE_EXTENSION = .html - -# The HTML_HEADER tag can be used to specify a user-defined HTML header file for -# each generated HTML page. If the tag is left blank doxygen will generate a -# standard header. -# -# To get valid HTML the header file that includes any scripts and style sheets -# that doxygen needs, which is dependent on the configuration options used (e.g. -# the setting GENERATE_TREEVIEW). It is highly recommended to start with a -# default header using -# doxygen -w html new_header.html new_footer.html new_stylesheet.css -# YourConfigFile -# and then modify the file new_header.html. See also section "Doxygen usage" -# for information on how to generate the default header that doxygen normally -# uses. -# Note: The header is subject to change so you typically have to regenerate the -# default header when upgrading to a newer version of doxygen. For a description -# of the possible markers and block names see the documentation. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_HEADER = - -# The HTML_FOOTER tag can be used to specify a user-defined HTML footer for each -# generated HTML page. If the tag is left blank doxygen will generate a standard -# footer. See HTML_HEADER for more information on how to generate a default -# footer and what special commands can be used inside the footer. See also -# section "Doxygen usage" for information on how to generate the default footer -# that doxygen normally uses. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_FOOTER = @HTML_FOOTER@ - -# The HTML_STYLESHEET tag can be used to specify a user-defined cascading style -# sheet that is used by each HTML page. It can be used to fine-tune the look of -# the HTML output. If left blank doxygen will generate a default style sheet. -# See also section "Doxygen usage" for information on how to generate the style -# sheet that doxygen normally uses. -# Note: It is recommended to use HTML_EXTRA_STYLESHEET instead of this tag, as -# it is more robust and this tag (HTML_STYLESHEET) will in the future become -# obsolete. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_STYLESHEET = @HTML_STYLESHEET@ - -# The HTML_EXTRA_STYLESHEET tag can be used to specify additional user-defined -# cascading style sheets that are included after the standard style sheets -# created by doxygen. Using this option one can overrule certain style aspects. -# This is preferred over using HTML_STYLESHEET since it does not replace the -# standard style sheet and is therefore more robust against future updates. -# Doxygen will copy the style sheet files to the output directory. -# Note: The order of the extra style sheet files is of importance (e.g. the last -# style sheet in the list overrules the setting of the previous ones in the -# list). -# Note: Since the styling of scrollbars can currently not be overruled in -# Webkit/Chromium, the styling will be left out of the default doxygen.css if -# one or more extra stylesheets have been specified. So if scrollbar -# customization is desired it has to be added explicitly. For an example see the -# documentation. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_EXTRA_STYLESHEET = - -# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or -# other source files which should be copied to the HTML output directory. Note -# that these files will be copied to the base HTML output directory. Use the -# $relpath^ marker in the HTML_HEADER and/or HTML_FOOTER files to load these -# files. In the HTML_STYLESHEET file, use the file name only. Also note that the -# files will be copied as-is; there are no commands or markers available. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_EXTRA_FILES = @HTML_EXTRA_FILES@ - -# The HTML_COLORSTYLE tag can be used to specify if the generated HTML output -# should be rendered with a dark or light theme. -# Possible values are: LIGHT always generates light mode output, DARK always -# generates dark mode output, AUTO_LIGHT automatically sets the mode according -# to the user preference, uses light mode if no preference is set (the default), -# AUTO_DARK automatically sets the mode according to the user preference, uses -# dark mode if no preference is set and TOGGLE allows a user to switch between -# light and dark mode via a button. -# The default value is: AUTO_LIGHT. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_COLORSTYLE = AUTO_LIGHT - -# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen -# will adjust the colors in the style sheet and background images according to -# this color. Hue is specified as an angle on a color-wheel, see -# https://en.wikipedia.org/wiki/Hue for more information. For instance the value -# 0 represents red, 60 is yellow, 120 is green, 180 is cyan, 240 is blue, 300 -# purple, and 360 is red again. -# Minimum value: 0, maximum value: 359, default value: 220. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_COLORSTYLE_HUE = 220 - -# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of the colors -# in the HTML output. For a value of 0 the output will use gray-scales only. A -# value of 255 will produce the most vivid colors. -# Minimum value: 0, maximum value: 255, default value: 100. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_COLORSTYLE_SAT = 100 - -# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to the -# luminance component of the colors in the HTML output. Values below 100 -# gradually make the output lighter, whereas values above 100 make the output -# darker. The value divided by 100 is the actual gamma applied, so 80 represents -# a gamma of 0.8, The value 220 represents a gamma of 2.2, and 100 does not -# change the gamma. -# Minimum value: 40, maximum value: 240, default value: 80. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_COLORSTYLE_GAMMA = 80 - -# If the HTML_DYNAMIC_MENUS tag is set to YES then the generated HTML -# documentation will contain a main index with vertical navigation menus that -# are dynamically created via JavaScript. If disabled, the navigation index will -# consists of multiple levels of tabs that are statically embedded in every HTML -# page. Disable this option to support browsers that do not have JavaScript, -# like the Qt help browser. -# The default value is: YES. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_DYNAMIC_MENUS = YES - -# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML -# documentation will contain sections that can be hidden and shown after the -# page has loaded. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_DYNAMIC_SECTIONS = NO - -# If the HTML_CODE_FOLDING tag is set to YES then classes and functions can be -# dynamically folded and expanded in the generated HTML source code. -# The default value is: YES. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_CODE_FOLDING = YES - -# If the HTML_COPY_CLIPBOARD tag is set to YES then doxygen will show an icon in -# the top right corner of code and text fragments that allows the user to copy -# its content to the clipboard. Note this only works if supported by the browser -# and the web page is served via a secure context (see: -# https://www.w3.org/TR/secure-contexts/), i.e. using the https: or file: -# protocol. -# The default value is: YES. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_COPY_CLIPBOARD = YES - -# Doxygen stores a couple of settings persistently in the browser (via e.g. -# cookies). By default these settings apply to all HTML pages generated by -# doxygen across all projects. The HTML_PROJECT_COOKIE tag can be used to store -# the settings under a project specific key, such that the user preferences will -# be stored separately. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_PROJECT_COOKIE = - -# With HTML_INDEX_NUM_ENTRIES one can control the preferred number of entries -# shown in the various tree structured indices initially; the user can expand -# and collapse entries dynamically later on. Doxygen will expand the tree to -# such a level that at most the specified number of entries are visible (unless -# a fully collapsed tree already exceeds this amount). So setting the number of -# entries 1 will produce a full collapsed tree by default. 0 is a special value -# representing an infinite number of entries and will result in a full expanded -# tree by default. -# Minimum value: 0, maximum value: 9999, default value: 100. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_INDEX_NUM_ENTRIES = 100 - -# If the GENERATE_DOCSET tag is set to YES, additional index files will be -# generated that can be used as input for Apple's Xcode 3 integrated development -# environment (see: -# https://developer.apple.com/xcode/), introduced with OSX 10.5 (Leopard). To -# create a documentation set, doxygen will generate a Makefile in the HTML -# output directory. Running make will produce the docset in that directory and -# running make install will install the docset in -# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find it at -# startup. See https://developer.apple.com/library/archive/featuredarticles/Doxy -# genXcode/_index.html for more information. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTML is set to YES. - -GENERATE_DOCSET = NO - -# This tag determines the name of the docset feed. A documentation feed provides -# an umbrella under which multiple documentation sets from a single provider -# (such as a company or product suite) can be grouped. -# The default value is: Doxygen generated docs. -# This tag requires that the tag GENERATE_DOCSET is set to YES. - -DOCSET_FEEDNAME = "Doxygen generated docs" - -# This tag determines the URL of the docset feed. A documentation feed provides -# an umbrella under which multiple documentation sets from a single provider -# (such as a company or product suite) can be grouped. -# This tag requires that the tag GENERATE_DOCSET is set to YES. - -DOCSET_FEEDURL = - -# This tag specifies a string that should uniquely identify the documentation -# set bundle. This should be a reverse domain-name style string, e.g. -# com.mycompany.MyDocSet. Doxygen will append .docset to the name. -# The default value is: org.doxygen.Project. -# This tag requires that the tag GENERATE_DOCSET is set to YES. - -DOCSET_BUNDLE_ID = org.doxygen.Project - -# The DOCSET_PUBLISHER_ID tag specifies a string that should uniquely identify -# the documentation publisher. This should be a reverse domain-name style -# string, e.g. com.mycompany.MyDocSet.documentation. -# The default value is: org.doxygen.Publisher. -# This tag requires that the tag GENERATE_DOCSET is set to YES. - -DOCSET_PUBLISHER_ID = org.doxygen.Publisher - -# The DOCSET_PUBLISHER_NAME tag identifies the documentation publisher. -# The default value is: Publisher. -# This tag requires that the tag GENERATE_DOCSET is set to YES. - -DOCSET_PUBLISHER_NAME = Publisher - -# If the GENERATE_HTMLHELP tag is set to YES then doxygen generates three -# additional HTML index files: index.hhp, index.hhc, and index.hhk. The -# index.hhp is a project file that can be read by Microsoft's HTML Help Workshop -# on Windows. In the beginning of 2021 Microsoft took the original page, with -# a.o. the download links, offline the HTML help workshop was already many years -# in maintenance mode). You can download the HTML help workshop from the web -# archives at Installation executable (see: -# http://web.archive.org/web/20160201063255/http://download.microsoft.com/downlo -# ad/0/A/9/0A939EF6-E31C-430F-A3DF-DFAE7960D564/htmlhelp.exe). -# -# The HTML Help Workshop contains a compiler that can convert all HTML output -# generated by doxygen into a single compiled HTML file (.chm). Compiled HTML -# files are now used as the Windows 98 help format, and will replace the old -# Windows help format (.hlp) on all Windows platforms in the future. Compressed -# HTML files also contain an index, a table of contents, and you can search for -# words in the documentation. The HTML workshop also contains a viewer for -# compressed HTML files. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTML is set to YES. - -GENERATE_HTMLHELP = NO - -# The CHM_FILE tag can be used to specify the file name of the resulting .chm -# file. You can add a path in front of the file if the result should not be -# written to the html output directory. -# This tag requires that the tag GENERATE_HTMLHELP is set to YES. - -CHM_FILE = - -# The HHC_LOCATION tag can be used to specify the location (absolute path -# including file name) of the HTML help compiler (hhc.exe). If non-empty, -# doxygen will try to run the HTML help compiler on the generated index.hhp. -# The file has to be specified with full path. -# This tag requires that the tag GENERATE_HTMLHELP is set to YES. - -HHC_LOCATION = - -# The GENERATE_CHI flag controls if a separate .chi index file is generated -# (YES) or that it should be included in the main .chm file (NO). -# The default value is: NO. -# This tag requires that the tag GENERATE_HTMLHELP is set to YES. - -GENERATE_CHI = NO - -# The CHM_INDEX_ENCODING is used to encode HtmlHelp index (hhk), content (hhc) -# and project file content. -# This tag requires that the tag GENERATE_HTMLHELP is set to YES. - -CHM_INDEX_ENCODING = - -# The BINARY_TOC flag controls whether a binary table of contents is generated -# (YES) or a normal table of contents (NO) in the .chm file. Furthermore it -# enables the Previous and Next buttons. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTMLHELP is set to YES. - -BINARY_TOC = NO - -# The TOC_EXPAND flag can be set to YES to add extra items for group members to -# the table of contents of the HTML help documentation and to the tree view. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTMLHELP is set to YES. - -TOC_EXPAND = NO - -# The SITEMAP_URL tag is used to specify the full URL of the place where the -# generated documentation will be placed on the server by the user during the -# deployment of the documentation. The generated sitemap is called sitemap.xml -# and placed on the directory specified by HTML_OUTPUT. In case no SITEMAP_URL -# is specified no sitemap is generated. For information about the sitemap -# protocol see https://www.sitemaps.org -# This tag requires that the tag GENERATE_HTML is set to YES. - -SITEMAP_URL = - -# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and -# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated that -# can be used as input for Qt's qhelpgenerator to generate a Qt Compressed Help -# (.qch) of the generated HTML documentation. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTML is set to YES. - -GENERATE_QHP = NO - -# If the QHG_LOCATION tag is specified, the QCH_FILE tag can be used to specify -# the file name of the resulting .qch file. The path specified is relative to -# the HTML output folder. -# This tag requires that the tag GENERATE_QHP is set to YES. - -QCH_FILE = - -# The QHP_NAMESPACE tag specifies the namespace to use when generating Qt Help -# Project output. For more information please see Qt Help Project / Namespace -# (see: -# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#namespace). -# The default value is: org.doxygen.Project. -# This tag requires that the tag GENERATE_QHP is set to YES. - -QHP_NAMESPACE = org.doxygen.Project - -# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating Qt -# Help Project output. For more information please see Qt Help Project / Virtual -# Folders (see: -# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#virtual-folders). -# The default value is: doc. -# This tag requires that the tag GENERATE_QHP is set to YES. - -QHP_VIRTUAL_FOLDER = doc - -# If the QHP_CUST_FILTER_NAME tag is set, it specifies the name of a custom -# filter to add. For more information please see Qt Help Project / Custom -# Filters (see: -# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#custom-filters). -# This tag requires that the tag GENERATE_QHP is set to YES. - -QHP_CUST_FILTER_NAME = - -# The QHP_CUST_FILTER_ATTRS tag specifies the list of the attributes of the -# custom filter to add. For more information please see Qt Help Project / Custom -# Filters (see: -# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#custom-filters). -# This tag requires that the tag GENERATE_QHP is set to YES. - -QHP_CUST_FILTER_ATTRS = - -# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this -# project's filter section matches. Qt Help Project / Filter Attributes (see: -# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#filter-attributes). -# This tag requires that the tag GENERATE_QHP is set to YES. - -QHP_SECT_FILTER_ATTRS = - -# The QHG_LOCATION tag can be used to specify the location (absolute path -# including file name) of Qt's qhelpgenerator. If non-empty doxygen will try to -# run qhelpgenerator on the generated .qhp file. -# This tag requires that the tag GENERATE_QHP is set to YES. - -QHG_LOCATION = - -# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files will be -# generated, together with the HTML files, they form an Eclipse help plugin. To -# install this plugin and make it available under the help contents menu in -# Eclipse, the contents of the directory containing the HTML and XML files needs -# to be copied into the plugins directory of eclipse. The name of the directory -# within the plugins directory should be the same as the ECLIPSE_DOC_ID value. -# After copying Eclipse needs to be restarted before the help appears. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTML is set to YES. - -GENERATE_ECLIPSEHELP = NO - -# A unique identifier for the Eclipse help plugin. When installing the plugin -# the directory name containing the HTML and XML files should also have this -# name. Each documentation set should have its own identifier. -# The default value is: org.doxygen.Project. -# This tag requires that the tag GENERATE_ECLIPSEHELP is set to YES. - -ECLIPSE_DOC_ID = org.doxygen.Project - -# If you want full control over the layout of the generated HTML pages it might -# be necessary to disable the index and replace it with your own. The -# DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs) at top -# of each HTML page. A value of NO enables the index and the value YES disables -# it. Since the tabs in the index contain the same information as the navigation -# tree, you can set this option to YES if you also set GENERATE_TREEVIEW to YES. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTML is set to YES. - -DISABLE_INDEX = NO - -# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index -# structure should be generated to display hierarchical information. If the tag -# value is set to YES, a side panel will be generated containing a tree-like -# index structure (just like the one that is generated for HTML Help). For this -# to work a browser that supports JavaScript, DHTML, CSS and frames is required -# (i.e. any modern browser). Windows users are probably better off using the -# HTML help feature. Via custom style sheets (see HTML_EXTRA_STYLESHEET) one can -# further fine tune the look of the index (see "Fine-tuning the output"). As an -# example, the default style sheet generated by doxygen has an example that -# shows how to put an image at the root of the tree instead of the PROJECT_NAME. -# Since the tree basically has the same information as the tab index, you could -# consider setting DISABLE_INDEX to YES when enabling this option. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTML is set to YES. - -GENERATE_TREEVIEW = YES - -# When both GENERATE_TREEVIEW and DISABLE_INDEX are set to YES, then the -# FULL_SIDEBAR option determines if the side bar is limited to only the treeview -# area (value NO) or if it should extend to the full height of the window (value -# YES). Setting this to YES gives a layout similar to -# https://docs.readthedocs.io with more room for contents, but less room for the -# project logo, title, and description. If either GENERATE_TREEVIEW or -# DISABLE_INDEX is set to NO, this option has no effect. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTML is set to YES. - -FULL_SIDEBAR = NO - -# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values that -# doxygen will group on one line in the generated HTML documentation. -# -# Note that a value of 0 will completely suppress the enum values from appearing -# in the overview section. -# Minimum value: 0, maximum value: 20, default value: 4. -# This tag requires that the tag GENERATE_HTML is set to YES. - -ENUM_VALUES_PER_LINE = 4 - -# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be used -# to set the initial width (in pixels) of the frame in which the tree is shown. -# Minimum value: 0, maximum value: 1500, default value: 250. -# This tag requires that the tag GENERATE_HTML is set to YES. - -TREEVIEW_WIDTH = 250 - -# If the EXT_LINKS_IN_WINDOW option is set to YES, doxygen will open links to -# external symbols imported via tag files in a separate window. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTML is set to YES. - -EXT_LINKS_IN_WINDOW = NO - -# If the OBFUSCATE_EMAILS tag is set to YES, doxygen will obfuscate email -# addresses. -# The default value is: YES. -# This tag requires that the tag GENERATE_HTML is set to YES. - -OBFUSCATE_EMAILS = YES - -# If the HTML_FORMULA_FORMAT option is set to svg, doxygen will use the pdf2svg -# tool (see https://github.com/dawbarton/pdf2svg) or inkscape (see -# https://inkscape.org) to generate formulas as SVG images instead of PNGs for -# the HTML output. These images will generally look nicer at scaled resolutions. -# Possible values are: png (the default) and svg (looks nicer but requires the -# pdf2svg or inkscape tool). -# The default value is: png. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_FORMULA_FORMAT = png - -# Use this tag to change the font size of LaTeX formulas included as images in -# the HTML documentation. When you change the font size after a successful -# doxygen run you need to manually remove any form_*.png images from the HTML -# output directory to force them to be regenerated. -# Minimum value: 8, maximum value: 50, default value: 10. -# This tag requires that the tag GENERATE_HTML is set to YES. - -FORMULA_FONTSIZE = 10 - -# The FORMULA_MACROFILE can contain LaTeX \newcommand and \renewcommand commands -# to create new LaTeX commands to be used in formulas as building blocks. See -# the section "Including formulas" for details. - -FORMULA_MACROFILE = - -# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax (see -# https://www.mathjax.org) which uses client side JavaScript for the rendering -# instead of using pre-rendered bitmaps. Use this if you do not have LaTeX -# installed or if you want to formulas look prettier in the HTML output. When -# enabled you may also need to install MathJax separately and configure the path -# to it using the MATHJAX_RELPATH option. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTML is set to YES. - -USE_MATHJAX = NO - -# With MATHJAX_VERSION it is possible to specify the MathJax version to be used. -# Note that the different versions of MathJax have different requirements with -# regards to the different settings, so it is possible that also other MathJax -# settings have to be changed when switching between the different MathJax -# versions. -# Possible values are: MathJax_2 and MathJax_3. -# The default value is: MathJax_2. -# This tag requires that the tag USE_MATHJAX is set to YES. - -MATHJAX_VERSION = MathJax_2 - -# When MathJax is enabled you can set the default output format to be used for -# the MathJax output. For more details about the output format see MathJax -# version 2 (see: -# http://docs.mathjax.org/en/v2.7-latest/output.html) and MathJax version 3 -# (see: -# http://docs.mathjax.org/en/latest/web/components/output.html). -# Possible values are: HTML-CSS (which is slower, but has the best -# compatibility. This is the name for Mathjax version 2, for MathJax version 3 -# this will be translated into chtml), NativeMML (i.e. MathML. Only supported -# for MathJax 2. For MathJax version 3 chtml will be used instead.), chtml (This -# is the name for Mathjax version 3, for MathJax version 2 this will be -# translated into HTML-CSS) and SVG. -# The default value is: HTML-CSS. -# This tag requires that the tag USE_MATHJAX is set to YES. - -MATHJAX_FORMAT = HTML-CSS - -# When MathJax is enabled you need to specify the location relative to the HTML -# output directory using the MATHJAX_RELPATH option. The destination directory -# should contain the MathJax.js script. For instance, if the mathjax directory -# is located at the same level as the HTML output directory, then -# MATHJAX_RELPATH should be ../mathjax. The default value points to the MathJax -# Content Delivery Network so you can quickly see the result without installing -# MathJax. However, it is strongly recommended to install a local copy of -# MathJax from https://www.mathjax.org before deployment. The default value is: -# - in case of MathJax version 2: https://cdn.jsdelivr.net/npm/mathjax@2 -# - in case of MathJax version 3: https://cdn.jsdelivr.net/npm/mathjax@3 -# This tag requires that the tag USE_MATHJAX is set to YES. - -MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest - -# The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax -# extension names that should be enabled during MathJax rendering. For example -# for MathJax version 2 (see -# https://docs.mathjax.org/en/v2.7-latest/tex.html#tex-and-latex-extensions): -# MATHJAX_EXTENSIONS = TeX/AMSmath TeX/AMSsymbols -# For example for MathJax version 3 (see -# http://docs.mathjax.org/en/latest/input/tex/extensions/index.html): -# MATHJAX_EXTENSIONS = ams -# This tag requires that the tag USE_MATHJAX is set to YES. - -MATHJAX_EXTENSIONS = - -# The MATHJAX_CODEFILE tag can be used to specify a file with javascript pieces -# of code that will be used on startup of the MathJax code. See the MathJax site -# (see: -# http://docs.mathjax.org/en/v2.7-latest/output.html) for more details. For an -# example see the documentation. -# This tag requires that the tag USE_MATHJAX is set to YES. - -MATHJAX_CODEFILE = - -# When the SEARCHENGINE tag is enabled doxygen will generate a search box for -# the HTML output. The underlying search engine uses javascript and DHTML and -# should work on any modern browser. Note that when using HTML help -# (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets (GENERATE_DOCSET) -# there is already a search function so this one should typically be disabled. -# For large projects the javascript based search engine can be slow, then -# enabling SERVER_BASED_SEARCH may provide a better solution. It is possible to -# search using the keyboard; to jump to the search box use + S -# (what the is depends on the OS and browser, but it is typically -# , /