powertrain-build 1.17.1.dev2__tar.gz → 1.18.1.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.17.1.dev2 → powertrain_build-1.18.1.dev1}/ChangeLog +6 -1
  2. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/PKG-INFO +1 -1
  3. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/build.py +1 -0
  4. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/build_defs.py +10 -3
  5. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/memory_section.py +38 -0
  6. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/rte_dummy.py +8 -6
  7. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/zone_controller/composition_yaml.py +3 -60
  8. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build.egg-info/PKG-INFO +1 -1
  9. powertrain_build-1.18.1.dev1/powertrain_build.egg-info/pbr.json +1 -0
  10. powertrain_build-1.17.1.dev2/powertrain_build.egg-info/pbr.json +0 -1
  11. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/AUTHORS +0 -0
  12. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/LICENSE +0 -0
  13. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/MANIFEST.in +0 -0
  14. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/NOTICE +0 -0
  15. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/README.md +0 -0
  16. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/__init__.py +0 -0
  17. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/__main__.py +0 -0
  18. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/a2l.py +0 -0
  19. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/a2l_merge.py +0 -0
  20. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/a2l_templates.py +0 -0
  21. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/build_proj_config.py +0 -0
  22. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/check_interface.py +0 -0
  23. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/cli.py +0 -0
  24. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/config.py +0 -0
  25. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/core.py +0 -0
  26. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/core_dummy.py +0 -0
  27. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/create_conversion_table.py +0 -0
  28. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/dids.py +0 -0
  29. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/dummy.py +0 -0
  30. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/dummy_spm.py +0 -0
  31. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/environmentcheck.py +0 -0
  32. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/ext_dbg.py +0 -0
  33. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/ext_var.py +0 -0
  34. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/feature_configs.py +0 -0
  35. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/gen_allsysteminfo.py +0 -0
  36. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/gen_label_split.py +0 -0
  37. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/handcode_replacer.py +0 -0
  38. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/html_report.py +0 -0
  39. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/interface/__init__.py +0 -0
  40. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/interface/application.py +0 -0
  41. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/interface/base.py +0 -0
  42. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/interface/csp_api.py +0 -0
  43. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/interface/device_proxy.py +0 -0
  44. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/interface/ems.py +0 -0
  45. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/interface/export_global_vars.py +0 -0
  46. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/interface/generate_adapters.py +0 -0
  47. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/interface/generate_hi_interface.py +0 -0
  48. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/interface/generate_service.py +0 -0
  49. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/interface/generate_wrappers.py +0 -0
  50. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/interface/generation_utils.py +0 -0
  51. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/interface/hal.py +0 -0
  52. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/interface/model_yaml_verification.py +0 -0
  53. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/interface/service.py +0 -0
  54. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/interface/simulink.py +0 -0
  55. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/interface/update_call_sources.py +0 -0
  56. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/interface/update_model_yaml.py +0 -0
  57. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/interface/zone_controller.py +0 -0
  58. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/lib/__init__.py +0 -0
  59. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/lib/helper_functions.py +0 -0
  60. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/lib/logger.py +0 -0
  61. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/matlab_scripts/CodeGen/BuildAutomationPyBuild.m +0 -0
  62. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/matlab_scripts/CodeGen/Generate_A2L.m +0 -0
  63. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/matlab_scripts/CodeGen/generateTLUnit.m +0 -0
  64. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/matlab_scripts/CodeGen/getAsilClassification.m +0 -0
  65. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/matlab_scripts/CodeGen/modelConfiguredForTL.m +0 -0
  66. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/matlab_scripts/CodeGen/moveDefOutports.m +0 -0
  67. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/matlab_scripts/CodeGen/parseCalMeasData.m +0 -0
  68. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/matlab_scripts/CodeGen/parseCoreIdentifiers.m +0 -0
  69. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/matlab_scripts/CodeGen/parseDIDs.m +0 -0
  70. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/matlab_scripts/CodeGen/parseInPorts.m +0 -0
  71. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/matlab_scripts/CodeGen/parseIncludeConfigs.m +0 -0
  72. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/matlab_scripts/CodeGen/parseModelInfo.m +0 -0
  73. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/matlab_scripts/CodeGen/parseNVM.m +0 -0
  74. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/matlab_scripts/CodeGen/parseOutPorts.m +0 -0
  75. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/matlab_scripts/CodeGen/parsePreProcBlks.m +0 -0
  76. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/matlab_scripts/CodeGen/struct2JSON.m +0 -0
  77. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/matlab_scripts/CodeGen/updateCodeSwConfig.m +0 -0
  78. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/matlab_scripts/Init_PyBuild.m +0 -0
  79. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/matlab_scripts/__init__.py +0 -0
  80. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/matlab_scripts/helperFunctions/Get_Full_Name.m +0 -0
  81. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/matlab_scripts/helperFunctions/Get_SrcLines.m +0 -0
  82. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/matlab_scripts/helperFunctions/Init_Models.m +0 -0
  83. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/matlab_scripts/helperFunctions/Init_Projects.m +0 -0
  84. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/matlab_scripts/helperFunctions/Read_Units.m +0 -0
  85. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/matlab_scripts/helperFunctions/SetProjectTimeSamples.m +0 -0
  86. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/matlab_scripts/helperFunctions/Strip_Suffix.m +0 -0
  87. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/matlab_scripts/helperFunctions/followLink.m +0 -0
  88. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/matlab_scripts/helperFunctions/getCodeSwitches.m +0 -0
  89. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/matlab_scripts/helperFunctions/getConsumerBlocks.m +0 -0
  90. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/matlab_scripts/helperFunctions/getDefBlock.m +0 -0
  91. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/matlab_scripts/helperFunctions/getDefOutport.m +0 -0
  92. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/matlab_scripts/helperFunctions/getDstBlocks.m +0 -0
  93. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/matlab_scripts/helperFunctions/getDstLines.m +0 -0
  94. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/matlab_scripts/helperFunctions/getInterfaceSignals.m +0 -0
  95. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/matlab_scripts/helperFunctions/getName.m +0 -0
  96. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/matlab_scripts/helperFunctions/getPath.m +0 -0
  97. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/matlab_scripts/helperFunctions/getProperValue.m +0 -0
  98. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/matlab_scripts/helperFunctions/getSrcBlocks.m +0 -0
  99. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/matlab_scripts/helperFunctions/getSrcLines.m +0 -0
  100. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/matlab_scripts/helperFunctions/loadLibraries.m +0 -0
  101. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/matlab_scripts/helperFunctions/loadjson.m +0 -0
  102. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/matlab_scripts/helperFunctions/modifyEnumStructField.m +0 -0
  103. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/matlab_scripts/helperFunctions/removeConfigDuplicates.m +0 -0
  104. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/matlab_scripts/helperFunctions/sortSystemByClass.m +0 -0
  105. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/matlab_scripts/helperFunctions/tl_getfast.m +0 -0
  106. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/matlab_scripts/helperFunctions/topLevelSystem.m +0 -0
  107. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/matlab_scripts/helperFunctions/updateModels.m +0 -0
  108. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/nvm_def.py +0 -0
  109. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/problem_logger.py +0 -0
  110. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/pt_matlab.py +0 -0
  111. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/pt_win32.py +0 -0
  112. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/replace_compu_tab_ref.py +0 -0
  113. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/sched_funcs.py +0 -0
  114. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/signal.py +0 -0
  115. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/signal_if_html_rep.py +0 -0
  116. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/signal_if_html_rep_all.py +0 -0
  117. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/signal_incons_html_rep.py +0 -0
  118. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/signal_incons_html_rep_all.py +0 -0
  119. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/signal_incons_html_rep_base.py +0 -0
  120. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/signal_inconsistency_check.py +0 -0
  121. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/signal_interfaces.py +0 -0
  122. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/templates/Index_SigCheck_All.html +0 -0
  123. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/templates/Index_SigIf_All.html +0 -0
  124. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/types.py +0 -0
  125. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/unit_configs.py +0 -0
  126. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/user_defined_types.py +0 -0
  127. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/versioncheck.py +0 -0
  128. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/wrapper.py +0 -0
  129. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/xlrd_csv.py +0 -0
  130. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/zone_controller/__init__.py +0 -0
  131. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build/zone_controller/calibration.py +0 -0
  132. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build.egg-info/SOURCES.txt +0 -0
  133. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build.egg-info/dependency_links.txt +0 -0
  134. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build.egg-info/entry_points.txt +0 -0
  135. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build.egg-info/not-zip-safe +0 -0
  136. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build.egg-info/requires.txt +0 -0
  137. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/powertrain_build.egg-info/top_level.txt +0 -0
  138. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/requirements.txt +0 -0
  139. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/setup.cfg +0 -0
  140. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/setup.py +0 -0
  141. {powertrain_build-1.17.1.dev2 → powertrain_build-1.18.1.dev1}/test-requirements.txt +0 -0
