powertrain-build 1.11.7.dev2__tar.gz → 1.11.8.dev1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/ChangeLog +6 -2
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/PKG-INFO +2 -2
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/README.md +1 -1
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/build.py +17 -78
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/build_proj_config.py +3 -4
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/dids.py +137 -19
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/sched_funcs.py +5 -5
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/user_defined_types.py +3 -6
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/zone_controller/composition_yaml.py +9 -5
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build.egg-info/PKG-INFO +2 -2
- powertrain_build-1.11.8.dev1/powertrain_build.egg-info/pbr.json +1 -0
- powertrain_build-1.11.7.dev2/powertrain_build.egg-info/pbr.json +0 -1
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/AUTHORS +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/LICENSE +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/MANIFEST.in +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/NOTICE +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/__init__.py +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/__main__.py +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/a2l.py +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/a2l_merge.py +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/a2l_templates.py +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/build_defs.py +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/check_interface.py +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/cli.py +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/config.py +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/core.py +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/core_dummy.py +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/create_conversion_table.py +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/dummy.py +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/dummy_spm.py +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/environmentcheck.py +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/ext_dbg.py +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/ext_var.py +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/feature_configs.py +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/gen_allsysteminfo.py +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/gen_label_split.py +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/handcode_replacer.py +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/html_report.py +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/interface/__init__.py +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/interface/application.py +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/interface/base.py +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/interface/csp_api.py +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/interface/device_proxy.py +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/interface/ems.py +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/interface/export_global_vars.py +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/interface/generate_adapters.py +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/interface/generate_hi_interface.py +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/interface/generate_service.py +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/interface/generate_wrappers.py +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/interface/generation_utils.py +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/interface/hal.py +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/interface/model_yaml_verification.py +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/interface/service.py +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/interface/simulink.py +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/interface/update_call_sources.py +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/interface/update_model_yaml.py +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/interface/zone_controller.py +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/lib/__init__.py +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/lib/helper_functions.py +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/lib/logger.py +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/matlab_scripts/CodeGen/BuildAutomationPyBuild.m +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/matlab_scripts/CodeGen/Generate_A2L.m +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/matlab_scripts/CodeGen/generateTLUnit.m +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/matlab_scripts/CodeGen/getAsilClassification.m +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/matlab_scripts/CodeGen/modelConfiguredForTL.m +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/matlab_scripts/CodeGen/moveDefOutports.m +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/matlab_scripts/CodeGen/parseCalMeasData.m +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/matlab_scripts/CodeGen/parseCoreIdentifiers.m +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/matlab_scripts/CodeGen/parseDIDs.m +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/matlab_scripts/CodeGen/parseInPorts.m +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/matlab_scripts/CodeGen/parseIncludeConfigs.m +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/matlab_scripts/CodeGen/parseModelInfo.m +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/matlab_scripts/CodeGen/parseNVM.m +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/matlab_scripts/CodeGen/parseOutPorts.m +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/matlab_scripts/CodeGen/parsePreProcBlks.m +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/matlab_scripts/CodeGen/struct2JSON.m +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/matlab_scripts/CodeGen/updateCodeSwConfig.m +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/matlab_scripts/Init_PyBuild.m +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/matlab_scripts/__init__.py +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/matlab_scripts/helperFunctions/Get_Full_Name.m +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/matlab_scripts/helperFunctions/Get_SrcLines.m +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/matlab_scripts/helperFunctions/Init_Models.m +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/matlab_scripts/helperFunctions/Init_Projects.m +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/matlab_scripts/helperFunctions/Read_Units.m +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/matlab_scripts/helperFunctions/SetProjectTimeSamples.m +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/matlab_scripts/helperFunctions/Strip_Suffix.m +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/matlab_scripts/helperFunctions/followLink.m +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/matlab_scripts/helperFunctions/getCodeSwitches.m +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/matlab_scripts/helperFunctions/getConsumerBlocks.m +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/matlab_scripts/helperFunctions/getDefBlock.m +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/matlab_scripts/helperFunctions/getDefOutport.m +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/matlab_scripts/helperFunctions/getDstBlocks.m +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/matlab_scripts/helperFunctions/getDstLines.m +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/matlab_scripts/helperFunctions/getInterfaceSignals.m +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/matlab_scripts/helperFunctions/getName.m +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/matlab_scripts/helperFunctions/getPath.m +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/matlab_scripts/helperFunctions/getProperValue.m +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/matlab_scripts/helperFunctions/getSrcBlocks.m +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/matlab_scripts/helperFunctions/getSrcLines.m +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/matlab_scripts/helperFunctions/loadLibraries.m +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/matlab_scripts/helperFunctions/loadjson.m +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/matlab_scripts/helperFunctions/modifyEnumStructField.m +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/matlab_scripts/helperFunctions/removeConfigDuplicates.m +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/matlab_scripts/helperFunctions/sortSystemByClass.m +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/matlab_scripts/helperFunctions/tl_getfast.m +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/matlab_scripts/helperFunctions/topLevelSystem.m +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/matlab_scripts/helperFunctions/updateModels.m +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/memory_section.py +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/nvm_def.py +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/problem_logger.py +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/pt_matlab.py +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/pt_win32.py +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/replace_compu_tab_ref.py +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/rte_dummy.py +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/signal.py +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/signal_if_html_rep.py +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/signal_if_html_rep_all.py +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/signal_incons_html_rep.py +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/signal_incons_html_rep_all.py +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/signal_incons_html_rep_base.py +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/signal_inconsistency_check.py +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/signal_interfaces.py +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/templates/Index_SigCheck_All.html +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/templates/Index_SigIf_All.html +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/types.py +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/unit_configs.py +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/versioncheck.py +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/wrapper.py +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/xlrd_csv.py +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/zone_controller/__init__.py +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/zone_controller/calibration.py +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build.egg-info/SOURCES.txt +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build.egg-info/dependency_links.txt +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build.egg-info/entry_points.txt +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build.egg-info/not-zip-safe +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build.egg-info/requires.txt +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build.egg-info/top_level.txt +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/requirements.txt +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/setup.cfg +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/setup.py +0 -0
- {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/test-requirements.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: powertrain-build
|
|
3
|
-
Version: 1.11.
|
|
3
|
+
Version: 1.11.8.dev1
|
|
4
4
|
Summary: A Continuous Integration (CI) build system testing all configurations where a Simulink model is used.
|
|
5
5
|
Home-page: https://opendev.org/volvocars/powertrain-build
|
|
6
6
|
Download-URL: https://pypi.org/project/powertrain-build/
|
|
@@ -49,7 +49,7 @@ Dynamic: provides-extra
|
|
|
49
49
|
Dynamic: requires-dist
|
|
50
50
|
Dynamic: summary
|
|
51
51
|
|
|
52
|
-
#
|
|
52
|
+
# powertrain-build
|
|
53
53
|
|
|
54
54
|
A Continuous Integration (CI) build system, testing all configurations where a TargetLink model is used.
|
|
55
55
|
|
|
@@ -195,7 +195,6 @@ def generate_dummy_spm(build_cfg, unit_cfg, feature_cfg, signal_if, udt):
|
|
|
195
195
|
dst_dir = build_cfg.get_src_code_dst_dir()
|
|
196
196
|
# Get out ports for all units in project regardless of code switches
|
|
197
197
|
unit_vars = unit_cfg.get_per_unit_cfg_total()
|
|
198
|
-
prefix = build_cfg.get_scheduler_prefix()
|
|
199
198
|
undefined_outports = []
|
|
200
199
|
defined_ports = []
|
|
201
200
|
|
|
@@ -212,7 +211,7 @@ def generate_dummy_spm(build_cfg, unit_cfg, feature_cfg, signal_if, udt):
|
|
|
212
211
|
_add_undefined_signals_from_unit(data)
|
|
213
212
|
|
|
214
213
|
dummy_spm = DummySpm(
|
|
215
|
-
undefined_outports, build_cfg, feature_cfg, unit_cfg, udt,
|
|
214
|
+
undefined_outports, build_cfg, feature_cfg, unit_cfg, udt, "VcDummy_spm"
|
|
216
215
|
)
|
|
217
216
|
dummy_spm.generate_files(dst_dir)
|
|
218
217
|
LOG.info("Finished generating output vars (in %4.2f s)", time.time() - start_time)
|
|
@@ -311,14 +310,15 @@ def generate_external_var(build_cfg, unit_cfg, udt, asil_level_dep, nrm_dict, de
|
|
|
311
310
|
ext_var_nrm = ExtVarCsv(nrm_dict, build_cfg, unit_cfg, udt)
|
|
312
311
|
ext_var_dep = ExtVarCsv(dep_dict, build_cfg, unit_cfg, udt, asil_level_dep)
|
|
313
312
|
ext_var_sec = ExtVarCsv(sec_dict, build_cfg, unit_cfg, udt, build_defs.SECURE)
|
|
314
|
-
|
|
313
|
+
|
|
315
314
|
ext_var_instances = {
|
|
316
|
-
ext_var_nrm:
|
|
317
|
-
ext_var_dep:
|
|
315
|
+
ext_var_nrm: "VcExtVar",
|
|
316
|
+
ext_var_dep: "VcExtVarSafe",
|
|
318
317
|
}
|
|
319
318
|
|
|
320
319
|
if not build_cfg.has_yaml_interface:
|
|
321
|
-
ext_var_instances[ext_var_sec] =
|
|
320
|
+
ext_var_instances[ext_var_sec] = "VcExtVarSecure"
|
|
321
|
+
|
|
322
322
|
for instance, dir_name in ext_var_instances.items():
|
|
323
323
|
ext_var_path = Path(build_cfg.get_src_code_dst_dir(), dir_name)
|
|
324
324
|
instance.generate_files(ext_var_path)
|
|
@@ -406,11 +406,17 @@ def copy_common_src_to_src_out(build_cfg):
|
|
|
406
406
|
delivery folder (defined in the config file for the project),
|
|
407
407
|
from the units that are included in the project.
|
|
408
408
|
|
|
409
|
+
Optionally, also patch the defined functions with the "schedulerPrefix".
|
|
410
|
+
|
|
409
411
|
Args:
|
|
410
412
|
build_cfg (BuildProjConfig): Build project class holding where files should be stored.
|
|
411
413
|
"""
|
|
412
414
|
LOG.info("******************************************************")
|
|
413
|
-
|
|
415
|
+
prefix = build_cfg.get_scheduler_prefix()
|
|
416
|
+
if prefix:
|
|
417
|
+
LOG.info("Start copying and patching common source files")
|
|
418
|
+
else:
|
|
419
|
+
LOG.info("Start copying common source files")
|
|
414
420
|
|
|
415
421
|
start_time = time.time()
|
|
416
422
|
src_dir = build_cfg.get_common_src_dir()
|
|
@@ -426,7 +432,10 @@ def copy_common_src_to_src_out(build_cfg):
|
|
|
426
432
|
|
|
427
433
|
files_to_copy = filter(os.path.isfile, files)
|
|
428
434
|
for file_ in files_to_copy:
|
|
429
|
-
|
|
435
|
+
if prefix:
|
|
436
|
+
patch_and_copy_common_src_to_src_out(prefix, Path(file_), Path(src_dst_dir))
|
|
437
|
+
else:
|
|
438
|
+
shutil.copy2(file_, src_dst_dir)
|
|
430
439
|
LOG.debug("copied %s to %s", file_, src_dst_dir)
|
|
431
440
|
|
|
432
441
|
LOG.info(
|
|
@@ -437,9 +446,6 @@ def copy_common_src_to_src_out(build_cfg):
|
|
|
437
446
|
def patch_and_copy_common_src_to_src_out(prefix, file_path, dest_dir):
|
|
438
447
|
"""Copy common source code to delivery folder, patched with "schedulerPrefix" as prefix.
|
|
439
448
|
|
|
440
|
-
DEPRECATED: SPA3 platform team is no longer linking the SWCs,
|
|
441
|
-
instead they are copying and compiling all source files directly.
|
|
442
|
-
|
|
443
449
|
Args:
|
|
444
450
|
prefix (str): Prefix.
|
|
445
451
|
file_path (Path): Path to file to patch and copy.
|
|
@@ -615,71 +621,6 @@ def propagate_tag_name(build_cfg, tag_name, problem_logger):
|
|
|
615
621
|
LOG.info("Finished propagating tag name (in %4.2f s)", time.time() - start_time)
|
|
616
622
|
|
|
617
623
|
|
|
618
|
-
def patch_target_link_sources(build_cfg):
|
|
619
|
-
"""Patch TargetLink generated source files to instead include prefixed version of common headers.
|
|
620
|
-
Common headers will also be renamed accordingly.
|
|
621
|
-
|
|
622
|
-
Args:
|
|
623
|
-
build_cfg (BuildProjConfig): Build project class holding where files should be stored.
|
|
624
|
-
"""
|
|
625
|
-
patch_tl_sources = build_cfg.get_code_generation_config("patchTargetLinkSources")
|
|
626
|
-
prefix = build_cfg.get_scheduler_prefix()
|
|
627
|
-
if not patch_tl_sources:
|
|
628
|
-
return
|
|
629
|
-
elif patch_tl_sources and not prefix:
|
|
630
|
-
LOG.warning(
|
|
631
|
-
"patchTargetLinkSources is set to true but schedulerPrefix is not defined. "
|
|
632
|
-
"Skipping patching of TargetLink generated source files."
|
|
633
|
-
)
|
|
634
|
-
return
|
|
635
|
-
|
|
636
|
-
start_time = time.time()
|
|
637
|
-
LOG.info("******************************************************")
|
|
638
|
-
LOG.info("Start patching TargetLink generated source files")
|
|
639
|
-
|
|
640
|
-
mem_map_files = []
|
|
641
|
-
for section_dict in build_defs.PREDECL_EXTRA.values():
|
|
642
|
-
for section_file in section_dict.values():
|
|
643
|
-
mem_map_files.append(section_file)
|
|
644
|
-
for asil_dict in build_defs.ASIL_LEVEL_MAP.values():
|
|
645
|
-
for type_dict in asil_dict.values():
|
|
646
|
-
for section_dict in type_dict.values():
|
|
647
|
-
for section_file in section_dict.values():
|
|
648
|
-
mem_map_files.append(section_file)
|
|
649
|
-
for nvm_dict in build_defs.NVM_LEVEL_MAP.values():
|
|
650
|
-
for section_dict in nvm_dict.values():
|
|
651
|
-
for section_file in section_dict.values():
|
|
652
|
-
mem_map_files.append(section_file)
|
|
653
|
-
nvm_defs = build_cfg.get_nvm_defs()
|
|
654
|
-
tl_headers_to_prefix = [
|
|
655
|
-
ZCCore.FILE_NAME + ".h",
|
|
656
|
-
build_cfg.get_ts_header_name(),
|
|
657
|
-
build_cfg.get_feature_conf_header_name(),
|
|
658
|
-
nvm_defs["fileName"] + ".h",
|
|
659
|
-
]
|
|
660
|
-
tl_headers_to_prefix.extend(mem_map_files)
|
|
661
|
-
|
|
662
|
-
src_code_dst_dir = build_cfg.get_src_code_dst_dir()
|
|
663
|
-
for file_path in [f for f in Path(src_code_dst_dir).glob("*") if f.suffix in [".c", ".h"]]:
|
|
664
|
-
with file_path.open(mode="r", encoding="utf-8") as file_handle:
|
|
665
|
-
content = file_handle.read()
|
|
666
|
-
for header in tl_headers_to_prefix:
|
|
667
|
-
content = content.replace(f'#include "{header}"', f'#include "{prefix}{header}"')
|
|
668
|
-
with file_path.open(mode="w", encoding="utf-8") as file_handle:
|
|
669
|
-
file_handle.write(content)
|
|
670
|
-
|
|
671
|
-
for header_file in tl_headers_to_prefix:
|
|
672
|
-
source_file = Path(src_code_dst_dir, header_file).with_suffix(".c")
|
|
673
|
-
if source_file.exists():
|
|
674
|
-
source_file.replace(Path(src_code_dst_dir, f"{prefix}{header_file}").with_suffix(".c"))
|
|
675
|
-
Path(src_code_dst_dir, header_file).replace(Path(src_code_dst_dir, f"{prefix}{header_file}"))
|
|
676
|
-
|
|
677
|
-
LOG.info(
|
|
678
|
-
"Finished patching TargetLink generated source files (in %4.2f s)",
|
|
679
|
-
time.time() - start_time,
|
|
680
|
-
)
|
|
681
|
-
|
|
682
|
-
|
|
683
624
|
def add_args(parser):
|
|
684
625
|
"""Add command line arguments for powertrain_build.
|
|
685
626
|
|
|
@@ -1030,8 +971,6 @@ def build(
|
|
|
1030
971
|
core = Core(build_cfg, unit_cfg)
|
|
1031
972
|
generate_core_dummy(build_cfg, core, unit_cfg)
|
|
1032
973
|
|
|
1033
|
-
patch_target_link_sources(build_cfg)
|
|
1034
|
-
|
|
1035
974
|
if problem_logger.errors():
|
|
1036
975
|
problem_logger.info(
|
|
1037
976
|
"Critical errors were detected, aborting" " after %4.2f s.",
|
{powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/build_proj_config.py
RENAMED
|
@@ -67,6 +67,7 @@ class BuildProjConfig:
|
|
|
67
67
|
'generalAsilLevelDebug': 'B',
|
|
68
68
|
'generalAsilLevelDependability': 'B',
|
|
69
69
|
'generateCalibrationInterfaceFiles': False,
|
|
70
|
+
'useCalibrationRteMacroExpansion': False,
|
|
70
71
|
'generateCoreDummy': False,
|
|
71
72
|
'generateDummyVar': False,
|
|
72
73
|
'generateInterfaceHeaders': False,
|
|
@@ -75,11 +76,9 @@ class BuildProjConfig:
|
|
|
75
76
|
'includeAllEnums': False,
|
|
76
77
|
'mapToRteEnums': False,
|
|
77
78
|
'propagateTagName': False,
|
|
78
|
-
'patchTargetLinkSources': False,
|
|
79
79
|
'useA2lSymbolLinks': False,
|
|
80
80
|
'useRteNvmStructs': False,
|
|
81
|
-
'useCamelCaseForNvmVariables': False
|
|
82
|
-
'useCalibrationRteMacroExpansion': False,
|
|
81
|
+
'useCamelCaseForNvmVariables': False
|
|
83
82
|
}
|
|
84
83
|
|
|
85
84
|
def _get_code_generation_config(self):
|
|
@@ -269,7 +268,7 @@ class BuildProjConfig:
|
|
|
269
268
|
'secure': file_config.get('secure', False),
|
|
270
269
|
'includeStatic': file_config.get('includeStatic', True),
|
|
271
270
|
'includeShared': file_config.get('includeShared', True),
|
|
272
|
-
'includeSharedSwAddrMethod': file_config.get('includeSharedSwAddrMethod',
|
|
271
|
+
'includeSharedSwAddrMethod': file_config.get('includeSharedSwAddrMethod', None),
|
|
273
272
|
'includeDiagnostics': file_config.get('includeDiagnostics', True),
|
|
274
273
|
'includeNvm': file_config.get('includeNvm', True),
|
|
275
274
|
'scaleMapsAndCurves': file_config.get('scaleMapsAndCurves', True),
|
|
@@ -374,7 +374,7 @@ class HIDIDs(ProblemLogger):
|
|
|
374
374
|
super().__init__()
|
|
375
375
|
self._build_cfg = build_cfg
|
|
376
376
|
self._unit_cfgs = unit_cfgs
|
|
377
|
-
self.
|
|
377
|
+
self.file_name = 'VcDIDAPI'
|
|
378
378
|
self.did_dict = self._compose_did_data()
|
|
379
379
|
|
|
380
380
|
def _load_did_config_files(self, config_file):
|
|
@@ -531,7 +531,7 @@ class HIDIDs(ProblemLogger):
|
|
|
531
531
|
(list(str)): List of lines to write to DID API header file.
|
|
532
532
|
"""
|
|
533
533
|
name = self._build_cfg.get_a2l_cfg()['name']
|
|
534
|
-
header_guard = f'{self.
|
|
534
|
+
header_guard = f'{self.file_name.upper()}_H'
|
|
535
535
|
header = [
|
|
536
536
|
f'#ifndef {header_guard}\n',
|
|
537
537
|
f'#define {header_guard}\n',
|
|
@@ -565,7 +565,7 @@ class HIDIDs(ProblemLogger):
|
|
|
565
565
|
(list(str)): List of lines to write to DID API source file.
|
|
566
566
|
"""
|
|
567
567
|
header = [
|
|
568
|
-
f'#include "{self.
|
|
568
|
+
f'#include "{self.file_name}.h"\n',
|
|
569
569
|
'\n'
|
|
570
570
|
]
|
|
571
571
|
|
|
@@ -598,7 +598,7 @@ class HIDIDs(ProblemLogger):
|
|
|
598
598
|
}
|
|
599
599
|
src_dst_dir = self._build_cfg.get_src_code_dst_dir()
|
|
600
600
|
for extension, content in file_contents.items():
|
|
601
|
-
file_path = Path(src_dst_dir, self.
|
|
601
|
+
file_path = Path(src_dst_dir, self.file_name + extension)
|
|
602
602
|
with file_path.open(mode='w', encoding='utf-8') as file_handler:
|
|
603
603
|
file_handler.writelines(content)
|
|
604
604
|
|
|
@@ -617,8 +617,9 @@ class ZCDIDs(ProblemLogger):
|
|
|
617
617
|
self._build_cfg = build_cfg
|
|
618
618
|
self._unit_cfgs = unit_cfgs
|
|
619
619
|
self._valid_dids = None
|
|
620
|
-
prefix =
|
|
621
|
-
self.
|
|
620
|
+
prefix = self._build_cfg.get_scheduler_prefix()
|
|
621
|
+
self.operation_file_name = 'VcDIDAPI'
|
|
622
|
+
self.sender_receiver_file_name = f'{prefix}UpdatingDIDValues'
|
|
622
623
|
self.project_dids = self._get_project_dids()
|
|
623
624
|
|
|
624
625
|
@property
|
|
@@ -666,7 +667,107 @@ class ZCDIDs(ProblemLogger):
|
|
|
666
667
|
return {}
|
|
667
668
|
return project_dids
|
|
668
669
|
|
|
669
|
-
def
|
|
670
|
+
def _get_sender_receiver_header_file_content(self):
|
|
671
|
+
"""Get content for the S/R DID API header file.
|
|
672
|
+
|
|
673
|
+
The function in this file is a runnable generated by yaml2arxml.
|
|
674
|
+
|
|
675
|
+
Returns:
|
|
676
|
+
(bool): True if any S/R DIDs are defined.
|
|
677
|
+
(list(str)): List of lines to write to the S/R DID API header file.
|
|
678
|
+
"""
|
|
679
|
+
name = self._build_cfg.get_composition_config("softwareComponentName")
|
|
680
|
+
header_guard = f'{self.sender_receiver_file_name.upper()}_H'
|
|
681
|
+
header = [
|
|
682
|
+
f'#ifndef {header_guard}\n',
|
|
683
|
+
f'#define {header_guard}\n',
|
|
684
|
+
'\n',
|
|
685
|
+
'#include "tl_basetypes.h"\n',
|
|
686
|
+
f'#include "Rte_{name}.h"\n',
|
|
687
|
+
'\n'
|
|
688
|
+
]
|
|
689
|
+
footer = [f'\n#endif /* {header_guard} */\n']
|
|
690
|
+
|
|
691
|
+
if not self.valid_dids:
|
|
692
|
+
return False, header + footer
|
|
693
|
+
|
|
694
|
+
variable_declarations = []
|
|
695
|
+
function_declarations = []
|
|
696
|
+
sender_receiver_dids_exist = False
|
|
697
|
+
for did, did_data in self.valid_dids.items():
|
|
698
|
+
project_did_data = self.project_dids[did]
|
|
699
|
+
if did_data.get('PortType', 'dummy') not in ['BOTH', 'SENDER-RECEIVER']:
|
|
700
|
+
continue # C/R DIDs are handled in _get_operation... functions
|
|
701
|
+
if not project_did_data['type'].startswith('UInt'):
|
|
702
|
+
self.warning(
|
|
703
|
+
f'Ignoring DID {did} of type {project_did_data["type"]}, only unsigned integers are supported.'
|
|
704
|
+
)
|
|
705
|
+
continue
|
|
706
|
+
sender_receiver_dids_exist = True
|
|
707
|
+
define = self.project_dids[did]["class"].split('/')[-1] # E.q. for ASIL D it is ASIL_D/CVC_DISP_ASIL_D
|
|
708
|
+
variable_declarations.append(
|
|
709
|
+
f'extern {define} {self.project_dids[did]["type"]} {self.project_dids[did]["name"]};\n'
|
|
710
|
+
)
|
|
711
|
+
function_declarations.append(
|
|
712
|
+
f'extern UInt8 Rte_Write_{name}_DataServices_DID_{did}_data({project_did_data["type"]} {did});\n'
|
|
713
|
+
)
|
|
714
|
+
|
|
715
|
+
function_declarations.append(f'\nvoid Run_{self.sender_receiver_file_name}(void);\n')
|
|
716
|
+
|
|
717
|
+
body = [
|
|
718
|
+
f'#include "{build_defs.PREDECL_DISP_ASIL_D_START}"\n',
|
|
719
|
+
*variable_declarations,
|
|
720
|
+
f'#include "{build_defs.PREDECL_DISP_ASIL_D_END}"\n',
|
|
721
|
+
f'\n#include "{build_defs.PREDECL_CODE_ASIL_D_START}"\n',
|
|
722
|
+
*function_declarations,
|
|
723
|
+
f'#include "{build_defs.PREDECL_CODE_ASIL_D_END}"\n',
|
|
724
|
+
]
|
|
725
|
+
|
|
726
|
+
return sender_receiver_dids_exist, header + body + footer
|
|
727
|
+
|
|
728
|
+
def _get_sender_receiver_source_file_content(self):
|
|
729
|
+
"""Get content for the S/R DID API source file.
|
|
730
|
+
|
|
731
|
+
The function in this file is a runnable generated by yaml2arxml.
|
|
732
|
+
|
|
733
|
+
Returns:
|
|
734
|
+
(bool): True if any S/R DIDs are defined.
|
|
735
|
+
(list(str)): List of lines to write to the S/R DID API source file.
|
|
736
|
+
"""
|
|
737
|
+
header = [
|
|
738
|
+
f'#include "{self.sender_receiver_file_name}.h"\n',
|
|
739
|
+
'\n'
|
|
740
|
+
]
|
|
741
|
+
|
|
742
|
+
if not self.valid_dids:
|
|
743
|
+
return False, header
|
|
744
|
+
|
|
745
|
+
name = self._build_cfg.get_composition_config("softwareComponentName")
|
|
746
|
+
sender_receiver_dids_exist = False
|
|
747
|
+
body = [
|
|
748
|
+
f'#include "{build_defs.CVC_CODE_ASIL_D_START}"\n',
|
|
749
|
+
f'void Run_{self.sender_receiver_file_name}(void)\n',
|
|
750
|
+
'{\n'
|
|
751
|
+
]
|
|
752
|
+
for did, did_data in self.valid_dids.items():
|
|
753
|
+
project_did_data = self.project_dids[did]
|
|
754
|
+
if did_data.get('PortType', 'dummy') not in ['BOTH', 'SENDER-RECEIVER']:
|
|
755
|
+
continue # C/R DIDs are handled in _get_operation... functions
|
|
756
|
+
if not project_did_data['type'].startswith('UInt'):
|
|
757
|
+
self.warning(
|
|
758
|
+
f'Ignoring DID {did} of type {project_did_data["type"]}, only unsigned integers are supported.'
|
|
759
|
+
)
|
|
760
|
+
continue
|
|
761
|
+
sender_receiver_dids_exist = True
|
|
762
|
+
body.append(f' Rte_Write_{name}_DataServices_DID_{did}_data({did});\n')
|
|
763
|
+
body.extend([
|
|
764
|
+
'}\n',
|
|
765
|
+
f'#include "{build_defs.CVC_CODE_ASIL_D_END}"\n'
|
|
766
|
+
])
|
|
767
|
+
|
|
768
|
+
return sender_receiver_dids_exist, header + body
|
|
769
|
+
|
|
770
|
+
def _get_operation_data(self, operation, did_data):
|
|
670
771
|
"""Get operation function data of supported operations.
|
|
671
772
|
|
|
672
773
|
Args:
|
|
@@ -704,14 +805,14 @@ class ZCDIDs(ProblemLogger):
|
|
|
704
805
|
return None
|
|
705
806
|
return operation_data[operation]
|
|
706
807
|
|
|
707
|
-
def
|
|
808
|
+
def _get_operation_header_file_content(self):
|
|
708
809
|
"""Get content for the DID API header file.
|
|
709
810
|
|
|
710
811
|
Returns:
|
|
711
|
-
(list(str)): List of lines to write to DID API header file.
|
|
812
|
+
(list(str)): List of lines to write to the DID API header file.
|
|
712
813
|
"""
|
|
713
814
|
name = self._build_cfg.get_composition_config("softwareComponentName")
|
|
714
|
-
header_guard = f'{self.
|
|
815
|
+
header_guard = f'{self.operation_file_name.upper()}_H'
|
|
715
816
|
header = [
|
|
716
817
|
f'#ifndef {header_guard}\n',
|
|
717
818
|
f'#define {header_guard}\n',
|
|
@@ -728,12 +829,14 @@ class ZCDIDs(ProblemLogger):
|
|
|
728
829
|
variable_declarations = []
|
|
729
830
|
function_declarations = []
|
|
730
831
|
for did, did_data in self.valid_dids.items():
|
|
832
|
+
if did_data.get('PortType', 'dummy') == 'SENDER-RECEIVER':
|
|
833
|
+
continue # S/R DIDs are handled in _get_sender_receiver... functions
|
|
731
834
|
define = self.project_dids[did]["class"].split('/')[-1] # E.q. for ASIL D it is ASIL_D/CVC_DISP_ASIL_D
|
|
732
835
|
variable_declarations.append(
|
|
733
836
|
f'extern {define} {self.project_dids[did]["type"]} {self.project_dids[did]["name"]};\n'
|
|
734
837
|
)
|
|
735
838
|
for operation in did_data["operations"]:
|
|
736
|
-
operation_data = self.
|
|
839
|
+
operation_data = self._get_operation_data(operation, self.project_dids[did])
|
|
737
840
|
if operation_data is None:
|
|
738
841
|
self.warning(
|
|
739
842
|
f'Will not generate code for unsupported operation {operation}. Add manually for DID {did}.'
|
|
@@ -752,14 +855,14 @@ class ZCDIDs(ProblemLogger):
|
|
|
752
855
|
|
|
753
856
|
return header + body + footer
|
|
754
857
|
|
|
755
|
-
def
|
|
858
|
+
def _get_operation_source_file_content(self):
|
|
756
859
|
"""Get content for the DID API source file.
|
|
757
860
|
|
|
758
861
|
Returns:
|
|
759
|
-
(list(str)): List of lines to write to DID API source file.
|
|
862
|
+
(list(str)): List of lines to write to the DID API source file.
|
|
760
863
|
"""
|
|
761
864
|
header = [
|
|
762
|
-
f'#include "{self.
|
|
865
|
+
f'#include "{self.operation_file_name}.h"\n',
|
|
763
866
|
'\n'
|
|
764
867
|
]
|
|
765
868
|
|
|
@@ -768,8 +871,10 @@ class ZCDIDs(ProblemLogger):
|
|
|
768
871
|
|
|
769
872
|
body = [f'#include "{build_defs.CVC_CODE_ASIL_D_START}"\n']
|
|
770
873
|
for did, did_data in self.valid_dids.items():
|
|
874
|
+
if did_data.get('PortType', 'dummy') == 'SENDER-RECEIVER':
|
|
875
|
+
continue # S/R DIDs are handled in _get_sender_receiver... functions
|
|
771
876
|
for operation in did_data["operations"]:
|
|
772
|
-
operation_data = self.
|
|
877
|
+
operation_data = self._get_operation_data(operation, self.project_dids[did])
|
|
773
878
|
if operation_data is None:
|
|
774
879
|
continue # Warning already given in header generation
|
|
775
880
|
body.append(operation_data['declaration'] + '\n' + operation_data['body'])
|
|
@@ -788,12 +893,25 @@ class ZCDIDs(ProblemLogger):
|
|
|
788
893
|
self.critical('Valid DIDs not set. Cannot generate DID files.')
|
|
789
894
|
return
|
|
790
895
|
|
|
896
|
+
src_dst_dir = self._build_cfg.get_src_code_dst_dir()
|
|
897
|
+
|
|
898
|
+
# CLIENT-SERVER DIDs
|
|
791
899
|
file_contents = {
|
|
792
|
-
'.h': self.
|
|
793
|
-
'.c': self.
|
|
900
|
+
'.h': self._get_operation_header_file_content(),
|
|
901
|
+
'.c': self._get_operation_source_file_content()
|
|
794
902
|
}
|
|
795
|
-
src_dst_dir = self._build_cfg.get_src_code_dst_dir()
|
|
796
903
|
for extension, content in file_contents.items():
|
|
797
|
-
file_path = Path(src_dst_dir, self.
|
|
904
|
+
file_path = Path(src_dst_dir, self.operation_file_name + extension)
|
|
798
905
|
with file_path.open(mode='w', encoding='utf-8') as file_handler:
|
|
799
906
|
file_handler.writelines(content)
|
|
907
|
+
|
|
908
|
+
# SENDER-RECEIVER DIDs
|
|
909
|
+
sender_receiver_dids_exist_header, header_contents = self._get_sender_receiver_header_file_content()
|
|
910
|
+
sender_receiver_dids_exist_source, source_contents = self._get_sender_receiver_source_file_content()
|
|
911
|
+
if sender_receiver_dids_exist_header and sender_receiver_dids_exist_source:
|
|
912
|
+
file_path = Path(src_dst_dir, self.sender_receiver_file_name + '.h')
|
|
913
|
+
with file_path.open(mode='w', encoding='utf-8') as file_handler:
|
|
914
|
+
file_handler.writelines(header_contents)
|
|
915
|
+
file_path = Path(src_dst_dir, self.sender_receiver_file_name + '.c')
|
|
916
|
+
with file_path.open(mode='w', encoding='utf-8') as file_handler:
|
|
917
|
+
file_handler.writelines(source_contents)
|
{powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/sched_funcs.py
RENAMED
|
@@ -137,13 +137,13 @@ class SchedFuncs(ProblemLogger):
|
|
|
137
137
|
call_str += '}\n'
|
|
138
138
|
call_str += f'#include "{build_defs.CVC_CODE_END}"\n\n'
|
|
139
139
|
|
|
140
|
-
file_name = pjoin(dst_dir, f'{
|
|
140
|
+
file_name = pjoin(dst_dir, f'{raster}.c')
|
|
141
141
|
with open(file_name, 'w', encoding="utf-8") as fhndl:
|
|
142
142
|
fhndl.write(includes)
|
|
143
143
|
fhndl.write(ext_def_str)
|
|
144
144
|
fhndl.write(call_str)
|
|
145
145
|
self.info(f'generated {file_name}')
|
|
146
|
-
file_name = pjoin(dst_dir, f'{
|
|
146
|
+
file_name = pjoin(dst_dir, f'{raster}.h')
|
|
147
147
|
with open(file_name, 'w', encoding="utf-8") as f_h:
|
|
148
148
|
f_h.write(f'#ifndef {raster.upper()}_H\n')
|
|
149
149
|
f_h.write(f'#define {raster.upper()}_H\n\n')
|
|
@@ -152,13 +152,13 @@ class SchedFuncs(ProblemLogger):
|
|
|
152
152
|
init_ext_def_s += '\n'
|
|
153
153
|
init_call_s += '}\n\n'
|
|
154
154
|
init_call_s += f'#include "{build_defs.CVC_CODE_END}"\n\n'
|
|
155
|
-
file_name = pjoin(dst_dir,
|
|
155
|
+
file_name = pjoin(dst_dir, 'VcExtINI.c')
|
|
156
156
|
with open(file_name, 'w', encoding="utf-8") as fhndl:
|
|
157
157
|
fhndl.write(init_ext_def_s)
|
|
158
158
|
fhndl.write(init_call_s)
|
|
159
|
-
self.info(
|
|
159
|
+
self.info('generated %s', file_name)
|
|
160
160
|
|
|
161
|
-
file_name = pjoin(dst_dir,
|
|
161
|
+
file_name = pjoin(dst_dir, 'VcExtINI.h')
|
|
162
162
|
with open(file_name, 'w', encoding="utf-8") as f_h:
|
|
163
163
|
f_h.write('#ifndef VCEXTINI_H\n')
|
|
164
164
|
f_h.write('#define VCEXTINI_H\n')
|
{powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/user_defined_types.py
RENAMED
|
@@ -71,11 +71,8 @@ class UserDefinedTypes(ProblemLogger):
|
|
|
71
71
|
self.info(' Start parsing files with user defined data types')
|
|
72
72
|
self._build_prj_cfg = build_prj_config
|
|
73
73
|
self._unit_configs = unit_configs
|
|
74
|
-
prefix = build_prj_config.get_scheduler_prefix()
|
|
75
|
-
self.enum_file_name = f'{prefix}VcEnumerations.h'
|
|
76
74
|
self.enums_per_unit = {}
|
|
77
75
|
self.common_enums = self._read_enums_from_definitions()
|
|
78
|
-
self.struct_file_name = f'{prefix}VcStructs.h'
|
|
79
76
|
self.structs_per_unit = {}
|
|
80
77
|
self._parse_all_user_defined_types()
|
|
81
78
|
self.common_header_files = []
|
|
@@ -591,7 +588,7 @@ class UserDefinedTypes(ProblemLogger):
|
|
|
591
588
|
guard = f"{file_path.stem.upper()}_H"
|
|
592
589
|
with file_path.open('w') as fh:
|
|
593
590
|
fh.write(self._get_header_file_header(guard))
|
|
594
|
-
fh.write(
|
|
591
|
+
fh.write('#include "VcEnumerations.h"\n') # struct members may be of enum type
|
|
595
592
|
fh.write('/* VCC Structs */\n')
|
|
596
593
|
for struct_name, struct_data in structs.items():
|
|
597
594
|
fh.write('\n')
|
|
@@ -656,8 +653,8 @@ class UserDefinedTypes(ProblemLogger):
|
|
|
656
653
|
common_header_files (list(Path)): List of names of generated files.
|
|
657
654
|
"""
|
|
658
655
|
src_dir = self._build_prj_cfg.get_src_code_dst_dir()
|
|
659
|
-
enum_file_path = Path(src_dir,
|
|
660
|
-
struct_file_path = Path(src_dir,
|
|
656
|
+
enum_file_path = Path(src_dir, 'VcEnumerations.h')
|
|
657
|
+
struct_file_path = Path(src_dir, 'VcStructs.h')
|
|
661
658
|
self._generate_enum_header_file(enum_file_path)
|
|
662
659
|
self._generate_struct_header_file(struct_file_path)
|
|
663
660
|
self.common_header_files.extend([enum_file_path.name, struct_file_path.name])
|
|
@@ -54,6 +54,11 @@ class CompositionYaml(ProblemLogger):
|
|
|
54
54
|
**self.composition_spec.get("data_types", {}),
|
|
55
55
|
}
|
|
56
56
|
self.port_interfaces = self.composition_spec.get("port_interfaces", {})
|
|
57
|
+
self.sharedSwAddrMethod = self.build_cfg.get_composition_config("includeSharedSwAddrMethod")
|
|
58
|
+
if self.sharedSwAddrMethod is not None and not isinstance(self.sharedSwAddrMethod, str):
|
|
59
|
+
self.sharedSwAddrMethod = None
|
|
60
|
+
self.critical("includeSharedSwAddrMethod must be a string if set.")
|
|
61
|
+
|
|
57
62
|
calibration_variables, measurable_variables = self._get_variables()
|
|
58
63
|
self.calibration_init_values = self.get_init_values(calibration_variables)
|
|
59
64
|
self.cal_class_info = self._get_class_info(calibration_variables)
|
|
@@ -706,7 +711,6 @@ class CompositionYaml(ProblemLogger):
|
|
|
706
711
|
if info["type"] in self.enums.keys():
|
|
707
712
|
return class_info, data_types
|
|
708
713
|
|
|
709
|
-
includeSharedSwAddrMethod = self.build_cfg.get_composition_config("includeSharedSwAddrMethod")
|
|
710
714
|
isReadOnly = "CVC_DISP" in info["class"] or info["class"] == "CVC_EXT"
|
|
711
715
|
if "Bool" in info["type"]:
|
|
712
716
|
upper = 1
|
|
@@ -727,8 +731,8 @@ class CompositionYaml(ProblemLogger):
|
|
|
727
731
|
class_info[signal_name]["longname"] = self._prepare_for_xml(signal_name, info["description"])
|
|
728
732
|
if info["unit"] and info["unit"] != "-":
|
|
729
733
|
class_info[signal_name]["unit"] = info["unit"]
|
|
730
|
-
if
|
|
731
|
-
class_info[signal_name]["swAddrMethod"] = f"
|
|
734
|
+
if self.sharedSwAddrMethod is not None and not isReadOnly:
|
|
735
|
+
class_info[signal_name]["swAddrMethod"] = f"{self.sharedSwAddrMethod}_{signal_name.split('_')[0]}"
|
|
732
736
|
return class_info, data_types
|
|
733
737
|
|
|
734
738
|
if isinstance(lower, list) or isinstance(upper, list):
|
|
@@ -838,7 +842,7 @@ class CompositionYaml(ProblemLogger):
|
|
|
838
842
|
}
|
|
839
843
|
if info["description"]:
|
|
840
844
|
class_info[signal_name]["longname"] = self._prepare_for_xml(signal_name, info["description"])
|
|
841
|
-
if
|
|
842
|
-
class_info[signal_name]["swAddrMethod"] = f"
|
|
845
|
+
if self.sharedSwAddrMethod is not None and not isReadOnly:
|
|
846
|
+
class_info[signal_name]["swAddrMethod"] = f"{self.sharedSwAddrMethod}_{signal_name.split('_')[0]}"
|
|
843
847
|
data_types = {**data_types, **new_data_type}
|
|
844
848
|
return class_info, data_types
|
{powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build.egg-info/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: powertrain-build
|
|
3
|
-
Version: 1.11.
|
|
3
|
+
Version: 1.11.8.dev1
|
|
4
4
|
Summary: A Continuous Integration (CI) build system testing all configurations where a Simulink model is used.
|
|
5
5
|
Home-page: https://opendev.org/volvocars/powertrain-build
|
|
6
6
|
Download-URL: https://pypi.org/project/powertrain-build/
|
|
@@ -49,7 +49,7 @@ Dynamic: provides-extra
|
|
|
49
49
|
Dynamic: requires-dist
|
|
50
50
|
Dynamic: summary
|
|
51
51
|
|
|
52
|
-
#
|
|
52
|
+
# powertrain-build
|
|
53
53
|
|
|
54
54
|
A Continuous Integration (CI) build system, testing all configurations where a TargetLink model is used.
|
|
55
55
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"git_version": "7705917", "is_release": false}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"git_version": "b4279b4", "is_release": false}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/a2l_templates.py
RENAMED
|
File without changes
|
{powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/build_defs.py
RENAMED
|
File without changes
|
{powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/check_interface.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/core_dummy.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/environmentcheck.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/feature_configs.py
RENAMED
|
File without changes
|
{powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/gen_allsysteminfo.py
RENAMED
|
File without changes
|
{powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/gen_label_split.py
RENAMED
|
File without changes
|
{powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/handcode_replacer.py
RENAMED
|
File without changes
|
{powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/html_report.py
RENAMED
|
File without changes
|
{powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/interface/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/interface/base.py
RENAMED
|
File without changes
|
{powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/interface/csp_api.py
RENAMED
|
File without changes
|
|
File without changes
|
{powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/interface/ems.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/interface/hal.py
RENAMED
|
File without changes
|
|
File without changes
|
{powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/interface/service.py
RENAMED
|
File without changes
|
{powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/interface/simulink.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/lib/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/lib/logger.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/memory_section.py
RENAMED
|
File without changes
|
|
File without changes
|
{powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/problem_logger.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/signal_if_html_rep.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/signal_interfaces.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/unit_configs.py
RENAMED
|
File without changes
|
{powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/versioncheck.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build.egg-info/SOURCES.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build.egg-info/not-zip-safe
RENAMED
|
File without changes
|
{powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build.egg-info/requires.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|