summaryrefslogtreecommitdiff
path: root/graphics/circuit_macros/examples/thyristor.m4
blob: ecc6448bf3914e360e394682ad7d4a205714747e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
.PS
# `thyristor.m4'
cct_init

define labels { {
   "\sl $1"  ht 11 pt__ $2 at last[].$1
   "\sl $3" $4 at last[].$3
   "\sl $5" $6 at last[].$5
   "\tt $7" ht 11 pt__  $9 at (last[].s+(0,$8)) } }

down_
Row1: [
  {thyristor
   labels(A,above,K,below,G,ljust,`thyristor',-0.25,wid 0.75) }

  move right 0.50 ; down_
  {thyristor(,B)
   labels(T1,above,T2,below,G,below ljust,`...(,B)',-0.35) }

  move right 0.50 ; down_
  {thyristor(down_ dimen_*0.8,BRK)
   labels(T1,above,T2,below,G,below rjust,`...(,BRK)',-0.22) }

  move right 0.60 ; down_
  {thyristor(,BE)
   labels(T1,above,T2,below,G,below ljust,`...(,BE)',-0.35) }

  move right 0.50 ; down_
  {thyristor(,A) at (Here,last [])
   labels(A,above,K,below,G,ljust,`...(,A)',-0.35) }

  move right 0.50 ; down_
  {thyristor(,F) at (Here,last [])
   labels(A,above,K,below,G,ljust,`...(,F)',-0.22) }

  move right 0.65 ; down_
  {thyristor(,BRE)
   labels(T1,above,T2,below,G,below rjust,`...(,BRE)',-0.35) }

  move right 0.75 ; down_
  {thyristor(,UARE) at (Here,last [])
   labels(A,above,K,below,G,rjust below,`...(,UARE)',-0.22) }

  move right 0.50 ; down_
  {thyristor(,AV,G: G+(0.1,0.1)) at (Here,last [])
   thinlines_
   spline -> from last[].G left 0.05 then left 0.05 down 0.1
   thicklines_
   labels(A,above,K,below,G,ljust,`...(,AV)',-0.35) }

  move right 0.50 ; down_
  {thyristor(,IEC)
   labels(A,above ljust,K,below ljust,G,ljust,`...(,IEC)',-0.22) }
  ]
Row2: [
  down_
  {thyristor(,UAH)
   labels(A,rjust above,K,rjust below,G,ljust,`...(,UAH)',-0.35,wid 0.65) }

  move right 0.55 ; down_
  {thyristor(,N) at (Here,last [])
   labels(A,above,K,below,Ga,rjust,`...(,N)',-0.22) }

  move right 0.55 ; down_
  {thyristor(,UANRE) at (Here,last [])
   labels(A,above,K,below,Ga,ljust above,`...(,UANRE)',-0.35) }
  move right 0.55 ; down_
  {thyristor(,SCR) at (Here,last [])
   labels(A,above,K,below rjust,G,below ljust,`...(,SCR)',-0.22) }

  move right 0.55 ; down_
  {thyristor(,SCRE) at (Here,last [])
   labels(A,above,K,below,G,ljust below,`...(SCRE)',-0.35) }

  move right 0.65 ; down_
  {thyristor(,SCRRE) at (Here,last [])
   labels(A,above,K,below,G,rjust below,`...(SCRRE)',-0.22) }

  move right 0.55 ; down_
  {thyristor(,SCS) at (Here,last [])
   labels(A,above,K,below,G,ljust,`...(SCS)',-0.35) }
  { "\sl Ga" rjust above at last[].Ga }

  move right 0.55 ; down_
  {thyristor(,SCSE) at (Here,last [])
   labels(A,above,K,below,G,ljust below,`...(SCSE)',-0.22) }
  { "\sl Ga" rjust above at last[].Ga }

  move right 0.65 ; down_
  {thyristor(,SUSE) at (Here,last [])
   labels(A,above,K,below,G,rjust,`...(SUSE)',-0.35) }

  move right 0.65 ; down_
  {thyristor(,SBSE) at (Here,last [])
   labels(T1,above,T2,below,G,rjust,`...(SBSE)',-0.22) }

  ] with .nw at Row1.sw + (0,-0.20)

Twoterms: [ right_
  { scr(,,Q) ; `"\tt scr(,{,}Q)"' at last [].e ljust}
  { "\sl Q.G" at Q.G above }

  move down 0.4; right_
  { scs(,,Q2) ; `"\tt scs(,{,}Q2)"' at last [].e ljust }
  { "\sl Q2.G" at Q2.G above }
  { "\sl Q2.Ga" at Q2.Ga below }
  ] with .nw at Row2.sw+(0,-0.2)

  [ right_
  { sus(,RE,Q3) ; `"\tt sus(,RE,Q3)"' at last [].e ljust}
  { "\sl Q3.G" at Q3.G above }

  move right_ 1.2 from last line.end
  { sbs(,E,Q4) ; `"\tt sbs(,E,Q4)"' at last [].e ljust}
  { "\sl Q4.G" at Q4.G below }
  ] with .w at last [].e+(1.0,0)

.PE