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

Merge branch 'tcv02standard-MARTe-crosschecks'

parents 1a70582c 51ce1956
No related branches found
No related tags found
No related merge requests found
......@@ -32,8 +32,8 @@ classdef SCDclass_mdspar < matlab.mixin.Heterogeneous
assignstring % actualizedata specific
denanstring % actualizedata specific
caststring % actualizedata specific
unlinked % unlinked parameter, no actualization will be performed (this is set via an empty MDS source path)
end
properties
......@@ -75,7 +75,12 @@ classdef SCDclass_mdspar < matlab.mixin.Heterogeneous
obj.modelname=obj.cparser.Results.modelname;
obj.datadictionary=obj.cparser.Results.datadictname;
obj.modeltpstruct=obj.cparser.Results.modeltpstruct;
obj.skippable=obj.cparser.Results.skippable;
obj.skippable=obj.cparser.Results.skippable;
if isempty(obj.cparser.Results.srctdimodel)
obj.unlinked=1;
else
obj.unlinked=0;
end
end
function name=getmodelname(obj)
......@@ -96,28 +101,34 @@ classdef SCDclass_mdspar < matlab.mixin.Heterogeneous
end
function obj=preactualizecommon(obj, shot)
% Opening the tree
obj.mdsconnect(shot);
% Checking if data can be retrieved, updating get command
[obj, obj.value]=obj.getdata(shot);
if(~obj.unlinked)
% Opening the tree
obj.mdsconnect(shot);
% Checking if data can be retrieved, updating get command
[obj, obj.value]=obj.getdata(shot);
pointspos=strfind(obj.modelparam,'.');
baseparam=obj.modelparam(1:pointspos(1)-1);
structparam=obj.modelparam(pointspos(1):end);
obj.assignvar=sprintf('%s.Value%s',baseparam,structparam);
obj.assignstring=sprintf('%s=%s;',obj.assignvar,obj.getcommand);
obj.denanstring=sprintf('%s(isnan(%s))=0;',obj.assignvar,obj.assignvar);
obj.caststring=sprintf('%s=%s;',obj.assignvar,obj.assignvar);
pointspos=strfind(obj.modelparam,'.');
baseparam=obj.modelparam(1:pointspos(1)-1);
structparam=obj.modelparam(pointspos(1):end);
obj.assignvar=sprintf('%s.Value%s',baseparam,structparam);
obj.assignstring=sprintf('%s=%s;',obj.assignvar,obj.getcommand);
obj.denanstring=sprintf('%s(isnan(%s))=0;',obj.assignvar,obj.assignvar);
obj.caststring=sprintf('%s=%s;',obj.assignvar,obj.assignvar);
end
end
function obj=postactualizecommon(obj, shot)
if obj.verbose==1
fprintf('Actualizing parameter: ''%s'' <- ''%s'' (%s, shot %d)\n', obj.modelparam, obj.tdiexprused, obj.classname, shot);
end
evalin('base', obj.assignstring);
evalin('base', obj.denanstring);
evalin('base', obj.caststring);
if(~obj.unlinked)
if obj.verbose==1
fprintf('Actualizing parameter: ''%s'' <- ''%s'' (%s, shot %d)\n', obj.modelparam, obj.tdiexprused, obj.classname, shot);
end
evalin('base', obj.assignstring);
evalin('base', obj.denanstring);
evalin('base', obj.caststring);
else
fprintf('Actualizing parameter: ''%s'', parameter unlinked, SKIPPED!\n', obj.modelparam);
end
end
function [obj,value]=getdatacommon(obj, shot)
......@@ -150,13 +161,19 @@ classdef SCDclass_mdspar < matlab.mixin.Heterogeneous
function printinfocommon(obj)
fprintf('%s (class %s):\n', obj.modelparam, obj.classname);
fprintf(' Simulink model: ''%s'', data dictionary: ''%s''\n', obj.modelname, obj.datadictionary);
fprintf(' MDS+ source server: ''%s'', Tree: ''%s''\n', obj.mdsserver, obj.mdstree);
fprintf(' MDS+ TDI expressions, model: ''%s''', obj.tdiexprmodel);
if(strcmp(obj.tdiexprmodel, obj.tdiexprshot))
fprintf(', shot: same.\n');
if(~obj.unlinked)
fprintf(' MDS+ source server: ''%s'', Tree: ''%s''\n', obj.mdsserver, obj.mdstree);
fprintf(' MDS+ TDI expressions, model: ''%s''', obj.tdiexprmodel);
if(strcmp(obj.tdiexprmodel, obj.tdiexprshot))
fprintf(', shot: same.\n');
else
fprintf(', shot: ''%s''\n', obj.tdiexprshot);
end
else
fprintf(', shot: ''%s''\n', obj.tdiexprshot);
fprintf(' UNLINKED!\n');
end
end
function out = gettargetparam(obj)
......
......@@ -68,7 +68,7 @@ classdef SCDclass_taskmdsloadprevADC < SCDclass_task
assignin('base','temp',T);
assigncmd=sprintf('%s.%s=temp;',obj.workspacedatabasestructure, adcbus.Elements(ii).Name);
evalin('base',assigncmd);
if obj.verbose==1
if obj.verbose==1 && mod(ii,4)==0
fprintf('.');
end
end
......@@ -97,7 +97,7 @@ classdef SCDclass_taskmdsloadprevADC < SCDclass_task
channelstr=sprintf('\\top.crpprt02.board1.adc_%02d.raw',physical2logical(ii));
T.Data(:,ii)=int16(mdsvalue(channelstr));
if obj.verbose==1
if obj.verbose==1 && mod(ii,4)==0
fprintf('.');
end
end
......@@ -105,7 +105,7 @@ classdef SCDclass_taskmdsloadprevADC < SCDclass_task
%fprintf('Loading channel %d:%d ...\r',2,physical2logical(ii));
channelstr=sprintf('\\top.crpprt02.board2.adc_%02d.raw',physical2logical(ii));
T.Data(:,ii+96)=int16(mdsvalue(channelstr));
if obj.verbose==1
if obj.verbose==1 && mod(ii,4)==0
fprintf('.');
end
end
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment