powertrain-build 1.17.1.dev1__tar.gz → 1.17.1.dev2__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.dev1 → powertrain_build-1.17.1.dev2}/ChangeLog +2 -1
  2. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/PKG-INFO +1 -1
  3. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/a2l_merge.py +6 -6
  4. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/build.py +0 -1
  5. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/build_defs.py +3 -10
  6. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/memory_section.py +0 -38
  7. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/zone_controller/composition_yaml.py +60 -3
  8. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build.egg-info/PKG-INFO +1 -1
  9. powertrain_build-1.17.1.dev2/powertrain_build.egg-info/pbr.json +1 -0
  10. powertrain_build-1.17.1.dev1/powertrain_build.egg-info/pbr.json +0 -1
  11. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/AUTHORS +0 -0
  12. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/LICENSE +0 -0
  13. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/MANIFEST.in +0 -0
  14. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/NOTICE +0 -0
  15. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/README.md +0 -0
  16. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/__init__.py +0 -0
  17. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/__main__.py +0 -0
  18. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/a2l.py +0 -0
  19. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/a2l_templates.py +0 -0
  20. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/build_proj_config.py +0 -0
  21. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/check_interface.py +0 -0
  22. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/cli.py +0 -0
  23. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/config.py +0 -0
  24. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/core.py +0 -0
  25. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/core_dummy.py +0 -0
  26. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/create_conversion_table.py +0 -0
  27. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/dids.py +0 -0
  28. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/dummy.py +0 -0
  29. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/dummy_spm.py +0 -0
  30. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/environmentcheck.py +0 -0
  31. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/ext_dbg.py +0 -0
  32. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/ext_var.py +0 -0
  33. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/feature_configs.py +0 -0
  34. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/gen_allsysteminfo.py +0 -0
  35. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/gen_label_split.py +0 -0
  36. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/handcode_replacer.py +0 -0
  37. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/html_report.py +0 -0
  38. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/interface/__init__.py +0 -0
  39. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/interface/application.py +0 -0
  40. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/interface/base.py +0 -0
  41. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/interface/csp_api.py +0 -0
  42. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/interface/device_proxy.py +0 -0
  43. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/interface/ems.py +0 -0
  44. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/interface/export_global_vars.py +0 -0
  45. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/interface/generate_adapters.py +0 -0
  46. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/interface/generate_hi_interface.py +0 -0
  47. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/interface/generate_service.py +0 -0
  48. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/interface/generate_wrappers.py +0 -0
  49. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/interface/generation_utils.py +0 -0
  50. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/interface/hal.py +0 -0
  51. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/interface/model_yaml_verification.py +0 -0
  52. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/interface/service.py +0 -0
  53. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/interface/simulink.py +0 -0
  54. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/interface/update_call_sources.py +0 -0
  55. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/interface/update_model_yaml.py +0 -0
  56. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/interface/zone_controller.py +0 -0
  57. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/lib/__init__.py +0 -0
  58. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/lib/helper_functions.py +0 -0
  59. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/lib/logger.py +0 -0
  60. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/matlab_scripts/CodeGen/BuildAutomationPyBuild.m +0 -0
  61. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/matlab_scripts/CodeGen/Generate_A2L.m +0 -0
  62. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/matlab_scripts/CodeGen/generateTLUnit.m +0 -0
  63. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/matlab_scripts/CodeGen/getAsilClassification.m +0 -0
  64. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/matlab_scripts/CodeGen/modelConfiguredForTL.m +0 -0
  65. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/matlab_scripts/CodeGen/moveDefOutports.m +0 -0
  66. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/matlab_scripts/CodeGen/parseCalMeasData.m +0 -0
  67. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/matlab_scripts/CodeGen/parseCoreIdentifiers.m +0 -0
  68. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/matlab_scripts/CodeGen/parseDIDs.m +0 -0
  69. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/matlab_scripts/CodeGen/parseInPorts.m +0 -0
  70. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/matlab_scripts/CodeGen/parseIncludeConfigs.m +0 -0
  71. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/matlab_scripts/CodeGen/parseModelInfo.m +0 -0
  72. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/matlab_scripts/CodeGen/parseNVM.m +0 -0
  73. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/matlab_scripts/CodeGen/parseOutPorts.m +0 -0
  74. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/matlab_scripts/CodeGen/parsePreProcBlks.m +0 -0
  75. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/matlab_scripts/CodeGen/struct2JSON.m +0 -0
  76. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/matlab_scripts/CodeGen/updateCodeSwConfig.m +0 -0
  77. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/matlab_scripts/Init_PyBuild.m +0 -0
  78. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/matlab_scripts/__init__.py +0 -0
  79. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/matlab_scripts/helperFunctions/Get_Full_Name.m +0 -0
  80. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/matlab_scripts/helperFunctions/Get_SrcLines.m +0 -0
  81. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/matlab_scripts/helperFunctions/Init_Models.m +0 -0
  82. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/matlab_scripts/helperFunctions/Init_Projects.m +0 -0
  83. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/matlab_scripts/helperFunctions/Read_Units.m +0 -0
  84. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/matlab_scripts/helperFunctions/SetProjectTimeSamples.m +0 -0
  85. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/matlab_scripts/helperFunctions/Strip_Suffix.m +0 -0
  86. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/matlab_scripts/helperFunctions/followLink.m +0 -0
  87. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/matlab_scripts/helperFunctions/getCodeSwitches.m +0 -0
  88. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/matlab_scripts/helperFunctions/getConsumerBlocks.m +0 -0
  89. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/matlab_scripts/helperFunctions/getDefBlock.m +0 -0
  90. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/matlab_scripts/helperFunctions/getDefOutport.m +0 -0
  91. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/matlab_scripts/helperFunctions/getDstBlocks.m +0 -0
  92. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/matlab_scripts/helperFunctions/getDstLines.m +0 -0
  93. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/matlab_scripts/helperFunctions/getInterfaceSignals.m +0 -0
  94. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/matlab_scripts/helperFunctions/getName.m +0 -0
  95. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/matlab_scripts/helperFunctions/getPath.m +0 -0
  96. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/matlab_scripts/helperFunctions/getProperValue.m +0 -0
  97. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/matlab_scripts/helperFunctions/getSrcBlocks.m +0 -0
  98. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/matlab_scripts/helperFunctions/getSrcLines.m +0 -0
  99. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/matlab_scripts/helperFunctions/loadLibraries.m +0 -0
  100. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/matlab_scripts/helperFunctions/loadjson.m +0 -0
  101. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/matlab_scripts/helperFunctions/modifyEnumStructField.m +0 -0
  102. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/matlab_scripts/helperFunctions/removeConfigDuplicates.m +0 -0
  103. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/matlab_scripts/helperFunctions/sortSystemByClass.m +0 -0
  104. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/matlab_scripts/helperFunctions/tl_getfast.m +0 -0
  105. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/matlab_scripts/helperFunctions/topLevelSystem.m +0 -0
  106. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/matlab_scripts/helperFunctions/updateModels.m +0 -0
  107. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/nvm_def.py +0 -0
  108. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/problem_logger.py +0 -0
  109. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/pt_matlab.py +0 -0
  110. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/pt_win32.py +0 -0
  111. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/replace_compu_tab_ref.py +0 -0
  112. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/rte_dummy.py +0 -0
  113. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/sched_funcs.py +0 -0
  114. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/signal.py +0 -0
  115. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/signal_if_html_rep.py +0 -0
  116. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/signal_if_html_rep_all.py +0 -0
  117. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/signal_incons_html_rep.py +0 -0
  118. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/signal_incons_html_rep_all.py +0 -0
  119. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/signal_incons_html_rep_base.py +0 -0
  120. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/signal_inconsistency_check.py +0 -0
  121. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/signal_interfaces.py +0 -0
  122. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/templates/Index_SigCheck_All.html +0 -0
  123. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/templates/Index_SigIf_All.html +0 -0
  124. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/types.py +0 -0
  125. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/unit_configs.py +0 -0
  126. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/user_defined_types.py +0 -0
  127. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/versioncheck.py +0 -0
  128. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/wrapper.py +0 -0
  129. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/xlrd_csv.py +0 -0
  130. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/zone_controller/__init__.py +0 -0
  131. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build/zone_controller/calibration.py +0 -0
  132. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build.egg-info/SOURCES.txt +0 -0
  133. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build.egg-info/dependency_links.txt +0 -0
  134. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build.egg-info/entry_points.txt +0 -0
  135. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build.egg-info/not-zip-safe +0 -0
  136. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build.egg-info/requires.txt +0 -0
  137. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/powertrain_build.egg-info/top_level.txt +0 -0
  138. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/requirements.txt +0 -0
  139. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/setup.cfg +0 -0
  140. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/setup.py +0 -0
  141. {powertrain_build-1.17.1.dev1 → powertrain_build-1.17.1.dev2}/test-requirements.txt +0 -0
