Mercurial > hg > ltpda
diff m-toolbox/sltpda/getLineCommands.m @ 0:f0afece42f48
Import.
author | Daniele Nicolodi <nicolodi@science.unitn.it> |
---|---|
date | Wed, 23 Nov 2011 19:22:13 +0100 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/m-toolbox/sltpda/getLineCommands.m Wed Nov 23 19:22:13 2011 +0100 @@ -0,0 +1,66 @@ +function cmds = getBlockCommands(lines) + +% GETLINECOMMANDS get a set of commands from a set of simulink lines. +% +% M Hewitson 27-03-07 +% + +disp(' + compiling line list'); + +cmds = []; + +for j=1:length(lines) + + l = lines(j); + + % get src block name + srcblock = get(l, 'SrcBlockHandle'); + + sbname = get(srcblock, 'Name'); + parent = get(srcblock, 'Parent'); + + % get src port number + srcport = get(l, 'SrcPortHandle'); + spn = get(srcport, 'PortNumber'); + % Src variable + path = strrep(get(srcblock, 'Path'), '/', '_'); + svar = [sbname '_out_' num2str(spn)]; + svar = [parent ' ' svar]; + svar = sltpda_reduceVarName(svar); + svar = sltpda_fixvar(svar); + + % get dst block name + dstblock = get(l, 'DstBlockHandle'); + for d=1:length(dstblock) + + dbname = get(dstblock(d), 'Name'); + + path = strrep(get(dstblock(d), 'Path'), '/', '_'); + % get dst port number + dstport = get(l, 'DstPortHandle'); + dpn = get(dstport(d), 'PortNumber'); + + % Dst variable + dvar = [dbname '_in_' num2str(dpn)]; + dvar = [parent ' ' dvar]; + dvar = sltpda_reduceVarName(dvar); + dvar = sltpda_fixvar(dvar); + + cmd = [dvar ' = ' svar ';']; + + % store info + info.fcn = ''; + info.params = []; + info.plist = plist(); + info.ins = cellstr(svar); + info.outs = cellstr(dvar); + info.outsUsed = []; + info.cmd = cmd; + info.name = get(l, 'Name'); + info.handle = get(l, 'Handle'); + info.ranges = []; + + cmds = [cmds info]; + end +end +