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.
- powertrain_build/__init__.py +40 -40
- powertrain_build/__main__.py +6 -6
- powertrain_build/a2l.py +582 -582
- powertrain_build/a2l_merge.py +650 -650
- powertrain_build/a2l_templates.py +717 -717
- powertrain_build/build.py +985 -985
- powertrain_build/build_defs.py +309 -309
- powertrain_build/build_proj_config.py +690 -690
- powertrain_build/check_interface.py +575 -575
- powertrain_build/cli.py +141 -141
- powertrain_build/config.py +542 -542
- powertrain_build/core.py +395 -395
- powertrain_build/core_dummy.py +343 -343
- powertrain_build/create_conversion_table.py +73 -73
- powertrain_build/dids.py +916 -916
- powertrain_build/dummy.py +157 -157
- powertrain_build/dummy_spm.py +252 -252
- powertrain_build/environmentcheck.py +52 -52
- powertrain_build/ext_dbg.py +255 -255
- powertrain_build/ext_var.py +327 -327
- powertrain_build/feature_configs.py +301 -301
- powertrain_build/gen_allsysteminfo.py +227 -227
- powertrain_build/gen_label_split.py +449 -449
- powertrain_build/handcode_replacer.py +124 -124
- powertrain_build/html_report.py +133 -133
- powertrain_build/interface/__init__.py +4 -4
- powertrain_build/interface/application.py +511 -511
- powertrain_build/interface/base.py +500 -500
- powertrain_build/interface/csp_api.py +490 -490
- powertrain_build/interface/device_proxy.py +677 -677
- powertrain_build/interface/ems.py +67 -67
- powertrain_build/interface/export_global_vars.py +121 -121
- powertrain_build/interface/generate_adapters.py +132 -132
- powertrain_build/interface/generate_hi_interface.py +87 -87
- powertrain_build/interface/generate_service.py +69 -69
- powertrain_build/interface/generate_wrappers.py +147 -147
- powertrain_build/interface/generation_utils.py +142 -142
- powertrain_build/interface/hal.py +194 -194
- powertrain_build/interface/model_yaml_verification.py +348 -348
- powertrain_build/interface/service.py +296 -296
- powertrain_build/interface/simulink.py +249 -249
- powertrain_build/interface/update_call_sources.py +180 -180
- powertrain_build/interface/update_model_yaml.py +186 -186
- powertrain_build/interface/zone_controller.py +362 -362
- powertrain_build/lib/__init__.py +4 -4
- powertrain_build/lib/helper_functions.py +127 -127
- powertrain_build/lib/logger.py +55 -55
- powertrain_build/matlab_scripts/CodeGen/BuildAutomationPyBuild.m +78 -78
- powertrain_build/matlab_scripts/CodeGen/Generate_A2L.m +154 -154
- powertrain_build/matlab_scripts/CodeGen/generateTLUnit.m +239 -239
- powertrain_build/matlab_scripts/CodeGen/getAsilClassification.m +28 -28
- powertrain_build/matlab_scripts/CodeGen/modelConfiguredForTL.m +28 -28
- powertrain_build/matlab_scripts/CodeGen/moveDefOutports.m +88 -88
- powertrain_build/matlab_scripts/CodeGen/parseCalMeasData.m +410 -410
- powertrain_build/matlab_scripts/CodeGen/parseCoreIdentifiers.m +139 -139
- powertrain_build/matlab_scripts/CodeGen/parseDIDs.m +141 -141
- powertrain_build/matlab_scripts/CodeGen/parseInPorts.m +106 -106
- powertrain_build/matlab_scripts/CodeGen/parseIncludeConfigs.m +25 -25
- powertrain_build/matlab_scripts/CodeGen/parseModelInfo.m +38 -38
- powertrain_build/matlab_scripts/CodeGen/parseNVM.m +81 -81
- powertrain_build/matlab_scripts/CodeGen/parseOutPorts.m +120 -120
- powertrain_build/matlab_scripts/CodeGen/parsePreProcBlks.m +23 -23
- powertrain_build/matlab_scripts/CodeGen/struct2JSON.m +128 -128
- powertrain_build/matlab_scripts/CodeGen/updateCodeSwConfig.m +31 -31
- powertrain_build/matlab_scripts/Init_PyBuild.m +91 -91
- powertrain_build/matlab_scripts/__init__.py +2 -2
- powertrain_build/matlab_scripts/helperFunctions/Get_Full_Name.m +46 -46
- powertrain_build/matlab_scripts/helperFunctions/Get_SrcLines.m +12 -12
- powertrain_build/matlab_scripts/helperFunctions/Init_Models.m +78 -78
- powertrain_build/matlab_scripts/helperFunctions/Init_Projects.m +67 -67
- powertrain_build/matlab_scripts/helperFunctions/Read_Units.m +34 -34
- powertrain_build/matlab_scripts/helperFunctions/SetProjectTimeSamples.m +26 -26
- powertrain_build/matlab_scripts/helperFunctions/Strip_Suffix.m +16 -16
- powertrain_build/matlab_scripts/helperFunctions/followLink.m +118 -118
- powertrain_build/matlab_scripts/helperFunctions/getCodeSwitches.m +50 -50
- powertrain_build/matlab_scripts/helperFunctions/getConsumerBlocks.m +30 -30
- powertrain_build/matlab_scripts/helperFunctions/getDefBlock.m +39 -39
- powertrain_build/matlab_scripts/helperFunctions/getDefOutport.m +58 -58
- powertrain_build/matlab_scripts/helperFunctions/getDstBlocks.m +19 -19
- powertrain_build/matlab_scripts/helperFunctions/getDstLines.m +13 -13
- powertrain_build/matlab_scripts/helperFunctions/getInterfaceSignals.m +37 -37
- powertrain_build/matlab_scripts/helperFunctions/getName.m +37 -37
- powertrain_build/matlab_scripts/helperFunctions/getPath.m +6 -6
- powertrain_build/matlab_scripts/helperFunctions/getProperValue.m +21 -21
- powertrain_build/matlab_scripts/helperFunctions/getSrcBlocks.m +19 -19
- powertrain_build/matlab_scripts/helperFunctions/getSrcLines.m +13 -13
- powertrain_build/matlab_scripts/helperFunctions/loadLibraries.m +10 -10
- powertrain_build/matlab_scripts/helperFunctions/loadjson.m +6 -6
- powertrain_build/matlab_scripts/helperFunctions/modifyEnumStructField.m +21 -21
- powertrain_build/matlab_scripts/helperFunctions/removeConfigDuplicates.m +31 -31
- powertrain_build/matlab_scripts/helperFunctions/sortSystemByClass.m +26 -26
- powertrain_build/matlab_scripts/helperFunctions/tl_getfast.m +89 -89
- powertrain_build/matlab_scripts/helperFunctions/topLevelSystem.m +20 -20
- powertrain_build/matlab_scripts/helperFunctions/updateModels.m +131 -131
- powertrain_build/memory_section.py +224 -224
- powertrain_build/nvm_def.py +729 -729
- powertrain_build/problem_logger.py +86 -86
- powertrain_build/pt_matlab.py +430 -430
- powertrain_build/pt_win32.py +144 -144
- powertrain_build/replace_compu_tab_ref.py +105 -105
- powertrain_build/rte_dummy.py +254 -254
- powertrain_build/sched_funcs.py +209 -207
- powertrain_build/signal.py +7 -7
- powertrain_build/signal_if_html_rep.py +221 -221
- powertrain_build/signal_if_html_rep_all.py +302 -302
- powertrain_build/signal_incons_html_rep.py +180 -180
- powertrain_build/signal_incons_html_rep_all.py +366 -366
- powertrain_build/signal_incons_html_rep_base.py +168 -168
- powertrain_build/signal_inconsistency_check.py +641 -641
- powertrain_build/signal_interfaces.py +864 -864
- powertrain_build/templates/Index_SigCheck_All.html +22 -22
- powertrain_build/templates/Index_SigIf_All.html +19 -19
- powertrain_build/types.py +218 -218
- powertrain_build/unit_configs.py +419 -419
- powertrain_build/user_defined_types.py +660 -660
- powertrain_build/versioncheck.py +66 -66
- powertrain_build/wrapper.py +512 -512
- powertrain_build/xlrd_csv.py +87 -87
- powertrain_build/zone_controller/__init__.py +4 -4
- powertrain_build/zone_controller/calibration.py +176 -176
- powertrain_build/zone_controller/composition_yaml.py +880 -878
- {powertrain_build-1.13.1.dist-info → powertrain_build-1.13.3.dev3.dist-info}/METADATA +100 -100
- powertrain_build-1.13.3.dev3.dist-info/RECORD +130 -0
- {powertrain_build-1.13.1.dist-info → powertrain_build-1.13.3.dev3.dist-info}/WHEEL +1 -1
- {powertrain_build-1.13.1.dist-info → powertrain_build-1.13.3.dev3.dist-info}/licenses/LICENSE +202 -202
- powertrain_build-1.13.3.dev3.dist-info/pbr.json +1 -0
- powertrain_build-1.13.1.dist-info/RECORD +0 -130
- powertrain_build-1.13.1.dist-info/pbr.json +0 -1
- {powertrain_build-1.13.1.dist-info → powertrain_build-1.13.3.dev3.dist-info}/entry_points.txt +0 -0
- {powertrain_build-1.13.1.dist-info → powertrain_build-1.13.3.dev3.dist-info}/licenses/AUTHORS +0 -0
- {powertrain_build-1.13.1.dist-info → powertrain_build-1.13.3.dev3.dist-info}/licenses/NOTICE +0 -0
- {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
|