@@ -1,7 +1,8 @@
1
1
  CHANGES
2
2
  =======
3
3
 
4
- * Add support for generating BURAM header files
4
+ * ZC: Add new data types based on variable min/max
5
+ * Update A2L regex for EC
5
6
 
6
7
  1.17.0
7
8
  ------
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: powertrain-build
3
- Version: 1.17.1.dev1
3
+ Version: 1.17.1.dev2
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/
@@ -93,11 +93,11 @@ class A2lMerge(ProblemLogger):
93
93
  # /* Upper Limit */ 3.0
94
94
  # /end CHARACTERISTIC
95
95
 
96
- self._block_finder = re.compile(r'(?:\s*\n)*' # Optional blank lines
97
- r'(\s*/begin (\w+)\s*' # begin <something> block
98
- r'\n\s*([\w.]+).*?\n' # label. (Bosch-nvm contains the .)
99
- r'.*?' # block definition
100
- r'/end\s+\2)', # end <something> block. Same something as before
96
+ self._block_finder = re.compile(r'(?:\s*\n)*' # Optional blank lines
97
+ r'(\s*/begin\s+(\w+)\s*' # begin <something> block
98
+ r'\n\s*([\w.]+).*?\n' # label. (Bosch-nvm contains the .)
99
+ r'.*?' # block definition
100
+ r'/end\s+\2)', # end <something> block. Same something as before
101
101
  flags=re.M | re.DOTALL)
102
102
 
103
103
  self._tl_compu_method_parser = re.compile(
@@ -195,7 +195,7 @@ class A2lMerge(ProblemLogger):
195
195
  code_generator = 'target_link'
196
196
 
197
197
  if code_generator == 'embedded_coder':
198
- blks = re.findall(r'(?:\s*\n)*(\s*/begin '
198
+ blks = re.findall(r'(?:\s*\n)*(\s*/begin\s+'
199
199
  r'(?!PROJECT|HEADER|MODULE|MOD_PAR|MOD_COMMON)(\w+)\s*(?:\n\s*)?'
200
200
  r'(?:/\*\s*[\w ]+\s*\*/\s*)?(\w+)([\[\d+\]]*).*?\n.*?/end\s+\2)',
201
201
  a2ld, flags=re.M | re.DOTALL)
@@ -890,7 +890,6 @@ 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()
894
893
 
895
894
  # Propagate tag name for release builds, TAG_NAME must be set in environment
896
895
  tag_name = os.environ.get("TAG_NAME", "")
@@ -24,8 +24,6 @@ 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
29
27
  CVC_DISP_SEC_START = 'CVC_DISP_SEC_START.h' # Header file name for CVC secure measurable variables start
30
28
  CVC_DISP_SEC_END = 'CVC_DISP_SEC_END.h' # Header file name for CVC secure measurable variables end
31
29
 
@@ -77,8 +75,6 @@ PREDECL_DISP_ASIL_C_START = 'PREDECL_DISP_ASIL_C_START.h' # Header file name fo
77
75
  PREDECL_DISP_ASIL_C_END = 'PREDECL_DISP_ASIL_C_END.h' # Header file name for CVC ASIL C measurable variables end
78
76
  PREDECL_DISP_ASIL_D_START = 'PREDECL_DISP_ASIL_D_START.h' # Header file name for CVC ASIL D measurable variables start
79
77
  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
82
78
  PREDECL_DISP_SEC_START = 'PREDECL_DISP_SEC_START.h' # Header file name for CVC secure measurable variables start
83
79
  PREDECL_DISP_SEC_END = 'PREDECL_DISP_SEC_END.h' # Header file name for CVC secure measurable variables end
84
80
 
@@ -131,7 +127,6 @@ CVC_DISP_A = {'START': CVC_DISP_ASIL_A_START, 'END': CVC_DISP_ASIL_A_END}
131
127
  CVC_DISP_B = {'START': CVC_DISP_ASIL_B_START, 'END': CVC_DISP_ASIL_B_END}
132
128
  CVC_DISP_C = {'START': CVC_DISP_ASIL_C_START, 'END': CVC_DISP_ASIL_C_END}
133
129
  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}
135
130
  CVC_DISP_SECURE = {'START': CVC_DISP_SEC_START, 'END': CVC_DISP_SEC_END}
136
131
 
137
132
  CVC_CAL_QM = {'START': CVC_CAL_START, 'END': CVC_CAL_END}
@@ -162,7 +157,6 @@ PREDECL_DISP_A = {'START': PREDECL_DISP_ASIL_A_START, 'END': PREDECL_DISP_ASIL_A
162
157
  PREDECL_DISP_B = {'START': PREDECL_DISP_ASIL_B_START, 'END': PREDECL_DISP_ASIL_B_END}
163
158
  PREDECL_DISP_C = {'START': PREDECL_DISP_ASIL_C_START, 'END': PREDECL_DISP_ASIL_C_END}
164
159
  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}
166
160
  PREDECL_DISP_SECURE = {'START': PREDECL_DISP_SEC_START, 'END': PREDECL_DISP_SEC_END}
167
161
 
168
162
  PREDECL_CAL_QM = {'START': PREDECL_CAL_START, 'END': PREDECL_CAL_END}
@@ -276,15 +270,14 @@ PREDECL_EXTRA = {
276
270
  'CONST_MERG': PREDECL_CONST_MERG
277
271
  }
278
272
 
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}
279
276
  ASIL_QM = {'CVC': CVC_ASIL_QM, 'PREDECL': PREDECL_ASIL_QM}
280
277
  ASIL_A = {'CVC': CVC_ASIL_A, 'PREDECL': PREDECL_ASIL_A}
281
278
  ASIL_B = {'CVC': CVC_ASIL_B, 'PREDECL': PREDECL_ASIL_B}
282
279
  ASIL_C = {'CVC': CVC_ASIL_C, 'PREDECL': PREDECL_ASIL_C}
283
280
  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}
