Skip to content
Snippets Groups Projects
Commit 4a5241b0 authored by Federico Felici's avatar Federico Felici
Browse files

dynamically create configurationSettings.sldd

parent 06e2af5f
No related branches found
No related tags found
No related merge requests found
function SCDconf_setConf(conf)
% set configuration setting
% SCDconf_setConf(conf)
function SCDconf_setConf(conf,sourcedd)
% SCDconf_setConf(conf,sourcefile)
% conf: 'SIM', 'CODE' or use custom conf name
% sourcedd: source data dictionary containing configurations (Default: configurations_container.sldd)
%
% Sets SCD Simulink configuration settings.
% Takes desired configurationSettings object from sourcefile
% Stores it in configurations/configurations.sldd as configurationSettings
switch lower(conf)
case 'sim'
......@@ -11,16 +15,34 @@ function SCDconf_setConf(conf)
otherwise
confName = conf; % custom input
end
fname = 'configurations.sldd'; % dd file name
disp('Setting configurationSettings = %s in configurations.sldd ...',confName);
dd=Simulink.data.dictionary.open(fname);
confSection=getSection(dd, 'Configurations');
assert(confSection.exist(confName),'%s does not exist in %s',confName,fname);
simconf=confSection.getEntry(confName);
configurationSettings=simconf.getValue;
if nargin==2
fname_src = sourcedd;
else
fname_src = 'configurations_container.sldd'; % dd file name
end
fname_target = 'configurations.sldd'; dir_target = 'configurations';
fprintf('Retrieving %s from %s, ',confName,fname_src)
fprintf('setting it as configurationSettings = %s ...\n',fname_target);
dd_src = Simulink.data.dictionary.open(fname_src);
confSection = getSection(dd_src, 'Configurations');
assert(confSection.exist(confName),'%s does not exist in %s',confName,fname_src);
conf = confSection.getEntry(confName);
configurationSettings = conf.getValue;
%% Set it in target file
% Change name to universal name
configurationSettings.Name = 'configurationSettings';
% open target dd, section
if ~exist(fname_target,'file')
dd_target = Simulink.data.dictionary.create(fullfile(dir_target,fname_target));
else
dd_target = Simulink.data.dictionary.open(fname_target);
end
confSection = getSection(dd_target,'Configurations');
% create or set new configurationSettings entry
if confSection.exist('configurationSettings')
activeconf=confSection.getEntry('configurationSettings');
......@@ -28,6 +50,7 @@ function SCDconf_setConf(conf)
else
confSection.addEntry('configurationSettings',configurationSettings)
end
dd_target.saveChanges;
dd_target.close;
end
\ No newline at end of file
% Sets the simulation configuration settings on all the models
function [] = SCDconf_setSIMconf()
warning('SCDconf_setSIMconf is deprecated, please call SCDconf_setConf(''SIM'')');
SCDconf_setConf('SIM');
end
\ No newline at end of file
\ No newline at end of file
configurations.sldd
File suppressed by a .gitattributes entry, the file's encoding is unsupported, or the file size exceeds the limit.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment