Interfacing function
eng


PULSE_SC

File content


function [x,y,typ]=PULSE_SC(job,arg1,arg2)
//Generated from SuperBlock on 7-Feb-2008
x=[];y=[];typ=[];
select job
case 'plot' then
  standard_draw(arg1)
case 'getinputs' then
  [x,y,typ]=standard_inputs(arg1)
case 'getoutputs' then
  [x,y,typ]=standard_outputs(arg1)
case 'getorigin' then
  [x,y]=standard_origin(arg1)
case 'set' then
  y=needcompile
  arg1.model.ipar=1;
  typ=list()
  graphics=arg1.graphics;
  exprs=graphics.exprs
  Btitre=..
    "Set Pulse Generator parameters"
  Exprs0=..
    ["E";"W";"F";"A"]
  Bitems=..
    ["Phase delay (secs)";"Pulse Width (% of period)";"Period (secs)";"Amplitude"]
  Ss=..
    list("pol",-1,"pol",-1,"pol",-1,"mat",[-1 -1])
  scicos_context=struct();
     x=arg1
  ok=%f
  while ~ok do
    [ok,scicos_context.E,scicos_context.W,scicos_context.F,scicos_context.A,exprs]=getvalue(Btitre,Bitems,Ss,exprs)
    if ~ok then return;end
    %scicos_context=scicos_context;
     sblock=x.model.rpar
     [%scicos_context,ierr]=script2var(sblock.props.context,%scicos_context)
     if ierr==0 then
       [sblock,%w,needcompile2,ok]=do_eval(sblock,list())
	  if ok then
          y=max(2,needcompile,needcompile2)
          x.graphics.exprs=exprs
          x.model.rpar=sblock
          break
	  end
     else
       message(lasterror())
	  ok=%f
     end
  end
case 'define' then
scs_m_1=scicos_diagram(..
        version="scicos4.2",..
        props=scicos_params(..
              wpar=[-162.7581,435.54369,67.607292,416.67644,827,479,0,15,827,480,715,167,1.4],..
              Title=["SuperBlock","/home/fady/Scicos_examples/"],..
              tol=[0.0001;0.000001;1.000D-10;100001;0;0;0],..
              tf=10,..
              context=["E2=E+W/100*F";
              "if (W<0 | W>100) then error(''Width must be between 0 and 100'');end";
              "if (E2 >= F) then error (''Offset must be lower than (frequency*(1-Width/100))''); end"],..
              void1=[],..
              options=tlist(["scsopt","3D","Background","Link","ID","Cmap"],list(%t,33),[8,1],[1,5],..
              list([5,1],[4,1]),[0.8,0.8,0.8]),..
              void2=[],..
              void3=[],..
              doc=list()))
scs_m_1.objs(1)=scicos_block(..
                gui="CONST_m",..
                graphics=scicos_graphics(..
                         orig=[30.801202,158.91733],..
                         sz=[40,40],..
                         flip=%t,..
                         theta=0,..
                         exprs="A",..
                         pin=[],..
                         pout=5,..
                         pein=[],..
                         peout=[],..
                         gr_i=list(..
                         ["dx=sz(1)/5;dy=sz(2)/10;";
                         "w=sz(1)-2*dx;h=sz(2)-2*dy;";
                         "txt=C;";
                         "xstringb(orig(1)+dx,orig(2)+dy,txt,w,h,''fill'');"],8),..
                         id="",..
                         in_implicit=[],..
                         out_implicit="E"),..
                model=scicos_model(..
                         sim=list("cstblk4_m",4),..
                         in=[],..
                         in2=[],..
                         intyp=1,..
                         out=1,..
                         out2=1,..
                         outtyp=1,..
                         evtin=[],..
                         evtout=[],..
                         state=[],..
                         dstate=[],..
                         odstate=list(),..
                         rpar=[],..
                         ipar=[],..
                         opar=list(1),..
                         blocktype="d",..
                         firing=[],..
                         dep_ut=[%f,%f],..
                         label="",..
                         nzcross=0,..
                         nmode=0,..
                         equations=list()),..
                doc=list())
scs_m_1.objs(2)=scicos_block(..
                gui="Ground_g",..
                graphics=scicos_graphics(..
                         orig=[31.534535,215.384],..
                         sz=[40,40],..
                         flip=%t,..
                         theta=0,..
                         exprs=[],..
                         pin=[],..
                         pout=4,..
                         pein=[],..
                         peout=[],..
                         gr_i=list(..
                         ["x=orig(1)*ones(5,1)+sz(1)*[1/16;15/16;1/2;1/2;1];";
                         "y=orig(2)*ones(5,1)+sz(2)*[1/2;1/2;1/2;3/4;3/4];";
                         "xpolys(x,y);";
                         "x=orig(1)*ones(2,1)+sz(1)*[1/4;3/4];";
                         "y=orig(2)*ones(2,1)+sz(2)*[1/8+3/16;1/8+3/16];";
                         "xpolys(x,y);";
                         "x=orig(1)*ones(2,1)+sz(1)*[7/16;9/16];";
                         "y=orig(2)*ones(2,1)+sz(2)*[1/8;1/8];";
                         "xpolys(x,y);"],8),..
                         id="",..
                         in_implicit=[],..
                         out_implicit="E"),..
                model=scicos_model(..
                         sim=list("cstblk4_m",4),..
                         in=[],..
                         in2=[],..
                         intyp=1,..
                         out=1,..
                         out2=1,..
                         outtyp=-1,..
                         evtin=[],..
                         evtout=[],..
                         state=[],..
                         dstate=[],..
                         odstate=list(),..
                         rpar=[],..
                         ipar=[],..
                         opar=list(0),..
                         blocktype="d",..
                         firing=[],..
                         dep_ut=[%f,%f],..
                         label="",..
                         nzcross=0,..
                         nmode=0,..
                         equations=list()),..
                doc=list())
scs_m_1.objs(3)=scicos_block(..
                gui="SELECT_m",..
                graphics=scicos_graphics(..
                         orig=[106.00652,186.09381],..
                         sz=[40,40],..
                         flip=%t,..
                         theta=0,..
                         exprs=["-1";"2";"1"],..
                         pin=[4;5],..
                         pout=11,..
                         pein=[9;8],..
                         peout=[],..
                         gr_i=list("xstringb(orig(1),orig(2),''Selector'',sz(1),sz(2),''fill'');",8),..
                         id="",..
                         in_implicit=["E";"E"],..
                         out_implicit="E"),..
                model=scicos_model(..
                         sim=list("selector_m",4),..
                         in=[-1;-1],..
                         in2=[-2;-2],..
                         intyp=[-1;-1],..
                         out=-1,..
                         out2=-2,..
                         outtyp=-1,..
                         evtin=[1;1],..
                         evtout=[],..
                         state=[],..
                         dstate=1,..
                         odstate=list(),..
                         rpar=[],..
                         ipar=[],..
                         opar=list(),..
                         blocktype="c",..
                         firing=[],..
                         dep_ut=[%t,%f],..
                         label="",..
                         nzcross=0,..
                         nmode=0,..
                         equations=list()),..
                doc=list())
scs_m_1.objs(4)=scicos_link(..
                  xx=[80.105964;97.43509;97.43509],..
                  yy=[235.384;235.384;212.76048],..
                  id="drawlink",..
                  thick=[0,0],..
                  ct=[1,1],..
                  from=[2,1,0],..
                  to=[3,1,1])
scs_m_1.objs(5)=scicos_link(..
                  xx=[79.372631;97.43509;97.43509],..
                  yy=[178.91733;178.91733;199.42714],..
                  id="drawlink",..
                  thick=[0,0],..
                  ct=[1,1],..
                  from=[1,1,0],..
                  to=[3,2,1])
scs_m_1.objs(6)=scicos_block(..
                gui="SampleCLK",..
                graphics=scicos_graphics(..
                         orig=[82.349744,274.21741],..
                         sz=[60,40],..
                         flip=%t,..
                         theta=0,..
                         exprs=["F";"E2"],..
                         pin=[],..
                         pout=[],..
                         pein=[],..
                         peout=9,..
                         gr_i=list(" ",8),..
                         id="",..
                         in_implicit=[],..
                         out_implicit=[]),..
                model=scicos_model(..
                         sim="sampleclk",..
                         in=[],..
                         in2=[],..
                         intyp=1,..
                         out=[],..
                         out2=[],..
                         outtyp=1,..
                         evtin=[],..
                         evtout=1,..
                         state=[],..
                         dstate=[],..
                         odstate=list(),..
                         rpar=[1;0.4],..
                         ipar=[],..
                         opar=list(),..
                         blocktype="d",..
                         firing=-1,..
                         dep_ut=[%f,%f],..
                         label="",..
                         nzcross=0,..
                         nmode=0,..
                         equations=list()),..
                doc=list())