288
281
 
289
282
  NVM_LEVEL_MAP = {
290
283
  'NORMAL': NVM,
@@ -133,19 +133,6 @@ 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
-
149
136
  def _get_nvm(self, section):
150
137
  cvc_undefines = []
151
138
  cvc_defines = []
@@ -245,29 +232,4 @@ class MemorySection(ProblemLogger):
245
232
  footer = self._get_footer(section_file)
246
233
  with Path(src_dst_dir, section_file).open('w', encoding="utf-8") as header_file_handler:
247
234
  header_file_handler.writelines(header + lines_to_write + footer)
248
-
249
235
  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)
@@ -799,6 +799,8 @@ 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
802
804
  else:
803
805
  base_type_lower = self.data_types[info["type"]]["limits"]["lower"]
804
806
  base_type_upper = self.data_types[info["type"]]["limits"]["upper"]
@@ -806,15 +808,70 @@ class CompositionYaml(ProblemLogger):
806
808
  upper = info["max"] if info["max"] != "-" else base_type_upper
807
809
 
808
810
  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
+
809
866
  class_info[signal_name] = {
810
- "type": info["type"],
867
+ "type": data_type_name,
811
868
  "access": "READ-ONLY" if isReadOnly else "READ-WRITE",
812
869
  "init": self.calibration_init_values.get(signal_name, max(min(0, upper), lower)),
813
870
  }
814
871
  if info["description"]:
815
872
  class_info[signal_name]["longname"] = self._prepare_for_xml(signal_name, info["description"])
816
- if info["unit"] and info["unit"] != "-":
817
- class_info[signal_name]["unit"] = info["unit"]
873
+ if unit is not None and not unit_in_data_type:
874
+ class_info[signal_name]["unit"] = unit
818
875
  if self.sharedSwAddrMethod is not None and not isReadOnly:
819
876
  class_info[signal_name]["swAddrMethod"] = f"{self.sharedSwAddrMethod}_{signal_name.split('_')[0]}"
820
877
  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.dev1
3
+ Version: 1.17.1.dev2
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": "8c8a66b", "is_release": false}
@@ -1 +0,0 @@
1
- {"git_version": "920e77a", "is_release": false}