powertrain-build 1.1.3.dev2__tar.gz → 1.1.3.dev3__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.1.3.dev2 → powertrain_build-1.1.3.dev3}/ChangeLog +8 -13
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/NOTICE +11 -42
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/PKG-INFO +2 -2
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/README.md +1 -1
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/build.py +3 -2
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/build_proj_config.py +0 -19
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/interface/zone_controller.py +2 -2
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/nvm_def.py +2 -2
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/user_defined_types.py +40 -81
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/zone_controller/composition_yaml.py +29 -11
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build.egg-info/PKG-INFO +2 -2
- powertrain_build-1.1.3.dev3/powertrain_build.egg-info/pbr.json +1 -0
- powertrain_build-1.1.3.dev2/powertrain_build.egg-info/pbr.json +0 -1
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/AUTHORS +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/LICENSE +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/MANIFEST.in +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/__init__.py +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/__main__.py +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/a2l.py +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/a2l_merge.py +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/a2l_templates.py +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/build_defs.py +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/check_interface.py +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/cli.py +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/config.py +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/core.py +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/core_dummy.py +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/create_conversion_table.py +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/dids.py +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/dummy.py +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/dummy_spm.py +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/environmentcheck.py +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/ext_dbg.py +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/ext_var.py +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/feature_configs.py +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/gen_allsysteminfo.py +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/gen_label_split.py +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/handcode_replacer.py +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/html_report.py +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/interface/__init__.py +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/interface/application.py +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/interface/base.py +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/interface/csp_api.py +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/interface/device_proxy.py +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/interface/ems.py +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/interface/export_global_vars.py +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/interface/generate_adapters.py +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/interface/generate_hi_interface.py +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/interface/generate_service.py +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/interface/generate_wrappers.py +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/interface/generation_utils.py +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/interface/hal.py +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/interface/model_yaml_verification.py +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/interface/service.py +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/interface/simulink.py +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/interface/update_call_sources.py +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/interface/update_model_yaml.py +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/lib/__init__.py +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/lib/helper_functions.py +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/lib/logger.py +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/matlab_scripts/CodeGen/BuildAutomationPyBuild.m +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/matlab_scripts/CodeGen/Generate_A2L.m +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/matlab_scripts/CodeGen/generateTLUnit.m +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/matlab_scripts/CodeGen/getAsilClassification.m +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/matlab_scripts/CodeGen/modelConfiguredForTL.m +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/matlab_scripts/CodeGen/moveDefOutports.m +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/matlab_scripts/CodeGen/parseCalMeasData.m +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/matlab_scripts/CodeGen/parseCoreIdentifiers.m +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/matlab_scripts/CodeGen/parseDIDs.m +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/matlab_scripts/CodeGen/parseInPorts.m +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/matlab_scripts/CodeGen/parseIncludeConfigs.m +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/matlab_scripts/CodeGen/parseModelInfo.m +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/matlab_scripts/CodeGen/parseNVM.m +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/matlab_scripts/CodeGen/parseOutPorts.m +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/matlab_scripts/CodeGen/parsePreProcBlks.m +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/matlab_scripts/CodeGen/struct2JSON.m +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/matlab_scripts/CodeGen/updateCodeSwConfig.m +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/matlab_scripts/Init_PyBuild.m +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/matlab_scripts/__init__.py +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/matlab_scripts/helperFunctions/Get_Full_Name.m +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/matlab_scripts/helperFunctions/Get_SrcLines.m +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/matlab_scripts/helperFunctions/Init_Models.m +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/matlab_scripts/helperFunctions/Init_Projects.m +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/matlab_scripts/helperFunctions/Read_Units.m +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/matlab_scripts/helperFunctions/SetProjectTimeSamples.m +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/matlab_scripts/helperFunctions/Strip_Suffix.m +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/matlab_scripts/helperFunctions/followLink.m +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/matlab_scripts/helperFunctions/getCodeSwitches.m +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/matlab_scripts/helperFunctions/getConsumerBlocks.m +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/matlab_scripts/helperFunctions/getDefBlock.m +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/matlab_scripts/helperFunctions/getDefOutport.m +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/matlab_scripts/helperFunctions/getDstBlocks.m +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/matlab_scripts/helperFunctions/getDstLines.m +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/matlab_scripts/helperFunctions/getInterfaceSignals.m +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/matlab_scripts/helperFunctions/getName.m +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/matlab_scripts/helperFunctions/getPath.m +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/matlab_scripts/helperFunctions/getProperValue.m +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/matlab_scripts/helperFunctions/getSrcBlocks.m +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/matlab_scripts/helperFunctions/getSrcLines.m +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/matlab_scripts/helperFunctions/loadLibraries.m +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/matlab_scripts/helperFunctions/loadjson.m +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/matlab_scripts/helperFunctions/modifyEnumStructField.m +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/matlab_scripts/helperFunctions/removeConfigDuplicates.m +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/matlab_scripts/helperFunctions/sortSystemByClass.m +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/matlab_scripts/helperFunctions/tl_getfast.m +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/matlab_scripts/helperFunctions/topLevelSystem.m +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/matlab_scripts/helperFunctions/updateModels.m +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/memory_section.py +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/problem_logger.py +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/pt_matlab.py +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/pt_win32.py +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/replace_compu_tab_ref.py +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/sched_funcs.py +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/signal.py +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/signal_if_html_rep.py +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/signal_if_html_rep_all.py +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/signal_incons_html_rep.py +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/signal_incons_html_rep_all.py +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/signal_incons_html_rep_base.py +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/signal_inconsistency_check.py +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/signal_interfaces.py +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/templates/Index_SigCheck_All.html +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/templates/Index_SigIf_All.html +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/types.py +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/unit_configs.py +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/versioncheck.py +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/wrapper.py +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/xlrd_csv.py +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/zone_controller/__init__.py +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/zone_controller/calibration.py +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build.egg-info/SOURCES.txt +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build.egg-info/dependency_links.txt +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build.egg-info/entry_points.txt +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build.egg-info/not-zip-safe +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build.egg-info/requires.txt +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build.egg-info/top_level.txt +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/requirements.txt +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/setup.cfg +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/setup.py +0 -0
- {powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/test-requirements.txt +0 -0
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
CHANGES
|
|
2
2
|
=======
|
|
3
3
|
|
|
4
|
-
1
|
|
5
|
-
|
|
4
|
+
* Dummy 1
|
|
5
|
+
* Updated ZC parse definitiion and composition yaml
|
|
6
|
+
* Add scheduler prefix to NVM functions
|
|
7
|
+
|
|
8
|
+
1.1.2
|
|
9
|
+
-----
|
|
6
10
|
|
|
7
|
-
* Enable enums in interface for zone controller
|
|
8
11
|
* Fixes in interface/zone\_controller.py
|
|
9
12
|
|
|
10
13
|
1.1.1
|
|
@@ -46,19 +49,15 @@ CHANGES
|
|
|
46
49
|
-----
|
|
47
50
|
|
|
48
51
|
* Missed to update use of get function
|
|
49
|
-
* Measure code coverage in tox tests
|
|
50
|
-
* Add option for supplying custom step function name
|
|
51
52
|
|
|
52
53
|
1.0.3
|
|
53
54
|
-----
|
|
54
55
|
|
|
56
|
+
* Measure code coverage in tox tests
|
|
57
|
+
* Add option for supplying custom step function name
|
|
55
58
|
* Aggregate project settings for ARXML specifications in ProjectCfg
|
|
56
59
|
* CRLF -> LF
|
|
57
60
|
* Update NOTICE file
|
|
58
|
-
|
|
59
|
-
1.0.2.dev99
|
|
60
|
-
-----------
|
|
61
|
-
|
|
62
61
|
* Improve TargetLink documentation
|
|
63
62
|
* Add option for supplying custom init function name
|
|
64
63
|
* Add docs about TargetLink
|
|
@@ -81,10 +80,6 @@ CHANGES
|
|
|
81
80
|
|
|
82
81
|
* Make composition\_yaml read diagnostics key instead
|
|
83
82
|
* Devs asked for missing ZC dids to be erroneous
|
|
84
|
-
|
|
85
|
-
0.1.1
|
|
86
|
-
-----
|
|
87
|
-
|
|
88
83
|
* Refactor usage of ecu\_supplier
|
|
89
84
|
* Make powertrain-build not overlap with pybuild in site-packages
|
|
90
85
|
* Bug fix - always set zc\_dids in compisition\_yaml
|
|
@@ -12,7 +12,7 @@ Notices Report Content
|
|
|
12
12
|
|
|
13
13
|
Components:
|
|
14
14
|
|
|
15
|
-
Coverage 7.6.
|
|
15
|
+
Coverage 7.6.9: http://nedbatchelder.com/code/modules/coverage.html : Apache License 2.0
|
|
16
16
|
exceptiongroup 1.2.2: https://github.com/python-trio/exceptiongroup : MIT License
|
|
17
17
|
flake8 7.1.1: https://gitlab.com/pycqa/flake8 : MIT License
|
|
18
18
|
gitdb 4.0.11: http://github.com/gitpython-developers/gitdb : BSD 3-clause "New" or "Revised" License
|
|
@@ -22,11 +22,10 @@ mccabe 0.7.0: http://pypi.python.org/pypi/mccabe : Expat License
|
|
|
22
22
|
NumPy 1.24.4: https://numpy.org/ : BSD 3-clause "New" or "Revised" License
|
|
23
23
|
Packaging 24.2: https://github.com/pypa/packaging : (BSD 2-clause "Simplified" License OR Apache License 2.0)
|
|
24
24
|
pbr 6.1.0: http://openstack.org : Apache License 2.0
|
|
25
|
-
powertrain-build 1.0.5.dev3: https://opendev.org/volvocars/powertrain-build : Apache License 2.0
|
|
26
25
|
psf-requests 2.32.3: http://docs.python-requests.org : Apache License 2.0
|
|
27
26
|
pycodestyle 2.12.1: https://pypi.python.org/pypi/pycodestyle : MIT License
|
|
28
27
|
Pyflakes 3.2.0: https://github.com/pyflakes/pyflakes : MIT License
|
|
29
|
-
pytest 8.3.
|
|
28
|
+
pytest 8.3.4: http://pytest.org : MIT License
|
|
30
29
|
python3-charset-normalizer 3.4.0: https://github.com/ousret/charset_normalizer : MIT License
|
|
31
30
|
python-certifi 2024.7.4: https://certifiio.readthedocs.io/en/latest/ : Mozilla Public License 2.0
|
|
32
31
|
python-pluggy 1.5.0: https://pypi.python.org/pypi/pluggy : MIT License
|
|
@@ -41,7 +40,7 @@ voluptuous 0.15.2: http://pypi.python.org/pypi/voluptuous : BSD 3-clause "New" o
|
|
|
41
40
|
|
|
42
41
|
Copyright Text:
|
|
43
42
|
|
|
44
|
-
Coverage 7.6.
|
|
43
|
+
Coverage 7.6.9 pypi:coverage/7.6.9: http://nedbatchelder.com/code/modules/coverage.html
|
|
45
44
|
No Copyrights found
|
|
46
45
|
exceptiongroup 1.2.2 pypi:exceptiongroup/1.2.2: https://github.com/python-trio/exceptiongroup
|
|
47
46
|
Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
|
|
@@ -2656,8 +2655,6 @@ add_function_parentheses = True
|
|
|
2656
2655
|
# If true, '()' will be appended to :func: etc. cross-reference text.
|
|
2657
2656
|
add_function_parentheses = True
|
|
2658
2657
|
|
|
2659
|
-
powertrain-build 1.0.5.dev3 pypi:powertrain-build/1.0.5.dev3: https://opendev.org/volvocars/powertrain-build
|
|
2660
|
-
No Copyrights found
|
|
2661
2658
|
psf-requests 2.32.3 pypi:requests/2.32.3: http://docs.python-requests.org
|
|
2662
2659
|
(c)
|
|
2663
2660
|
return c
|
|
@@ -2695,39 +2692,8 @@ try:
|
|
|
2695
2692
|
|
|
2696
2693
|
Copyright 2013-2014 Florent Xicluna
|
|
2697
2694
|
|
|
2698
|
-
pytest 8.3.
|
|
2699
|
-
|
|
2700
|
-
|
|
2701
|
-
# ASCII fast path.
|
|
2702
|
-
if 0x20 <= o < 0x07F:
|
|
2703
|
-
|
|
2704
|
-
(c)
|
|
2705
|
-
|
|
2706
|
-
# Control characters.
|
|
2707
|
-
if category == "Cc":
|
|
2708
|
-
|
|
2709
|
-
(C)
|
|
2710
|
-
|
|
2711
|
-
assert all_marks ==
|
|
2712
|
-
|
|
2713
|
-
assert get_unpacked_marks(C, consider_mro=False) == [xfail("c").mark]
|
|
2714
|
-
|
|
2715
|
-
(c)
|
|
2716
|
-
if wc < 0:
|
|
2717
|
-
return -1
|
|
2718
|
-
width += wc
|
|
2719
|
-
|
|
2720
|
-
(c) in ("F", "W"):
|
|
2721
|
-
return 2
|
|
2722
|
-
|
|
2723
|
-
return 1
|
|
2724
|
-
|
|
2725
|
-
Copyright (c) 2004 Holger Krekel and others
|
|
2726
|
-
|
|
2727
|
-
Copyright (c) 2014, Gregory Boissinot
|
|
2728
|
-
|
|
2729
|
-
Copyright Holger Krekel and others, 2004.
|
|
2730
|
-
|
|
2695
|
+
pytest 8.3.4 pypi:pytest/8.3.4: http://pytest.org
|
|
2696
|
+
No Copyrights found
|
|
2731
2697
|
python-certifi 2024.7.4 pypi:certifi/2024.7.4: https://certifiio.readthedocs.io/en/latest/
|
|
2732
2698
|
No Copyrights found
|
|
2733
2699
|
python-pluggy 1.5.0 pypi:pluggy/1.5.0: https://pypi.python.org/pypi/pluggy
|
|
@@ -13593,7 +13559,10 @@ from this software without specific prior written permission.
|
|
|
13593
13559
|
|
|
13594
13560
|
|
|
13595
13561
|
tomli 2.2.1 pypi:tomli/2.2.1: https://github.com/hukkin/tomli
|
|
13596
|
-
|
|
13562
|
+
Copyright (c) 2021 Taneli Hukkinen
|
|
13563
|
+
|
|
13564
|
+
Copyright (c) 2021 Taneli Hukkinen
|
|
13565
|
+
|
|
13597
13566
|
urllib3 2.2.3 pypi:urllib3/2.2.3
|
|
13598
13567
|
Copyright (c) 2008-2020 Andrey Petrov and contributors.
|
|
13599
13568
|
|
|
@@ -13625,7 +13594,7 @@ modification, are permitted provided that the following conditions are met:
|
|
|
13625
13594
|
Licenses:
|
|
13626
13595
|
|
|
13627
13596
|
Apache License 2.0
|
|
13628
|
-
(Coverage 7.6.
|
|
13597
|
+
(Coverage 7.6.9, Packaging 24.2, pbr 6.1.0, psf-requests 2.32.3)
|
|
13629
13598
|
|
|
13630
13599
|
Apache License
|
|
13631
13600
|
Version 2.0, January 2004
|
|
@@ -13904,7 +13873,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
|
13904
13873
|
---
|
|
13905
13874
|
|
|
13906
13875
|
MIT License
|
|
13907
|
-
(exceptiongroup 1.2.2, flake8 7.1.1, pycodestyle 2.12.1, Pyflakes 3.2.0, pytest 8.3.
|
|
13876
|
+
(exceptiongroup 1.2.2, flake8 7.1.1, pycodestyle 2.12.1, Pyflakes 3.2.0, pytest 8.3.4, python-pluggy 1.5.0, python3-charset-normalizer 3.4.0, RonnyPfannschmidt/iniconfig 2.0.0, ruamel-yaml 0.18.6, ruamel.yaml.clib 0.2.12, tomli 2.2.1, urllib3 2.2.3)
|
|
13908
13877
|
|
|
13909
13878
|
The MIT License
|
|
13910
13879
|
===============
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: powertrain-build
|
|
3
|
-
Version: 1.1.3.
|
|
3
|
+
Version: 1.1.3.dev3
|
|
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/
|
|
@@ -39,7 +39,7 @@ Requires-Dist: scipy==1.14.1; python_version >= "3.11"
|
|
|
39
39
|
Requires-Dist: importlib-resources==5.4.0; python_version < "3.9"
|
|
40
40
|
Requires-Dist: pywin32==305; python_version == "3.6" and sys_platform == "win32"
|
|
41
41
|
|
|
42
|
-
#
|
|
42
|
+
# wertrain-build
|
|
43
43
|
|
|
44
44
|
A Continuous Integration (CI) build system, testing all configurations where a TargetLink model is used.
|
|
45
45
|
|
|
@@ -903,8 +903,9 @@ def build(
|
|
|
903
903
|
project_nvm_defintions = unit_cfg.get_per_cfg_unit_cfg().get("nvm", {})
|
|
904
904
|
zc_nvm = ZCNVMDef(build_cfg, unit_cfg, project_nvm_defintions)
|
|
905
905
|
axis_data = merged_a2l.get_characteristic_axis_data()
|
|
906
|
-
composition_yaml = CompositionYaml(
|
|
907
|
-
|
|
906
|
+
composition_yaml = CompositionYaml(
|
|
907
|
+
build_cfg, signal_if.composition_spec, unit_cfg, zc_core, zc_dids, zc_nvm, axis_data
|
|
908
|
+
)
|
|
908
909
|
LOG.info("******************************************************")
|
|
909
910
|
composition_yaml.generate_yaml()
|
|
910
911
|
LOG.info("******************************************************")
|
{powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/build_proj_config.py
RENAMED
|
@@ -677,25 +677,6 @@ class BuildProjConfig:
|
|
|
677
677
|
)
|
|
678
678
|
return None
|
|
679
679
|
|
|
680
|
-
def include_all_enums(self):
|
|
681
|
-
"""Return True if all enums encountered in the enum definition files should be included in the generated code,
|
|
682
|
-
even if they are not used in any models. Requires the ProjectInfo.enumDefDir key to be present in the project config.
|
|
683
|
-
|
|
684
|
-
Returns:
|
|
685
|
-
bool: True if all enumerations should be generated by source code, False otherwise.
|
|
686
|
-
"""
|
|
687
|
-
if not self.get_enum_def_dir():
|
|
688
|
-
return False
|
|
689
|
-
return self._prj_cfg['ProjectInfo'].get('includeAllEnums', False)
|
|
690
|
-
|
|
691
|
-
def map_to_rte_enums(self):
|
|
692
|
-
"""Return True/False whether external RTE headers should be included in ext vars. Default is false.
|
|
693
|
-
|
|
694
|
-
Returns:
|
|
695
|
-
(bool): True/False whether external RTE headers should be included in ext vars
|
|
696
|
-
"""
|
|
697
|
-
return self._prj_cfg['CodeGenerationConfig'].get('mapEnumsToRteCounterpart', False)
|
|
698
|
-
|
|
699
680
|
|
|
700
681
|
if __name__ == '__main__':
|
|
701
682
|
# Function for testing the module
|
|
@@ -145,14 +145,14 @@ class ZCAL(BaseApplication):
|
|
|
145
145
|
}
|
|
146
146
|
ports_info = {}
|
|
147
147
|
for port_name, port in raw.get("ports", {}).items():
|
|
148
|
-
ports_info[port_name] = {k: v for k, v in port.items() if k not in ["element"]}
|
|
149
148
|
signal_struct = port.get("element", {})
|
|
150
149
|
direction = port.get("direction", None)
|
|
151
150
|
if signal_struct:
|
|
152
151
|
for element_name, element_data in signal_struct.items():
|
|
153
152
|
self.populate_signal_translations(port_name, element_name, element_data)
|
|
154
153
|
# Loop inside function to make sure direction is consistent
|
|
155
|
-
|
|
154
|
+
port.update(self.get_port_info(port_name, direction, signal_struct))
|
|
155
|
+
ports_info[port_name] = port
|
|
156
156
|
self.composition_spec["ports"] = ports_info
|
|
157
157
|
|
|
158
158
|
@staticmethod
|
|
@@ -577,8 +577,8 @@ class ZCNVMDef(NVMDef):
|
|
|
577
577
|
}
|
|
578
578
|
self._predecl_start = bd.PREDECL_NVM_START
|
|
579
579
|
self._predecl_end = bd.PREDECL_NVM_END
|
|
580
|
-
self.init_function = "void VcNvmInit(void)"
|
|
581
|
-
self.main_function = "void VcNvm(void)"
|
|
580
|
+
self.init_function = f"void {prefix}VcNvmInit(void)"
|
|
581
|
+
self.main_function = f"void {prefix}VcNvm(void)"
|
|
582
582
|
|
|
583
583
|
@property
|
|
584
584
|
def valid_nvm_definitions(self):
|
{powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/user_defined_types.py
RENAMED
|
@@ -52,7 +52,6 @@ class UserDefinedTypes(ProblemLogger):
|
|
|
52
52
|
self._build_prj_cfg = build_prj_config
|
|
53
53
|
self._unit_configs = unit_configs
|
|
54
54
|
self.enums_per_unit = {}
|
|
55
|
-
self.common_enums = self._read_enums_from_definitions()
|
|
56
55
|
self.structs_per_unit = {}
|
|
57
56
|
self._parse_all_user_defined_types()
|
|
58
57
|
self.common_header_files = []
|
|
@@ -305,19 +304,14 @@ class UserDefinedTypes(ProblemLogger):
|
|
|
305
304
|
enum_members_tmp = re.findall(r'\s*(\w+) = ([-+]?\d+)', enum_content, flags=re.M)
|
|
306
305
|
enum_members = [(k, int(v)) for k, v in enum_members_tmp]
|
|
307
306
|
underlying_data_type = self._calculate_underlying_data_type(unit, enum_name, enum_members)
|
|
308
|
-
default = self.get_default_enum_value(unit, enum_name)
|
|
309
307
|
enum_dict = {
|
|
310
308
|
'underlying_data_type': underlying_data_type,
|
|
311
309
|
'members': {},
|
|
312
310
|
'default_value': self.get_default_enum_value(unit, enum_name)
|
|
313
311
|
}
|
|
314
|
-
|
|
315
312
|
for key, value in enum_members:
|
|
316
313
|
enum_dict['members'][key] = value
|
|
317
314
|
|
|
318
|
-
if default is None:
|
|
319
|
-
print(enum_dict)
|
|
320
|
-
|
|
321
315
|
if enum_name in self.enums_per_unit[unit]:
|
|
322
316
|
is_consistent_enums = self._compare_enum_definitions(
|
|
323
317
|
[unit],
|
|
@@ -375,58 +369,47 @@ class UserDefinedTypes(ProblemLogger):
|
|
|
375
369
|
|
|
376
370
|
return underlying_data_type
|
|
377
371
|
|
|
378
|
-
def
|
|
379
|
-
"""
|
|
380
|
-
|
|
372
|
+
def _get_default_enum_value_tmp(self, enum_name):
|
|
373
|
+
"""Get default value of given enumeration name.
|
|
374
|
+
|
|
375
|
+
Requires "enumDefDir" in the ProjectCfg.json file.
|
|
381
376
|
Files defining simulink class enumerations are expected to follow a template.
|
|
382
377
|
|
|
378
|
+
TODO: Remove this function when there is a default enum value in every config_*.json file.
|
|
379
|
+
|
|
380
|
+
Args:
|
|
381
|
+
enum_name (str): Name of an enumeration.
|
|
382
|
+
Returns:
|
|
383
|
+
default_value_str (str): Default value (string) for the given enumeration name.
|
|
384
|
+
None if value could not be extracted.
|
|
383
385
|
"""
|
|
384
|
-
common_enums = {}
|
|
385
386
|
if self._build_prj_cfg.get_enum_def_dir() is None:
|
|
386
387
|
self.warning(
|
|
387
388
|
'Cannot extract default enumeration value for %s. Missing "enumDefDir" in ProjectCfg.json.',
|
|
389
|
+
enum_name
|
|
388
390
|
)
|
|
389
391
|
return None
|
|
390
392
|
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
member_dict = {enum_name + '_' + member[0]: int(member[1]) for member in members}
|
|
409
|
-
get_default_value = re.search(
|
|
410
|
-
r'function ([A-Za-z0-9]+) = getDefaultValue\(\)[\s\n]*'
|
|
411
|
-
r'\1 = [A-Za-z0-9]+\.([A-Za-z0-9]+);[\s\n]*'
|
|
412
|
-
r'end',
|
|
413
|
-
enum_file_content,
|
|
414
|
-
flags=re.MULTILINE
|
|
415
|
-
)
|
|
416
|
-
if get_default_value is None:
|
|
417
|
-
self.warning('Cannot extract default enumeration values in: %s', str(enum_file))
|
|
418
|
-
return None
|
|
419
|
-
_unused, default_value = get_default_value.groups()
|
|
420
|
-
default_member = f'{enum_name.upper()}_{default_value.upper()}'
|
|
421
|
-
enum_members = [(member_name, member_value) for member_name, member_value in member_dict.items()]
|
|
422
|
-
underlying_data_type = self._calculate_underlying_data_type('target_link', enum_name, enum_members)
|
|
423
|
-
common_enums[enum_name] = {
|
|
424
|
-
"underlying_data_type": underlying_data_type,
|
|
425
|
-
"default": default_member,
|
|
426
|
-
"members": member_dict
|
|
427
|
-
}
|
|
428
|
-
return common_enums
|
|
393
|
+
enum_def_file = Path(self._build_prj_cfg.get_enum_def_dir(), f'{enum_name}.m')
|
|
394
|
+
if not enum_def_file.is_file():
|
|
395
|
+
self.warning('Cannot extract default enumeration value. File not found: %s', str(enum_def_file))
|
|
396
|
+
return None
|
|
397
|
+
|
|
398
|
+
with enum_def_file.open(mode='r', encoding='ISO-8859-1') as fh:
|
|
399
|
+
enum_def_content = fh.read()
|
|
400
|
+
get_default_value = re.search(
|
|
401
|
+
r'function ([A-Za-z0-9]+) = getDefaultValue\(\)[\s\n]*'
|
|
402
|
+
r'\1 = [A-Za-z0-9]+\.([A-Za-z0-9]+);[\s\n]*'
|
|
403
|
+
r'end',
|
|
404
|
+
enum_def_content,
|
|
405
|
+
flags=re.MULTILINE
|
|
406
|
+
)
|
|
407
|
+
if get_default_value is None:
|
|
408
|
+
self.warning('Cannot extract default enumeration values in: %s', str(enum_def_file))
|
|
409
|
+
return None
|
|
429
410
|
|
|
411
|
+
_unused, default_value = get_default_value.groups()
|
|
412
|
+
return f'{enum_name.upper()}_{default_value.upper()}'
|
|
430
413
|
|
|
431
414
|
def get_default_enum_value(self, unit, enum_name):
|
|
432
415
|
"""Get default value of given enumeration name by searching in the unit configuration.
|
|
@@ -463,7 +446,7 @@ class UserDefinedTypes(ProblemLogger):
|
|
|
463
446
|
enum_name,
|
|
464
447
|
unit
|
|
465
448
|
)
|
|
466
|
-
return self.
|
|
449
|
+
return self._get_default_enum_value_tmp(enum_name)
|
|
467
450
|
|
|
468
451
|
def get_enumerations(self):
|
|
469
452
|
"""Get all enumeration defined in the project, together with unit usage.
|
|
@@ -481,12 +464,6 @@ class UserDefinedTypes(ProblemLogger):
|
|
|
481
464
|
else:
|
|
482
465
|
enumerations[enum_name] = deepcopy(enum_data)
|
|
483
466
|
enumerations[enum_name]['units'] = [unit]
|
|
484
|
-
if self._build_prj_cfg.include_all_enums():
|
|
485
|
-
for enum_name, enum_data in self.common_enums.items():
|
|
486
|
-
if enum_name not in enumerations:
|
|
487
|
-
self.warning("Enumeration %s is not used in any unit. Generated anyway since 'includeAllEnums' is True", enum_name)
|
|
488
|
-
enumerations[enum_name] = deepcopy(enum_data)
|
|
489
|
-
enumerations[enum_name]['units'] = []
|
|
490
467
|
return enumerations
|
|
491
468
|
|
|
492
469
|
def get_interface_data_types(self):
|
|
@@ -552,36 +529,18 @@ class UserDefinedTypes(ProblemLogger):
|
|
|
552
529
|
file_path (Path): Path to file to generate.
|
|
553
530
|
"""
|
|
554
531
|
enumerations = self.get_enumerations()
|
|
555
|
-
rte_interface_enums = self._build_prj_cfg.map_to_rte_enums()
|
|
556
532
|
guard = f"{file_path.stem.upper()}_H"
|
|
557
533
|
with file_path.open('w') as fh:
|
|
558
534
|
fh.write(self._get_header_file_header(guard))
|
|
559
|
-
|
|
560
|
-
composition_name = self._build_prj_cfg.get_composition_config("softwareComponentName")
|
|
561
|
-
fh.write(f'#include "Rte_{ composition_name }_Type.h"\n')
|
|
562
|
-
fh.write('/* VCC Enumerations */\n\n')
|
|
535
|
+
fh.write('/* VCC Enumerations */\n')
|
|
563
536
|
for enum_name, enum_data in enumerations.items():
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
'\n
|
|
570
|
-
|
|
571
|
-
)
|
|
572
|
-
if rte_interface_enums:
|
|
573
|
-
enum = self.common_enums[enum_name]
|
|
574
|
-
enum_member_0 = [member for member, value in enum["members"].items() if value == 0][0]
|
|
575
|
-
rte_translation = '\n'.join(f"#define {member.upper()} {member}" for member in enum["members"].keys())
|
|
576
|
-
compile_time_guard = f""
|
|
577
|
-
enum_definition = (
|
|
578
|
-
f'#ifndef {enum_member_0}\n'
|
|
579
|
-
f'{enum_definition}\n'
|
|
580
|
-
f'#else\n'
|
|
581
|
-
f'{rte_translation}\n'
|
|
582
|
-
f'#endif /* {enum_member_0} */\n'
|
|
583
|
-
)
|
|
584
|
-
fh.write(enum_definition + '\n')
|
|
537
|
+
fh.write('\n')
|
|
538
|
+
fh.write(f'typedef enum {enum_name}_tag {{\n')
|
|
539
|
+
nr_of_enum_members = len(enum_data['members'])
|
|
540
|
+
for idx, enum_member_name in enumerate(enum_data['members']):
|
|
541
|
+
ending = ', ' if idx < nr_of_enum_members - 1 else ' '
|
|
542
|
+
fh.write(f" {enum_member_name} = {enum_data['members'][enum_member_name]}{ending}\n")
|
|
543
|
+
fh.write(f'}} {enum_name};\n')
|
|
585
544
|
fh.write(f'#endif /* {guard} */\n')
|
|
586
545
|
|
|
587
546
|
def generate_common_header_files(self):
|
|
@@ -15,7 +15,7 @@ from powertrain_build.zone_controller.calibration import ZoneControllerCalibrati
|
|
|
15
15
|
class CompositionYaml(ProblemLogger):
|
|
16
16
|
"""Class for handling ZoneController composition yaml generation."""
|
|
17
17
|
|
|
18
|
-
def __init__(self, build_cfg, composition_spec, unit_cfg, zc_core, zc_dids, zc_nvm, a2l_axis_data
|
|
18
|
+
def __init__(self, build_cfg, composition_spec, unit_cfg, zc_core, zc_dids, zc_nvm, a2l_axis_data):
|
|
19
19
|
"""Init.
|
|
20
20
|
|
|
21
21
|
Args:
|
|
@@ -44,7 +44,6 @@ class CompositionYaml(ProblemLogger):
|
|
|
44
44
|
self.zc_core = zc_core
|
|
45
45
|
self.zc_dids = zc_dids
|
|
46
46
|
self.zc_nvm = zc_nvm
|
|
47
|
-
self.enums = enums
|
|
48
47
|
self.a2l_axis_data = a2l_axis_data
|
|
49
48
|
base_data_types = self.get_base_data_types() # Might not be necessary in the long run
|
|
50
49
|
self.data_types = {
|
|
@@ -189,10 +188,6 @@ class CompositionYaml(ProblemLogger):
|
|
|
189
188
|
re.compile(r"^\s*CVC_CAL[A-Z_]*\s+\w+\s+(?P<name>\w+)\[(?P<rows>[\d]+)\]\[(?P<cols>[\d]+)\]\s*=\s*"),
|
|
190
189
|
self._get_matrix_init_values,
|
|
191
190
|
),
|
|
192
|
-
(
|
|
193
|
-
re.compile(r"^\s*CVC_CAL[A-Z_]*\s+\w+\s+(?P<name>\w+)\s*=\s*(?P<enum>[a-zA-Z_$][\w_]*?)*;"),
|
|
194
|
-
lambda regex_match, _: regex_match.group("enum"),
|
|
195
|
-
),
|
|
196
191
|
]
|
|
197
192
|
|
|
198
193
|
init_values = {}
|
|
@@ -412,7 +407,10 @@ class CompositionYaml(ProblemLogger):
|
|
|
412
407
|
Returns:
|
|
413
408
|
ports (dict): Dict containing port information.
|
|
414
409
|
"""
|
|
415
|
-
|
|
410
|
+
local_keys = ["element", "access"]
|
|
411
|
+
ports = {}
|
|
412
|
+
for port, port_data in self.composition_spec.get("ports", {}).items():
|
|
413
|
+
ports[port] = {k: v for k, v in port_data.items() if k not in local_keys}
|
|
416
414
|
for call, call_data in self.composition_spec.get("calls", {}).items():
|
|
417
415
|
if call in ports:
|
|
418
416
|
continue
|
|
@@ -422,6 +420,24 @@ class CompositionYaml(ProblemLogger):
|
|
|
422
420
|
}
|
|
423
421
|
return ports
|
|
424
422
|
|
|
423
|
+
def _get_ports_to_read_and_write(self):
|
|
424
|
+
"""Creates lists with ports to read and write.
|
|
425
|
+
|
|
426
|
+
Returns:
|
|
427
|
+
ports_to_read (list): List containing ports to read.
|
|
428
|
+
ports_to_write (list): List containing ports to write.
|
|
429
|
+
"""
|
|
430
|
+
ports_to_read = []
|
|
431
|
+
ports_to_write = []
|
|
432
|
+
for port, port_data in self.composition_spec.get("ports", {}).items():
|
|
433
|
+
if "access" not in port_data or port_data["access"] == "READ-ONLY":
|
|
434
|
+
ports_to_read.append(port)
|
|
435
|
+
elif port_data["access"] == "READ-WRITE":
|
|
436
|
+
ports_to_write.append(port)
|
|
437
|
+
else:
|
|
438
|
+
self.critical("Unsupported access type %s for port %s.", port_data["access"], port)
|
|
439
|
+
return ports_to_read, ports_to_write
|
|
440
|
+
|
|
425
441
|
def _get_runnable_calls_info(self):
|
|
426
442
|
"""Creates a dict containing desired calls for the SWC.
|
|
427
443
|
|
|
@@ -451,6 +467,7 @@ class CompositionYaml(ProblemLogger):
|
|
|
451
467
|
call_dict = self._get_runnable_calls_info()
|
|
452
468
|
runnables = self.build_cfg.get_units_raster_cfg()["SampleTimes"]
|
|
453
469
|
calibration_variables = list(self.cal_class_info["autosar"]["class_info"].keys())
|
|
470
|
+
ports_to_read, ports_to_write = self._get_ports_to_read_and_write()
|
|
454
471
|
swc_content = {init_function: {"type": "INIT", "accesses": calibration_variables}}
|
|
455
472
|
|
|
456
473
|
if self.build_cfg.get_code_generation_config(item="generateCalibrationInterfaceFiles"):
|
|
@@ -466,6 +483,8 @@ class CompositionYaml(ProblemLogger):
|
|
|
466
483
|
"type": "PERIODIC",
|
|
467
484
|
"period": list(runnables.values())[0],
|
|
468
485
|
"accesses": calibration_variables,
|
|
486
|
+
"reads": ports_to_read,
|
|
487
|
+
"writes": ports_to_write,
|
|
469
488
|
}
|
|
470
489
|
if call_dict:
|
|
471
490
|
swc_content[custom_step_function]["calls"] = call_dict
|
|
@@ -482,6 +501,8 @@ class CompositionYaml(ProblemLogger):
|
|
|
482
501
|
"period": period,
|
|
483
502
|
"type": "PERIODIC",
|
|
484
503
|
"accesses": calibration_variables,
|
|
504
|
+
"reads": ports_to_read,
|
|
505
|
+
"writes": ports_to_write,
|
|
485
506
|
}
|
|
486
507
|
if call_dict:
|
|
487
508
|
swc_content[key]["calls"] = call_dict
|
|
@@ -596,13 +617,10 @@ class CompositionYaml(ProblemLogger):
|
|
|
596
617
|
data_types (dict): Dictionary with data types.
|
|
597
618
|
signal_name (string): Name of signal to process.
|
|
598
619
|
info (dict): signal data.
|
|
599
|
-
Returns
|
|
600
|
-
|
|
620
|
+
Returns:
|
|
601
621
|
class_info (dict): Updated dictionary with variables.
|
|
602
622
|
data_types (dict): Updated dictionary with data types.
|
|
603
623
|
"""
|
|
604
|
-
if info["type"] in self.enums:
|
|
605
|
-
return class_info, data_types
|
|
606
624
|
if "Bool" in info["type"]:
|
|
607
625
|
upper = 1
|
|
608
626
|
lower = 0
|
{powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build.egg-info/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: powertrain-build
|
|
3
|
-
Version: 1.1.3.
|
|
3
|
+
Version: 1.1.3.dev3
|
|
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/
|
|
@@ -39,7 +39,7 @@ Requires-Dist: scipy==1.14.1; python_version >= "3.11"
|
|
|
39
39
|
Requires-Dist: importlib-resources==5.4.0; python_version < "3.9"
|
|
40
40
|
Requires-Dist: pywin32==305; python_version == "3.6" and sys_platform == "win32"
|
|
41
41
|
|
|
42
|
-
#
|
|
42
|
+
# wertrain-build
|
|
43
43
|
|
|
44
44
|
A Continuous Integration (CI) build system, testing all configurations where a TargetLink model is used.
|
|
45
45
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"git_version": "37a16fa", "is_release": false}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"git_version": "afdb37d", "is_release": true}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/a2l_templates.py
RENAMED
|
File without changes
|
|
File without changes
|
{powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/check_interface.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
|
{powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/environmentcheck.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/feature_configs.py
RENAMED
|
File without changes
|
{powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/gen_allsysteminfo.py
RENAMED
|
File without changes
|
{powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/gen_label_split.py
RENAMED
|
File without changes
|
{powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/handcode_replacer.py
RENAMED
|
File without changes
|
|
File without changes
|
{powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/interface/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/interface/base.py
RENAMED
|
File without changes
|
{powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/interface/csp_api.py
RENAMED
|
File without changes
|
|
File without changes
|
{powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/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.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/interface/hal.py
RENAMED
|
File without changes
|
|
File without changes
|
{powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/interface/service.py
RENAMED
|
File without changes
|
{powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/interface/simulink.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/lib/__init__.py
RENAMED
|
File without changes
|
{powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/lib/helper_functions.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/memory_section.py
RENAMED
|
File without changes
|
{powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/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.1.3.dev2 → powertrain_build-1.1.3.dev3}/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.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/signal_interfaces.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/unit_configs.py
RENAMED
|
File without changes
|
{powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build/versioncheck.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build.egg-info/SOURCES.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build.egg-info/not-zip-safe
RENAMED
|
File without changes
|
{powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build.egg-info/requires.txt
RENAMED
|
File without changes
|
{powertrain_build-1.1.3.dev2 → powertrain_build-1.1.3.dev3}/powertrain_build.egg-info/top_level.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|