powertrain-build 1.13.1__py3-none-any.whl → 1.13.3.dev3__py3-none-any.whl

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 (132) hide show
  1. powertrain_build/__init__.py +40 -40
  2. powertrain_build/__main__.py +6 -6
  3. powertrain_build/a2l.py +582 -582
  4. powertrain_build/a2l_merge.py +650 -650
  5. powertrain_build/a2l_templates.py +717 -717
  6. powertrain_build/build.py +985 -985
  7. powertrain_build/build_defs.py +309 -309
  8. powertrain_build/build_proj_config.py +690 -690
  9. powertrain_build/check_interface.py +575 -575
  10. powertrain_build/cli.py +141 -141
  11. powertrain_build/config.py +542 -542
  12. powertrain_build/core.py +395 -395
  13. powertrain_build/core_dummy.py +343 -343
  14. powertrain_build/create_conversion_table.py +73 -73
  15. powertrain_build/dids.py +916 -916
  16. powertrain_build/dummy.py +157 -157
  17. powertrain_build/dummy_spm.py +252 -252
  18. powertrain_build/environmentcheck.py +52 -52
  19. powertrain_build/ext_dbg.py +255 -255
  20. powertrain_build/ext_var.py +327 -327
  21. powertrain_build/feature_configs.py +301 -301
  22. powertrain_build/gen_allsysteminfo.py +227 -227
  23. powertrain_build/gen_label_split.py +449 -449
  24. powertrain_build/handcode_replacer.py +124 -124
  25. powertrain_build/html_report.py +133 -133
  26. powertrain_build/interface/__init__.py +4 -4
  27. powertrain_build/interface/application.py +511 -511
  28. powertrain_build/interface/base.py +500 -500
  29. powertrain_build/interface/csp_api.py +490 -490
  30. powertrain_build/interface/device_proxy.py +677 -677
  31. powertrain_build/interface/ems.py +67 -67
  32. powertrain_build/interface/export_global_vars.py +121 -121
  33. powertrain_build/interface/generate_adapters.py +132 -132
  34. powertrain_build/interface/generate_hi_interface.py +87 -87
  35. powertrain_build/interface/generate_service.py +69 -69
  36. powertrain_build/interface/generate_wrappers.py +147 -147
  37. powertrain_build/interface/generation_utils.py +142 -142
  38. powertrain_build/interface/hal.py +194 -194
  39. powertrain_build/interface/model_yaml_verification.py +348 -348
  40. powertrain_build/interface/service.py +296 -296
  41. powertrain_build/interface/simulink.py +249 -249
  42. powertrain_build/interface/update_call_sources.py +180 -180
  43. powertrain_build/interface/update_model_yaml.py +186 -186
  44. powertrain_build/interface/zone_controller.py +362 -362
  45. powertrain_build/lib/__init__.py +4 -4
  46. powertrain_build/lib/helper_functions.py +127 -127
  47. powertrain_build/lib/logger.py +55 -55
  48. powertrain_build/matlab_scripts/CodeGen/BuildAutomationPyBuild.m +78 -78
  49. powertrain_build/matlab_scripts/CodeGen/Generate_A2L.m +154 -154
  50. powertrain_build/matlab_scripts/CodeGen/generateTLUnit.m +239 -239
  51. powertrain_build/matlab_scripts/CodeGen/getAsilClassification.m +28 -28
  52. powertrain_build/matlab_scripts/CodeGen/modelConfiguredForTL.m +28 -28
  53. powertrain_build/matlab_scripts/CodeGen/moveDefOutports.m +88 -88
  54. powertrain_build/matlab_scripts/CodeGen/parseCalMeasData.m +410 -410
  55. powertrain_build/matlab_scripts/CodeGen/parseCoreIdentifiers.m +139 -139
  56. powertrain_build/matlab_scripts/CodeGen/parseDIDs.m +141 -141
  57. powertrain_build/matlab_scripts/CodeGen/parseInPorts.m +106 -106
  58. powertrain_build/matlab_scripts/CodeGen/parseIncludeConfigs.m +25 -25
  59. powertrain_build/matlab_scripts/CodeGen/parseModelInfo.m +38 -38
  60. powertrain_build/matlab_scripts/CodeGen/parseNVM.m +81 -81
  61. powertrain_build/matlab_scripts/CodeGen/parseOutPorts.m +120 -120
  62. powertrain_build/matlab_scripts/CodeGen/parsePreProcBlks.m +23 -23
  63. powertrain_build/matlab_scripts/CodeGen/struct2JSON.m +128 -128
  64. powertrain_build/matlab_scripts/CodeGen/updateCodeSwConfig.m +31 -31
  65. powertrain_build/matlab_scripts/Init_PyBuild.m +91 -91
  66. powertrain_build/matlab_scripts/__init__.py +2 -2
  67. powertrain_build/matlab_scripts/helperFunctions/Get_Full_Name.m +46 -46
  68. powertrain_build/matlab_scripts/helperFunctions/Get_SrcLines.m +12 -12
  69. powertrain_build/matlab_scripts/helperFunctions/Init_Models.m +78 -78
  70. powertrain_build/matlab_scripts/helperFunctions/Init_Projects.m +67 -67
  71. powertrain_build/matlab_scripts/helperFunctions/Read_Units.m +34 -34
  72. powertrain_build/matlab_scripts/helperFunctions/SetProjectTimeSamples.m +26 -26
  73. powertrain_build/matlab_scripts/helperFunctions/Strip_Suffix.m +16 -16
  74. powertrain_build/matlab_scripts/helperFunctions/followLink.m +118 -118
  75. powertrain_build/matlab_scripts/helperFunctions/getCodeSwitches.m +50 -50
  76. powertrain_build/matlab_scripts/helperFunctions/getConsumerBlocks.m +30 -30
  77. powertrain_build/matlab_scripts/helperFunctions/getDefBlock.m +39 -39
  78. powertrain_build/matlab_scripts/helperFunctions/getDefOutport.m +58 -58
  79. powertrain_build/matlab_scripts/helperFunctions/getDstBlocks.m +19 -19
  80. powertrain_build/matlab_scripts/helperFunctions/getDstLines.m +13 -13
  81. powertrain_build/matlab_scripts/helperFunctions/getInterfaceSignals.m +37 -37
  82. powertrain_build/matlab_scripts/helperFunctions/getName.m +37 -37
  83. powertrain_build/matlab_scripts/helperFunctions/getPath.m +6 -6
  84. powertrain_build/matlab_scripts/helperFunctions/getProperValue.m +21 -21
  85. powertrain_build/matlab_scripts/helperFunctions/getSrcBlocks.m +19 -19
  86. powertrain_build/matlab_scripts/helperFunctions/getSrcLines.m +13 -13
  87. powertrain_build/matlab_scripts/helperFunctions/loadLibraries.m +10 -10
  88. powertrain_build/matlab_scripts/helperFunctions/loadjson.m +6 -6
  89. powertrain_build/matlab_scripts/helperFunctions/modifyEnumStructField.m +21 -21
  90. powertrain_build/matlab_scripts/helperFunctions/removeConfigDuplicates.m +31 -31
  91. powertrain_build/matlab_scripts/helperFunctions/sortSystemByClass.m +26 -26
  92. powertrain_build/matlab_scripts/helperFunctions/tl_getfast.m +89 -89
  93. powertrain_build/matlab_scripts/helperFunctions/topLevelSystem.m +20 -20
  94. powertrain_build/matlab_scripts/helperFunctions/updateModels.m +131 -131
  95. powertrain_build/memory_section.py +224 -224
  96. powertrain_build/nvm_def.py +729 -729
  97. powertrain_build/problem_logger.py +86 -86
  98. powertrain_build/pt_matlab.py +430 -430
  99. powertrain_build/pt_win32.py +144 -144
  100. powertrain_build/replace_compu_tab_ref.py +105 -105
  101. powertrain_build/rte_dummy.py +254 -254
  102. powertrain_build/sched_funcs.py +209 -207
  103. powertrain_build/signal.py +7 -7
  104. powertrain_build/signal_if_html_rep.py +221 -221
  105. powertrain_build/signal_if_html_rep_all.py +302 -302
  106. powertrain_build/signal_incons_html_rep.py +180 -180
  107. powertrain_build/signal_incons_html_rep_all.py +366 -366
  108. powertrain_build/signal_incons_html_rep_base.py +168 -168
  109. powertrain_build/signal_inconsistency_check.py +641 -641
  110. powertrain_build/signal_interfaces.py +864 -864
  111. powertrain_build/templates/Index_SigCheck_All.html +22 -22
  112. powertrain_build/templates/Index_SigIf_All.html +19 -19
  113. powertrain_build/types.py +218 -218
  114. powertrain_build/unit_configs.py +419 -419
  115. powertrain_build/user_defined_types.py +660 -660
  116. powertrain_build/versioncheck.py +66 -66
  117. powertrain_build/wrapper.py +512 -512
  118. powertrain_build/xlrd_csv.py +87 -87
  119. powertrain_build/zone_controller/__init__.py +4 -4
  120. powertrain_build/zone_controller/calibration.py +176 -176
  121. powertrain_build/zone_controller/composition_yaml.py +880 -878
  122. {powertrain_build-1.13.1.dist-info → powertrain_build-1.13.3.dev3.dist-info}/METADATA +100 -100
  123. powertrain_build-1.13.3.dev3.dist-info/RECORD +130 -0
  124. {powertrain_build-1.13.1.dist-info → powertrain_build-1.13.3.dev3.dist-info}/WHEEL +1 -1
  125. {powertrain_build-1.13.1.dist-info → powertrain_build-1.13.3.dev3.dist-info}/licenses/LICENSE +202 -202
  126. powertrain_build-1.13.3.dev3.dist-info/pbr.json +1 -0
  127. powertrain_build-1.13.1.dist-info/RECORD +0 -130
  128. powertrain_build-1.13.1.dist-info/pbr.json +0 -1
  129. {powertrain_build-1.13.1.dist-info → powertrain_build-1.13.3.dev3.dist-info}/entry_points.txt +0 -0
  130. {powertrain_build-1.13.1.dist-info → powertrain_build-1.13.3.dev3.dist-info}/licenses/AUTHORS +0 -0
  131. {powertrain_build-1.13.1.dist-info → powertrain_build-1.13.3.dev3.dist-info}/licenses/NOTICE +0 -0
  132. {powertrain_build-1.13.1.dist-info → powertrain_build-1.13.3.dev3.dist-info}/top_level.txt +0 -0
