From bf561f7d9e7a212f66abacb3fc6a5300b2c7bc46 Mon Sep 17 00:00:00 2001 From: galperti <cristian.galperti@epfl.ch> Date: Wed, 22 Jun 2022 22:15:23 +0200 Subject: [PATCH] referenced template model inserted into duplicate function --- algos/template/algo_template.slx | Bin 20609 -> 20515 bytes ...ample.slx => algo_template_referenced.slx} | Bin algos/template/duplicate_template.m | 32 +++++++++++++----- 3 files changed, 23 insertions(+), 9 deletions(-) rename algos/template/{referenced_model_example.slx => algo_template_referenced.slx} (100%) diff --git a/algos/template/algo_template.slx b/algos/template/algo_template.slx index 2759c85d3e689413b87a5c682b8a256cc4371ef1..709053d40f90f16f277cdd429543730a0bab7175 100644 GIT binary patch delta 13904 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 delta 14044 zcmZ9z18`<R*EJg3wkEdiWMbR4?c|x*d}2;)+jb^4CbsS5&imeb|F6FPbk*s7x_9l} zRj2#ZskQbh{0$nI4~niN3l4z+0s;a90+!&bxDrW+WtoUh18@u`!T6*L^MtfpKsK>& zVDQ%gn!BzwaD}xl%k_a&K5i@4yX!ApAWrjS`(7PVo)=aHf#c}fG>fv6QG-yp8B~~r z8Z^qc2?x6C9d^ybX_P@m2f1fPWWw6-jGy4e(Dg&*BsRz`(lvS3Sm5Z^Lyy}p(x^#Z zH6?DkYpU*K0-~7=K;mFCjA7%BH=Q@}!yZo}6jIx97|tD4y@U0P%7lYluofcr46Et& zbqD`oTi%IY_DT7wUSueHHyxJQWK!Bt8mt_azWBet?CB!PF2&1$;2jMTVyrinFY>6t z_Jky<T2mspX%V?WuA+QQb;(~5Hz3NGil&hk8}m<&Sp*HcN{mSc)&6}B8`REPyaA_v zhb;kFqLVC8RChja+4{bc8M|I@+DRd9jrSamB|U_F=Q1Y<H^UlXFI45Eu<PiO^5(pO zMIe|6*iym!Q;Kfr72@;N6npBr&GY<$ix>7{c|A|um<M_W3Tc%_@1_Kd1E&PY#%D33 z^c-uFT*cYjA=JRoHCGB2RfJz&c^_iK!Z8^yTz$Rcp(Q2AFA=Rr8(Rnh*uF+`FRqGf zf{066%{S~syCjT_@RrUR)*J>(N8?ElukX|?=vD+AedjJ2`?(Q#^Pfy?bKmA2269}t z_+YBnGjytKcRhqQ0vuN=s*M5qB;56j9DWff3WxV?1>8|AKe(qfMVO1VSDLqHvmV1+ zoR5YfubSDiZZxP7!txih5+YV-!G8Q=M(g{A?W0ln#RwxpaG$QsMsY*a(PQ^M-~BhO zTX~w8{9Dh#b305Y^Q*FsG1w6`JV%U8tFYH9YabyuR;<oZ_nG?QOQRW32w+rKp=>9G zBTu6IH9`O$R}7{cgMvzL9)dNhB2f9(iq?l-?|oXKlETO&ZY~d{_=I33Zhz;i8j*jO zB)3eE`8X~TVlApVVCAE63DFqLua}NL48Q|-J(asjmXt<-kf#0(gDp&L4H8$JDoxLR zcq)yic+r*pq{tf`VjBm5fl@0iH}pbKxdx|?BU2-(!JNk~%GH3gl?dB>4Awj_Gcftm z6#A;5LN8nNP8R7k;6?s3Fe%93`*Ussi;%I#>8K<VS&%u8GFDu)Jl|kY3d}|e!Yhg+ zf<_EgL`rHH%f`oKj=dUv;T>1DlR1rhNy9!5Tt+JdZGit_N4o&vG0;=1)7(1xlzmCz zz(4&wUACQL6{D}tJ7Lzv&MRpf;`de9OdiH|pR(P-`n(>Ox5V*L(1xI}^7O#F^T8i? z4?YcUmKl7rymV)ZlY8v+1^>T~HzZbGI{*v>gc=3}1pnWmceS>6x3hMzWl}Y@GB<Mv zGD0B%#vL}8QM!-mARh6eqRT=<t3ZCv|MeMjK^oZ`!zvg~IN`inNlT?zqsbmp*bnZX zQ(|)@+C~Rf9#^;p7;j+83%ItA>Or4Z&He07Z%2OKmcB43#+KI1T>5b~z<#;waK%eE zmTMG<Y(MvBvzVo_HrZnhjqZk)d2(C+ebHMRpgKou`Oxv}C;XDUVZ>j!5lsH|?{rrz zp6hOZOOZ``8}Jz>15CL)B^j=6r);7!O?88n>-&JFIvrk%#(@l9`a|Ax_k7D581)!Z z;LuD48Eb;D3F?d4H2FzHJ@tNtqmi!JWWgfC^62E39ebR*E0J~1?Jt;dFfvexK&!YR zfJRI+lGn5_lDhqtx-PrDF=x3MY)%l%Mo|Bi*Q9P%2Nbw!Im1|q-TFgx&iEHv2mJFX zh1>Q7rSF-_LJdp)yH~H}28%h7DS!T_PabP14NG@R<dzM@+I5yqSBE{{Pu}op&a1S2 zSAns@Avjw$1U~);kF$H)NypQz#g;t_z=5{)tTtmJHHvVNQj9Q^U?lTX$~1E;z8-J$ z>GJ(>WXG?BQ+f#r=4psTH1GniY1kR{G0cM5zRl-I9^00F@*g4X81+FgQe!`?!{IqH z-l?Ug?x?4KVo(<&hZXL-1?!wruaFX<m>`|ccl~;Gjz|=q{$ZP~#Vk>TEZkR-1Aq`o zc%7Ob72OnRx{0gXvixiFu%;Cj=v-M~(y(MnV}E^8()gIgYo4Yn8$VYxxQFbZn&#gT zU!pcMJqdi-Mn?RsW2!Ei7K#A6`5Gm(j`PL>@4ICcSsiC2t}FDT0WbN!K@uym^LTr% z^?7c@bI%N)yf+~|?h#KDrO=)MU~kxstuXCSupI&0yo2Z<Ae2CFWHNxQ>)A-s_C1}N z8JD}~bv;95_)z3vb-z)T?hf{94^MfrtOPhU78)I_>G6u=b4&=46*+FU*>i`2^TWy2 z>FJ8wGeY*)zP+_<?czPd%4>NE!6Zi{uj)!u_N!vEJ2T(B?e~eFC$EdV4RUtIIYTUn zaB(=f%rT$z9*Gy^3Kw8LrM^gLX=H?sV+JeCQV#s=QEZ@j`t#sJN=Tp`w!bzHP`Du6 zal45*+IfNK2x5J@LjL728=Pn}pJD$Z2z`5r`RjcYe!(E~qhn+oRAkS4#5agYc#|2% z`mQJFoy}&0qui3A9DRDPcZq>>XWv(FRk4|-&hQ*Wa{saM`w9T<=Is-74c{+$V8e<d zl;gQjS4tJr=(JAd=YX5>7}Iy6t(x4h+r7dYCg7Q8w3uQK@vzz|&xWNJvfvqGnU!>! z{Ps0;i6`jq){PA?m$R<k=k0{q-|d~=Je&ac!hsG|IoHc~xg=OE?=0|igX)Whji_2q zj6d{IO+D0KwFNL!%&?v^DiC1{Oj`PFa0Wj^Dv_WZFc%;m?Jwl>aa^z<g4I#=5`<T2 zwEPs|Y(|RlXf{xp$s`j-x*Btl7{NE0w)13jJ9c$wEDkO~jpWkTs>RqUSndzUpMg7J zTz>s?;BdL)UJZ_&lq9z5h5s0KoGKrlDi*$&0UfO)sSI$%U}pdL<xPk$2y(CEE9~XK z=O|IByyK#OKj$LnxnGz@wWT26zO|}TV?XK5bM=&TqYJ*BPxo7ArgS1-l^h+2{{r!` zm$FP|*|^mXNeilNXPKG`MU6mc9c|QM%iN}Oj18k}NM1ZFh}j+Y-MVqJU284Mw_vPX zbKW0QmIlaC{Q*$mqh|Sps6<Y6B(<ebm0fS+^KW<dr{fSI3J7z<ikKy0K(C?-YR&$Q zlwV5|-N#hUVF<Cb+b=`9Xt}#V=5&K=YyGM4X9}Svr-@9Zp4E`!vo+<?XYm}5FVp(S zmNMEo!i3h@N+<CA@<mj(k1!aEO=AgP#Wf!vCk-(C-qcm7Om$@=WmwKo!0d*IzCZap zjg*8v;!9UJr*FntMBCD!jE*lLP5Aq$W71WMSkEy$$gisPyrRTfUfZ!%S4Ve6T&>2E zEf1=bp8yozy-#feQGH>lq~aU}CG&FMqg#39mxq|Tj{M;YtGXpR(u2I7kv{bCH0HEw zd^NyFm4rYvJz;1BLpL_nCokPL&VwoJ+5hnzXW4i5Z_vD*la!9SMm@dXt`F@9YKPP^ zH5#{NpRDi<!bSjR2~!4(Gk4R{K25L;b5BZoIxGDm5t`HjKdNxvMor-PYj`>nOt(H4 z%w{nT2iHdn9%S&L<W88uFS4kL=eXX&cYT2EbR*~I;BwfsaQBY?&I?`C*E?udv{NzM zSPJ%Z)Cd)8a_@50)hyIkypFm>^)zC__yE-)kA>ep$U`Ej?9R1Wa9%fO0GdZEz|w2` z^Zn0J%vSEp%d6B|>w)*eXRO}Kf$@TVVzlm^{X+BjAp@@c8_fO4jnv1pXVKbc#wH-~ zimn|8)pX$#yWNX)TWW<A`+105{3xLt{Ue&i7cb!NOlMkAFDY{Cmg_uz0_f?)fs1g@ z)<9d|)(n0T9gwDQyYJZcz_M)(IsS8tgo>Bdq287fJKK<0$Y)zYw7si9uj9E$hys1y zpXAe*H4})%LuJMb-H`@y+Vex-X9Ms_700&a#>MT3V@Qe3+n2cF=fz6(iG9a^{Y51B zjhGkwvCVdO=JTOrii}gcMYNAz3(aIkr`ZN=y;J$kV|)*)Pb!D}(0Cd*_A1ccNpW3t zoaB1|oU{$}3G>B%4fD;&J~eZRcIh1UCBEFV^b6>>N&@_q*nc4Y@#;RKoD0xI0yi=t zs=I9`Xaz(1UM-G#0=s`4ABH*w7cvrR{f*uh?(FEypAaAWj4T(=>rJ`E=7)4gz!GrW zw?aA7BgHRxw~!UiSucVIpZuD<_5yNkzc@Ez^+Wg`*FDaZ)bSHk5I}Vdet>A_gTyJY z=g_z$x#!s9?@CtZ8vxL~sR6(^ZhLb7{k^mG==eV8w+Vioz{75_=b3pAn)yNcZuYcG zWI=rM&GyFsyerInq!=ljXKi@M)yP=?+z=K5gEdGaIPu^$t!HWRM>5QGsvO&0qveNP z+TRq|$-&}7F|r#ZZMnNAxQY}r50qMs8tXswHXhqE+A9squQS9KJCcBdqj2vVQ&c$m z`zF@;tpk>UK?Uq8vq?;hF{RYSLkThT7_rN`V7%Bu0!K+a?t~{%3KYL3yvN0VpJ_-i zzC*}Dr6^OQsgkk%40v-#9rSjmA?M9s97-r&oRh&sIy1Su-N^Yxr`lf=oWdfM*XJ4D zHwoo+jH&5+Ub_w`Cb|H`NFK;B{1x~D2SZYldTr#@^kA1i^&FlEzE=FIx>Hg~ZrrU> zx<f4pc^o)|@A~XyXW+xD&s}8BR3yZRGa_5+ffPrThn;`df)os+LL=|nJga`=R7m=x zOyulNO}g!O(0#8PH=?odrt{TEcBWc;C$~0Sx)jIv`}9|7qiF$Pxbp*?_C+Un(^Ive zSMCWP^?hUQlF5vgq`OU+QK&d-1%N)HjKl~ttOR8mgh0#t(EB(}EFTmq21^9Yc$A)R ziBdaCVcy@4a$v=|5K|x1o7|VPkfJv$VTc)m$%YtIzFenR{qYFb=G|x_ZuZo+H%YHa z&1emiAZtCyh$H}R4KV1+9G_*lQg$T%n;aP}?Z;$NdA*e@JW<=xGxJMqkdQ6Int1yz z4E)#E^^7nX53N@^C`9RC)t*g0qof~$OeFj|8-X0!Mtp};gu0UtHhxL1LD>y)m~42r z^9_)@8-xlzbTqiCvCT8fSUdF@&`!+;f~wa(oJiDHCp3WeJCB%@UZ>zIA5QS{pnS03 zdJsGymbV7lnk3kacq#UIA>08S8Z&k+TR5sM4CFd|tLJ=GHuuK~caw=ilKDLBY01aa z^cNa%;b8G=SI@Cq&EcH^KUi^-uAZEU$gZ&0O|iTw!?;TOdGJU2Mn?k$F!$sJw#E`~ zMJ-vTfzkj=D4bQ*x+(MIU9#znPCdLh?Q{Cwqj7l7cERIan`jk+JjI;9uhSo%>*puK zyB=E}wajw^Hpi`NrW-%~dUVlMP%p(8P>*O9YF^?k7hJd8;w_?g!#+qJahwS~^bg+I zHCnRlI$ihn8&D{lVkE!Ijkt8Bx#B&!%33!qS{eYJZ|qB6xbe{4{<!O$`v8Vr$_<V6 zW)Q7fFvr+(*W|roMU=5uN+%vXg5!Lwh+U{g&l>`0KZdgl@Go}iTrMvP=*gzlX$G4t z<!0C31?1{;2GvU2^+Y|#xx$et_ILz+YeJ4Pi)Bms%M8vwUED;lf!#Me`i7DX{dcrm zmQTRoE8StT@P;;CRNTf~am4vC0aSzhBKgQ8uU0j<oH2A=SNCvw;u`fR<_O{4l`SZ4 zI~=Y9j@M@(ZeKR(Sb)>IfD?1TqQwkud<<7A**nim!+M!$5EGnVB4jBHiLI8X+NP=p z_%{I?AAh#Vm2}YY=!rc=(&kp2n0P?Z$teK*Ya+tlpOa69Q{(Dp^8SQ1KvB`9K-Bnz zPXP7Mth8<8EHKtYYnp}#%<nHp&}k5r%>ZpM=$)KpX9}s5gV;`_<)2p(GOdl3*EK`1 zCVFMLUj-|04P_8&+ZF=oV?VPuqxeDBb$vgyVA_JR^Y$;nMopNP19gMkPS=kf?I-~g zB<PDY=jq8oKi%D`_q7F`l)+}6ZlcFarl~MDL{^hKJgC)}MR3`L!8+sN&rlq-W!Bk8 zQH-iuBj1f8&QDR^P~(+Qv+N}mHzl2O8gus1USTH7(7=g$wJLKvorPyC@G6}Uv~+$I zqODVl{B1dC-os@aUfZ)Bb$`v6;EMv>Vxu8CzlL&n!6j?9cMWQ-5{-%A>%p^VEd*yG zM0&ZVGMXoY%vJrewtG=nA?ku{$%)CaKBRm?pK<!Y&83$)aFq!V^fd0A3CkIn7$5iT z(lI8ff}bt!4^y%HxRRr)ic+xT_8&F$Rb#E^0X-)%11zh-4S*K)GQ@J>0AK;v{e|Cj zy$C3X(jQ4I#<XbkM{Y<+H;nD4C8nXEb-GP6*-oRa>)Cxi0;Y#y`XG4pdW~imm2%x# zf38fib=H;_;f!99R<k|M9G0<|I4e~Rj;~U8=V1G%nJ(Y3%d2<2g^MFK&uZHl>k8uP zkj3|Ry(g6ajz+s?>Xb_UaSs5L=W;_XDK~A7j1%hj^G2>T#}WGsC~GAW`&N>q?TTE_ zXEG5Xs`c)68{ut_ITnRrkY>bMU<t?sHG+`UE9ROZ5*$=usRSa-Bi(S<v0F%{<6ZKP zZW0Bae7Gzo^-9^mv%9K|(#gMbY{T`2eroAE&^-E~e00^vS|?Mk(r*Hw*opD*D>o1k zr-aGFA0zJa^JOAE;7EXCkle1i!Ws5-<WHOsmYVza=~K8jrE6z6AuvA(vVuIoYgOBn z^QYh?Kv?-9clM=c((~ZOgXGzd_V{qYMf;mntnFQTx_UL7SQ9tw&4@GhJ*4MLsirzA zbh2m2Zy}!WGWAqzOk4nn+Q{-X`4yOQ3Ye80%cx!aQv<&(zG;gu2V8cH1v$HRLfLNz z8>k2eo|tF8ODQdQNJ7Of;KgyDWo+vG054y$AL)LB7xHtM0^2+MQ`rH5W2plAnWjK{ z$l$!7XkgWVxoUYD4h0rxLpJhYhFnv78<5)Y<y+hJ6C%HJ>Iv`#QBJ2@UkN63Y~rYf z=GzDwDO_1IAPHVnbNXf}^Vwgw@-WG8)dYEsZu$j@W}x-`s<C|4@c?UsllRybRSXhB zD_~hTOk9A*p&@+^R4d?WR-%adXwSWI{0(GjrV(PyTbBCZR|}_?>S^P}fZ;wovkK%q zgM(nHj#MtE=L68qLuwQnH?2m#mm4?@*QE@Q3P$WA>nPu>DvZe-#VBd`t3#_*B9)~g zXxT6+alHnjb~^eIR~zU^cN7(hRmgu3L9hR+u<R9mM8!9{N)sUaOvHe}%5+0&YK1_f zlh#gDNxR)J#fih?HL%Vj3F3wzM6MwkbDFKB1PUG`7y^oM-r2+xBX(pkm94ad*p#he zk4mHV_TJu@lEnm4gLR~l{!|k@C?<$m(D3$j_IBXu>HCQj?Je0k=CikmmTR)cwGh3+ zR&C|&P-~a#Z7cei&3`9k5Rjxs;6?oS!15<2@f-BWEIQ~M`vvh+gq{we#0S4(7HVYK zqq_=@0S$ne+iHZr(X3E+v-#+!EYEx4B`SE5V`>7dUFK=k*HmhViv@XBIB5<x-^%ux z(=7DtFfmu@=?hbpN->n=k;@>!j5Viz>96oUM3FQTv&>}aKl4J0hs;2`;w};Ab;4R~ z460S}BJI}cYK+bSjO#{cN@y=#$R5WpNSpNAB?EA|TC{ZBW8$g?Y=~<xR`S2LF%F~2 zPE@{iZNc=`Sz0?_t_#ZaQoGCKaOHD5`%|8b%`b+H>=<Jk;<BUEC3Gza_EO$n2}+); z$Q0HVw332;0(6<wsSUNcZP*u?DLIhNsF|N`8Z2>J_(lcwxIynDiIoc-tM)xEHXI=x z0s&b<a}Gp;VW)Bqv;&Rmt23}seenCFdD8-%V}m(`7&OLrc>*RrDFQqobz+mq<R3dS zh`qQI_yYl7X(zWST^k4jBDC#v<-yw)y|*WoKe;~qLTIjvOa9n&5?2z?{SlppR`5Fd zhk%0~uN6~GdWX6AWmjZ3buKhi%48YVLjh17xzZ4l875_+)}t&VsI)t-Ew9dU2v;6% zOD(m`Kg#!q(FbdlAGS3NG89&2>bA4LLP$mH>l>-Ov^)s?qIP5oFGB2D@gtAa?xYu; zsp)=T^iV}$LNIFix)C6mup6|UnRlZiW-Myaj8zCf&K$DWY@C~0v+iSHEhj8IjRMY} zkg*f6R=ukp8t6mSMHqN!%SgRHTsP$Q8;L%?ho0T@Fb+>i-y0!(VM!9%({Ry&ziK4V zX0rgX5L)st?74U?xA|+P2wPiep%j!!zsS;fd#d_}&gDNMu^_uEYErKM*vK;wA1t&Q z%KFB?q{I`<ca>)~GG*k*>90KaMF38sV}5F%tY$6q>ZpDZy?oHFE?&NR&8nnrZ0jn( zL4o^E`Q6IFz3=k4+N4dvVlYHy*(t<q!vW`?vldeqTAYr9T=T6k+mxOTf}%OU{f27f z9!K&$=F7-be)5>HdS?yrh+=;>=`NKsXQWL-7R>Y?k)rqv{md7C)%K_NAO&=c3(4SY ziE9wc7^Wa62CVh$UwyFmw^tMurdo+sqxqk$_h(vRy5_6x1j)7rz+eZ3QtgRWPyO5n zVH7XjCHwb_ScSGBwn-cMCk<ot43wZU2$FQKjd|+mRT+1*TI{l#k@p9tiyrA$h#mo1 ztB>=Ca;3Q2^f0N0p(B=yaxLJ%xB9ax;Cf7>MK86Kq|YUE%)<$;0K1grk(MR2lqCE_ zi!RPCmR8w7KnqL9Ik{G|;d!KA4?~i!J?h#u)^GE<@zrD6Ie`G3R<?}xcq6E~e{6LL zZEi$JqTXKhz=7aa`^lS5*Tpi4bU4;wJU)P5Y+b8g^ev7fr+Dc}liZ3NIBle+$_hrK zrQ|1;Bi!H_aG<tY<9Mgi2&!o#OOh_qw#~-c)qW_ha_|j7omOM{dBq!OjLyd^zEa;P zw27~Iu?T-dR|UJ%r;kbZPR;PCwezudD*aI$abwGub3G6}<k;=m^KRHE@Ph#iQuYZ9 z5C=S#U;rp?2&05uf56!;(K-LF80yCfC2vv=)FRKWpw+pMZn*SW*+Mo`0{B^8;t=?% z9`?aD-A^CoSXyvK)=XqW&-`Ww?j>a-hLM9LPQ*n1p{Td;_YtYt1D;eC45t<+&xC+B zm(UDRiJ(yQ3;fwl+T8dMkzqp*Rg(a|@WTORlxXrU)ZnPO=%N3;%nRGfW5r$)4)P0e zEW01np5MT>@xS_8Du1eJs@m&;U6Pal$^NM(dW^`7)gTk1@esTYKbqgE)?Jal*>S~e zO04%P=V7_gvpG&%v&{#iYco(5S_>D!OPD2?=;7lYXXapHM8XVz<wzEhgZzD-K$YSv zcJ^UBEjE_)kv&yqoA}lpgPM*`7=JJ8hRBvN$3F~EpQC+7=w2qN58S2~I#~h$wW}et zAJKGzD)`aqF?`F91}%}B;|MR{RU*5#p!U@7iE$Z}UVqHr`0_1e_Y@T~M7xYJ-zqbQ z>{2>|F_V{Yx-+f}w_BPa?9s+=Vkc}k?Jc`^09K46z>d7Y{#W>1KmCsSY+tzkBgh|@ z4TM57JKGcTpUT&N*CVX7GsKSphGAmcFQOAJXQ{Q1(_w%2)~(Pe^0c9}8{6Ofxt=5l zzqCr?60DgQEX(|!AhyeLcUM^^*67q|d#zyMw)Hkc#4^PLbx*8e%iSF)Sxe>Gr~-%L z!5G}oEgVXn%kbZq+PoNZPZMQYr*>3yAj8#=bUjItKr&LxL@u~uf<2j3x`GsJx2LyS za{#DNnQ5OHH≻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 WA`J#4)PJ0?{x!FM*0c0~p8g+c<|vy0 diff --git a/algos/template/referenced_model_example.slx b/algos/template/algo_template_referenced.slx similarity index 100% rename from algos/template/referenced_model_example.slx rename to algos/template/algo_template_referenced.slx diff --git a/algos/template/duplicate_template.m b/algos/template/duplicate_template.m index f0f995d..c31e5f4 100644 --- a/algos/template/duplicate_template.m +++ b/algos/template/duplicate_template.m @@ -11,6 +11,7 @@ fprintf('Copying files ...\n'); filelist={... 'algo_template.slx',... 'algo_template_harness.slx',... + 'algo_template_referenced.slx',... 'algo_template_harness_run.m',... 'algo_template_test.m',... 'algo_template_loadtp.m',... @@ -44,19 +45,20 @@ end % The way I found to get block diagrams % programmatically (of opened system) is via: % proplist = find_system -% paramstruct get_param(proplist{1},'DialogParameters') +% paramstruct = get_param(proplist{1},'DialogParameters') % and then -% get_param(proplist{1},<paramstruct field> +% get_param(proplist{1},<paramstruct field>) % -% hence I do not see other option than -% keeping a list lije this -% updated with the template content: +% hence I do not see other options than +% keeping a list like this +% updated (manually ...) with the template content: fprintf('Changing block diagrams properties ...\n'); -list={{'algo_template/realtime' ,'SampleTime'}, ... - {'algo_template/signal_in' ,'OutDataTypeStr'}, ... - {'algo_template/signal_out' ,'OutDataTypeStr'}, ... +list={{'algo_template/realtime' ,'SampleTime',}, ... + {'algo_template/signal_in' ,'OutDataTypeStr',}, ... + {'algo_template/signal_out' ,'OutDataTypeStr',}, ... {'algo_template/Gain' ,'Gain'}, ... - {'algo_template/Constant' ,'OutDataTypeStr'}, ... + {'algo_template/Constant' ,'OutDataTypeStr'}, ... + {'algo_template/Model' ,'ModelNameDialog'}, ... }; load_system(['algo_' name]); for i=1:numel(list) @@ -66,6 +68,18 @@ for i=1:numel(list) fprintf('changing %s,%s %s->%s\n', parobj,list{i}{2},oldvalue,newvalue); set_param(parobj,list{i}{2},newvalue); end + +fprintf('Changing referenced subsystem instance parameter ...\n'); +list={{'algo_template/Model', 'InstanceParameters'}}; +for i=1:numel(list) + parobj=strrep(list{i}{1},'template',name); + oldvalue = get_param(parobj,list{i}{2}); + newvalue = oldvalue; + newvalue.Value = sprintf('algo_%s_tp.refmodel',name); + fprintf('changing %s,%s %s->%s\n', parobj,list{i}{2},oldvalue.Value,newvalue.Value); + set_param(parobj,list{i}{2},newvalue); +end + save_system(['algo_' name]); fprintf('Renaming ''template'' to ''%s'' inside .m files ...\n',name); -- GitLab