Add feature for not generating diagnostic files
Change-Id: I39ed77b2c5bb693129eb47214b58bae53f46649c
This commit is contained in:
@@ -432,6 +432,11 @@ Default is True.
|
||||
Include diagnostics elements or not.
|
||||
Default is True.
|
||||
|
||||
It is also possible to set it to "manual", "manual_dids" or "manual_dtcs".
|
||||
These settings make it so that the files *VcDIDAPI.\** and/or *VcCoreSupplierAbstraction.h* are not generated.
|
||||
Additionally, all DIDs and/or DTCs, from the yaml interface files,
|
||||
will be added to the [generated yaml interface file](#generateYamlInterfaceFile).
|
||||
|
||||
#### includeNvm
|
||||
|
||||
Include non-volatile memory elements or not.
|
||||
|
@@ -388,6 +388,10 @@ class ZCCore(ProblemLogger):
|
||||
def generate_dtc_files(self):
|
||||
"""Generate required ZC Core header files.
|
||||
Only use for some projects, which doesn't copy static code."""
|
||||
includeDiagnostics = self._prj_cfg.get_composition_config("includeDiagnostics")
|
||||
if includeDiagnostics in ["manual", "manual_dtcs"]:
|
||||
self.warning(f'includeDiagnostics is set to {includeDiagnostics}, not generating DTC files.')
|
||||
return
|
||||
file_contents = {
|
||||
'.h': self.get_header_content()
|
||||
}
|
||||
|
@@ -782,6 +782,10 @@ class ZCDIDs(ProblemLogger):
|
||||
"""Generate required DID API files.
|
||||
Only use for some projects, which doesn't copy static code."""
|
||||
if self.valid_dids is None:
|
||||
includeDiagnostics = self._build_cfg.get_composition_config("includeDiagnostics")
|
||||
if includeDiagnostics in ["manual", "manual_dids"]:
|
||||
self.warning(f'includeDiagnostics is set to {includeDiagnostics}, not generating DID files.')
|
||||
return
|
||||
self.critical('Valid DIDs not set. Cannot generate DID files.')
|
||||
return
|
||||
|
||||
|
@@ -322,14 +322,29 @@ class CompositionYaml(ProblemLogger):
|
||||
"""
|
||||
diag_dict = {}
|
||||
diagnostics = self.composition_spec.get("diagnostics", {})
|
||||
dids = diagnostics.get("dids", {})
|
||||
self.zc_dids.valid_dids = dids
|
||||
events = self._edit_event_dict(diagnostics.get("events", {}))
|
||||
|
||||
if self.build_cfg.get_composition_config("includeDiagnostics") == "manual":
|
||||
dids = diagnostics.get("dids", {})
|
||||
events = self._edit_event_dict(diagnostics.get("events", {}))
|
||||
elif self.build_cfg.get_composition_config("includeDiagnostics") == "manual_dids":
|
||||
dids = diagnostics.get("dids", {})
|
||||
events_tmp = self._edit_event_dict(diagnostics.get("events", {}))
|
||||
events = self.zc_core.get_diagnostic_trouble_codes(events_tmp)
|
||||
elif self.build_cfg.get_composition_config("includeDiagnostics") == "manual_dtcs":
|
||||
self.zc_dids.valid_dids = diagnostics.get("dids", {})
|
||||
dids = self.zc_dids.valid_dids
|
||||
events = self._edit_event_dict(diagnostics.get("events", {}))
|
||||
else:
|
||||
self.zc_dids.valid_dids = diagnostics.get("dids", {})
|
||||
dids = self.zc_dids.valid_dids
|
||||
events_tmp = self._edit_event_dict(diagnostics.get("events", {}))
|
||||
events = self.zc_core.get_diagnostic_trouble_codes(events_tmp)
|
||||
rids = diagnostics.get("rids", {})
|
||||
|
||||
if dids:
|
||||
diag_dict["dids"] = self.zc_dids.valid_dids
|
||||
diag_dict["dids"] = dids
|
||||
if events:
|
||||
diag_dict["events"] = self.zc_core.get_diagnostic_trouble_codes(events)
|
||||
diag_dict["events"] = events
|
||||
if rids:
|
||||
diag_dict["rids"] = rids
|
||||
self.warning("Will not generate code for RIDs, add manually.")
|
||||
@@ -552,9 +567,8 @@ class CompositionYaml(ProblemLogger):
|
||||
swcs[software_component_name]["ports"] = self._get_ports_info()
|
||||
if self.composition_spec.get("io") is not None:
|
||||
swcs[software_component_name]["io"] = self.composition_spec["io"]
|
||||
diagnostic_info = self._get_diagnostic_info()
|
||||
if self.build_cfg.get_composition_config("includeDiagnostics"):
|
||||
swcs[software_component_name]["diagnostics"] = diagnostic_info
|
||||
if self.build_cfg.get_composition_config("includeDiagnostics") is not False:
|
||||
swcs[software_component_name]["diagnostics"] = self._get_diagnostic_info()
|
||||
nvm_info, nvm_data_types_tmp, static_variables = self._get_nvm_info()
|
||||
if self.build_cfg.get_composition_config("includeNvm"):
|
||||
swcs[software_component_name]["nv-needs"] = nvm_info
|
||||
|
Reference in New Issue
Block a user