scs_m_1.objs(7)=scicos_block(..
                gui="SampleCLK",..
                graphics=scicos_graphics(..
                         orig=[160.48879,274.21741],..
                         sz=[60,40],..
                         flip=%t,..
                         theta=0,..
                         exprs=["F";"E"],..
                         pin=[],..
                         pout=[],..
                         pein=[],..
                         peout=8,..
                         gr_i=list(" ",8),..
                         id="",..
                         in_implicit=[],..
                         out_implicit=[]),..
                model=scicos_model(..
                         sim="sampleclk",..
                         in=[],..
                         in2=[],..
                         intyp=1,..
                         out=[],..
                         out2=[],..
                         outtyp=1,..
                         evtin=[],..
                         evtout=1,..
                         state=[],..
                         dstate=[],..
                         odstate=list(),..
                         rpar=[1;0.1],..
                         ipar=[],..
                         opar=list(),..
                         blocktype="d",..
                         firing=-1,..
                         dep_ut=[%f,%f],..
                         label="",..
                         nzcross=0,..
                         nmode=0,..
                         equations=list()),..
                doc=list())
scs_m_1.objs(8)=scicos_link(..
                  xx=[190.48879;190.48879;132.67318;132.67318],..
                  yy=[274.21741;240.99048;240.99048;231.80809],..
                  id="drawlink",..
                  thick=[0,0],..
                  ct=[5,-1],..
                  from=[7,1,0],..
                  to=[3,2,1])
scs_m_1.objs(9)=scicos_link(..
                  xx=[112.34974;112.34974;119.33985;119.33985],..
                  yy=[274.21741;248.21372;248.21372;231.80809],..
                  id="drawlink",..
                  thick=[0,0],..
                  ct=[5,-1],..
                  from=[6,1,0],..
                  to=[3,1,1])
scs_m_1.objs(10)=scicos_block(..
                 gui="OUT_f",..
                 graphics=scicos_graphics(..
                          orig=[174.57795,196.09381],..
                          sz=[20,20],..
                          flip=%t,..
                          theta=0,..
                          exprs="1",..
                          pin=11,..
                          pout=[],..
                          pein=[],..
                          peout=[],..
                          gr_i=list(" ",8),..
                          id="",..
                          in_implicit="E",..
                          out_implicit=[]),..
                 model=scicos_model(..
                          sim="output",..
                          in=-1,..
                          in2=-2,..
                          intyp=-1,..
                          out=[],..
                          out2=[],..
                          outtyp=1,..
                          evtin=[],..
                          evtout=[],..
                          state=[],..
                          dstate=[],..
                          odstate=list(),..
                          rpar=[],..
                          ipar=1,..
                          opar=list(),..
                          blocktype="c",..
                          firing=[],..
                          dep_ut=[%f,%f],..
                          label="",..
                          nzcross=0,..
                          nmode=0,..
                          equations=list()),..
                 doc=list())
scs_m_1.objs(11)=scicos_link(..
                   xx=[154.57795;174.57795],..
                   yy=[206.09381;206.09381],..
                   id="drawlink",..
                   thick=[0,0],..
                   ct=[1,1],..
                   from=[3,1,0],..
                   to=[10,1,1])
  model=scicos_model()
  model.sim="csuper"
  model.in=[]
  model.in2=[]
  model.intyp=1
  model.out=-1
  model.out2=-2
  model.outtyp=-1
  model.evtin=[]
  model.evtout=[]
  model.state=[]
  model.dstate=[]
  model.odstate=list()
  model.rpar=scs_m_1
  model.ipar=1
  model.opar=list()
  model.blocktype="h"
  model.firing=[]
  model.dep_ut=[%f,%f]
  model.label=""
  model.nzcross=0
  model.nmode=0
  model.equations=list()
  E=0.1
  W=30
  F=1
  A=1
  exprs=[..
       sci2exp(E)
       sci2exp(W)
       sci2exp(F)
       sci2exp(A)
        ]
  gr_i=list(..
       ["xx=[1 3 3 3 5 5 5 7]/8;";
       "yy=[1 1 3 1 1 3 1 1]/4;";
       "x=orig(1)*ones(1,8)+sz(1)*xx;";
       "y=orig(2)*ones(1,8)+sz(2)*yy;";
       "xpolys(x'',y'');"],8)
  x=standard_define([3,2],model,exprs,gr_i)
end
endfunction