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.
Files changed (141) hide show
  1. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/ChangeLog +6 -2
  2. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/PKG-INFO +2 -2
  3. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/README.md +1 -1
  4. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/build.py +17 -78
  5. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/build_proj_config.py +3 -4
  6. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/dids.py +137 -19
  7. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/sched_funcs.py +5 -5
  8. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/user_defined_types.py +3 -6
  9. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/zone_controller/composition_yaml.py +9 -5
  10. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build.egg-info/PKG-INFO +2 -2
  11. powertrain_build-1.11.8.dev1/powertrain_build.egg-info/pbr.json +1 -0
  12. powertrain_build-1.11.7.dev2/powertrain_build.egg-info/pbr.json +0 -1
  13. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/AUTHORS +0 -0
  14. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/LICENSE +0 -0
  15. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/MANIFEST.in +0 -0
  16. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/NOTICE +0 -0
  17. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/__init__.py +0 -0
  18. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/__main__.py +0 -0
  19. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/a2l.py +0 -0
  20. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/a2l_merge.py +0 -0
  21. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/a2l_templates.py +0 -0
  22. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/build_defs.py +0 -0
  23. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/check_interface.py +0 -0
  24. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/cli.py +0 -0
  25. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/config.py +0 -0
  26. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/core.py +0 -0
  27. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/core_dummy.py +0 -0
  28. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/create_conversion_table.py +0 -0
  29. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/dummy.py +0 -0
  30. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/dummy_spm.py +0 -0
  31. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/environmentcheck.py +0 -0
  32. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/ext_dbg.py +0 -0
  33. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/ext_var.py +0 -0
  34. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/feature_configs.py +0 -0
  35. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/gen_allsysteminfo.py +0 -0
  36. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/gen_label_split.py +0 -0
  37. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/handcode_replacer.py +0 -0
  38. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/html_report.py +0 -0
  39. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/interface/__init__.py +0 -0
  40. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/interface/application.py +0 -0
  41. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/interface/base.py +0 -0
  42. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/interface/csp_api.py +0 -0
  43. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/interface/device_proxy.py +0 -0
  44. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/interface/ems.py +0 -0
  45. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/interface/export_global_vars.py +0 -0
  46. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/interface/generate_adapters.py +0 -0
  47. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/interface/generate_hi_interface.py +0 -0
  48. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/interface/generate_service.py +0 -0
  49. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/interface/generate_wrappers.py +0 -0
  50. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/interface/generation_utils.py +0 -0
  51. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/interface/hal.py +0 -0
  52. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/interface/model_yaml_verification.py +0 -0
  53. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/interface/service.py +0 -0
  54. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/interface/simulink.py +0 -0
  55. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/interface/update_call_sources.py +0 -0
  56. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/interface/update_model_yaml.py +0 -0
  57. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/interface/zone_controller.py +0 -0
  58. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/lib/__init__.py +0 -0
  59. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/lib/helper_functions.py +0 -0
  60. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/lib/logger.py +0 -0
  61. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/matlab_scripts/CodeGen/BuildAutomationPyBuild.m +0 -0
  62. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/matlab_scripts/CodeGen/Generate_A2L.m +0 -0
  63. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/matlab_scripts/CodeGen/generateTLUnit.m +0 -0
  64. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/matlab_scripts/CodeGen/getAsilClassification.m +0 -0
  65. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/matlab_scripts/CodeGen/modelConfiguredForTL.m +0 -0
  66. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/matlab_scripts/CodeGen/moveDefOutports.m +0 -0
  67. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/matlab_scripts/CodeGen/parseCalMeasData.m +0 -0
  68. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/matlab_scripts/CodeGen/parseCoreIdentifiers.m +0 -0
  69. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/matlab_scripts/CodeGen/parseDIDs.m +0 -0
  70. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/matlab_scripts/CodeGen/parseInPorts.m +0 -0
  71. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/matlab_scripts/CodeGen/parseIncludeConfigs.m +0 -0
  72. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/matlab_scripts/CodeGen/parseModelInfo.m +0 -0
  73. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/matlab_scripts/CodeGen/parseNVM.m +0 -0
  74. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/matlab_scripts/CodeGen/parseOutPorts.m +0 -0
  75. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/matlab_scripts/CodeGen/parsePreProcBlks.m +0 -0
  76. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/matlab_scripts/CodeGen/struct2JSON.m +0 -0
  77. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/matlab_scripts/CodeGen/updateCodeSwConfig.m +0 -0
  78. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/matlab_scripts/Init_PyBuild.m +0 -0
  79. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/matlab_scripts/__init__.py +0 -0
  80. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/matlab_scripts/helperFunctions/Get_Full_Name.m +0 -0
  81. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/matlab_scripts/helperFunctions/Get_SrcLines.m +0 -0
  82. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/matlab_scripts/helperFunctions/Init_Models.m +0 -0
  83. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/matlab_scripts/helperFunctions/Init_Projects.m +0 -0
  84. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/matlab_scripts/helperFunctions/Read_Units.m +0 -0
  85. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/matlab_scripts/helperFunctions/SetProjectTimeSamples.m +0 -0
  86. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/matlab_scripts/helperFunctions/Strip_Suffix.m +0 -0
  87. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/matlab_scripts/helperFunctions/followLink.m +0 -0
  88. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/matlab_scripts/helperFunctions/getCodeSwitches.m +0 -0
  89. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/matlab_scripts/helperFunctions/getConsumerBlocks.m +0 -0
  90. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/matlab_scripts/helperFunctions/getDefBlock.m +0 -0
  91. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/matlab_scripts/helperFunctions/getDefOutport.m +0 -0
  92. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/matlab_scripts/helperFunctions/getDstBlocks.m +0 -0
  93. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/matlab_scripts/helperFunctions/getDstLines.m +0 -0
  94. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/matlab_scripts/helperFunctions/getInterfaceSignals.m +0 -0
  95. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/matlab_scripts/helperFunctions/getName.m +0 -0
  96. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/matlab_scripts/helperFunctions/getPath.m +0 -0
  97. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/matlab_scripts/helperFunctions/getProperValue.m +0 -0
  98. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/matlab_scripts/helperFunctions/getSrcBlocks.m +0 -0
  99. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/matlab_scripts/helperFunctions/getSrcLines.m +0 -0
  100. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/matlab_scripts/helperFunctions/loadLibraries.m +0 -0
  101. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/matlab_scripts/helperFunctions/loadjson.m +0 -0
  102. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/matlab_scripts/helperFunctions/modifyEnumStructField.m +0 -0
  103. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/matlab_scripts/helperFunctions/removeConfigDuplicates.m +0 -0
  104. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/matlab_scripts/helperFunctions/sortSystemByClass.m +0 -0
  105. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/matlab_scripts/helperFunctions/tl_getfast.m +0 -0
  106. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/matlab_scripts/helperFunctions/topLevelSystem.m +0 -0
  107. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/matlab_scripts/helperFunctions/updateModels.m +0 -0
  108. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/memory_section.py +0 -0
  109. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/nvm_def.py +0 -0
  110. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/problem_logger.py +0 -0
  111. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/pt_matlab.py +0 -0
  112. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/pt_win32.py +0 -0
  113. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/replace_compu_tab_ref.py +0 -0
  114. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/rte_dummy.py +0 -0
  115. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/signal.py +0 -0
  116. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/signal_if_html_rep.py +0 -0
  117. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/signal_if_html_rep_all.py +0 -0
  118. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/signal_incons_html_rep.py +0 -0
  119. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/signal_incons_html_rep_all.py +0 -0
  120. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/signal_incons_html_rep_base.py +0 -0
  121. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/signal_inconsistency_check.py +0 -0
  122. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/signal_interfaces.py +0 -0
  123. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/templates/Index_SigCheck_All.html +0 -0
  124. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/templates/Index_SigIf_All.html +0 -0
  125. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/types.py +0 -0
  126. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/unit_configs.py +0 -0
  127. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/versioncheck.py +0 -0
  128. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/wrapper.py +0 -0
  129. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/xlrd_csv.py +0 -0
  130. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/zone_controller/__init__.py +0 -0
  131. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build/zone_controller/calibration.py +0 -0
  132. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build.egg-info/SOURCES.txt +0 -0
  133. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build.egg-info/dependency_links.txt +0 -0
  134. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build.egg-info/entry_points.txt +0 -0
  135. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build.egg-info/not-zip-safe +0 -0
  136. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build.egg-info/requires.txt +0 -0
  137. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/powertrain_build.egg-info/top_level.txt +0 -0
  138. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/requirements.txt +0 -0
  139. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/setup.cfg +0 -0
  140. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/setup.py +0 -0
  141. {powertrain_build-1.11.7.dev2 → powertrain_build-1.11.8.dev1}/test-requirements.txt +0 -0