@@ -1,168 +1,168 @@
1
- # Copyright 2024 Volvo Car Corporation
2
- # Licensed under Apache 2.0.
3
-
4
- """Module containing classes for generation of signal consistency check report."""
5
- from powertrain_build.html_report import HtmlReport
6
-
7
-
8
- class SigConsHtmlReportBase(HtmlReport):
9
- """Generate html report from the signal consistency check result.
10
-
11
- (see :doc:`signal_interfaces`)
12
-
13
- Inherits :doc:`HtmlReport <html_report>`.
14
- """
15
-
16
- __intro = """<h2 class="nocount">Table of contents</h2>
17
- <ol>
18
- <li><a href="#introduction">Introduction</a></li>
19
- <li><a href="#unit_details">Detailed unit information</a></li>
20
- <li><a href="#ext_sigs">External signals</a>
21
- <ol>
22
- <li><a href="#ext_missing">Missing external signals</a></li>
23
- <li><a href="#ext_unused">Unused external signals</a></li>
24
- </ol></li>
25
- <li><a href="#unit_index">Unit index</a></li>
26
- </ol>
27
- <h2 id="introduction">Introduction</h2>
28
- <p>This documents lists inconsistencies in the internal and external signal configuration.</p>
29
- """
30
- _table_unused = """
31
- <table id="unused">
32
- <thead>
33
- <tr>
34
- <th>Variable</th>
35
- <th>Configurations</th>
36
- </tr>
37
- </thead>
38
- <tbody>
39
- """
40
- _table_incons = """
41
- <table id="inconsistent">
42
- <thead>
43
- <tr>
44
- <th>Variable</th>
45
- <th>Variable parameter</th>
46
- <th>Difference</th>
47
- </tr>
48
- </thead>
49
- <tbody>
50
- """
51
- _table_unknown = """
52
- <table id="unknown">
53
- <thead>
54
- <tr>
55
- <th>Variable</th>
56
- <th>Units</th>
57
- </tr>
58
- </thead>
59
- <tbody>
60
- """
61
-
62
- def __init__(self, res_dict=None):
63
- """Initialize class instance.
64
-
65
- Args:
66
- res_dict (dict): result dict from the signal interface consistency check
67
-
68
- The dict shall have the following format::
69
-
70
- {
71
- "sigs": { "ext": {"missing": {},
72
- "unused": {},
73
- "inconsistent_defs": {}},
74
- "int": {"UNIT_NAME": {"missing": {},
75
- "unused": {},
76
- "multiple_defs": {}
77
- "inconsistent_defs": {}}
78
- }
79
- }
80
- """
81
- super().__init__('Signal consistency report')
82
-
83
- @staticmethod
84
- def _set_to_str(set_):
85
- """Convert a set to a sorted string."""
86
- out = ""
87
- for conf in sorted(set_):
88
- out += conf + ', '
89
- return out[:-2]
90
-
91
- def _gen_missing_sigs(self, unit_data, out=''):
92
- """Generate the unit specific information for missing signal in a unit."""
93
- out += self._table_unused
94
- for var in sorted(unit_data['missing'].keys()):
95
- configs = unit_data['missing'][var]
96
- out += ' <tr>\n'
97
- out += f' <td>{var}</td>\n'
98
- out += f' <td>{self._set_to_str(configs)}</td>\n'
99
- out += ' </tr>\n'
100
- out += ' </tbody>\n'
101
- out += ' </table>\n'
102
- return out
103
-
104
- def _gen_unused_sigs(self, unit_data, out=''):
105
- """Generate the unit specific information for the unused signals wihtin a unit."""
106
- out += self._table_unused
107
- for var in sorted(unit_data['unused'].keys()):
108
- configs = unit_data['unused'][var]
109
- out += ' <tr>\n'
110
- out += f' <td>{var}</td>\n'
111
- out += f' <td>{self._set_to_str(configs)}</td>\n'
112
- out += ' </tr>\n'
113
- out += ' </tbody>\n'
114
- out += ' </table>\n'
115
- return out
116
-
117
- def _gen_multiple_def_sigs(self, unit_data, out=''):
118
- """Generate unit specific information for the signals that are generated more than once."""
119
- out += self._table_unused
120
- for var in sorted(unit_data['multiple_defs'].keys()):
121
- configs = unit_data['multiple_defs'][var]
122
- out += ' <tr>\n'
123
- out += f' <td>{var}</td>\n'
124
- out += f' <td>{self._set_to_str(configs)}</td>\n'
125
- out += ' </tr>\n'
126
- out += ' </tbody>\n'
127
- out += ' </table>\n'
128
- return out
129
-
130
- def _gen_ext_inconsistent_defs(self, unit, out=''):
131
- """Generate a report of inconsistent variable definition parameters.
132
-
133
- Report inconsistencies between the producing signal definition, and the
134
- signal definitions in the external interface definition.
135
- """
136
- out += self._table_incons
137
- incons_unit = self._res_dict['sigs']['ext']['inconsistent_defs'][unit]
138
- for var in sorted(incons_unit.keys()):
139
- first_cells = f' <tr>\n <td>{var}</td>\n'
140
- for v_par, desc in incons_unit[var].items():
141
- out += first_cells
142
- out += f' <td>{v_par}</td>\n'
143
- out += f' <td>{desc}</td>\n'
144
- out += ' </tr>\n'
145
- first_cells = ' <tr>\n <td></td>\n'
146
- out += ' </tbody>\n'
147
- out += ' </table>\n'
148
- return out
149
-
150
- def _gen_int_inconsistent_defs(self, unit_data, out=''):
151
- """Generate a report of inconsistent variable definition parameters.
152
-
153
- Inconsistent for between the producing signal definition, and the
154
- consuming signal definitions for SPM internal signals.
155
- """
156
- out += self._table_incons
157
- for var in sorted(unit_data['inconsistent_defs'].keys()):
158
- configs = unit_data['inconsistent_defs'][var]
159
- first_cells = f' <tr>\n <td>{var}</td>\n'
160
- for v_par, desc in configs.items():
161
- out += first_cells
162
- out += f' <td>{v_par}</td>\n'
163
- out += f' <td>{desc}</td>\n'
164
- out += ' </tr>\n'
165
- first_cells = ' <tr>\n <td></td>\n'
166
- out += ' </tbody>\n'
167
- out += ' </table>\n'
168
- return out
1
+ # Copyright 2024 Volvo Car Corporation
2
+ # Licensed under Apache 2.0.
3
+
4
+ """Module containing classes for generation of signal consistency check report."""
5
+ from powertrain_build.html_report import HtmlReport
6
+
7
+
8
+ class SigConsHtmlReportBase(HtmlReport):
9
+ """Generate html report from the signal consistency check result.
10
+
11
+ (see :doc:`signal_interfaces`)
12
+
13
+ Inherits :doc:`HtmlReport <html_report>`.
14
+ """
15
+
16
+ __intro = """<h2 class="nocount">Table of contents</h2>
17
+ <ol>
18
+ <li><a href="#introduction">Introduction</a></li>
19
+ <li><a href="#unit_details">Detailed unit information</a></li>
20
+ <li><a href="#ext_sigs">External signals</a>
21
+ <ol>
22
+ <li><a href="#ext_missing">Missing external signals</a></li>
23
+ <li><a href="#ext_unused">Unused external signals</a></li>
24
+ </ol></li>
25
+ <li><a href="#unit_index">Unit index</a></li>
26
+ </ol>
27
+ <h2 id="introduction">Introduction</h2>
28
+ <p>This documents lists inconsistencies in the internal and external signal configuration.</p>
29
+ """
30
+ _table_unused = """
31
+ <table id="unused">
32
+ <thead>
33
+ <tr>
34
+ <th>Variable</th>
35
+ <th>Configurations</th>
36
+ </tr>
37
+ </thead>
38
+ <tbody>
39
+ """
40
+ _table_incons = """
41
+ <table id="inconsistent">
42
+ <thead>
43
+ <tr>
44
+ <th>Variable</th>
45
+ <th>Variable parameter</th>
46
+ <th>Difference</th>
47
+ </tr>
48
+ </thead>
49
+ <tbody>
50
+ """
51
+ _table_unknown = """
52
+ <table id="unknown">
53
+ <thead>
54
+ <tr>
55
+ <th>Variable</th>
56
+ <th>Units</th>
57
+ </tr>
58
+ </thead>
59
+ <tbody>
60
+ """
61
+
62
+ def __init__(self, res_dict=None):
63
+ """Initialize class instance.
64
+
65
+ Args:
66
+ res_dict (dict): result dict from the signal interface consistency check
67
+
68
+ The dict shall have the following format::
69
+
70
+ {
71
+ "sigs": { "ext": {"missing": {},
72
+ "unused": {},
73
+ "inconsistent_defs": {}},
74
+ "int": {"UNIT_NAME": {"missing": {},
75
+ "unused": {},
76
+ "multiple_defs": {}
77
+ "inconsistent_defs": {}}
78
+ }
79
+ }
80
+ """
81
+ super().__init__('Signal consistency report')
82
+
83
+ @staticmethod
84
+ def _set_to_str(set_):
85
+ """Convert a set to a sorted string."""
86
+ out = ""
87
+ for conf in sorted(set_):
88
+ out += conf + ', '
89
+ return out[:-2]
90
+
91
+ def _gen_missing_sigs(self, unit_data, out=''):
92
+ """Generate the unit specific information for missing signal in a unit."""
93
+ out += self._table_unused
94
+ for var in sorted(unit_data['missing'].keys()):
95
+ configs = unit_data['missing'][var]
96
+ out += ' <tr>\n'
97
+ out += f' <td>{var}</td>\n'
98
+ out += f' <td>{self._set_to_str(configs)}</td>\n'
99
+ out += ' </tr>\n'
100
+ out += ' </tbody>\n'
101
+ out += ' </table>\n'
102
+ return out
103
+
104
+ def _gen_unused_sigs(self, unit_data, out=''):
105
+ """Generate the unit specific information for the unused signals wihtin a unit."""
106
+ out += self._table_unused
107
+ for var in sorted(unit_data['unused'].keys()):
108
+ configs = unit_data['unused'][var]
109
+ out += ' <tr>\n'
110
+ out += f' <td>{var}</td>\n'
111
+ out += f' <td>{self._set_to_str(configs)}</td>\n'
112
+ out += ' </tr>\n'
113
+ out += ' </tbody>\n'
114
+ out += ' </table>\n'
115
+ return out
116
+
117
+ def _gen_multiple_def_sigs(self, unit_data, out=''):
118
+ """Generate unit specific information for the signals that are generated more than once."""
119
+ out += self._table_unused
120
+ for var in sorted(unit_data['multiple_defs'].keys()):
121
+ configs = unit_data['multiple_defs'][var]
122
+ out += ' <tr>\n'
123
+ out += f' <td>{var}</td>\n'
124
+ out += f' <td>{self._set_to_str(configs)}</td>\n'
125
+ out += ' </tr>\n'
126
+ out += ' </tbody>\n'
127
+ out += ' </table>\n'
128
+ return out
129
+
130
+ def _gen_ext_inconsistent_defs(self, unit, out=''):
131
+ """Generate a report of inconsistent variable definition parameters.
132
+
133
+ Report inconsistencies between the producing signal definition, and the
134
+ signal definitions in the external interface definition.
135
+ """
136
+ out += self._table_incons
137
+ incons_unit = self._res_dict['sigs']['ext']['inconsistent_defs'][unit]
138
+ for var in sorted(incons_unit.keys()):
139
+ first_cells = f' <tr>\n <td>{var}</td>\n'
140
+ for v_par, desc in incons_unit[var].items():
141
+ out += first_cells
142
+ out += f' <td>{v_par}</td>\n'
143
+ out += f' <td>{desc}</td>\n'
144
+ out += ' </tr>\n'
145
+ first_cells = ' <tr>\n <td></td>\n'
146
+ out += ' </tbody>\n'
147
+ out += ' </table>\n'
148
+ return out
149
+
150
+ def _gen_int_inconsistent_defs(self, unit_data, out=''):
151
+ """Generate a report of inconsistent variable definition parameters.
152
+
153
+ Inconsistent for between the producing signal definition, and the
154
+ consuming signal definitions for SPM internal signals.
155
+ """
156
+ out += self._table_incons
157
+ for var in sorted(unit_data['inconsistent_defs'].keys()):
158
+ configs = unit_data['inconsistent_defs'][var]
159
+ first_cells = f' <tr>\n <td>{var}</td>\n'
160
+ for v_par, desc in configs.items():
161
+ out += first_cells
162
+ out += f' <td>{v_par}</td>\n'
163
+ out += f' <td>{desc}</td>\n'
164
+ out += ' </tr>\n'
165
+ first_cells = ' <tr>\n <td></td>\n'
166
+ out += ' </tbody>\n'
167
+ out += ' </table>\n'
168
+ return out