@@ -1,8 +1,13 @@
1
1
  CHANGES
2
2
  =======
3
3
 
4
- * ZC: Add new data types based on variable min/max
4
+ * Bug fix in rte\_dummy.py
5
+
6
+ 1.18.0
7
+ ------
8
+
5
9
  * Update A2L regex for EC
10
+ * Add support for generating BURAM header files
6
11
 
7
12
  1.17.0
8
13
  ------
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: powertrain-build
3
- Version: 1.17.1.dev2
3
+ Version: 1.18.1.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/
@@ -890,6 +890,7 @@ def build(
890
890
  if code_generation_config["generateInterfaceHeaders"]:
891
891
  memory_section = MemorySection(build_cfg, unit_cfg, polyspace_comments)
892
892
  memory_section.generate_required_header_files()
893
+ memory_section.generate_optional_header_files()
893
894
 
894
895
  # Propagate tag name for release builds, TAG_NAME must be set in environment
895
896
  tag_name = os.environ.get("TAG_NAME", "")
@@ -24,6 +24,8 @@ CVC_DISP_ASIL_C_START = 'CVC_DISP_ASIL_C_START.h' # Header file name for CVC AS
24
24
  CVC_DISP_ASIL_C_END = 'CVC_DISP_ASIL_C_END.h' # Header file name for CVC ASIL C measurable variables end
25
25
  CVC_DISP_ASIL_D_START = 'CVC_DISP_ASIL_D_START.h' # Header file name for CVC ASIL D measurable variables start
26
26
  CVC_DISP_ASIL_D_END = 'CVC_DISP_ASIL_D_END.h' # Header file name for CVC ASIL D measurable variables end
27
+ CVC_DISP_BURAM_START = 'CVC_DISP_BURAM_START.h' # Header file name for CVC BURAM measurable variables start
28
+ CVC_DISP_BURAM_END = 'CVC_DISP_BURAM_END.h' # Header file name for CVC BURAM measurable variables end
27
29
  CVC_DISP_SEC_START = 'CVC_DISP_SEC_START.h' # Header file name for CVC secure measurable variables start
28
30
  CVC_DISP_SEC_END = 'CVC_DISP_SEC_END.h' # Header file name for CVC secure measurable variables end
29
31
 
@@ -75,6 +77,8 @@ PREDECL_DISP_ASIL_C_START = 'PREDECL_DISP_ASIL_C_START.h' # Header file name fo
75
77
  PREDECL_DISP_ASIL_C_END = 'PREDECL_DISP_ASIL_C_END.h' # Header file name for CVC ASIL C measurable variables end
76
78
  PREDECL_DISP_ASIL_D_START = 'PREDECL_DISP_ASIL_D_START.h' # Header file name for CVC ASIL D measurable variables start
77
79
  PREDECL_DISP_ASIL_D_END = 'PREDECL_DISP_ASIL_D_END.h' # Header file name for CVC ASIL D measurable variables end
80
+ PREDECL_DISP_BURAM_START = 'PREDECL_DISP_BURAM_START.h' # Header file name for CVC BURAM measurable variables start
81
+ PREDECL_DISP_BURAM_END = 'PREDECL_DISP_BURAM_END.h' # Header file name for CVC BURAM measurable variables end
78
82
  PREDECL_DISP_SEC_START = 'PREDECL_DISP_SEC_START.h' # Header file name for CVC secure measurable variables start
79
83
  PREDECL_DISP_SEC_END = 'PREDECL_DISP_SEC_END.h' # Header file name for CVC secure measurable variables end
80
84
 
@@ -127,6 +131,7 @@ CVC_DISP_A = {'START': CVC_DISP_ASIL_A_START, 'END': CVC_DISP_ASIL_A_END}
127
131
  CVC_DISP_B = {'START': CVC_DISP_ASIL_B_START, 'END': CVC_DISP_ASIL_B_END}
128
132
  CVC_DISP_C = {'START': CVC_DISP_ASIL_C_START, 'END': CVC_DISP_ASIL_C_END}
129
133
  CVC_DISP_D = {'START': CVC_DISP_ASIL_D_START, 'END': CVC_DISP_ASIL_D_END}
134
+ CVC_DISP_BURAM = {'START': CVC_DISP_BURAM_START, 'END': CVC_DISP_BURAM_END}
130
135
  CVC_DISP_SECURE = {'START': CVC_DISP_SEC_START, 'END': CVC_DISP_SEC_END}
131
136
 
132
137
  CVC_CAL_QM = {'START': CVC_CAL_START, 'END': CVC_CAL_END}
@@ -157,6 +162,7 @@ PREDECL_DISP_A = {'START': PREDECL_DISP_ASIL_A_START, 'END': PREDECL_DISP_ASIL_A
157
162
  PREDECL_DISP_B = {'START': PREDECL_DISP_ASIL_B_START, 'END': PREDECL_DISP_ASIL_B_END}
158
163
  PREDECL_DISP_C = {'START': PREDECL_DISP_ASIL_C_START, 'END': PREDECL_DISP_ASIL_C_END}
159
164
  PREDECL_DISP_D = {'START': PREDECL_DISP_ASIL_D_START, 'END': PREDECL_DISP_ASIL_D_END}
165
+ PREDECL_DISP_BURAM = {'START': PREDECL_DISP_BURAM_START, 'END': PREDECL_DISP_BURAM_END}
160
166
  PREDECL_DISP_SECURE = {'START': PREDECL_DISP_SEC_START, 'END': PREDECL_DISP_SEC_END}
161
167
 
162
168
  PREDECL_CAL_QM = {'START': PREDECL_CAL_START, 'END': PREDECL_CAL_END}
@@ -270,14 +276,15 @@ PREDECL_EXTRA = {
270
276
  'CONST_MERG': PREDECL_CONST_MERG
271
277
  }
272
278
 
273
- NVM = {'CVC': CVC_NVM, 'PREDECL': PREDECL_NVM}
274
- NVM_P = {'CVC': CVC_NVM_P, 'PREDECL': PREDECL_NVM_P}
275
- SECURE = {'CVC': CVC_SECURE, 'PREDECL': PREDECL_SECURE}
276
279
  ASIL_QM = {'CVC': CVC_ASIL_QM, 'PREDECL': PREDECL_ASIL_QM}
277
280
  ASIL_A = {'CVC': CVC_ASIL_A, 'PREDECL': PREDECL_ASIL_A}
278
281
  ASIL_B = {'CVC': CVC_ASIL_B, 'PREDECL': PREDECL_ASIL_B}
279
282
  ASIL_C = {'CVC': CVC_ASIL_C, 'PREDECL': PREDECL_ASIL_C}
280
283
  ASIL_D = {'CVC': CVC_ASIL_D, 'PREDECL': PREDECL_ASIL_D}
284
+ BURAM = {'CVC': CVC_DISP_BURAM, 'PREDECL': PREDECL_DISP_BURAM} # Used for special RAM, DISP only
285
+ SECURE = {'CVC': CVC_SECURE, 'PREDECL': PREDECL_SECURE}
286
+ NVM = {'CVC': CVC_NVM, 'PREDECL': PREDECL_NVM}
287
+ NVM_P = {'CVC': CVC_NVM_P, 'PREDECL': PREDECL_NVM_P}
281
288
 
282
289
  NVM_LEVEL_MAP = {
283
290
  'NORMAL': NVM,
@@ -133,6 +133,19 @@ class MemorySection(ProblemLogger):
133
133
  ]
134
134
  return cvc_undefines, cvc_defines, memory_section_handling
135
135
 
136
+ def _get_buram(self, section):
137
+ cvc_undefines = ['#undef CVC_DISP_BURAM\n']
138
+ if section == 'START':
139
+ volatile_string = 'volatile' if self.use_volatile_globals else ''
140
+ cvc_defines = [f'#define CVC_DISP_BURAM {volatile_string}\n']
141
+ else:
142
+ cvc_defines = []
143
+ memory_section_handling = [
144
+ self.mem_map_config['projectDefines'][self._get_mem_map_section(section)]['buram'] + '\n',
145
+ self.mem_map_include
146
+ ]
147
+ return cvc_undefines, cvc_defines, memory_section_handling
148
+
136
149
  def _get_nvm(self, section):
137
150
  cvc_undefines = []
138
151
  cvc_defines = []
@@ -232,4 +245,29 @@ class MemorySection(ProblemLogger):
232
245
  footer = self._get_footer(section_file)
233
246
  with Path(src_dst_dir, section_file).open('w', encoding="utf-8") as header_file_handler:
234
247
  header_file_handler.writelines(header + lines_to_write + footer)
248
+
235
249
  self.info('Finished generating required header files (in %4.2f s)', time.time() - start_time)
250
+
251
+ def generate_optional_header_files(self):
252
+ """Generate optional header files to delivery folder.
253
+
254
+ Files will only be generated if the corresponding section is present in the memory map configuration.
255
+ """
256
+ self.info('******************************************************')
257
+ self.info('Start generating optional header files')
258
+ start_time = time.time()
259
+ src_dst_dir = self.build_cfg.get_src_code_dst_dir()
260
+
261
+ for section_dict in build_defs.BURAM.values():
262
+ for section, section_file in section_dict.items():
263
+ section_config = self.mem_map_config['projectDefines'][self._get_mem_map_section(section)]
264
+ if "buram" not in section_config:
265
+ continue
266
+ cvc_undefines, cvc_defines, memory_section_handling = self._get_buram(section)
267
+ header = self._get_header(section_file)
268
+ footer = self._get_footer(section_file)
269
+ lines_to_write = header + cvc_undefines + cvc_defines + memory_section_handling + footer
270
+ with Path(src_dst_dir, section_file).open('w', encoding="utf-8") as header_file_handler:
271
+ header_file_handler.writelines(lines_to_write)
272
+
273
+ self.info('Finished generating optional header files (in %4.2f s)', time.time() - start_time)
@@ -184,22 +184,24 @@ class RteDummy(ProblemLogger):
184
184
  """
185
185
  if isinstance(signal_data["width"], list):
186
186
  if signal_data["width"][0] == 1:
187
- dummy_variable = f"dummy[{signal_data['width'][1]}]"
187
+ dummy_variable_size = f"[{signal_data['width'][1]}]"
188
+ dummy_pointer_start = "[0]"
188
189
  else:
189
- dummy_variable = f"dummy[{signal_data['width'][0]}][{signal_data['width'][1]}]"
190
+ dummy_variable_size = f"[{signal_data['width'][0]}][{signal_data['width'][1]}]"
191
+ dummy_pointer_start = "[0][0]"
190
192
  # MAPs get typedef:ed to structs and need special data type mapping in calibration.py
191
193
  if signal_name.startswith("m") and signal_name[-2:] not in ["_r", "_c"]:
192
194
  return_type = f'const {signal_data["autosar_type"]}*'
193
195
  return_string = (
194
- f"const {signal_data['autosar_type']} {dummy_variable}; "
195
- f"{return_type} dummyPtr = &dummy; "
196
+ f"const {signal_data['autosar_type']} dummy{dummy_variable_size}; "
197
+ f"{return_type} dummyPtr = &dummy{dummy_pointer_start}; "
196
198
  "return dummyPtr;"
197
199
  )
198
200
  else:
199
201
  return_type = f'const {signal_data["type"]}*'
200
202
  return_string = (
201
- f"{signal_data['type']} {dummy_variable}; "
202
- f"{return_type} dummyPtr = &dummy; "
203
+ f"{signal_data['type']} dummy{dummy_variable_size}; "
204
+ f"{return_type} dummyPtr = &dummy{dummy_pointer_start}; "
203
205
  "return dummyPtr;"
204
206
  )
205
207
  else:
@@ -799,8 +799,6 @@ class CompositionYaml(ProblemLogger):
799
799
  if "Bool" in info["type"]:
800
800
  upper = 1
801
801
  lower = 0
802
- base_type_upper = 1
803
- base_type_lower = 0
804
802
  else:
805
803
  base_type_lower = self.data_types[info["type"]]["limits"]["lower"]
806
804
  base_type_upper = self.data_types[info["type"]]["limits"]["upper"]
@@ -808,70 +806,15 @@ class CompositionYaml(ProblemLogger):
808
806
  upper = info["max"] if info["max"] != "-" else base_type_upper
809
807
 
810
808
  if not isinstance(info["width"], list):
811
- autosar_type = "FLOAT" if "Float" in info["type"] else "INTEGER"
812
- unit_in_data_type = False
813
- unit = info["unit"] if info["unit"] and info["unit"] != "-" else None
814
- if unit is not None:
815
- new_data_type_name_tmp = f"dt_{info['type']}_{lower}_{upper}_{unit}"
816
- else:
817
- new_data_type_name_tmp = f"dt_{info['type']}_{lower}_{upper}"
818
- new_data_type_name = new_data_type_name_tmp.replace(
819
- "-", "neg"
820
- ).replace(
821
- "+", "pos"
822
- ).replace(
823
- ".", "p"
824
- ).replace(
825
- "/", "per"
826
- ).replace(
827
- " ", ""
828
- ).replace(
829
- "%", "perc"
830
- ).replace(
831
- "*", "mul"
832
- )
833
-
834
- if lower == base_type_lower and upper == base_type_upper:
835
- data_type_name = info["type"]
836
- elif autosar_type == "INTEGER" and "U" not in info["type"] and lower >= 0:
837
- self.warning(
838
- "Signal %s has a lower limit of zero or more but is defined as signed integer. "
839
- "Cannot get a unique data type.",
840
- signal_name
841
- )
842
- data_type_name = info["type"]
843
- elif autosar_type == "INTEGER" and "U" in info["type"] and lower < 0:
844
- self.warning(
845
- "Signal %s has a lower limit of less than zero but is defined an unsigned integer. "
846
- "Cannot get a unique data type.",
847
- signal_name
848
- )
849
- data_type_name = info["type"]
850
- elif new_data_type_name not in data_types:
851
- new_data_type = {}
852
- new_data_type_data = {
853
- "type": autosar_type,
854
- "limits": {"lower": lower, "upper": upper},
855
- }
856
- if unit is not None:
857
- new_data_type_data["unit"] = unit
858
- unit_in_data_type = True
859
- new_data_type[new_data_type_name] = new_data_type_data
860
- data_types = {**data_types, **new_data_type}
861
- data_type_name = new_data_type_name
862
- else:
863
- data_type_name = new_data_type_name
864
- unit_in_data_type = True
865
-
866
809
  class_info[signal_name] = {
867
- "type": data_type_name,
810
+ "type": info["type"],
868
811
  "access": "READ-ONLY" if isReadOnly else "READ-WRITE",
869
812
  "init": self.calibration_init_values.get(signal_name, max(min(0, upper), lower)),
870
813
  }
871
814
  if info["description"]:
872
815
  class_info[signal_name]["longname"] = self._prepare_for_xml(signal_name, info["description"])
873
- if unit is not None and not unit_in_data_type:
874
- class_info[signal_name]["unit"] = unit
816
+ if info["unit"] and info["unit"] != "-":
817
+ class_info[signal_name]["unit"] = info["unit"]
875
818
  if self.sharedSwAddrMethod is not None and not isReadOnly:
876
819
  class_info[signal_name]["swAddrMethod"] = f"{self.sharedSwAddrMethod}_{signal_name.split('_')[0]}"
877
820
  return class_info, data_types
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: powertrain-build
3
- Version: 1.17.1.dev2
3
+ Version: 1.18.1.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/
@@ -0,0 +1 @@
1
+ {"git_version": "0217941", "is_release": false}
@@ -1 +0,0 @@
1
- {"git_version": "8c8a66b", "is_release": false}