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,73 +1,73 @@
|
|
|
1
|
-
# Copyright 2024 Volvo Car Corporation
|
|
2
|
-
# Licensed under Apache 2.0.
|
|
3
|
-
|
|
4
|
-
"""Module to create an a2l file from a conversion table file."""
|
|
5
|
-
|
|
6
|
-
import argparse
|
|
7
|
-
import json
|
|
8
|
-
import sys
|
|
9
|
-
from pathlib import Path
|
|
10
|
-
from typing import List, Optional
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
PARSER_HELP = "Create a2l file from conversion_table.json file."
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
def get_vtab_text(vtab):
|
|
17
|
-
"""Convert vtab dict to a2l text."""
|
|
18
|
-
|
|
19
|
-
vtab_text = (
|
|
20
|
-
' /begin COMPU_VTAB\n'
|
|
21
|
-
f' CONV_TAB_{vtab["name"]} /* Name */\n'
|
|
22
|
-
' "Conversion table" /* LongIdentifier */\n'
|
|
23
|
-
' TAB_VERB /* ConversionType */\n'
|
|
24
|
-
f' {len(vtab["disp_values"])} /* NumberValuePairs */\n'
|
|
25
|
-
)
|
|
26
|
-
|
|
27
|
-
vtab_text += ''.join(
|
|
28
|
-
f' {vtab["start_value"]+i} /* InVal */\n'
|
|
29
|
-
f' "{value}" /* OutVal */\n'
|
|
30
|
-
for i, value in enumerate(vtab['disp_values'])
|
|
31
|
-
)
|
|
32
|
-
|
|
33
|
-
vtab_text += ' /end COMPU_VTAB\n\n'
|
|
34
|
-
|
|
35
|
-
return vtab_text
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
def create_conversion_table(input_json: Path, output_a2l: Path):
|
|
39
|
-
"""Create a2l conversion table for custom units."""
|
|
40
|
-
with open(input_json.resolve(), encoding="utf-8") as f_h:
|
|
41
|
-
conversion_table = json.load(f_h)
|
|
42
|
-
|
|
43
|
-
with open(output_a2l.resolve(), 'w', encoding="utf-8") as f_h:
|
|
44
|
-
for vtab in conversion_table:
|
|
45
|
-
f_h.write(get_vtab_text(vtab))
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
def create_conversion_table_cli(args: argparse.Namespace):
|
|
49
|
-
"""CLI wrapper function for passing in Namespace object.
|
|
50
|
-
|
|
51
|
-
This allows maintaining a standardized CLI function signature while not breaking backwards
|
|
52
|
-
compatibility with create_converstion_table.
|
|
53
|
-
"""
|
|
54
|
-
create_conversion_table(args.input_file, args.output_file)
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
def configure_parser(parser: argparse.ArgumentParser):
|
|
58
|
-
"""Set up parser for CLI."""
|
|
59
|
-
parser.add_argument('input_file', type=Path)
|
|
60
|
-
parser.add_argument('output_file', type=Path)
|
|
61
|
-
parser.set_defaults(func=create_conversion_table_cli)
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
def main(argv: Optional[List[str]] = None):
|
|
65
|
-
"""Main function for CLI."""
|
|
66
|
-
parser = argparse.ArgumentParser(description=PARSER_HELP)
|
|
67
|
-
configure_parser(parser)
|
|
68
|
-
args = parser.parse_args(argv)
|
|
69
|
-
args.func(args)
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
if __name__ == '__main__':
|
|
73
|
-
main(sys.argv[1:])
|
|
1
|
+
# Copyright 2024 Volvo Car Corporation
|
|
2
|
+
# Licensed under Apache 2.0.
|
|
3
|
+
|
|
4
|
+
"""Module to create an a2l file from a conversion table file."""
|
|
5
|
+
|
|
6
|
+
import argparse
|
|
7
|
+
import json
|
|
8
|
+
import sys
|
|
9
|
+
from pathlib import Path
|
|
10
|
+
from typing import List, Optional
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
PARSER_HELP = "Create a2l file from conversion_table.json file."
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
def get_vtab_text(vtab):
|
|
17
|
+
"""Convert vtab dict to a2l text."""
|
|
18
|
+
|
|
19
|
+
vtab_text = (
|
|
20
|
+
' /begin COMPU_VTAB\n'
|
|
21
|
+
f' CONV_TAB_{vtab["name"]} /* Name */\n'
|
|
22
|
+
' "Conversion table" /* LongIdentifier */\n'
|
|
23
|
+
' TAB_VERB /* ConversionType */\n'
|
|
24
|
+
f' {len(vtab["disp_values"])} /* NumberValuePairs */\n'
|
|
25
|
+
)
|
|
26
|
+
|
|
27
|
+
vtab_text += ''.join(
|
|
28
|
+
f' {vtab["start_value"]+i} /* InVal */\n'
|
|
29
|
+
f' "{value}" /* OutVal */\n'
|
|
30
|
+
for i, value in enumerate(vtab['disp_values'])
|
|
31
|
+
)
|
|
32
|
+
|
|
33
|
+
vtab_text += ' /end COMPU_VTAB\n\n'
|
|
34
|
+
|
|
35
|
+
return vtab_text
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
def create_conversion_table(input_json: Path, output_a2l: Path):
|
|
39
|
+
"""Create a2l conversion table for custom units."""
|
|
40
|
+
with open(input_json.resolve(), encoding="utf-8") as f_h:
|
|
41
|
+
conversion_table = json.load(f_h)
|
|
42
|
+
|
|
43
|
+
with open(output_a2l.resolve(), 'w', encoding="utf-8") as f_h:
|
|
44
|
+
for vtab in conversion_table:
|
|
45
|
+
f_h.write(get_vtab_text(vtab))
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
def create_conversion_table_cli(args: argparse.Namespace):
|
|
49
|
+
"""CLI wrapper function for passing in Namespace object.
|
|
50
|
+
|
|
51
|
+
This allows maintaining a standardized CLI function signature while not breaking backwards
|
|
52
|
+
compatibility with create_converstion_table.
|
|
53
|
+
"""
|
|
54
|
+
create_conversion_table(args.input_file, args.output_file)
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
def configure_parser(parser: argparse.ArgumentParser):
|
|
58
|
+
"""Set up parser for CLI."""
|
|
59
|
+
parser.add_argument('input_file', type=Path)
|
|
60
|
+
parser.add_argument('output_file', type=Path)
|
|
61
|
+
parser.set_defaults(func=create_conversion_table_cli)
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
def main(argv: Optional[List[str]] = None):
|
|
65
|
+
"""Main function for CLI."""
|
|
66
|
+
parser = argparse.ArgumentParser(description=PARSER_HELP)
|
|
67
|
+
configure_parser(parser)
|
|
68
|
+
args = parser.parse_args(argv)
|
|
69
|
+
args.func(args)
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
if __name__ == '__main__':
|
|
73
|
+
main(sys.argv[1:])
|