@@ -1,8 +1,12 @@
1
1
  CHANGES
2
2
  =======
3
3
 
4
- * Dummy 1
5
- * ZC updates
4
+ * ZC: Add support for S/R DIDs
5
+
6
+ 1.11.7
7
+ ------
8
+
9
+ * Update includeSharedSwAddrMethod to take string to use as prefix
6
10
 
7
11
  1.11.6
8
12
  ------
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: powertrain-build
3
- Version: 1.11.7.dev2
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
- # owertrain-build
52
+ # powertrain-build
53
53
 
54
54
  A Continuous Integration (CI) build system, testing all configurations where a TargetLink model is used.
55
55
 
@@ -1,4 +1,4 @@
1
- # owertrain-build
1
+ # powertrain-build
2
2
 
3
3
  A Continuous Integration (CI) build system, testing all configurations where a TargetLink model is used.
4
4
 
@@ -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, f"{prefix}VcDummy_spm"
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
- prefix = build_cfg.get_scheduler_prefix()
313
+
315
314
  ext_var_instances = {
316
- ext_var_nrm: f"{prefix}VcExtVar",
317
- ext_var_dep: f"{prefix}VcExtVarSafe",
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] = f"{prefix}VcExtVarSecure"
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
- LOG.info("Start copying common source files")
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
- shutil.copy2(file_, src_dst_dir)
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.",
@@ -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', False),
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._file_name = 'VcDIDAPI'
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._file_name.upper()}_H'
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._file_name}.h"\n',
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._file_name + extension)
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 = build_cfg.get_scheduler_prefix()
621
- self._file_name = f'{prefix}VcDIDAPI'
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 get_operation_data(self, operation, did_data):
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 _get_header_file_content(self):
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._file_name.upper()}_H'
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.get_operation_data(operation, self.project_dids[did])
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 _get_source_file_content(self):
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._file_name}.h"\n',
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.get_operation_data(operation, self.project_dids[did])
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._get_header_file_content(),
793
- '.c': self._get_source_file_content()
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._file_name + extension)
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)
@@ -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'{prefix}{raster}.c')
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'{prefix}{raster}.h')
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, f'{prefix}VcExtINI.c')
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(f'generated {file_name}')
159
+ self.info('generated %s', file_name)
160
160
 
161
- file_name = pjoin(dst_dir, f'{prefix}VcExtINI.h')
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')
@@ -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(f'#include "{self.enum_file_name}"\n') # struct members may be of enum type
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, self.enum_file_name)
660
- struct_file_path = Path(src_dir, self.struct_file_name)
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 includeSharedSwAddrMethod and not isReadOnly:
731
- class_info[signal_name]["swAddrMethod"] = f"VCC_CALIBRATION_{signal_name.split('_')[0]}"
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 includeSharedSwAddrMethod and not isReadOnly:
842
- class_info[signal_name]["swAddrMethod"] = f"VCC_CALIBRATION_{signal_name.split('_')[0]}"
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
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: powertrain-build
3
- Version: 1.11.7.dev2
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
- # owertrain-build
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}