From 20351325ceb33833ab7fa8d835dc12e1291a67c1 Mon Sep 17 00:00:00 2001 From: Cristian Galperti <cristian.galperti@epfl.ch> Date: Wed, 10 Apr 2019 14:47:11 +0200 Subject: [PATCH] printMARTe2config working for f4e example printMARTe2config now doesn't require any mds connection to produce its output and can take a model filter optional parameter as the actualize --- code/classes/SCDclass_expcode.m | 16 ++++++++++++++- code/classes/SCDclass_mdsobjcontainer.m | 26 +++++++++++++++++++++---- code/classes/SCDclass_mdspar.m | 13 +++++++++++-- code/classes/SCDclass_mdswgsigsingle.m | 1 + 4 files changed, 49 insertions(+), 7 deletions(-) diff --git a/code/classes/SCDclass_expcode.m b/code/classes/SCDclass_expcode.m index 7475572..c9a6f86 100644 --- a/code/classes/SCDclass_expcode.m +++ b/code/classes/SCDclass_expcode.m @@ -506,7 +506,21 @@ classdef SCDclass_expcode end end - function printMARTe2config(obj, shot) + function printMARTe2config(obj, shot, varargin) + p=inputParser; + % if a model name is given, operations will be performed + % only on it, otherwise they will be performed on all + % configured models + addParameter(p,'model','',@(x) ischar(x)); + parse(p,varargin{:}); + + if(isempty(p.Results.model)) + obj.mdscontainer.modeltogenerate='all'; + else + obj.mdscontainer.modeltogenerate=p.Results.model; + end + + fprintf("+MDSParameters = {\n"); fprintf(" Class = MDSParameters\n"); fprintf(" Shot = %d\n",shot); diff --git a/code/classes/SCDclass_mdsobjcontainer.m b/code/classes/SCDclass_mdsobjcontainer.m index 738fdd9..ae7e84e 100644 --- a/code/classes/SCDclass_mdsobjcontainer.m +++ b/code/classes/SCDclass_mdsobjcontainer.m @@ -16,6 +16,7 @@ classdef SCDclass_mdsobjcontainer simstructlist % list of names of simstructs to be transferred to % base workspace upon expcode setup modeltoactualize % model name to actualize ('all' for all) + modeltogenerate % model name to generate conf script ('all' for all) end methods @@ -244,15 +245,32 @@ classdef SCDclass_mdsobjcontainer function printMARTe2parconfig(obj, shot) for ii=1:obj.numparams - str=obj.mdsparams(ii).genMARTe2entry(shot); - fprintf(" %s\n",str); + if(strcmp(obj.modeltogenerate,'all')) + str=obj.mdsparams(ii).genMARTe2entry(shot); + fprintf(" %s\n",str); + else + if(strcmp(obj.modeltogenerate,obj.mdsparams(ii).getmodelname)) + str=obj.mdsparams(ii).genMARTe2entry(shot); + fprintf(" %s\n",str); + end + end + end end + + function printMARTe2wgconfig(obj, shot) for ii=1:obj.numwavegens - str=obj.mdswavegens(ii).genMARTe2entry(shot); - fprintf(" %s\n",str); + if(strcmp(obj.modeltogenerate,'all')) + str=obj.mdswavegens(ii).genMARTe2entry(shot); + fprintf(" %s\n",str); + else + if(strcmp(obj.modeltogenerate,obj.mdswavegens(ii).getmodelname)) + str=obj.mdswavegens(ii).genMARTe2entry(shot); + fprintf(" %s\n",str); + end + end end end diff --git a/code/classes/SCDclass_mdspar.m b/code/classes/SCDclass_mdspar.m index 6b4a37a..1a02793 100644 --- a/code/classes/SCDclass_mdspar.m +++ b/code/classes/SCDclass_mdspar.m @@ -123,6 +123,14 @@ classdef SCDclass_mdspar < matlab.mixin.Heterogeneous obj.modelparam=[obj.modeltpstruct '.' obj.modeltargetpar]; end + function obj=actualizetdiexpr(obj, shot) + if(shot==-1) + obj.tdiexprused=obj.tdiexprmodel; + else + obj.tdiexprused=obj.tdiexprshot; + end + end + function printinfocommon(obj) fprintf('%s (class %s):\n', obj.modelparam, obj.classname); fprintf(' Simulink model: ''%s'', data dictionary: ''%s''\n', obj.modelname, obj.datadictionary); @@ -161,8 +169,9 @@ classdef SCDclass_mdspar < matlab.mixin.Heterogeneous end function entrystring = genMARTe2entrycommon(obj, shot) - obj.mdsconnect(shot); - [obj,~]=obj.getdata(shot); + %obj.mdsconnect(shot); + %[obj,~]=obj.getdata(shot); + obj=obj.actualizetdiexpr(shot); %entrystring = ['+' obj.modeltargetpar ' = { Class=' obj.classname ' Path=' obj.tdiexprused ' }']; entrystring = ['+' obj.modeltargetpar ' = { Class=' obj.classname ' Path=' obj.tdiexprused]; end diff --git a/code/classes/SCDclass_mdswgsigsingle.m b/code/classes/SCDclass_mdswgsigsingle.m index fe7ec15..9ce4a0b 100644 --- a/code/classes/SCDclass_mdswgsigsingle.m +++ b/code/classes/SCDclass_mdswgsigsingle.m @@ -113,6 +113,7 @@ classdef SCDclass_mdswgsigsingle < SCDclass_mdswg function entrystring = genMARTe2entry(obj, shot) entrystring=obj.genMARTe2entrycommon(shot); + entrystring=[entrystring ' }']; end end -- GitLab