olindgre 2ece01e1d7 Make powertrain-build not overlap with pybuild in site-packages
Change-Id: I7b59f3f04f0f787d35db0b9389f295bf1ad24f56
2024-09-17 10:25:04 +02:00

39 lines
1.5 KiB
Matlab

% Copyright 2024 Volvo Car Corporation
% Licensed under Apache 2.0.
function [ output_args ] = parseModelInfo(rootFolder, model, cfgFolder)
% parseModelInfo Extract unit-config data from model
%
% Parse the model and create a structure that can be used to create
% a config file for the model.
%
% See also parseIncludeConfigs parseOutPorts parseInPorts parseCoreIdentifiers
% parseDIDs parseNVM parsePreProcBlks parseCalMeasData
tic;
load_system(model)
% Trigger "update model" command.
% This was added as a workaround for an inconsistent model.
% TODO: Check if it is still needed.
% set_param(model, 'SimulationCommand', 'Update');
%
root_subsystem = topLevelSystem(model);
output_args = struct();
% Version below should match the "config_version" of PyBuild, major must match.
% If they don't match, this script (and more?) may require updates.
output_args.version = '0.2.1';
output_args.includes = parseIncludeConfigs(model, cfgFolder);
output_args.integrity_level = getAsilClassification(rootFolder, model);
output_args.outports = parseOutPorts(root_subsystem);
output_args.inports = parseInPorts(root_subsystem);
output_args.core = parseCoreIdentifiers(model);
output_args.dids = parseDIDs(model);
output_args.nvm = parseNVM(model);
output_args.pre_procs = parsePreProcBlks(model);
tmp=parseCalMeasData(model);
output_args.local_vars = tmp.local_vars;
output_args.calib_consts = tmp.calib_consts;
toc
end