~ubuntu-branches/ubuntu/hoary/scilab/hoary

« back to all changes in this revision

Viewing changes to macros/scicos_blocks/Misc/DEADBAND.sci

  • Committer: Bazaar Package Importer
  • Author(s): Torsten Werner
  • Date: 2005-01-09 22:58:21 UTC
  • mfrom: (1.1.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20050109225821-473xr8vhgugxxx5j
Tags: 3.0-12
changed configure.in to build scilab's own malloc.o, closes: #255869

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
function [x,y,typ]=DEADBAND(job,arg1,arg2)
 
2
// Copyright INRIA
 
3
x=[];y=[];typ=[];
 
4
select job
 
5
case 'plot' then
 
6
  standard_draw(arg1)
 
7
case 'getinputs' then
 
8
  [x,y,typ]=standard_inputs(arg1)
 
9
case 'getoutputs' then
 
10
  [x,y,typ]=standard_outputs(arg1)
 
11
case 'getorigin' then
 
12
  [x,y]=standard_origin(arg1)
 
13
case 'set' then
 
14
  x=arg1;
 
15
  graphics=arg1.graphics;exprs=graphics.exprs
 
16
  model=arg1.model;
 
17
  while %t do
 
18
    [ok,maxp,minp,zeroc,exprs]=getvalue('Set Deadband parameters',..
 
19
        ['End of dead band';'Start of dead band';'zero crossing (0:no, 1:yes)'],list('vec',1,'vec',1,'vec',1),exprs)
 
20
    if ~ok then break,end
 
21
    if maxp<=minp  then
 
22
      message('Upper limit must be > Lower limit')
 
23
    else
 
24
      rpar=[maxp;minp]
 
25
      model.rpar=rpar
 
26
      if zeroc<>0 then 
 
27
        model.nzcross=2
 
28
        model.nmode=1
 
29
      else
 
30
        model.nzcross=0
 
31
        model.nmode=0
 
32
      end
 
33
      graphics.exprs=exprs
 
34
      x.graphics=graphics;x.model=model
 
35
      break
 
36
    end
 
37
  end
 
38
case 'define' then
 
39
  minp=-.5;maxp=.5;rpar=[maxp;minp]
 
40
  model=scicos_model()
 
41
  model.sim=list('deadband',4)
 
42
  model.in=1
 
43
  model.nzcross=2
 
44
  model.nmode=1
 
45
  model.out=1
 
46
  model.rpar=rpar
 
47
  model.blocktype='c'
 
48
  model.dep_ut=[%t %f]
 
49
  
 
50
  exprs=[string(maxp);string(minp);string(model.nmode)]
 
51
  gr_i=['thick=xget(''thickness'');xset(''thickness'',2);';
 
52
    'xx=orig(1)+[4/5;3/5;2/5;1/5]*sz(1);';
 
53
    'yy=orig(2)+[1-1/5;1/2;1/2;1/5]*sz(2);';
 
54
    'xpoly(xx,yy,''lines'');';
 
55
    'xset(''thickness'',thick)']
 
56
  x=standard_define([2 2],model,exprs,gr_i)
 
57
end
 
58
endfunction