summaryrefslogtreecommitdiff
path: root/tutorial
diff options
context:
space:
mode:
Diffstat (limited to 'tutorial')
-rw-r--r--tutorial/footnote.html27
-rw-r--r--tutorial/giffiles/aggregate.gifbin5614 -> 0 bytes
-rw-r--r--tutorial/giffiles/alib.gifbin3730 -> 0 bytes
-rw-r--r--tutorial/giffiles/amp1.gifbin7855 -> 0 bytes
-rw-r--r--tutorial/giffiles/amp2.gifbin7628 -> 0 bytes
-rw-r--r--tutorial/giffiles/amp3.gifbin8405 -> 0 bytes
-rw-r--r--tutorial/giffiles/arcs1.gifbin4993 -> 0 bytes
-rw-r--r--tutorial/giffiles/bridge.gifbin14903 -> 0 bytes
-rw-r--r--tutorial/giffiles/bridge1.gifbin4576 -> 0 bytes
-rw-r--r--tutorial/giffiles/bridge2.gifbin3455 -> 0 bytes
-rw-r--r--tutorial/giffiles/bridge3.gifbin3988 -> 0 bytes
-rw-r--r--tutorial/giffiles/bridge4.gifbin8685 -> 0 bytes
-rw-r--r--tutorial/giffiles/bridge5.gifbin14752 -> 0 bytes
-rw-r--r--tutorial/giffiles/bridge6.gifbin13742 -> 0 bytes
-rw-r--r--tutorial/giffiles/dff.gifbin14834 -> 0 bytes
-rw-r--r--tutorial/giffiles/filter1.gifbin4844 -> 0 bytes
-rw-r--r--tutorial/giffiles/filter2.gifbin4901 -> 0 bytes
-rw-r--r--tutorial/giffiles/fullamp.gifbin15951 -> 0 bytes
-rw-r--r--tutorial/giffiles/fullamp_anno.gifbin24174 -> 0 bytes
-rw-r--r--tutorial/giffiles/halfamp.gifbin10330 -> 0 bytes
-rw-r--r--tutorial/giffiles/integrate1.gifbin4826 -> 0 bytes
-rw-r--r--tutorial/giffiles/lib1.gifbin1936 -> 0 bytes
-rw-r--r--tutorial/giffiles/load1.gifbin4431 -> 0 bytes
-rw-r--r--tutorial/giffiles/nand4.gifbin3934 -> 0 bytes
-rw-r--r--tutorial/giffiles/object.gifbin2378 -> 0 bytes
-rw-r--r--tutorial/giffiles/objedit.gifbin5098 -> 0 bytes
-rw-r--r--tutorial/giffiles/overunder.gifbin1932 -> 0 bytes
-rw-r--r--tutorial/giffiles/path1.gifbin3039 -> 0 bytes
-rw-r--r--tutorial/giffiles/path2.gifbin4081 -> 0 bytes
-rw-r--r--tutorial/giffiles/path3.gifbin5723 -> 0 bytes
-rw-r--r--tutorial/giffiles/path4.gifbin5181 -> 0 bytes
-rw-r--r--tutorial/giffiles/path5.gifbin3989 -> 0 bytes
-rw-r--r--tutorial/giffiles/pcbcap.gifbin14607 -> 0 bytes
-rw-r--r--tutorial/giffiles/pcbdiode.gifbin3802 -> 0 bytes
-rw-r--r--tutorial/giffiles/poly1.gifbin2023 -> 0 bytes
-rw-r--r--tutorial/giffiles/poly2.gifbin7834 -> 0 bytes
-rw-r--r--tutorial/giffiles/powersup.gifbin5191 -> 0 bytes
-rw-r--r--tutorial/giffiles/powersup2.gifbin6193 -> 0 bytes
-rw-r--r--tutorial/giffiles/quadparts.gifbin3461 -> 0 bytes
-rw-r--r--tutorial/giffiles/save1.gifbin5436 -> 0 bytes
-rw-r--r--tutorial/giffiles/save2.gifbin4492 -> 0 bytes
-rw-r--r--tutorial/giffiles/select1.gifbin1280 -> 0 bytes
-rw-r--r--tutorial/giffiles/select2.gifbin697 -> 0 bytes
-rw-r--r--tutorial/giffiles/spline1.gifbin915 -> 0 bytes
-rw-r--r--tutorial/giffiles/spline2.gifbin1747 -> 0 bytes
-rw-r--r--tutorial/giffiles/spline3.gifbin3888 -> 0 bytes
-rw-r--r--tutorial/giffiles/symbol_enc.gifbin17439 -> 0 bytes
-rw-r--r--tutorial/giffiles/text.gifbin1725 -> 0 bytes
-rw-r--r--tutorial/giffiles/text2.gifbin3437 -> 0 bytes
-rw-r--r--tutorial/giffiles/tut1.gifbin14286 -> 0 bytes
-rw-r--r--tutorial/giffiles/wramp1.gifbin7342 -> 0 bytes
l---------tutorial/index.html1
-rw-r--r--tutorial/netfiles/filter.spc6
-rw-r--r--tutorial/netfiles/integrator.spc17
-rw-r--r--tutorial/pcb/FlareLED.ps720
-rwxr-xr-xtutorial/pcb/LED1794
-rwxr-xr-xtutorial/pcb/LED.NET47
-rw-r--r--tutorial/pcb/bridge.pcb6
-rw-r--r--tutorial/pcb/flare_objects.gifbin15281 -> 0 bytes
-rw-r--r--tutorial/pcb/pic_instance.gifbin18944 -> 0 bytes
-rw-r--r--tutorial/pcb/pic_object.gifbin19324 -> 0 bytes
-rw-r--r--tutorial/pcb/powersup.pcb10
-rw-r--r--tutorial/psfiles/analoglib1.lps238
-rw-r--r--tutorial/psfiles/analoglib2.lps235
-rw-r--r--tutorial/psfiles/bridge.ps370
-rw-r--r--tutorial/psfiles/buses.ps245
-rw-r--r--tutorial/psfiles/dff.ps228
-rw-r--r--tutorial/psfiles/filter.ps260
-rw-r--r--tutorial/psfiles/integrator.ps327
-rw-r--r--tutorial/psfiles/powersup.ps429
-rw-r--r--tutorial/psfiles/test1.ps154
-rw-r--r--tutorial/tutorial.html803
-rw-r--r--tutorial/tutorial2.html1455
73 files changed, 0 insertions, 7372 deletions
diff --git a/tutorial/footnote.html b/tutorial/footnote.html
deleted file mode 100644
index 0e20367..0000000
--- a/tutorial/footnote.html
+++ /dev/null
@@ -1,27 +0,0 @@
-<HTML>
-<TITLE>A footnote about the "mu" character in LaTeX</TITLE>
-<BODY BACKGROUND=../giffiles/blpaper.gif>
-
-It just so happens that although the "mu"
-character is encoded into the Adobe fonts, but is not part of any of the
-TeX fonts or TeX font encodings of standard Adobe (or TrueType) fonts.
-However, it is not strictly true that printing the character is impossible.
-I, being the enterprising character that I am, have found a (somewhat
-kludgy) workaround:
-
-<OL>
- <LI> First, you must be using one of the PSNFSS packages available under
- LaTeX2e, such as "times" (<TT>\usepackage{times}</TT>)
- <LI> Next, create the following definition:<BR>
- <TT>\def\micro{\special{ps:(µ)show}\nobreak\hspace*{0.55em}}</TT><BR>
- (The "mu" character here is the embedded 8-bit character encoding
- hex 0xb5, or decimal 181, or octal 0625).
- <LI> The <TT>\micro</TT> definition can be used as follows, for example:<BR>
- <TT>The correlator measures 700\,{\micro}m $\times$ 1170\,{\micro}m</TT>
- <LI> This definition of <TT>\micro</TT> uses a \special{} function defined only
- by (as far as I know) <TT>dvips</TT>, so the proper symbol will only show
- up after postprocessing the <TT>.dvi</TT> file through <TT>dvips</TT>.
-</OL>
-
-</BODY>
-</HTML>
diff --git a/tutorial/giffiles/aggregate.gif b/tutorial/giffiles/aggregate.gif
deleted file mode 100644
index 371b19f..0000000
--- a/tutorial/giffiles/aggregate.gif
+++ /dev/null
Binary files differ
diff --git a/tutorial/giffiles/alib.gif b/tutorial/giffiles/alib.gif
deleted file mode 100644
index 865dc2d..0000000
--- a/tutorial/giffiles/alib.gif
+++ /dev/null
Binary files differ
diff --git a/tutorial/giffiles/amp1.gif b/tutorial/giffiles/amp1.gif
deleted file mode 100644
index d022255..0000000
--- a/tutorial/giffiles/amp1.gif
+++ /dev/null
Binary files differ
diff --git a/tutorial/giffiles/amp2.gif b/tutorial/giffiles/amp2.gif
deleted file mode 100644
index 5606af0..0000000
--- a/tutorial/giffiles/amp2.gif
+++ /dev/null
Binary files differ
diff --git a/tutorial/giffiles/amp3.gif b/tutorial/giffiles/amp3.gif
deleted file mode 100644
index c9fcd8f..0000000
--- a/tutorial/giffiles/amp3.gif
+++ /dev/null
Binary files differ
diff --git a/tutorial/giffiles/arcs1.gif b/tutorial/giffiles/arcs1.gif
deleted file mode 100644
index 09db235..0000000
--- a/tutorial/giffiles/arcs1.gif
+++ /dev/null
Binary files differ
diff --git a/tutorial/giffiles/bridge.gif b/tutorial/giffiles/bridge.gif
deleted file mode 100644
index ac18bbc..0000000
--- a/tutorial/giffiles/bridge.gif
+++ /dev/null
Binary files differ
diff --git a/tutorial/giffiles/bridge1.gif b/tutorial/giffiles/bridge1.gif
deleted file mode 100644
index da964e2..0000000
--- a/tutorial/giffiles/bridge1.gif
+++ /dev/null
Binary files differ
diff --git a/tutorial/giffiles/bridge2.gif b/tutorial/giffiles/bridge2.gif
deleted file mode 100644
index 53ea047..0000000
--- a/tutorial/giffiles/bridge2.gif
+++ /dev/null
Binary files differ
diff --git a/tutorial/giffiles/bridge3.gif b/tutorial/giffiles/bridge3.gif
deleted file mode 100644
index d0bcd2c..0000000
--- a/tutorial/giffiles/bridge3.gif
+++ /dev/null
Binary files differ
diff --git a/tutorial/giffiles/bridge4.gif b/tutorial/giffiles/bridge4.gif
deleted file mode 100644
index 3439f07..0000000
--- a/tutorial/giffiles/bridge4.gif
+++ /dev/null
Binary files differ
diff --git a/tutorial/giffiles/bridge5.gif b/tutorial/giffiles/bridge5.gif
deleted file mode 100644
index 668ae54..0000000
--- a/tutorial/giffiles/bridge5.gif
+++ /dev/null
Binary files differ
diff --git a/tutorial/giffiles/bridge6.gif b/tutorial/giffiles/bridge6.gif
deleted file mode 100644
index 3aafac5..0000000
--- a/tutorial/giffiles/bridge6.gif
+++ /dev/null
Binary files differ
diff --git a/tutorial/giffiles/dff.gif b/tutorial/giffiles/dff.gif
deleted file mode 100644
index 6260fba..0000000
--- a/tutorial/giffiles/dff.gif
+++ /dev/null
Binary files differ
diff --git a/tutorial/giffiles/filter1.gif b/tutorial/giffiles/filter1.gif
deleted file mode 100644
index 3529749..0000000
--- a/tutorial/giffiles/filter1.gif
+++ /dev/null
Binary files differ
diff --git a/tutorial/giffiles/filter2.gif b/tutorial/giffiles/filter2.gif
deleted file mode 100644
index 57d2733..0000000
--- a/tutorial/giffiles/filter2.gif
+++ /dev/null
Binary files differ
diff --git a/tutorial/giffiles/fullamp.gif b/tutorial/giffiles/fullamp.gif
deleted file mode 100644
index a2efe6b..0000000
--- a/tutorial/giffiles/fullamp.gif
+++ /dev/null
Binary files differ
diff --git a/tutorial/giffiles/fullamp_anno.gif b/tutorial/giffiles/fullamp_anno.gif
deleted file mode 100644
index db0f63a..0000000
--- a/tutorial/giffiles/fullamp_anno.gif
+++ /dev/null
Binary files differ
diff --git a/tutorial/giffiles/halfamp.gif b/tutorial/giffiles/halfamp.gif
deleted file mode 100644
index 63ca65e..0000000
--- a/tutorial/giffiles/halfamp.gif
+++ /dev/null
Binary files differ
diff --git a/tutorial/giffiles/integrate1.gif b/tutorial/giffiles/integrate1.gif
deleted file mode 100644
index f77b941..0000000
--- a/tutorial/giffiles/integrate1.gif
+++ /dev/null
Binary files differ
diff --git a/tutorial/giffiles/lib1.gif b/tutorial/giffiles/lib1.gif
deleted file mode 100644
index 06f4483..0000000
--- a/tutorial/giffiles/lib1.gif
+++ /dev/null
Binary files differ
diff --git a/tutorial/giffiles/load1.gif b/tutorial/giffiles/load1.gif
deleted file mode 100644
index 76fc7eb..0000000
--- a/tutorial/giffiles/load1.gif
+++ /dev/null
Binary files differ
diff --git a/tutorial/giffiles/nand4.gif b/tutorial/giffiles/nand4.gif
deleted file mode 100644
index 56292a5..0000000
--- a/tutorial/giffiles/nand4.gif
+++ /dev/null
Binary files differ
diff --git a/tutorial/giffiles/object.gif b/tutorial/giffiles/object.gif
deleted file mode 100644
index f783581..0000000
--- a/tutorial/giffiles/object.gif
+++ /dev/null
Binary files differ
diff --git a/tutorial/giffiles/objedit.gif b/tutorial/giffiles/objedit.gif
deleted file mode 100644
index 3318d19..0000000
--- a/tutorial/giffiles/objedit.gif
+++ /dev/null
Binary files differ
diff --git a/tutorial/giffiles/overunder.gif b/tutorial/giffiles/overunder.gif
deleted file mode 100644
index f1fce9b..0000000
--- a/tutorial/giffiles/overunder.gif
+++ /dev/null
Binary files differ
diff --git a/tutorial/giffiles/path1.gif b/tutorial/giffiles/path1.gif
deleted file mode 100644
index 11c6a1e..0000000
--- a/tutorial/giffiles/path1.gif
+++ /dev/null
Binary files differ
diff --git a/tutorial/giffiles/path2.gif b/tutorial/giffiles/path2.gif
deleted file mode 100644
index 384c37f..0000000
--- a/tutorial/giffiles/path2.gif
+++ /dev/null
Binary files differ
diff --git a/tutorial/giffiles/path3.gif b/tutorial/giffiles/path3.gif
deleted file mode 100644
index 3dc0213..0000000
--- a/tutorial/giffiles/path3.gif
+++ /dev/null
Binary files differ
diff --git a/tutorial/giffiles/path4.gif b/tutorial/giffiles/path4.gif
deleted file mode 100644
index 34671ba..0000000
--- a/tutorial/giffiles/path4.gif
+++ /dev/null
Binary files differ
diff --git a/tutorial/giffiles/path5.gif b/tutorial/giffiles/path5.gif
deleted file mode 100644
index 326a015..0000000
--- a/tutorial/giffiles/path5.gif
+++ /dev/null
Binary files differ
diff --git a/tutorial/giffiles/pcbcap.gif b/tutorial/giffiles/pcbcap.gif
deleted file mode 100644
index 69bbd8c..0000000
--- a/tutorial/giffiles/pcbcap.gif
+++ /dev/null
Binary files differ
diff --git a/tutorial/giffiles/pcbdiode.gif b/tutorial/giffiles/pcbdiode.gif
deleted file mode 100644
index 0906f88..0000000
--- a/tutorial/giffiles/pcbdiode.gif
+++ /dev/null
Binary files differ
diff --git a/tutorial/giffiles/poly1.gif b/tutorial/giffiles/poly1.gif
deleted file mode 100644
index 360f400..0000000
--- a/tutorial/giffiles/poly1.gif
+++ /dev/null
Binary files differ
diff --git a/tutorial/giffiles/poly2.gif b/tutorial/giffiles/poly2.gif
deleted file mode 100644
index b58ea3c..0000000
--- a/tutorial/giffiles/poly2.gif
+++ /dev/null
Binary files differ
diff --git a/tutorial/giffiles/powersup.gif b/tutorial/giffiles/powersup.gif
deleted file mode 100644
index 68a9576..0000000
--- a/tutorial/giffiles/powersup.gif
+++ /dev/null
Binary files differ
diff --git a/tutorial/giffiles/powersup2.gif b/tutorial/giffiles/powersup2.gif
deleted file mode 100644
index d00e6eb..0000000
--- a/tutorial/giffiles/powersup2.gif
+++ /dev/null
Binary files differ
diff --git a/tutorial/giffiles/quadparts.gif b/tutorial/giffiles/quadparts.gif
deleted file mode 100644
index 0be0e22..0000000
--- a/tutorial/giffiles/quadparts.gif
+++ /dev/null
Binary files differ
diff --git a/tutorial/giffiles/save1.gif b/tutorial/giffiles/save1.gif
deleted file mode 100644
index c98500e..0000000
--- a/tutorial/giffiles/save1.gif
+++ /dev/null
Binary files differ
diff --git a/tutorial/giffiles/save2.gif b/tutorial/giffiles/save2.gif
deleted file mode 100644
index d947ad6..0000000
--- a/tutorial/giffiles/save2.gif
+++ /dev/null
Binary files differ
diff --git a/tutorial/giffiles/select1.gif b/tutorial/giffiles/select1.gif
deleted file mode 100644
index dfc319e..0000000
--- a/tutorial/giffiles/select1.gif
+++ /dev/null
Binary files differ
diff --git a/tutorial/giffiles/select2.gif b/tutorial/giffiles/select2.gif
deleted file mode 100644
index 26d255d..0000000
--- a/tutorial/giffiles/select2.gif
+++ /dev/null
Binary files differ
diff --git a/tutorial/giffiles/spline1.gif b/tutorial/giffiles/spline1.gif
deleted file mode 100644
index 0f6368a..0000000
--- a/tutorial/giffiles/spline1.gif
+++ /dev/null
Binary files differ
diff --git a/tutorial/giffiles/spline2.gif b/tutorial/giffiles/spline2.gif
deleted file mode 100644
index 25c1264..0000000
--- a/tutorial/giffiles/spline2.gif
+++ /dev/null
Binary files differ
diff --git a/tutorial/giffiles/spline3.gif b/tutorial/giffiles/spline3.gif
deleted file mode 100644
index 01df61f..0000000
--- a/tutorial/giffiles/spline3.gif
+++ /dev/null
Binary files differ
diff --git a/tutorial/giffiles/symbol_enc.gif b/tutorial/giffiles/symbol_enc.gif
deleted file mode 100644
index 934bfdb..0000000
--- a/tutorial/giffiles/symbol_enc.gif
+++ /dev/null
Binary files differ
diff --git a/tutorial/giffiles/text.gif b/tutorial/giffiles/text.gif
deleted file mode 100644
index 0939c71..0000000
--- a/tutorial/giffiles/text.gif
+++ /dev/null
Binary files differ
diff --git a/tutorial/giffiles/text2.gif b/tutorial/giffiles/text2.gif
deleted file mode 100644
index e988e64..0000000
--- a/tutorial/giffiles/text2.gif
+++ /dev/null
Binary files differ
diff --git a/tutorial/giffiles/tut1.gif b/tutorial/giffiles/tut1.gif
deleted file mode 100644
index d664463..0000000
--- a/tutorial/giffiles/tut1.gif
+++ /dev/null
Binary files differ
diff --git a/tutorial/giffiles/wramp1.gif b/tutorial/giffiles/wramp1.gif
deleted file mode 100644
index 7e57adb..0000000
--- a/tutorial/giffiles/wramp1.gif
+++ /dev/null
Binary files differ
diff --git a/tutorial/index.html b/tutorial/index.html
deleted file mode 120000
index 1808037..0000000
--- a/tutorial/index.html
+++ /dev/null
@@ -1 +0,0 @@
-tutorial.html \ No newline at end of file
diff --git a/tutorial/netfiles/filter.spc b/tutorial/netfiles/filter.spc
deleted file mode 100644
index 394b0b0..0000000
--- a/tutorial/netfiles/filter.spc
+++ /dev/null
@@ -1,6 +0,0 @@
-Spice circuit filter
-
-V1 GND Vin SIN(0 5 5k)
-C2 Vout GND 1.0u
-R3 Vin Vout 100k
-.end
diff --git a/tutorial/netfiles/integrator.spc b/tutorial/netfiles/integrator.spc
deleted file mode 100644
index 2448672..0000000
--- a/tutorial/netfiles/integrator.spc
+++ /dev/null
@@ -1,17 +0,0 @@
-Spice circuit integrator
-
-.subckt wramp bias out in.p in.m
-M1 net.1 net.1 GND GND nmos
-M2 out net.1 GND GND nmos
-M3 net.1 net.2 Vdd Vdd pmos
-M4 out net.3 Vdd Vdd pmos
-M5 net.3 net.3 Vdd Vdd pmos
-M6 net.2 net.2 Vdd Vdd pmos
-M7 net.4 bias GND GND nmos
-M8 net.3 in.p net.4 GND nmos
-M9 net.2 in.m net.4 GND nmos
-.ends
-
-C10 Output GND 1.0P
-X1 Bias Output Input Output wramp
-.end
diff --git a/tutorial/pcb/FlareLED.ps b/tutorial/pcb/FlareLED.ps
deleted file mode 100644
index d807858..0000000
--- a/tutorial/pcb/FlareLED.ps
+++ /dev/null
@@ -1,720 +0,0 @@
-%!PS-Adobe-3.0
-%%Title: examples/FlareLED
-%%Creator: Xcircuit v2.3
-%%CreationDate: Mon Jul 2 14:17:57 2001
-%%Pages: 1
-%%BoundingBox: -319 -124 931 916
-%%DocumentNeededResources: font Helvetica font Helvetica-Bold font Times-Roman
-%%+ font Times-RomanISO font Symbol
-%%EndComments
-%%BeginProlog
-%
-% PostScript prolog for output from xcircuit
-% Version: 2.3
-%
-% Electrical circuit (and otherwise general) drawing program
-%
-% Written by Tim Edwards 8/5/93--5/16/01 (tim@bach.ece.jhu.edu)
-% The Johns Hopkins University
-%
-%%BeginResource: procset XCIRCproc 2.3 1
-% supporting definitions --- these are the primary xcircuit types.
-
-/XCIRCsave save def
-/topmat matrix currentmatrix def
-
-/fontslant { /slant exch def [1 0 slant 1 0 0]
- exch findfont exch makefont dup length dict /ndict exch def
- { 1 index /FID ne { ndict 3 1 roll put } { pop pop } ifelse } forall
- ndict definefont pop} def
-/ul { dup type /stringtype eq showflag 1 eq and { gsave
- currentpoint topmat setmatrix 0 0 moveto 2 index stringwidth pop (_)
- false charpath flattenpath pathbbox grestore exch pop 1 index
- sub setlinewidth exch pop currentpoint 3 -1 roll add moveto 0
- rlineto stroke moveto } if } def
-/ol { dup type /stringtype eq showflag 1 eq and { gsave gsave
- currentpoint topmat setmatrix 2 index stringwidth pop 3 index
- true charpath flattenpath pathbbox grestore exch pop
- exch pop topmat setmatrix (_) true charpath pathbbox grestore
- exch pop 1 index sub setlinewidth exch pop currentpoint
- exch 4 1 roll exch sub add moveto pop 0 rlineto stroke
- moveto } if } def
-/stW { gsave currentpoint newpath moveto true charpath flattenpath
- pathbbox pop exch pop sub grestore } def
-/Ts {mark Tabs aload pop counttomark 1 add array astore /Tabs exch def Tabs
- 0 currentpoint pop put} def
-/Tbn {mark Tabs aload pop counttomark dup 2 add 1 roll cleartomark 1 sub} def
-/Tb { 0 1 Tbn {Tabs exch get dup currentpoint pop lt
- {currentpoint exch pop moveto exit} {pop} ifelse } for } def
-/Tf { Tbn -1 0 {Tabs exch get dup currentpoint pop gt
- {currentpoint exch pop moveto exit} {pop} ifelse } for } def
-/qS { (aa) stW (a a) stW sub 4 div 0 Kn } def
-/hS { qS qS } def
-/pspc 0 def
-/cf0 { scalefont setfont } bind def
-/Kn { dup kY add /kY exch def rmoveto } bind def
-/ss { /fscale fscale 0.67 mul def currentfont 0.67 cf0 0 fscale0 fscale mul
- 0.33 mul neg Kn} def
-/Ss { /fscale fscale 0.67 mul def currentfont 0.67 cf0 0 fscale0 fscale mul
- 0.67 mul Kn } def
-/ns { 0 kY neg Kn /kY 0 def /fscale 1.0 def xfont0 1.0 cf0 } def
-/CR { ns 0 /Bline Bline fscale0 neg add def Bline moveto } def
-/cf { dup type /realtype ne {1.0} if exch findfont exch kY 0 eq
- { 40 mul dup /fscale0 exch def cf0 /xfont0 currentfont def}
- {fscale0 mul fscale mul cf0} ifelse } def
-/ctmk { counttomark dup 2 add -1 roll pop } bind def
-/label { gsave translate 0 0 moveto dup scale /rotval exch def /just exch def
- just 16 and 0 gt {0 1 dtransform gsave pagemat setmatrix idtransform
- exch grestore 1 0 dtransform gsave pagemat setmatrix idtransform
- exch grestore dup 0 eq {pop mul 0 gt} {3 1 roll pop pop 0 lt} ifelse
- {-1 /just just dup 3 and 1 ne {3 xor} if def} {1} ifelse exch 0 lt
- {-1 /just just dup 12 and 4 ne {12 xor} if def} {1} ifelse scale }
- if /showflag 0 def /fspc pspc def /Bline 0 def /Tabs 0 array def
- /fscale 1.0 def /kY 0 def
- gsave dup 1 add copy 0 exch {exch dup type /stringtype eq {true
- charpath flattenpath} {exec} ifelse } repeat pop pathbbox grestore
- 3 -1 roll pop 3 1 roll just 1 and 0 gt {just 2 and 0 gt {exch pop
- neg fspc sub} {exch sub 0.5 mul neg} ifelse} {pop neg fspc add}
- ifelse exch Bline exch just 4 and 0 gt {just 8 and 0 gt {exch pop
- neg fspc sub} {add 0.5 mul neg} ifelse} {pop neg fspc add} ifelse
- /showflag 1 def rotval rotate Kn currentpoint translate
- /Bline 0 def /Tabs 0 array def /fscale 1.0 def /kY 0 def
- {dup type /stringtype eq {show}{exec} ifelse} repeat grestore } def
-/pinlabel { hlevel 0 eq { /pspc 20 def label /pspc 0 def }
- { pop pop pop pop pop {pop} repeat } ifelse } def
-/pinglobal { pinlabel } def
-/infolabel { pinlabel } def
-
-/scb { setrgbcolor } bind def /sce { defColor aload pop scb } bind def
-/cRedef {/defColor currentcolor 3 array astore def} def
-/begingate { /hlevel hlevel 1 add def /defColor currentcolor sce 3 array
- astore def gsave sce translate 0 0 moveto dup 0 lt
- {neg 1 sub -1 1 scale} if rotate dup scale } bind def
-/makeparm {3 string cvs dup length 1 add string /tstr exch def tstr exch
- 1 exch putinterval tstr 0 (v) putinterval tstr cvn} bind def
-/beginparm { -1 1 {makeparm exch def} for
- dup type /arraytype eq { aload length -1 1 {makeparm exch def}
- for } if begingate } bind def
-/endgate { /hlevel hlevel 1 sub def grestore defColor aload pop cRedef
- scb} bind def
-
-/hlevel 0 def
-/tmpa [1 0 0 1 0 0] def
-/gar {8 8 true tmpa {<c0 c0 00 00 0c 0c 00 00>} imagemask} bind
-{8 8 true tmpa {<30 70 60 02 03 07 06 20>} imagemask} bind
-{8 8 true tmpa {<0c 1e 1e 0c c0 e1 e1 c0>} imagemask} bind
-{8 8 true tmpa {<0f 0f 0f 0f f0 f0 f0 f0>} imagemask} bind
-{8 8 true tmpa {<3f f3 e1 e1 f3 3f 1e 1e>} imagemask} bind
-{8 8 true tmpa {<df cf 8f 9f fd fc f8 f9>} imagemask} bind
-{8 8 true tmpa {<ff 3f 3f ff ff f3 f3 ff>} imagemask} bind 7 array astore def
-/ppaint { gsave clip tmpa dup setmatrix pathbbox neg exch neg 4 2 roll
- neg 4 -1 roll 2 copy gt {exch} if 8 div ceiling 8 mul 4 2 roll neg 2 copy
- gt {exch} if 8 div ceiling 8 mul 3 -1 roll -8 5 -1 roll
- { 3 index exch 5 exch put dup -8 3 index { 3 index
- exch 4 exch put 3 index exec } for } for pop pop pop pop grestore } bind def
-/setstyles {
- currentlinewidth mul setlinewidth /style exch def
- style 1 and 0 gt not {closepath} if
- style 2 and 0 gt {currentlinewidth 4 mul dup 2 array astore 0 setdash} if
- style 4 and 0 gt {0.5 currentlinewidth 4 mul 2 array astore 0 setdash} if
- style dup 256 ge exch 480 lt and { gsave 1 setgray eofill grestore } if
- style 16 and 0 gt { gsave style 224 and -5 bitshift dup 7 lt
- {gar exch get ppaint} { pop eofill } ifelse grestore } if
- style 8 and 0 gt style 512 eq or { newpath } { stroke } ifelse grestore } def
-
-/polygon { gsave /num exch def moveto num 1 sub {lineto} repeat setstyles } def
-/xcarc { gsave newpath arc setstyles } def
-/elb { matrix currentmatrix 7 -1 roll 7 -1 roll translate 5 1 roll 4 -1 roll
- 3 index div 1 scale } def
-/ele { 0 4 1 roll 0 4 1 roll } bind def
-/ellipse { gsave elb newpath ele arc setmatrix setstyles } def
-/pellip { elb ele arc setmatrix } def
-/nellip { elb ele arcn setmatrix } def
-/spline { gsave moveto curveto setstyles } def
-/polyc { {lineto} repeat } bind def
-/beginpath { gsave moveto } bind def
-/endpath { setstyles } bind def
-/bop { 1 setlinecap 0 setlinejoin 6 setmiterlimit 0 0 0 scb cRedef } def
-/insertion {/PSobj save def /showpage {} def bop translate} def
-/end_insert {PSobj restore} def
-/setpagemat {/pagemat matrix currentmatrix def} def
-/inchscale {setpagemat 0.375 mul dup scale} def
-/cmscale {setpagemat 0.35433071 mul dup scale} def
-
-%%EndResource
-%%EndProlog
-
-/Times-Roman findfont dup length dict begin
-{1 index /FID ne {def} {pop pop} ifelse} forall
-/Encoding ISOLatin1Encoding def currentdict end
-/Times-RomanISO exch definefont pop
-
-% XCircuit output starts here.
-
-/PIC16C54 {
-% 0 0 480 736 bbox
-(?) 1 beginparm
-0 1.00 0 0 0 736 480 736 480 0 4 polygon
-(PIC16C54A) {/Helvetica-Bold cf} 2 21 0 1.00 240 320 label
-(Vdd) {/Helvetica cf} 2 23 0 1.00 464 368 label
-(RA2) {/Helvetica cf} 2 20 0 1.00 16 688 label
-(RA3) {/Helvetica cf} 2 20 0 1.00 16 624 label
-(RTCC) {/Helvetica cf} 2 20 0 1.00 16 560 label
-(MCLR) {ol} {/Helvetica cf} 3 20 0 1.00 16 496 label
-(Vss) {/Helvetica cf} 2 20 0 1.00 16 368 label
-(RB0) {/Helvetica cf} 2 20 0 1.00 16 240 label
-(RB1) {/Helvetica cf} 2 20 0 1.00 16 176 label
-(RB2) {/Helvetica cf} 2 20 0 1.00 16 112 label
-(RB3) {/Helvetica cf} 2 20 0 1.00 16 48 label
-(RB4) {/Helvetica cf} 2 23 0 1.00 464 48 label
-(RB5) {/Helvetica cf} 2 23 0 1.00 464 112 label
-(RB6) {/Helvetica cf} 2 23 0 1.00 464 176 label
-(RB7) {/Helvetica cf} 2 23 0 1.00 464 240 label
-(OSC2/CLKOUT) {/Helvetica cf} 2 23 0 1.00 464 496 label
-(OSC1/CLKIN) {/Helvetica cf} 2 23 0 1.00 464 560 label
-(RA0) {/Helvetica cf} 2 23 0 1.00 464 624 label
-(RA1) {/Helvetica cf} 2 23 0 1.00 464 688 label
-sce
-mark v1 (pcb:U) {/Helvetica cf} ctmk 21 0 1.00 224 256 infolabel
-1.000 0.000 0.000 scb
-(1) {/Helvetica cf} 2 23 0 1.00 0 688 pinlabel
-(2) {/Helvetica cf} 2 23 0 1.00 0 624 pinlabel
-(3) {/Helvetica cf} 2 23 0 1.00 0 560 pinlabel
-(4) {/Helvetica cf} 2 23 0 1.00 0 496 pinlabel
-(5) {/Helvetica cf} 2 23 0 1.00 0 368 pinlabel
-(6) {/Helvetica cf} 2 23 0 1.00 0 240 pinlabel
-(7) {/Helvetica cf} 2 23 0 1.00 0 176 pinlabel
-(8) {/Helvetica cf} 2 23 0 1.00 0 112 pinlabel
-(9) {/Helvetica cf} 2 23 0 1.00 0 48 pinlabel
-(10) {/Helvetica cf} 2 20 0 1.00 480 48 pinlabel
-(11) {/Helvetica cf} 2 20 0 1.00 480 112 pinlabel
-(12) {/Helvetica cf} 2 20 0 1.00 480 176 pinlabel
-(13) {/Helvetica cf} 2 20 0 1.00 480 240 pinlabel
-(14) {/Helvetica cf} 2 20 0 1.00 480 368 pinlabel
-(15) {/Helvetica cf} 2 20 0 1.00 480 496 pinlabel
-(16) {/Helvetica cf} 2 20 0 1.00 480 560 pinlabel
-(17) {/Helvetica cf} 2 20 0 1.00 480 624 pinlabel
-(18) {/Helvetica cf} 2 20 0 1.00 480 688 pinlabel
-endgate
-} def
-
-/LTC490 {
-% 0 0 416 384 bbox
-(?) 1 beginparm
-0 1.00 0 0 0 384 416 384 416 0 4 polygon
-(RS422) {/Helvetica cf} 2 21 0 1.00 192 176 label
-(Transciever) {/Helvetica cf} 2 21 0 1.00 208 128 label
-(LTC490) {/Helvetica-Bold cf} 2 21 0 1.00 192 256 label
-(Vcc) {/Helvetica cf} 2 20 0 1.00 16 336 label
-(R) {/Helvetica cf} 2 20 0 1.00 16 240 label
-(D) {/Helvetica cf} 2 20 0 1.00 16 144 label
-(GND) {/Helvetica cf} 2 20 0 1.00 16 48 label
-(Y) {/Helvetica cf} 2 23 0 1.00 400 48 label
-(Z) {/Helvetica cf} 2 23 0 1.00 400 144 label
-(B) {/Helvetica cf} 2 23 0 1.00 400 240 label
-(A) {/Helvetica cf} 2 23 0 1.00 400 336 label
-sce
-mark v1 (pcb:U) {/Helvetica cf} ctmk 21 0 1.00 208 80 infolabel
-1.000 0.000 0.000 scb
-(1) {/Helvetica cf} 2 23 0 1.00 0 336 pinlabel
-(2) {/Helvetica cf} 2 23 0 1.00 0 240 pinlabel
-(3) {/Helvetica cf} 2 23 0 1.00 0 144 pinlabel
-(4) {/Helvetica cf} 2 23 0 1.00 0 48 pinlabel
-(5) {/Helvetica cf} 2 20 0 1.00 416 48 pinlabel
-(6) {/Helvetica cf} 2 20 0 1.00 416 144 pinlabel
-(7) {/Helvetica cf} 2 20 0 1.00 416 240 pinlabel
-(8) {/Helvetica cf} 2 20 0 1.00 416 336 pinlabel
-endgate
-} def
-
-/terminal_block {
-% -160 -80 320 173 bbox
-(?) 1 beginparm
-0 1.00 -160 -80 -160 48 160 48 160 -80 4 polygon
-(ED100/3DS) {/Helvetica cf} 2 21 0 1.00 0 80 label
-1 1.00 0 -16 32 0.00 360.00 xcarc
-1 1.00 96 -16 32 0.00 360.00 xcarc
-1 1.00 -96 -16 32 0.00 360.00 xcarc
-sce
-mark v1 (pcb:J) {/Helvetica cf} ctmk 21 0 1.00 0 -112 infolabel
-1.000 0.000 0.000 scb
-(1) {/Helvetica cf} 2 25 0 1.00 -96 -16 pinlabel
-(2) {/Helvetica cf} 2 25 0 1.00 0 -16 pinlabel
-(3) {/Helvetica cf} 2 25 0 1.00 96 -16 pinlabel
-endgate
-} def
-
-/LTC1152 {
-% -192 -192 384 384 bbox
-(?) 1 beginparm
-0 1.00 -192 -192 -192 192 192 192 192 -192 4 polygon
-(LTC1152) {/Helvetica-Bold cf} 2 25 0 1.00 0 48 label
-(Op-amp) {/Helvetica cf} 2 29 0 1.00 0 0 label
-(SHDN) {/Helvetica cf} 2 20 0 1.00 -176 144 label
-(IN) {/Helvetica cf} (-) {/Symbol cf} 4 20 0 1.00 -176 48 label
-(IN) {/Helvetica cf} (+) {/Symbol cf} 4 20 0 1.00 -176 -48 label
-(-) {/Symbol cf} (V) {/Helvetica cf} 4 20 0 1.00 -176 -144 label
-(COMP) {/Helvetica cf} 2 23 0 1.00 176 -144 label
-(OUT) {/Helvetica cf} 2 23 0 1.00 176 -48 label
-(+) {/Symbol cf} (V) {/Helvetica cf} 4 23 0 1.00 176 48 label
-(CP) {/Helvetica cf} 2 23 0 1.00 176 144 label
-sce
-mark v1 (pcb:U) {/Helvetica cf} ctmk 21 0 1.00 0 -80 infolabel
-1.000 0.000 0.000 scb
-(1) {/Helvetica cf} 2 23 0 1.00 -192 144 pinlabel
-(2) {/Helvetica cf} 2 23 0 1.00 -192 48 pinlabel
-(3) {/Helvetica cf} 2 23 0 1.00 -192 -48 pinlabel
-(5) {/Helvetica cf} 2 20 0 1.00 192 -144 pinlabel
-(4) {/Helvetica cf} 2 23 0 1.00 -192 -144 pinlabel
-(6) {/Helvetica cf} 2 20 0 1.00 192 -48 pinlabel
-(7) {/Helvetica cf} 2 20 0 1.00 192 48 pinlabel
-(8) {/Helvetica cf} 2 20 0 1.00 192 144 pinlabel
-endgate
-} def
-
-/DSUB9 {
-% -160 0 320 186 bbox
-(?) 1 beginparm
-1 1.00 -128 96 16 0.00 360.00 xcarc
-1 1.00 -32 32 16 0.00 360.00 xcarc
-1 1.00 0 96 16 0.00 360.00 xcarc
-1 1.00 64 96 16 0.00 360.00 xcarc
-1 1.00 128 96 16 15.00 375.00 xcarc
-1 1.00 96 32 16 0.00 360.00 xcarc
-1 1.00 32 32 16 0.00 360.00 xcarc
-1 1.00 -64 96 16 0.00 360.00 xcarc
-1 1.00 -96 32 16 0.00 360.00 xcarc
-sce
-mark v1 (pcb:J) {/Helvetica cf} ctmk 21 0 1.00 16 -48 infolabel
-128 128 beginpath
-128 96 32 450.00 333.43 arcn
-124 17 1 polyc
-96 32 32 333.43 270.00 arcn
--96 0 1 polyc
--96 32 32 270.00 206.57 arcn
--156 81 1 polyc
--128
-96 32 206.57 90.00 arcn
-128 128 1 polyc
-1 1.00 endpath
-(AMP 745781-4) {/Helvetica cf} 2 25 0 1.00 0 160 label
-1.000 0.000 0.000 scb
-(1) {/Helvetica cf} 2 25 0 1.00 -128 96 pinlabel
-(3) {/Helvetica cf} 2 25 0 1.00 0 96 pinlabel
-(2) {/Helvetica cf} 2 25 0 1.00 -64 96 pinlabel
-(4) {/Helvetica cf} 2 25 0 1.00 64 96 pinlabel
-(5) {/Helvetica cf} 2 25 0 1.00 128 96 pinlabel
-(6) {/Helvetica cf} 2 29 0 1.00 -96 32 pinlabel
-(7) {/Helvetica cf} 2 29 0 1.00 -32 32 pinlabel
-(8) {/Helvetica cf} 2 29 0 1.00 32 32 pinlabel
-(9) {/Helvetica cf} 2 29 0 1.00 96 32 pinlabel
-endgate
-} def
-
-/Crystal {
-% -144 -144 288 288 bbox
-(?) 1 beginparm
-0 1.00 -144 -144 -144 144 144 144 144 -144 4 polygon
-(CTX169) {/Helvetica-Bold cf} 2 25 0 1.00 0 16 label
-(MHz) {hS} (20) {/Helvetica cf} 4 21 0 1.00 0 -32 label
-(N/C) {/Helvetica cf} 2 20 0 1.00 -128 96 label
-(GND) {/Helvetica cf} 2 20 0 1.00 -128 -96 label
-(OUT) {/Helvetica cf} 2 23 0 1.00 128 -96 label
-(Vdd) {/Helvetica cf} 2 23 0 1.00 128 96 label
-sce
-mark v1 (pcb:X) {/Helvetica cf} ctmk 21 0 1.00 0 -176 infolabel
-1.000 0.000 0.000 scb
-(1) {/Helvetica cf} 2 23 0 1.00 -144 96 pinlabel
-(2) {/Helvetica cf} 2 23 0 1.00 -144 -96 pinlabel
-(3) {/Helvetica cf} 2 20 0 1.00 144 -96 pinlabel
-(4) {/Helvetica cf} 2 20 0 1.00 144 96 pinlabel
-endgate
-} def
-
-/ADC12138 {
-% -240 -464 480 928 bbox
-(?) 1 beginparm
-0 1.00 -240 -464 -240 464 240 464 240 -464 4 polygon
-(CH0) {/Helvetica cf} 2 20 0 1.00 -224 416 label
-(CH1) {/Helvetica cf} 2 20 0 1.00 -224 352 label
-(CH2) {/Helvetica cf} 2 20 0 1.00 -224 288 label
-(CH3) {/Helvetica cf} 2 20 0 1.00 -224 224 label
-(CH4) {/Helvetica cf} 2 20 0 1.00 -224 160 label
-(CH5) {/Helvetica cf} 2 20 0 1.00 -224 96 label
-(CH6) {/Helvetica cf} 2 20 0 1.00 -224 32 label
-(CH7) {/Helvetica cf} 2 20 0 1.00 -224 -32 label
-(COM) {/Helvetica cf} 2 20 0 1.00 -224 -96 label
-(MuxOut1) {/Helvetica cf} 2 20 0 1.00 -224 -160 label
-(A/Din2) {/Helvetica cf} 2 20 0 1.00 -224 -352 label
-(DGND) {/Helvetica cf} 2 20 0 1.00 -224 -416 label
-(+) {/Symbol cf} (VA) {/Helvetica cf} 4 23 0 1.00 224 -416 label
-(-) {/Symbol cf} (Vref) {/Helvetica cf} 4 23 0 1.00 224 -352 label
-(+) {/Symbol cf} (Vref) {/Helvetica cf} 4 23 0 1.00 224 -288 label
-(AGND) {/Helvetica cf} 2 23 0 1.00 224 -224 label
-(PD) {/Helvetica cf} 2 23 0 1.00 224 -160 label
-(EOC) {/Helvetica cf} 2 23 0 1.00 224 -96 label
-(CONV) {ol} {/Helvetica cf} 3 23 0 1.00 224 -32 label
-(CS) {ol} {/Helvetica cf} 3 23 0 1.00 224 32 label
-(DO) {/Helvetica cf} 2 23 0 1.00 224 96 label
-(DI) {/Helvetica cf} 2 23 0 1.00 224 160 label
-(SCLK) {/Helvetica cf} 2 23 0 1.00 224 224 label
-(A/Din1) {/Helvetica cf} 2 20 0 1.00 -224 -224 label
-(MuxOut2) {/Helvetica cf} 2 20 0 1.00 -224 -288 label
-(CCLK) {/Helvetica cf} 2 23 0 1.00 224 288 label
-(DOR) {ol} {/Helvetica cf} 3 23 0 1.00 224 352 label
-(+) {/Symbol cf} (VD) {/Helvetica cf} 4 23 0 1.00 224 416 label
-(ADC12138) {/Helvetica-Bold cf} 2 21 0 1.00 0 64 label
-sce
-mark v1 (pcb:U) {/Helvetica cf} ctmk 21 0 1.00 0 0 infolabel
-1.000 0.000 0.000 scb
-(1) {/Helvetica cf} 2 23 0 1.00 -240 416 pinlabel
-(2) {/Helvetica cf} 2 23 0 1.00 -240 352 pinlabel
-(3) {/Helvetica cf} 2 23 0 1.00 -240 288 pinlabel
-(4) {/Helvetica cf} 2 23 0 1.00 -240 224 pinlabel
-(5) {/Helvetica cf} 2 23 0 1.00 -240 160 pinlabel
-(6) {/Helvetica cf} 2 23 0 1.00 -240 96 pinlabel
-(7) {/Helvetica cf} 2 23 0 1.00 -240 32 pinlabel
-(8) {/Helvetica cf} 2 23 0 1.00 -240 -32 pinlabel
-(9) {/Helvetica cf} 2 23 0 1.00 -240 -96 pinlabel
-(10) {/Helvetica cf} 2 23 0 1.00 -240 -160 pinlabel
-(11) {/Helvetica cf} 2 23 0 1.00 -240 -224 pinlabel
-(12) {/Helvetica cf} 2 23 0 1.00 -240 -288 pinlabel
-(13) {/Helvetica cf} 2 23 0 1.00 -240 -352 pinlabel
-(14) {/Helvetica cf} 2 23 0 1.00 -240 -416 pinlabel
-(15) {/Helvetica cf} 2 20 0 1.00 240 -416 pinlabel
-(16) {/Helvetica cf} 2 20 0 1.00 240 -352 pinlabel
-(17) {/Helvetica cf} 2 20 0 1.00 240 -288 pinlabel
-(18) {/Helvetica cf} 2 20 0 1.00 240 -224 pinlabel
-(19) {/Helvetica cf} 2 20 0 1.00 240 -160 pinlabel
-(20) {/Helvetica cf} 2 20 0 1.00 240 -96 pinlabel
-(21) {/Helvetica cf} 2 20 0 1.00 240 -32 pinlabel
-(22) {/Helvetica cf} 2 20 0 1.00 240 32 pinlabel
-(23) {/Helvetica cf} 2 20 0 1.00 240 96 pinlabel
-(24) {/Helvetica cf} 2 20 0 1.00 240 160 pinlabel
-(25) {/Helvetica cf} 2 20 0 1.00 240 224 pinlabel
-(26) {/Helvetica cf} 2 20 0 1.00 240 288 pinlabel
-(27) {/Helvetica cf} 2 20 0 1.00 240 352 pinlabel
-(28) {/Helvetica cf} 2 20 0 1.00 240 416 pinlabel
-endgate
-} def
-
-/TK11950 {
-% -336 -112 672 224 bbox
-(?) 1 beginparm
-0 1.00 -336 -112 -336 112 336 112 336 -112 4 polygon
-(NOISE BYPASS) {/Helvetica cf} 2 20 0 1.00 -320 64 label
-(CONTROL) {/Helvetica cf} 2 20 0 1.00 -320 0 label
-(RESET OUT) {/Helvetica cf} 2 20 0 1.00 -320 -64 label
-(VO) {/Helvetica cf} 2 23 0 1.00 320 -64 label
-(GND) {/Helvetica cf} 2 23 0 1.00 320 0 label
-(VIN) {/Helvetica cf} 2 23 0 1.00 320 64 label
-(TK11950) {/Helvetica-Bold cf} 2 21 0 1.00 64 16 label
-(V) {hS} (5.0) {/Helvetica cf} 4 29 0 1.00 64 -32 label
-sce
-mark v1 (pcb:U) {/Helvetica cf} ctmk 21 0 1.00 0 -144 infolabel
-1.000 0.000 0.000 scb
-(1) {/Helvetica cf} 2 23 0 1.00 -336 64 pinlabel
-(2) {/Helvetica cf} 2 23 0 1.00 -336 0 pinlabel
-(3) {/Helvetica cf} 2 23 0 1.00 -336 -64 pinlabel
-(4) {/Helvetica cf} 2 20 0 1.00 336 -64 pinlabel
-(5) {/Helvetica cf} 2 20 0 1.00 336 0 pinlabel
-(6) {/Helvetica cf} 2 20 0 1.00 336 64 pinlabel
-endgate
-} def
-
-/Capacitor {
-% -32 -64 186 128 bbox
-(1.0) (\265) (?) 3 beginparm
-1 1.00 0 -64 0 -6 2 polygon
-1 1.00 0 64 0 6 2 polygon
-1 1.00 -32 6 32 6 2 polygon
-1 1.00 -32 -6 32 -6 2 polygon
-1.000 0.000 0.000 scb
-(1) {/Times-Roman cf} 2 9 0 1.00 0 64 pinlabel
-(2) {/Times-Roman cf} 2 13 0 1.00 0 -64 pinlabel
-sce
-mark v2 v1 ( %p1 %p2 ) v3 (spice:C) {/Times-RomanISO cf} ctmk 4 0 1.00 -208
--160 infolabel
-sce
-(sim:c %p1 %p2) {/Times-Roman cf} 2 4 0 1.00 -208 -208 infolabel
-mark (F) v2 {hS} v1 {/Times-RomanISO cf} ctmk 20 0 1.00 48 0 label
-sce
-mark v3 (pcb:C) {/Times-Roman cf} ctmk 20 0 1.00 -208 -256 infolabel
-endgate
-} def
-
-/LM13700 {
-% -256 -256 480 544 bbox
-(?) 1 beginparm
-0 1.00 -256 -256 -256 288 224 288 224 -256 4 polygon
-(BufIn1) {/Helvetica cf} 2 20 0 1.00 -240 -144 label
-(BufOut1) {/Helvetica cf} 2 20 0 1.00 -240 -208 label
-(BufIn2) {/Helvetica cf} 2 23 0 1.00 208 -144 label
-(+) {/Symbol cf} (V) {/Helvetica cf} 4 23 0 1.00 208 -80 label
-(Out2) {/Helvetica cf} 2 23 0 1.00 208 -16 label
-1.000 0.000 0.000 scb
-(7) {/Helvetica cf} 2 23 0 1.00 -256 -144 pinlabel
-(8) {/Helvetica cf} 2 23 0 1.00 -256 -208 pinlabel
-(10) {/Helvetica cf} 2 20 0 1.00 224 -144 pinlabel
-(11) {/Helvetica cf} 2 20 0 1.00 224 -80 pinlabel
-(12) {/Helvetica cf} 2 20 0 1.00 224 -16 pinlabel
-sce
-(LM13700) {/Helvetica-Bold cf} 2 21 0 1.00 -16 16 label
-(Iabc1) {/Helvetica cf} 2 20 0 1.00 -240 240 label
-(Dbias1) {/Helvetica cf} 2 20 0 1.00 -240 176 label
-(1) {/Helvetica cf} (+) {/Symbol cf} (In) {/Helvetica cf} 6 20 0 1.00 -240 112
-label
-(Out1) {/Helvetica cf} 2 20 0 1.00 -240 -16 label
-1.000 0.000 0.000 scb
-(1) {/Helvetica cf} 2 23 0 1.00 -256 240 pinlabel
-(2) {/Helvetica cf} 2 23 0 1.00 -256 176 pinlabel
-(3) {/Helvetica cf} 2 23 0 1.00 -256 112 pinlabel
-(4) {/Helvetica cf} 2 23 0 1.00 -256 48 pinlabel
-(5) {/Helvetica cf} 2 23 0 1.00 -256 -16 pinlabel
-(14) {/Helvetica cf} 2 20 0 1.00 224 112 pinlabel
-(15) {/Helvetica cf} 2 20 0 1.00 224 176 pinlabel
-(16) {/Helvetica cf} 2 20 0 1.00 224 240 pinlabel
-sce
-(-) {/Symbol cf} (V) {/Helvetica cf} 4 20 0 1.00 -240 -80 label
-1.000 0.000 0.000 scb
-(6) {/Helvetica cf} 2 23 0 1.00 -256 -80 pinlabel
-(13) {/Helvetica cf} 2 20 0 1.00 224 48 pinlabel
-sce
-(BufOut2) {/Helvetica cf} 2 23 0 1.00 208 -208 label
-1.000 0.000 0.000 scb
-(9) {/Helvetica cf} 2 20 0 1.00 224 -208 pinlabel
-sce
-(1) {/Helvetica cf} (-) {/Symbol cf} (In) {/Helvetica cf} 6 20 0 1.00 -240 48
-label
-(Iabc2) {/Helvetica cf} 2 23 0 1.00 208 240 label
-(Dbias2) {/Helvetica cf} 2 23 0 1.00 208 176 label
-(2) {/Helvetica cf} (+) {/Symbol cf} (In) {/Helvetica cf} 6 23 0 1.00 208 112
-label
-(2) {/Helvetica cf} (-) {/Symbol cf} (In) {/Helvetica cf} 6 23 0 1.00 208 48
-label
-sce
-mark v1 (pcb:U) {/Helvetica cf} ctmk 21 0 1.00 -16 -304 infolabel
-endgate
-} def
-
-/Resistor {
-% -14 -64 157 128 bbox
-(1.0) (k) (?) 3 beginparm
-1 1.00 0 64 0 36 2 polygon
-1 1.00 0 -64 0 -36 2 polygon
-1 1.00 0 -36 14 -30 -14 -18 14 -6 -14 6 14 18 -14 30 0 36 8 polygon
-1.000 0.000 0.000 scb
-(1) {/Times-Roman cf} 2 9 0 1.00 0 64 pinlabel
-(2) {/Times-Roman cf} 2 13 0 1.00 0 -64 pinlabel
-sce
-mark v2 v1 ( %p1 %p2 ) v3 (spice:R) {/Times-Roman cf} ctmk 4 0 1.00 -208 -160
-infolabel
-sce
-(sim:R %p1 %p2) {/Times-Roman cf} 2 4 0 1.00 -208 -208 infolabel
-mark (W) {/Symbol cf} v2 {hS} v1 {/Times-Roman cf} ctmk 20 0 1.00 32 0 label
-sce
-mark v3 (pcb:R) {/Times-Roman cf} ctmk 20 0 1.00 -208 -256 infolabel
-endgate
-} def
-
-/gnd {
-% -32 -60 64 68 bbox
-% trivial
-begingate
-1 1.00 0 0 0 -32 2 polygon
-1 1.00 -32 -32 32 -32 2 polygon
-1 1.00 -18 -46 18 -46 2 polygon
-1 1.00 -4 -60 4 -60 2 polygon
-1.000 0.000 0.000 scb
-(GND) {/Times-Roman cf} 2 1 0 1.00 0 0 pinglobal
-endgate
-} def
-
-/dot {
-% -10 -10 20 20 bbox
-% trivial
-begingate
-248 1.00 0 0 6 0.00 360.00 xcarc
-1.000 0.000 0.000 scb
-(x) {/Times-Roman cf} 2 29 0 1.00 0 0 pinlabel
-endgate
-} def
-
-/vdd {
-% -32 0 64 66 bbox
-% trivial
-begingate
-1 1.00 0 0 0 32 2 polygon
-1 1.00 -32 32 32 32 2 polygon
-(Vdd) {/Times-Roman cf} 2 17 0 0.90 0 38 label
-1.000 0.000 0.000 scb
-(Vdd) {/Times-Roman cf} 2 13 0 1.00 0 0 pinglobal
-endgate
-} def
-
-%%Page: 1 1
-%%PageOrientation: Portrait
-/pgsave save def bop
-% 1688 848 offsets
-1.0000 inchscale
-2.6000 setlinewidth
-
-1.00 0 664 1648 [(5) ] PIC16C54
-1.00 180 -24 2384 [(6) ] LTC490
-1.00 0 712 -160 [(2) ] terminal_block
-1.00 0 1800 944 [(7) ] LTC1152
-1.00 0 -568 1296 [(3) ] DSUB9
-1.00 180 1576 2192 [(1) ] Crystal
-1.00 0 904 1088 [(2) ] ADC12138
-1.00 -181 -56 1664 [(4) ] TK11950
-1 1.00 1432 2288 1304 2288 1304 2208 1144 2208 4 polygon
-1.00 -1 2072 1168 Capacitor
-1.00 0 920 304 [(1) ] LM13700
-1.00 0 1096 -160 [(1) ] terminal_block
-1.00 0 1320 1424 Resistor
-1.00 0 120 1984 Resistor
-1.00 0 328 1456 Resistor
-1.00 -1 -696 2064 Resistor
-1.00 0 408 1600 Resistor
-1.00 0 1384 992 Resistor
-1.00 0 1784 2224 Capacitor
-1.00 -1 1512 720 Capacitor
-1.00 0 2088 832 Capacitor
-1.00 0 -280 1456 Capacitor
-1.00 0 504 416 Capacitor
-1 1.00 664 544 504 544 504 480 3 polygon
-1 1.00 504 352 504 224 664 224 3 polygon
-1 1.00 -664 1328 -664 224 504 224 3 polygon
-1.00 0 -664 224 gnd
-1 1.00 664 160 -472 160 -472 1328 3 polygon
-1 1.00 -696 2000 -696 1392 2 polygon
-1 1.00 -440 2240 -504 2240 -504 1392 3 polygon
-1 1.00 -440 2336 -568 2336 -568 1392 3 polygon
-1 1.00 280 1664 408 1664 408 2336 -24 2336 4 polygon
-1 1.00 -24 2048 344 2048 2 polygon
-1 1.00 344 2048 344 1728 280 1728 3 polygon
-1 1.00 328 1520 328 1600 280 1600 3 polygon
-1 1.00 408 1664 408 1664 2 polygon
-1 1.00 328 1520 408 1520 408 1536 3 polygon
-1.00 -181 1704 1760 [(3) ] TK11950
-1 1.00 1144 736 1352 736 2 polygon
-1.00 0 1352 736 dot
-1 1.00 1608 896 1384 896 1384 928 3 polygon
-1 1.00 1608 1088 1384 1088 1384 1056 3 polygon
-1 1.00 1992 992 2136 992 2136 1232 1384 1232 1384 1088 5 polygon
-1.00 0 1384 1088 dot
-1 1.00 -440 2144 -696 2144 -696 2128 3 polygon
-1 1.00 -440 2048 -536 2048 -536 2000 -696 2000 4 polygon
-1 1.00 -632 1392 -632 2144 2 polygon
-1.00 0 -632 2144 dot
-1.00 0 -696 2000 dot
-1 1.00 -440 1392 -440 1888 408 1888 3 polygon
-1.00 0 408 1888 dot
-1.00 0 408 1664 dot
-1.00 0 328 1520 dot
-1 1.00 1144 2016 1368 2016 1368 2112 1432 2112 4 polygon
-1 1.00 664 2016 568 2016 568 2432 1784 2432 1784 2288 1720 2288 6 polygon
-1 1.00 1352 2016 1784 2016 1784 2160 3 polygon
-1.00 0 1368 2016 dot
-1 1.00 1144 1376 1240 1376 1240 2144 1144 2144 4 polygon
-1 1.00 1144 1312 1224 1312 1224 1632 616 1632 616 1888 664 1888 6 polygon
-1 1.00 1144 1248 1208 1248 1208 1616 600 1616 600 1824 664 1824 6 polygon
-1 1.00 1144 1184 1192 1184 1192 1600 584 1600 584 1760 664 1760 6 polygon
-1 1.00 1144 1120 1176 1120 1176 1584 568 1584 568 1696 664 1696 6 polygon
-1 1.00 1144 1056 1256 1056 1256 1760 1144 1760 4 polygon
-1 1.00 1144 992 1272 992 1272 1696 1144 1696 4 polygon
-1 1.00 1144 2272 1208 2272 1208 2416 24 2416 24 2240 -24 2240 6 polygon
-1 1.00 -24 2144 40 2144 40 2400 1176 2400 1176 2336 1144 2336 6 polygon
-1 1.00 664 736 632 736 632 800 664 800 4 polygon
-1 1.00 664 864 632 864 632 928 664 928 4 polygon
-1 1.00 664 672 600 672 2 polygon
-1.00 0 456 608 gnd
-1.00 0 -280 1360 gnd
-1 1.00 -280 1392 -440 1392 2 polygon
-1.00 0 1368 2112 vdd
-1 1.00 1992 800 2040 800 2040 768 2088 768 4 polygon
-1.00 0 1512 640 dot
-1 1.00 1608 800 1512 800 1512 784 3 polygon
-1.00 0 2088 896 dot
-1 1.00 1992 1088 2072 1088 2072 1104 3 polygon
-1.00 0 2072 1232 dot
-1 1.00 664 96 408 96 408 480 664 480 4 polygon
-1 1.00 408 96 408 0 1208 0 1208 480 1128 480 5 polygon
-1.00 0 408 96 dot
-1 1.00 408 480 408 1040 536 1040 536 1440 664 1440 5 polygon
-1.00 0 408 480 dot
-(Flare Genesis) {/Helvetica cf} 2 16 0 1.50 1896 432 label
-(LED Interface) {/Helvetica cf} 2 16 0 1.50 1896 336 label
-1 1.00 664 416 632 416 632 16 712 16 712 -176 5 polygon
-1 1.00 664 352 616 352 616 -176 3 polygon
-1 1.00 1000 -176 1000 -16 1240 -16 1240 352 1144 352 5 polygon
-1 1.00 1096 -176 1096 -32 1256 -32 1256 416 1144 416 5 polygon
-1 1.00 1192 -176 1192 -288 344 -288 344 1072 504 1072 504 1248 664 1248
-7 polygon
-1 1.00 1144 288 1304 288 1304 -320 296 -320 296 1104 472 1104 472 1504 664
-1504 8 polygon
-1 1.00 1144 672 1288 672 1288 800 1144 800 4 polygon
-1 1.00 1384 1072 1288 1072 1288 800 1192 800 4 polygon
-1.00 0 1288 800 dot
-1.00 0 1384 1072 dot
-1 1.00 1144 864 1240 864 1240 928 1144 928 4 polygon
-1 1.00 1560 848 1560 992 1608 992 3 polygon
-1 1.00 1560 848 1352 848 1352 640 2136 640 2136 896 1992 896 6 polygon
-1 1.00 1512 656 1512 640 2 polygon
-1 1.00 1576 800 1576 720 2 polygon
-1.00 0 1576 800 dot
-1.00 0 1576 720 gnd
-1 1.00 -392 1664 -440 1664 2 polygon
-1.00 0 -440 1664 dot
-1 1.00 -392 1728 -424 1728 -424 1856 472 1856 472 2144 664 2144 6 polygon
-1 1.00 120 1920 120 1856 2 polygon
-1.00 0 120 2048 dot
-1.00 0 120 1856 dot
-1 1.00 -392 1600 -408 1600 -408 1520 -280 1520 4 polygon
-1 1.00 -280 1360 -280 1392 2 polygon
-1.00 0 -280 1392 dot
-1 1.00 328 1392 328 1248 -472 1248 3 polygon
-1.00 0 -472 1248 dot
-1 1.00 1144 224 1320 224 2 polygon
-1 1.00 1176 224 1176 32 504 32 504 160 4 polygon
-1.00 0 504 160 dot
-1.00 0 1176 224 dot
-1 1.00 1320 1360 1320 224 2 polygon
-1 1.00 2136 1232 2136 1696 2040 1696 3 polygon
-1.00 0 2136 1232 dot
-1 1.00 2040 1760 2136 1760 2136 1936 1320 1936 1320 1760 1368 1760 6 polygon
-1 1.00 1320 1488 1320 1584 2088 1584 2088 1824 2040 1824 5 polygon
-1 1.00 664 992 600 992 600 1184 664 1184 4 polygon
-1 1.00 664 1120 600 1120 2 polygon
-1 1.00 664 1056 600 1056 2 polygon
-1.00 0 600 1056 dot
-1.00 0 600 1120 dot
-1 1.00 600 992 600 608 2 polygon
-1.00 0 600 672 dot
-1.00 0 600 992 dot
-1 1.00 1240 864 1240 608 456 608 3 polygon
-1.00 0 600 608 dot
-1.00 0 1240 864 dot
-(is not complete!) {CR} (this schematic) {/Helvetica cf} 4 16 0 1.00 1864 -80
-label
-0 1.00 1592 -176 1592 496 2456 496 2456 -176 4 polygon
-1 1.00 1592 400 2456 400 2 polygon
-1 1.00 1592 304 2456 304 2 polygon
-(1.0) {/Helvetica cf} 2 16 0 1.50 1896 240 label
-1 1.00 1592 208 2456 208 2 polygon
-(Project:) {/Helvetica cf} 2 16 0 1.50 1624 432 label
-(Name:) {/Helvetica cf} 2 16 0 1.50 1624 336 label
-(Revision:) {/Helvetica cf} 2 16 0 1.50 1624 240 label
-(Design:) {/Helvetica cf} 2 16 0 1.50 1624 144 label
-(Date:) {/Helvetica cf} 2 16 0 1.50 1624 48 label
-(Notes:) {/Helvetica cf} 2 16 0 1.50 1624 -48 label
-1 1.00 1592 112 2456 112 2 polygon
-1 1.00 1592 16 2456 16 2 polygon
-(Harry Eaton) {/Helvetica cf} 2 16 0 1.50 1912 144 label
-0 1.00 1576 -192 1576 512 2472 512 2472 -192 4 polygon
-1.00 0 -664 224 dot
-pgsave restore showpage
-
-%%Trailer
-XCIRCsave restore
-%%EOF
diff --git a/tutorial/pcb/LED b/tutorial/pcb/LED
deleted file mode 100755
index dcfdb16..0000000
--- a/tutorial/pcb/LED
+++ /dev/null
@@ -1,1794 +0,0 @@
-# release: pcb 1.7.0.ALPHA
-# date: Sat Jan 16 20:06:58 1999
-# user: root (root)
-# host: localhost
-
-PCB("" 3500 3300)
-
-Grid(5 0 0 0)
-Cursor(65 880 4)
-Flags(0x000001d0)
-Groups("4,5,6,c:1,2,3,s:8:7:")
-Styles("Signal,10,40,20:Power,25,60,35:Fat,40,60,35:Skinny,8,36,20")
-
-Symbol(' ' 18)
-(
-)
-Symbol('!' 12)
-(
- SymbolLine(0 35 0 40 8)
- SymbolLine(0 0 0 25 8)
-)
-Symbol('"' 12)
-(
- SymbolLine(0 0 0 10 8)
- SymbolLine(10 0 10 10 8)
-)
-Symbol('#' 12)
-(
- SymbolLine(0 25 20 25 8)
- SymbolLine(0 15 20 15 8)
- SymbolLine(15 10 15 30 8)
- SymbolLine(5 10 5 30 8)
-)
-Symbol('$' 12)
-(
- SymbolLine(15 5 20 10 8)
- SymbolLine(5 5 15 5 8)
- SymbolLine(0 10 5 5 8)
- SymbolLine(0 10 0 15 8)
- SymbolLine(0 15 5 20 8)
- SymbolLine(5 20 15 20 8)
- SymbolLine(15 20 20 25 8)
- SymbolLine(20 25 20 30 8)
- SymbolLine(15 35 20 30 8)
- SymbolLine(5 35 15 35 8)
- SymbolLine(0 30 5 35 8)
- SymbolLine(10 0 10 40 8)
-)
-Symbol('%' 12)
-(
- SymbolLine(0 5 0 10 8)
- SymbolLine(0 5 5 0 8)
- SymbolLine(5 0 10 0 8)
- SymbolLine(10 0 15 5 8)
- SymbolLine(15 5 15 10 8)
- SymbolLine(10 15 15 10 8)
- SymbolLine(5 15 10 15 8)
- SymbolLine(0 10 5 15 8)
- SymbolLine(0 40 40 0 8)
- SymbolLine(35 40 40 35 8)
- SymbolLine(40 30 40 35 8)
- SymbolLine(35 25 40 30 8)
- SymbolLine(30 25 35 25 8)
- SymbolLine(25 30 30 25 8)
- SymbolLine(25 30 25 35 8)
- SymbolLine(25 35 30 40 8)
- SymbolLine(30 40 35 40 8)
-)
-Symbol('&' 12)
-(
- SymbolLine(0 35 5 40 8)
- SymbolLine(0 5 0 15 8)
- SymbolLine(0 5 5 0 8)
- SymbolLine(0 25 15 10 8)
- SymbolLine(5 40 10 40 8)
- SymbolLine(10 40 20 30 8)
- SymbolLine(0 15 25 40 8)
- SymbolLine(5 0 10 0 8)
- SymbolLine(10 0 15 5 8)
- SymbolLine(15 5 15 10 8)
- SymbolLine(0 25 0 35 8)
-)
-Symbol(''' 12)
-(
- SymbolLine(0 10 10 0 8)
-)
-Symbol('(' 12)
-(
- SymbolLine(0 35 5 40 8)
- SymbolLine(0 5 5 0 8)
- SymbolLine(0 5 0 35 8)
-)
-Symbol(')' 12)
-(
- SymbolLine(0 0 5 5 8)
- SymbolLine(5 5 5 35 8)
- SymbolLine(0 40 5 35 8)
-)
-Symbol('*' 12)
-(
- SymbolLine(0 10 20 30 8)
- SymbolLine(0 30 20 10 8)
- SymbolLine(0 20 20 20 8)
- SymbolLine(10 10 10 30 8)
-)
-Symbol('+' 12)
-(
- SymbolLine(0 20 20 20 8)
- SymbolLine(10 10 10 30 8)
-)
-Symbol(',' 12)
-(
- SymbolLine(0 50 10 40 8)
-)
-Symbol('-' 12)
-(
- SymbolLine(0 20 20 20 8)
-)
-Symbol('.' 12)
-(
- SymbolLine(0 40 5 40 8)
-)
-Symbol('/' 12)
-(
- SymbolLine(0 35 30 5 8)
-)
-Symbol('0' 12)
-(
- SymbolLine(0 35 5 40 8)
- SymbolLine(0 5 0 35 8)
- SymbolLine(0 5 5 0 8)
- SymbolLine(5 0 15 0 8)
- SymbolLine(15 0 20 5 8)
- SymbolLine(20 5 20 35 8)
- SymbolLine(15 40 20 35 8)
- SymbolLine(5 40 15 40 8)
- SymbolLine(0 30 20 10 8)
-)
-Symbol('1' 12)
-(
- SymbolLine(5 40 15 40 8)
- SymbolLine(10 0 10 40 8)
- SymbolLine(0 10 10 0 8)
-)
-Symbol('2' 12)
-(
- SymbolLine(0 5 5 0 8)
- SymbolLine(5 0 20 0 8)
- SymbolLine(20 0 25 5 8)
- SymbolLine(25 5 25 15 8)
- SymbolLine(0 40 25 15 8)
- SymbolLine(0 40 25 40 8)
-)
-Symbol('3' 12)
-(
- SymbolLine(0 5 5 0 8)
- SymbolLine(5 0 15 0 8)
- SymbolLine(15 0 20 5 8)
- SymbolLine(20 5 20 35 8)
- SymbolLine(15 40 20 35 8)
- SymbolLine(5 40 15 40 8)
- SymbolLine(0 35 5 40 8)
- SymbolLine(5 20 20 20 8)
-)
-Symbol('4' 12)
-(
- SymbolLine(0 20 20 0 8)
- SymbolLine(0 20 25 20 8)
- SymbolLine(20 0 20 40 8)
-)
-Symbol('5' 12)
-(
- SymbolLine(0 0 20 0 8)
- SymbolLine(0 0 0 20 8)
- SymbolLine(0 20 5 15 8)
- SymbolLine(5 15 15 15 8)
- SymbolLine(15 15 20 20 8)
- SymbolLine(20 20 20 35 8)
- SymbolLine(15 40 20 35 8)
- SymbolLine(5 40 15 40 8)
- SymbolLine(0 35 5 40 8)
-)
-Symbol('6' 12)
-(
- SymbolLine(15 0 20 5 8)
- SymbolLine(5 0 15 0 8)
- SymbolLine(0 5 5 0 8)
- SymbolLine(0 5 0 35 8)
- SymbolLine(0 35 5 40 8)
- SymbolLine(15 20 20 25 8)
- SymbolLine(0 20 15 20 8)
- SymbolLine(5 40 15 40 8)
- SymbolLine(15 40 20 35 8)
- SymbolLine(20 25 20 35 8)
-)
-Symbol('7' 12)
-(
- SymbolLine(0 40 25 15 8)
- SymbolLine(25 0 25 15 8)
- SymbolLine(0 0 25 0 8)
-)
-Symbol('8' 12)
-(
- SymbolLine(0 35 5 40 8)
- SymbolLine(0 25 0 35 8)
- SymbolLine(0 25 5 20 8)
- SymbolLine(5 20 15 20 8)
- SymbolLine(15 20 20 25 8)
- SymbolLine(20 25 20 35 8)
- SymbolLine(15 40 20 35 8)
- SymbolLine(5 40 15 40 8)
- SymbolLine(0 15 5 20 8)
- SymbolLine(0 5 0 15 8)
- SymbolLine(0 5 5 0 8)
- SymbolLine(5 0 15 0 8)
- SymbolLine(15 0 20 5 8)
- SymbolLine(20 5 20 15 8)
- SymbolLine(15 20 20 15 8)
-)
-Symbol('9' 12)
-(
- SymbolLine(0 40 20 20 8)
- SymbolLine(20 5 20 20 8)
- SymbolLine(15 0 20 5 8)
- SymbolLine(5 0 15 0 8)
- SymbolLine(0 5 5 0 8)
- SymbolLine(0 5 0 15 8)
- SymbolLine(0 15 5 20 8)
- SymbolLine(5 20 20 20 8)
-)
-Symbol(':' 12)
-(
- SymbolLine(0 15 5 15 8)
- SymbolLine(0 25 5 25 8)
-)
-Symbol(';' 12)
-(
- SymbolLine(0 40 10 30 8)
- SymbolLine(10 15 10 20 8)
-)
-Symbol('<' 12)
-(
- SymbolLine(0 20 10 10 8)
- SymbolLine(0 20 10 30 8)
-)
-Symbol('=' 12)
-(
- SymbolLine(0 15 20 15 8)
- SymbolLine(0 25 20 25 8)
-)
-Symbol('>' 12)
-(
- SymbolLine(0 10 10 20 8)
- SymbolLine(0 30 10 20 8)
-)
-Symbol('?' 12)
-(
- SymbolLine(10 20 10 25 8)
- SymbolLine(10 35 10 40 8)
- SymbolLine(0 5 0 10 8)
- SymbolLine(0 5 5 0 8)
- SymbolLine(5 0 15 0 8)
- SymbolLine(15 0 20 5 8)
- SymbolLine(20 5 20 10 8)
- SymbolLine(10 20 20 10 8)
-)
-Symbol('A' 12)
-(
- SymbolLine(0 5 0 40 8)
- SymbolLine(0 5 5 0 8)
- SymbolLine(5 0 20 0 8)
- SymbolLine(20 0 25 5 8)
- SymbolLine(25 5 25 40 8)
- SymbolLine(0 20 25 20 8)
-)
-Symbol('B' 12)
-(
- SymbolLine(0 40 20 40 8)
- SymbolLine(20 40 25 35 8)
- SymbolLine(25 25 25 35 8)
- SymbolLine(20 20 25 25 8)
- SymbolLine(5 20 20 20 8)
- SymbolLine(5 0 5 40 8)
- SymbolLine(0 0 20 0 8)
- SymbolLine(20 0 25 5 8)
- SymbolLine(25 5 25 15 8)
- SymbolLine(20 20 25 15 8)
-)
-Symbol('C' 12)
-(
- SymbolLine(5 40 20 40 8)
- SymbolLine(0 35 5 40 8)
- SymbolLine(0 5 0 35 8)
- SymbolLine(0 5 5 0 8)
- SymbolLine(5 0 20 0 8)
-)
-Symbol('D' 12)
-(
- SymbolLine(5 0 5 40 8)
- SymbolLine(20 0 25 5 8)
- SymbolLine(25 5 25 35 8)
- SymbolLine(20 40 25 35 8)
- SymbolLine(0 40 20 40 8)
- SymbolLine(0 0 20 0 8)
-)
-Symbol('E' 12)
-(
- SymbolLine(0 20 15 20 8)
- SymbolLine(0 40 20 40 8)
- SymbolLine(0 0 0 40 8)
- SymbolLine(0 0 20 0 8)
-)
-Symbol('F' 12)
-(
- SymbolLine(0 0 0 40 8)
- SymbolLine(0 0 20 0 8)
- SymbolLine(0 20 15 20 8)
-)
-Symbol('G' 12)
-(
- SymbolLine(20 0 25 5 8)
- SymbolLine(5 0 20 0 8)
- SymbolLine(0 5 5 0 8)
- SymbolLine(0 5 0 35 8)
- SymbolLine(0 35 5 40 8)
- SymbolLine(5 40 20 40 8)
- SymbolLine(20 40 25 35 8)
- SymbolLine(25 25 25 35 8)
- SymbolLine(20 20 25 25 8)
- SymbolLine(10 20 20 20 8)
-)
-Symbol('H' 12)
-(
- SymbolLine(0 0 0 40 8)
- SymbolLine(25 0 25 40 8)
- SymbolLine(0 20 25 20 8)
-)
-Symbol('I' 12)
-(
- SymbolLine(0 0 10 0 8)
- SymbolLine(5 0 5 40 8)
- SymbolLine(0 40 10 40 8)
-)
-Symbol('J' 12)
-(
- SymbolLine(0 0 15 0 8)
- SymbolLine(15 0 15 35 8)
- SymbolLine(10 40 15 35 8)
- SymbolLine(5 40 10 40 8)
- SymbolLine(0 35 5 40 8)
-)
-Symbol('K' 12)
-(
- SymbolLine(0 0 0 40 8)
- SymbolLine(0 20 20 0 8)
- SymbolLine(0 20 20 40 8)
-)
-Symbol('L' 12)
-(
- SymbolLine(0 0 0 40 8)
- SymbolLine(0 40 20 40 8)
-)
-Symbol('M' 12)
-(
- SymbolLine(0 0 0 40 8)
- SymbolLine(0 0 15 15 8)
- SymbolLine(15 15 30 0 8)
- SymbolLine(30 0 30 40 8)
-)
-Symbol('N' 12)
-(
- SymbolLine(0 0 0 40 8)
- SymbolLine(0 0 0 5 8)
- SymbolLine(0 5 25 30 8)
- SymbolLine(25 0 25 40 8)
-)
-Symbol('O' 12)
-(
- SymbolLine(0 5 0 35 8)
- SymbolLine(0 5 5 0 8)
- SymbolLine(5 0 15 0 8)
- SymbolLine(15 0 20 5 8)
- SymbolLine(20 5 20 35 8)
- SymbolLine(15 40 20 35 8)
- SymbolLine(5 40 15 40 8)
- SymbolLine(0 35 5 40 8)
-)
-Symbol('P' 12)
-(
- SymbolLine(5 0 5 40 8)
- SymbolLine(0 0 20 0 8)
- SymbolLine(20 0 25 5 8)
- SymbolLine(25 5 25 15 8)
- SymbolLine(20 20 25 15 8)
- SymbolLine(5 20 20 20 8)
-)
-Symbol('Q' 12)
-(
- SymbolLine(0 5 0 35 8)
- SymbolLine(0 5 5 0 8)
- SymbolLine(5 0 15 0 8)
- SymbolLine(15 0 20 5 8)
- SymbolLine(20 5 20 35 8)
- SymbolLine(15 40 20 35 8)
- SymbolLine(5 40 15 40 8)
- SymbolLine(0 35 5 40 8)
- SymbolLine(10 30 20 40 8)
-)
-Symbol('R' 12)
-(
- SymbolLine(0 0 20 0 8)
- SymbolLine(20 0 25 5 8)
- SymbolLine(25 5 25 15 8)
- SymbolLine(20 20 25 15 8)
- SymbolLine(5 20 20 20 8)
- SymbolLine(5 0 5 40 8)
- SymbolLine(5 20 25 40 8)
-)
-Symbol('S' 12)
-(
- SymbolLine(20 0 25 5 8)
- SymbolLine(5 0 20 0 8)
- SymbolLine(0 5 5 0 8)
- SymbolLine(0 5 0 15 8)
- SymbolLine(0 15 5 20 8)
- SymbolLine(5 20 20 20 8)
- SymbolLine(20 20 25 25 8)
- SymbolLine(25 25 25 35 8)
- SymbolLine(20 40 25 35 8)
- SymbolLine(5 40 20 40 8)
- SymbolLine(0 35 5 40 8)
-)
-Symbol('T' 12)
-(
- SymbolLine(0 0 20 0 8)
- SymbolLine(10 0 10 40 8)
-)
-Symbol('U' 12)
-(
- SymbolLine(0 0 0 35 8)
- SymbolLine(0 35 5 40 8)
- SymbolLine(5 40 15 40 8)
- SymbolLine(15 40 20 35 8)
- SymbolLine(20 0 20 35 8)
-)
-Symbol('V' 12)
-(
- SymbolLine(0 0 0 30 8)
- SymbolLine(0 30 10 40 8)
- SymbolLine(10 40 20 30 8)
- SymbolLine(20 0 20 30 8)
-)
-Symbol('W' 12)
-(
- SymbolLine(0 0 0 40 8)
- SymbolLine(0 40 15 25 8)
- SymbolLine(15 25 30 40 8)
- SymbolLine(30 0 30 40 8)
-)
-Symbol('X' 12)
-(
- SymbolLine(0 0 0 5 8)
- SymbolLine(0 5 25 30 8)
- SymbolLine(25 30 25 40 8)
- SymbolLine(0 30 0 40 8)
- SymbolLine(0 30 25 5 8)
- SymbolLine(25 0 25 5 8)
-)
-Symbol('Y' 12)
-(
- SymbolLine(0 0 0 5 8)
- SymbolLine(0 5 10 15 8)
- SymbolLine(10 15 20 5 8)
- SymbolLine(20 0 20 5 8)
- SymbolLine(10 15 10 40 8)
-)
-Symbol('Z' 12)
-(
- SymbolLine(0 0 25 0 8)
- SymbolLine(25 0 25 5 8)
- SymbolLine(0 30 25 5 8)
- SymbolLine(0 30 0 40 8)
- SymbolLine(0 40 25 40 8)
-)
-Symbol('[' 12)
-(
- SymbolLine(0 0 5 0 8)
- SymbolLine(0 0 0 40 8)
- SymbolLine(0 40 5 40 8)
-)
-Symbol('\' 12)
-(
- SymbolLine(0 5 30 35 8)
-)
-Symbol(']' 12)
-(
- SymbolLine(0 0 5 0 8)
- SymbolLine(5 0 5 40 8)
- SymbolLine(0 40 5 40 8)
-)
-Symbol('^' 12)
-(
- SymbolLine(0 5 5 0 8)
- SymbolLine(5 0 10 5 8)
-)
-Symbol('_' 12)
-(
- SymbolLine(0 40 20 40 8)
-)
-Symbol('a' 12)
-(
- SymbolLine(15 20 20 25 8)
- SymbolLine(5 20 15 20 8)
- SymbolLine(0 25 5 20 8)
- SymbolLine(0 25 0 35 8)
- SymbolLine(0 35 5 40 8)
- SymbolLine(20 20 20 35 8)
- SymbolLine(20 35 25 40 8)
- SymbolLine(5 40 15 40 8)
- SymbolLine(15 40 20 35 8)
-)
-Symbol('b' 12)
-(
- SymbolLine(0 0 0 40 8)
- SymbolLine(0 35 5 40 8)
- SymbolLine(5 40 15 40 8)
- SymbolLine(15 40 20 35 8)
- SymbolLine(20 25 20 35 8)
- SymbolLine(15 20 20 25 8)
- SymbolLine(5 20 15 20 8)
- SymbolLine(0 25 5 20 8)
-)
-Symbol('c' 12)
-(
- SymbolLine(5 20 20 20 8)
- SymbolLine(0 25 5 20 8)
- SymbolLine(0 25 0 35 8)
- SymbolLine(0 35 5 40 8)
- SymbolLine(5 40 20 40 8)
-)
-Symbol('d' 12)
-(
- SymbolLine(20 0 20 40 8)
- SymbolLine(15 40 20 35 8)
- SymbolLine(5 40 15 40 8)
- SymbolLine(0 35 5 40 8)
- SymbolLine(0 25 0 35 8)
- SymbolLine(0 25 5 20 8)
- SymbolLine(5 20 15 20 8)
- SymbolLine(15 20 20 25 8)
-)
-Symbol('e' 12)
-(
- SymbolLine(5 40 20 40 8)
- SymbolLine(0 35 5 40 8)
- SymbolLine(0 25 0 35 8)
- SymbolLine(0 25 5 20 8)
- SymbolLine(5 20 15 20 8)
- SymbolLine(15 20 20 25 8)
- SymbolLine(0 30 20 30 8)
- SymbolLine(20 30 20 25 8)
-)
-Symbol('f' 10)
-(
- SymbolLine(5 5 5 40 8)
- SymbolLine(5 5 10 0 8)
- SymbolLine(10 0 15 0 8)
- SymbolLine(0 20 10 20 8)
-)
-Symbol('g' 12)
-(
- SymbolLine(15 20 20 25 8)
- SymbolLine(5 20 15 20 8)
- SymbolLine(0 25 5 20 8)
- SymbolLine(0 25 0 35 8)
- SymbolLine(0 35 5 40 8)
- SymbolLine(5 40 15 40 8)
- SymbolLine(15 40 20 35 8)
- SymbolLine(0 50 5 55 8)
- SymbolLine(5 55 15 55 8)
- SymbolLine(15 55 20 50 8)
- SymbolLine(20 20 20 50 8)
-)
-Symbol('h' 12)
-(
- SymbolLine(0 0 0 40 8)
- SymbolLine(0 25 5 20 8)
- SymbolLine(5 20 15 20 8)
- SymbolLine(15 20 20 25 8)
- SymbolLine(20 25 20 40 8)
-)
-Symbol('i' 10)
-(
- SymbolLine(0 10 0 15 8)
- SymbolLine(0 25 0 40 8)
-)
-Symbol('j' 10)
-(
- SymbolLine(5 10 5 15 8)
- SymbolLine(5 25 5 50 8)
- SymbolLine(0 55 5 50 8)
-)
-Symbol('k' 12)
-(
- SymbolLine(0 0 0 40 8)
- SymbolLine(0 25 15 40 8)
- SymbolLine(0 25 10 15 8)
-)
-Symbol('l' 10)
-(
- SymbolLine(0 0 0 35 8)
- SymbolLine(0 35 5 40 8)
-)
-Symbol('m' 12)
-(
- SymbolLine(5 25 5 40 8)
- SymbolLine(5 25 10 20 8)
- SymbolLine(10 20 15 20 8)
- SymbolLine(15 20 20 25 8)
- SymbolLine(20 25 20 40 8)
- SymbolLine(20 25 25 20 8)
- SymbolLine(25 20 30 20 8)
- SymbolLine(30 20 35 25 8)
- SymbolLine(35 25 35 40 8)
- SymbolLine(0 20 5 25 8)
-)
-Symbol('n' 12)
-(
- SymbolLine(5 25 5 40 8)
- SymbolLine(5 25 10 20 8)
- SymbolLine(10 20 15 20 8)
- SymbolLine(15 20 20 25 8)
- SymbolLine(20 25 20 40 8)
- SymbolLine(0 20 5 25 8)
-)
-Symbol('o' 12)
-(
- SymbolLine(0 25 0 35 8)
- SymbolLine(0 25 5 20 8)
- SymbolLine(5 20 15 20 8)
- SymbolLine(15 20 20 25 8)
- SymbolLine(20 25 20 35 8)
- SymbolLine(15 40 20 35 8)
- SymbolLine(5 40 15 40 8)
- SymbolLine(0 35 5 40 8)
-)
-Symbol('p' 12)
-(
- SymbolLine(5 25 5 55 8)
- SymbolLine(0 20 5 25 8)
- SymbolLine(5 25 10 20 8)
- SymbolLine(10 20 20 20 8)
- SymbolLine(20 20 25 25 8)
- SymbolLine(25 25 25 35 8)
- SymbolLine(20 40 25 35 8)
- SymbolLine(10 40 20 40 8)
- SymbolLine(5 35 10 40 8)
-)
-Symbol('q' 12)
-(
- SymbolLine(20 25 20 55 8)
- SymbolLine(15 20 20 25 8)
- SymbolLine(5 20 15 20 8)
- SymbolLine(0 25 5 20 8)
- SymbolLine(0 25 0 35 8)
- SymbolLine(0 35 5 40 8)
- SymbolLine(5 40 15 40 8)
- SymbolLine(15 40 20 35 8)
-)
-Symbol('r' 12)
-(
- SymbolLine(5 25 5 40 8)
- SymbolLine(5 25 10 20 8)
- SymbolLine(10 20 20 20 8)
- SymbolLine(0 20 5 25 8)
-)
-Symbol('s' 12)
-(
- SymbolLine(5 40 20 40 8)
- SymbolLine(20 40 25 35 8)
- SymbolLine(20 30 25 35 8)
- SymbolLine(5 30 20 30 8)
- SymbolLine(0 25 5 30 8)
- SymbolLine(0 25 5 20 8)
- SymbolLine(5 20 20 20 8)
- SymbolLine(20 20 25 25 8)
- SymbolLine(0 35 5 40 8)
-)
-Symbol('t' 10)
-(
- SymbolLine(5 0 5 35 8)
- SymbolLine(5 35 10 40 8)
- SymbolLine(0 15 10 15 8)
-)
-Symbol('u' 12)
-(
- SymbolLine(0 20 0 35 8)
- SymbolLine(0 35 5 40 8)
- SymbolLine(5 40 15 40 8)
- SymbolLine(15 40 20 35 8)
- SymbolLine(20 20 20 35 8)
-)
-Symbol('v' 12)
-(
- SymbolLine(0 20 0 30 8)
- SymbolLine(0 30 10 40 8)
- SymbolLine(10 40 20 30 8)
- SymbolLine(20 20 20 30 8)
-)
-Symbol('w' 12)
-(
- SymbolLine(0 20 0 35 8)
- SymbolLine(0 35 5 40 8)
- SymbolLine(5 40 10 40 8)
- SymbolLine(10 40 15 35 8)
- SymbolLine(15 20 15 35 8)
- SymbolLine(15 35 20 40 8)
- SymbolLine(20 40 25 40 8)
- SymbolLine(25 40 30 35 8)
- SymbolLine(30 20 30 35 8)
-)
-Symbol('x' 12)
-(
- SymbolLine(0 20 20 40 8)
- SymbolLine(0 40 20 20 8)
-)
-Symbol('y' 12)
-(
- SymbolLine(0 20 0 35 8)
- SymbolLine(0 35 5 40 8)
- SymbolLine(20 20 20 50 8)
- SymbolLine(15 55 20 50 8)
- SymbolLine(5 55 15 55 8)
- SymbolLine(0 50 5 55 8)
- SymbolLine(5 40 15 40 8)
- SymbolLine(15 40 20 35 8)
-)
-Symbol('z' 12)
-(
- SymbolLine(0 20 20 20 8)
- SymbolLine(0 40 20 20 8)
- SymbolLine(0 40 20 40 8)
-)
-Symbol('{' 12)
-(
- SymbolLine(5 5 10 0 8)
- SymbolLine(5 5 5 15 8)
- SymbolLine(0 20 5 15 8)
- SymbolLine(0 20 5 25 8)
- SymbolLine(5 25 5 35 8)
- SymbolLine(5 35 10 40 8)
-)
-Symbol('|' 12)
-(
- SymbolLine(0 0 0 40 8)
-)
-Symbol('}' 12)
-(
- SymbolLine(0 0 5 5 8)
- SymbolLine(5 5 5 15 8)
- SymbolLine(5 15 10 20 8)
- SymbolLine(5 25 10 20 8)
- SymbolLine(5 25 5 35 8)
- SymbolLine(0 40 5 35 8)
-)
-Symbol('~' 12)
-(
- SymbolLine(0 25 5 20 8)
- SymbolLine(5 20 10 20 8)
- SymbolLine(10 20 15 25 8)
- SymbolLine(15 25 20 25 8)
- SymbolLine(20 25 25 20 8)
-)
-Via(2075 1455 50 30 28 "" 0x12120002)
-Via(1790 1570 50 30 28 "" 0x12120002)
-Via(1450 1575 50 30 28 "" 0x12120002)
-Via(1070 1265 50 30 28 "" 0x00000002)
-Via(1520 2495 50 30 28 "" 0x00000002)
-Via(465 3015 110 30 110 "" 0x0000000a)
-Via(1605 2660 50 30 28 "" 0x00000002)
-Via(1985 1300 50 30 28 "" 0x00000002)
-Via(465 605 110 30 110 "" 0x0000000a)
-Via(2965 595 110 30 110 "" 0x0000000a)
-Via(2965 3005 110 30 110 "" 0x0000000a)
-Via(1185 2660 50 30 28 "" 0x00000002)
-
-Element(0x00000000 "3 TERM BLOCK" "J2" "DK ED1602-ND" 1695 2925 -590 76 0 150 0x00000000)
-(
- Pin(0 0 110 30 140 48 "1" "1" 0x00000001)
- Pin(-194 0 110 30 140 48 "2" "2" 0x00000001)
- Pin(-388 0 110 30 140 48 "3" "3" 0x00000001)
- ElementLine (-388 160 -388 140 10)
- ElementLine (-194 160 -194 140 10)
- ElementLine (0 160 0 140 10)
- ElementLine (81 -170 101 -170 10)
- ElementLine (81 -190 81 -170 10)
- ElementLine (101 -190 81 -190 10)
- ElementLine (-509 -170 -489 -170 10)
- ElementLine (-509 -190 -509 -170 10)
- ElementLine (-489 -190 -509 -190 10)
- ElementLine (101 -200 101 160 10)
- ElementLine (-489 -200 101 -200 10)
- ElementLine (-489 160 -489 -200 10)
- ElementLine (101 160 -489 160 10)
- )
-
-Element(0x00000000 "RS422 Transciever" "U6" "LTC490" 1005 895 -505 -55 0 150 0x00000000)
-(
- Pin(0 0 60 30 90 28 "Vcc" "1" 0x00000101)
- Pin(0 -100 60 30 90 28 "R" "2" 0x00000001)
- Pin(0 -200 60 30 90 28 "D" "3" 0x00000001)
- Pin(0 -300 60 30 90 28 "GND" "4" 0x00000001)
- Pin(-300 -300 60 30 90 28 "Y" "5" 0x00000001)
- Pin(-300 -200 60 30 90 28 "Z" "6" 0x00000001)
- Pin(-300 -100 60 30 90 28 "B" "7" 0x00000001)
- Pin(-300 0 60 30 90 28 "A" "8" 0x00000001)
- ElementLine (50 50 50 -350 10)
- ElementLine (50 -350 -350 -350 10)
- ElementLine (-350 -350 -350 50 10)
- ElementLine (50 50 -100 50 10)
- ElementLine (-200 50 -350 50 10)
- ElementArc (-150 50 50 50 180 180 10)
- )
-
-Element(0x00000000 "PIC16C54A" "U5" "PIC16C54" 1195 860 465 80 0 150 0x00000000)
-(
- Pin(0 0 60 30 90 28 "RA2" "1" 0x00000101)
- Pin(100 0 60 30 90 28 "RA3" "2" 0x00000001)
- Pin(200 0 60 30 90 28 "RTCC" "3" 0x00000001)
- Pin(300 0 60 30 90 28 "/MCLR" "4" 0x00000001)
- Pin(400 0 60 30 90 28 "Vss" "5" 0x00000001)
- Pin(500 0 60 30 90 28 "RB0" "6" 0x00000001)
- Pin(600 0 60 30 90 28 "RB1" "7" 0x00000001)
- Pin(700 0 60 30 90 28 "RB2" "8" 0x00000001)
- Pin(800 0 60 30 90 28 "RB3" "9" 0x00000001)
- Pin(800 -300 60 30 90 28 "RB4" "10" 0x00000001)
- Pin(700 -300 60 30 90 28 "RB5" "11" 0x00000001)
- Pin(600 -300 60 30 90 28 "RB6" "12" 0x00000001)
- Pin(500 -300 60 30 90 28 "RB7" "13" 0x00000001)
- Pin(400 -300 60 30 90 28 "Vdd" "14" 0x00000001)
- Pin(300 -300 60 30 90 28 "OSC2/CLKOUT" "15" 0x00000001)
- Pin(200 -300 60 30 90 28 "OSC1/CLKIN" "16" 0x00000001)
- Pin(100 -300 60 30 90 28 "RA0" "17" 0x00000001)
- Pin(0 -300 60 30 90 28 "RA1" "18" 0x00000001)
- ElementLine (-50 50 850 50 10)
- ElementLine (850 50 850 -350 10)
- ElementLine (850 -350 -50 -350 10)
- ElementLine (-50 50 -50 -100 10)
- ElementLine (-50 -200 -50 -350 10)
- ElementArc (-50 -150 50 50 90 180 10)
- )
-
-Element(0x00000000 "SMD Cap" "C17" "" 2155 815 -90 -329 0 150 0x00000000)
-(
- Pin(0 0 80 30 110 35 "1" "1" 0x00000001)
- Pin(0 -200 80 30 110 35 "2" "2" 0x00000001)
- ElementLine (-50 50 50 50 10)
- ElementLine (50 50 50 -250 10)
- ElementLine (50 -250 -50 -250 10)
- ElementLine (-50 -250 -50 50 10)
- )
-
-Element(0x00000000 "SMD 0805" "C13" "" 2525 1510 -30 45 0 150 0x00000000)
-(
- Pad(0 0 0 0 60 30 90 "1" "1" 0x00000100)
- Pad(0 -90 0 -90 60 30 90 "2" "2" 0x00000100)
- ElementLine (-35 -125 -35 35 10)
- ElementLine (35 -125 -35 -125 10)
- ElementLine (35 35 35 -125 10)
- ElementLine (-35 35 35 35 10)
- )
-
-Element(0x00000010 "SMD 0805" "C16" "" 1080 1355 -15 -115 0 150 0x00000000)
-(
- Pad(0 0 0 0 60 30 90 "1" "1" 0x00000100)
- Pad(90 0 90 0 60 30 90 "2" "2" 0x00000100)
- ElementLine (125 -35 -35 -35 10)
- ElementLine (125 35 125 -35 10)
- ElementLine (-35 35 125 35 10)
- ElementLine (-35 -35 -35 35 10)
- )
-
-Element(0x00000000 "SMD 0805" "C14" "" 1175 1690 -195 20 0 150 0x00000000)
-(
- Pad(0 0 0 0 60 30 90 "1" "1" 0x00000100)
- Pad(0 90 0 90 60 30 90 "2" "2" 0x00000100)
- ElementLine (35 125 35 -35 10)
- ElementLine (-35 125 35 125 10)
- ElementLine (-35 -35 -35 125 10)
- ElementLine (35 -35 -35 -35 10)
- )
-
-Element(0x00000000 "SMD Cap" "C15" "" 1280 1785 65 -174 0 150 0x00000000)
-(
- Pin(0 0 80 30 110 35 "1" "1" 0x02000001)
- Pin(0 -200 80 30 110 35 "2" "2" 0x00000001)
- ElementLine (-50 50 50 50 10)
- ElementLine (50 50 50 -250 10)
- ElementLine (50 -250 -50 -250 10)
- ElementLine (-50 -250 -50 50 10)
- )
-
-Element(0x00000010 "SMD 0805" "C10" "" 2095 1310 -190 -60 0 150 0x00000000)
-(
- Pad(0 0 0 0 60 30 90 "1" "1" 0x00000100)
- Pad(90 0 90 0 60 30 90 "2" "2" 0x00000100)
- ElementLine (125 -35 -35 -35 10)
- ElementLine (125 35 125 -35 10)
- ElementLine (-35 35 125 35 10)
- ElementLine (-35 -35 -35 35 10)
- )
-
-Element(0x00000000 "SMD Cap" "C12" "" 2345 1320 -35 -129 0 150 0x00000000)
-(
- Pin(0 0 80 30 110 35 "1" "1" 0x00000001)
- Pin(200 0 80 30 110 35 "2" "2" 0x02020001)
- ElementLine (-50 -50 -50 50 10)
- ElementLine (-50 50 250 50 10)
- ElementLine (250 50 250 -50 10)
- ElementLine (250 -50 -50 -50 10)
- )
-
-Element(0x00000000 "R 0.25W" "R13" "100" 1130 1435 230 65 0 150 0x00000000)
-(
- Pin(0 0 60 30 90 28 "1" "1" 0x00000101)
- Pin(400 0 60 30 90 28 "2" "2" 0x10000001)
- ElementLine (100 -50 300 -50 10)
- ElementLine (300 -50 300 50 10)
- ElementLine (300 50 100 50 10)
- ElementLine (100 50 100 -50 10)
- ElementLine (40 0 100 0 10)
- ElementLine (300 0 360 0 10)
- )
-
-Element(0x00000000 "R 0.25W" "R14" "100" 1105 1075 -265 60 0 150 0x00000000)
-(
- Pin(0 0 60 30 90 28 "1" "1" 0x00000001)
- Pin(-400 0 60 30 90 28 "2" "2" 0x00000001)
- ElementLine (-100 50 -300 50 10)
- ElementLine (-300 50 -300 -50 10)
- ElementLine (-300 -50 -100 -50 10)
- ElementLine (-100 -50 -100 50 10)
- ElementLine (-40 0 -100 0 10)
- ElementLine (-300 0 -360 0 10)
- )
-
-Element(0x00000000 "R 0.5W" "R11" "" 2815 1700 60 -90 0 150 0x00000000)
-(
- Pin(0 0 85 30 115 48 "1" "1" 0x00000101)
- Pin(0 -800 85 30 115 48 "2" "2" 0x00000001)
- ElementLine (0 -60 0 -115 10)
- ElementLine (-115 -115 115 -115 10)
- ElementLine (115 -115 115 -685 10)
- ElementLine (115 -685 -115 -685 10)
- ElementLine (-115 -685 -115 -115 10)
- ElementLine (0 -685 0 -750 10)
- )
-
-Element(0x00000000 "TK11950" "U3" "5.0V" 2235 1510 -139 -2 0 150 0x00000000)
-(
- Pad(-7 0 8 0 24 30 54 "NOISE BYPASS" "1" 0x00000100)
- Pad(-7 37 8 37 24 30 54 "CONTROL" "2" 0x00000100)
- Pad(-7 75 8 75 24 30 54 "RESET OUT" "3" 0x00000100)
- Pad(119 75 134 75 24 30 54 "VO" "4" 0x00000100)
- Pad(119 37 134 37 24 30 54 "GND" "5" 0x00000100)
- Pad(119 0 134 0 24 30 54 "VIN" "6" 0x00000100)
- ElementLine (0 -22 0 -34 10)
- ElementLine (0 -34 132 -34 10)
- ElementLine (132 -34 132 -22 10)
- ElementLine (0 96 0 108 10)
- ElementLine (0 108 132 108 10)
- ElementLine (132 108 132 96 10)
- ElementLine (13 -24 119 -24 10)
- )
-
-Element(0x00000000 "TK11950" "U4" "5.0V" 1180 1590 -254 -132 0 150 0x00000000)
-(
- Pad(7 0 -8 0 24 30 54 "NOISE BYPASS" "1" 0x00000100)
- Pad(7 -37 -8 -37 24 30 54 "CONTROL" "2" 0x00000100)
- Pad(7 -75 -8 -75 24 30 54 "RESET OUT" "3" 0x00000100)
- Pad(-119 -75 -134 -75 24 30 54 "VO" "4" 0x00000100)
- Pad(-119 -37 -134 -37 24 30 54 "GND" "5" 0x00000100)
- Pad(-119 0 -134 0 24 30 54 "VIN" "6" 0x00000100)
- ElementLine (0 22 0 34 10)
- ElementLine (0 34 -132 34 10)
- ElementLine (-132 34 -132 22 10)
- ElementLine (0 -96 0 -108 10)
- ElementLine (0 -108 -132 -108 10)
- ElementLine (-132 -108 -132 -96 10)
- ElementLine (-13 24 -119 24 10)
- )
-
-Element(0x00000000 "SMD 0805" "C5" "" 1495 1315 -225 -30 0 150 0x00000000)
-(
- Pad(0 0 0 0 60 30 90 "1" "1" 0x00000100)
- Pad(-90 0 -90 0 60 30 90 "2" "2" 0x00000100)
- ElementLine (-125 35 35 35 10)
- ElementLine (-125 -35 -125 35 10)
- ElementLine (35 -35 -125 -35 10)
- ElementLine (35 35 35 -35 10)
- )
-
-Element(0x00000010 "SMD 0805" "C11" "" 2270 1420 -260 -30 0 150 0x00000000)
-(
- Pad(0 0 0 0 60 30 90 "1" "1" 0x00000100)
- Pad(-90 0 -90 0 60 30 90 "2" "2" 0x00000100)
- ElementLine (-125 35 35 35 10)
- ElementLine (-125 -35 -125 35 10)
- ElementLine (35 -35 -125 -35 10)
- ElementLine (35 35 35 -35 10)
- )
-
-Element(0x00000000 "SMD Cap" "C9" "" 2030 1185 -145 -40 0 150 0x00000000)
-(
- Pin(0 0 80 30 110 35 "1" "1" 0x20200001)
- Pin(200 0 80 30 110 35 "2" "2" 0x02020001)
- ElementLine (0 45 0 50 10)
- ElementLine (0 50 200 50 10)
- ElementLine (200 50 200 45 10)
- ElementLine (200 -45 200 -50 10)
- ElementLine (200 -50 0 -50 10)
- ElementLine (0 -50 0 -45 10)
- )
-
-Element(0x00000000 "R 0.25W" "R7" "100" 1655 2065 150 -30 0 150 0x00000000)
-(
- Pin(0 0 60 30 90 28 "1" "1" 0x02000001)
- Pin(400 0 60 30 90 28 "2" "2" 0x02020001)
- ElementLine (100 -50 300 -50 10)
- ElementLine (300 -50 300 50 10)
- ElementLine (300 50 100 50 10)
- ElementLine (100 50 100 -50 10)
- ElementLine (40 0 100 0 10)
- ElementLine (300 0 360 0 10)
- )
-
-Element(0x00000000 "SMD Cap" "C8" "" 2030 1075 65 -124 0 150 0x00000000)
-(
- Pin(0 0 80 30 110 35 "1" "1" 0x20200001)
- Pin(200 0 80 30 110 35 "2" "2" 0x02020001)
- ElementLine (-50 -50 -50 50 10)
- ElementLine (-50 50 250 50 10)
- ElementLine (250 50 250 -50 10)
- ElementLine (250 -50 -50 -50 10)
- )
-
-Element(0x00000000 "SMD Cap" "C7" "" 1530 1075 -370 -144 0 150 0x00000000)
-(
- Pin(0 0 80 30 110 35 "1" "1" 0x20200001)
- Pin(-200 0 80 30 110 35 "2" "2" 0x10100001)
- ElementLine (50 50 50 -50 10)
- ElementLine (50 -50 -250 -50 10)
- ElementLine (-250 -50 -250 50 10)
- ElementLine (-250 50 50 50 10)
- )
-
-Element(0x00000000 "SMD Cap" "C2" "" 1945 1845 65 -19 0 150 0x00000000)
-(
- Pin(0 0 80 30 110 35 "1" "1" 0x02000101)
- Pin(-200 0 80 30 110 35 "2" "2" 0x02000001)
- ElementLine (50 50 50 -50 10)
- ElementLine (50 -50 -250 -50 10)
- ElementLine (-250 -50 -250 50 10)
- ElementLine (-250 50 50 50 10)
- )
-
-Element(0x00000000 "SMD Cap" "C6" "" 1530 1185 -335 -30 0 150 0x00000000)
-(
- Pin(0 0 80 30 110 35 "1" "1" 0x20200001)
- Pin(-200 0 80 30 110 35 "2" "2" 0x10100001)
- ElementLine (0 -45 0 -50 10)
- ElementLine (0 -50 -200 -50 10)
- ElementLine (-200 -50 -200 -45 10)
- ElementLine (-200 45 -200 50 10)
- ElementLine (-200 50 0 50 10)
- ElementLine (0 50 0 45 10)
- )
-
-Element(0x00000000 "SMD Cap" "C1" "" 1490 1950 -40 71 0 150 0x00000000)
-(
- Pin(0 0 80 30 110 35 "1" "1" 0x00000101)
- Pin(0 -200 80 30 110 35 "2" "2" 0x02000001)
- ElementLine (-50 50 50 50 10)
- ElementLine (50 50 50 -250 10)
- ElementLine (50 -250 -50 -250 10)
- ElementLine (-50 -250 -50 50 10)
- )
-
-Element(0x00000000 "R 0.25W" "R6" "100" 2375 1680 65 115 0 150 0x00000000)
-(
- Pin(0 0 60 30 90 28 "1" "1" 0x02000101)
- Pin(0 400 60 30 90 28 "2" "2" 0x02000001)
- ElementLine (50 100 50 300 10)
- ElementLine (50 300 -50 300 10)
- ElementLine (-50 300 -50 100 10)
- ElementLine (-50 100 50 100 10)
- ElementLine (0 40 0 100 10)
- ElementLine (0 300 0 360 10)
- )
-
-Element(0x00000000 "R 0.25W" "R8" "100" 2270 1680 -30 245 1 150 0x00000000)
-(
- Pin(0 0 60 30 90 28 "1" "1" 0x02000101)
- Pin(0 400 60 30 90 28 "2" "2" 0x02000001)
- ElementLine (50 100 50 300 10)
- ElementLine (50 300 -50 300 10)
- ElementLine (-50 300 -50 100 10)
- ElementLine (-50 100 50 100 10)
- ElementLine (0 40 0 100 10)
- ElementLine (0 300 0 360 10)
- )
-
-Element(0x00000000 "R 0.25W" "R5" "100" 1375 1750 -170 175 0 150 0x00000000)
-(
- Pin(0 0 60 30 90 28 "1" "1" 0x00000101)
- Pin(0 400 60 30 90 28 "2" "2" 0x00000001)
- ElementLine (50 100 50 300 10)
- ElementLine (50 300 -50 300 10)
- ElementLine (-50 300 -50 100 10)
- ElementLine (-50 100 50 100 10)
- ElementLine (0 40 0 100 10)
- ElementLine (0 300 0 360 10)
- )
-
-Element(0x00000000 "R 0.25W" "R9" "100" 1655 2170 125 -25 0 150 0x00000000)
-(
- Pin(0 0 60 30 90 28 "1" "1" 0x02000001)
- Pin(400 0 60 30 90 28 "2" "2" 0x02020001)
- ElementLine (100 -50 300 -50 10)
- ElementLine (300 -50 300 50 10)
- ElementLine (300 50 100 50 10)
- ElementLine (100 50 100 -50 10)
- ElementLine (40 0 100 0 10)
- ElementLine (300 0 360 0 10)
- )
-
-Element(0x00000000 "R 0.25W" "R10" "100" 2160 1675 -30 275 1 150 0x00000000)
-(
- Pin(0 0 60 30 90 28 "1" "1" 0x02000101)
- Pin(0 400 60 30 90 28 "2" "2" 0x02020001)
- ElementLine (50 100 50 300 10)
- ElementLine (50 300 -50 300 10)
- ElementLine (-50 300 -50 100 10)
- ElementLine (-50 100 50 100 10)
- ElementLine (0 40 0 100 10)
- ElementLine (0 300 0 360 10)
- )
-
-Element(0x00000000 "ADC12138CIMSA" "U2" "ADC12138" 1630 1690 105 -449 0 150 0x00000000)
-(
- Pad(0 30 0 -30 12 30 42 "CH0" "1" 0x00000100)
- Pad(26 30 26 -30 12 30 42 "CH1" "2" 0x00000100)
- Pad(51 30 51 -30 12 30 42 "CH2" "3" 0x00000100)
- Pad(77 30 77 -30 12 30 42 "CH3" "4" 0x00000100)
- Pad(102 30 102 -30 12 30 42 "CH4" "5" 0x00000100)
- Pad(128 30 128 -30 12 30 42 "CH5" "6" 0x00000100)
- Pad(154 30 154 -30 12 30 42 "CH6" "7" 0x00000100)
- Pad(179 30 179 -30 12 30 42 "CH7" "8" 0x00000100)
- Pad(205 30 205 -30 12 30 42 "COM" "9" 0x00000100)
- Pad(230 30 230 -30 12 30 42 "MuOut1" "10" 0x00000100)
- Pad(256 30 256 -30 12 30 42 "A/Din1" "11" 0x00000100)
- Pad(281 30 281 -30 12 30 42 "MuxOut2" "12" 0x00000100)
- Pad(307 30 307 -30 12 30 42 "A/Din2" "13" 0x00000100)
- Pad(333 30 333 -30 12 30 42 "DGND" "14" 0x00000100)
- Pad(333 -350 333 -290 12 30 42 "VA+" "15" 0x00000100)
- Pad(307 -350 307 -290 12 30 42 "Vref-" "16" 0x00000100)
- Pad(281 -350 281 -290 12 30 42 "Vref+" "17" 0x00000100)
- Pad(256 -350 256 -290 12 30 42 "AGND" "18" 0x00000100)
- Pad(230 -350 230 -290 12 30 42 "PD" "19" 0x00000100)
- Pad(205 -350 205 -290 12 30 42 "EOC" "20" 0x00000100)
- Pad(179 -350 179 -290 12 30 42 "~CONV" "21" 0x00000100)
- Pad(154 -350 154 -290 12 30 42 "~CS" "22" 0x00000100)
- Pad(128 -350 128 -290 12 30 42 "DO" "23" 0x00000100)
- Pad(102 -350 102 -290 12 30 42 "DI" "24" 0x00000100)
- Pad(77 -350 77 -290 12 30 42 "SCLK" "25" 0x00000100)
- Pad(51 -350 51 -290 12 30 42 "CCLK" "26" 0x00000100)
- Pad(26 -350 26 -290 12 30 42 "~DOR" "27" 0x00000100)
- Pad(0 -350 0 -290 12 30 42 "VD+" "28" 0x00000100)
- ElementLine (0 -70 0 -70 30)
- ElementLine (-12 -54 -37 -54 10)
- ElementLine (-37 -54 -37 -266 10)
- ElementLine (-37 -266 -12 -266 10)
- ElementLine (343 -54 370 -54 10)
- ElementLine (370 -54 370 -266 10)
- ElementLine (370 -266 343 -266 10)
- )
-
-Element(0x00000000 "R 0.25W" "R4" "100" 1615 1955 130 -35 0 150 0x00000000)
-(
- Pin(0 0 60 30 90 28 "1" "1" 0x00000101)
- Pin(400 0 60 30 90 28 "2" "2" 0x02000001)
- ElementLine (100 -50 300 -50 10)
- ElementLine (300 -50 300 50 10)
- ElementLine (300 50 100 50 10)
- ElementLine (100 50 100 -50 10)
- ElementLine (40 0 100 0 10)
- ElementLine (300 0 360 0 10)
- )
-
-Element(0x00000010 "SMD 0805" "C4" "" 2070 2390 -25 -180 0 115 0x00000000)
-(
- Pad(0 0 0 0 60 30 90 "1" "1" 0x00000100)
- Pad(0 -90 0 -90 60 30 90 "2" "2" 0x00000100)
- ElementLine (-35 -125 -35 35 10)
- ElementLine (35 -125 -35 -125 10)
- ElementLine (35 35 35 -125 10)
- ElementLine (-35 35 35 35 10)
- )
-
-Element(0x00000000 "R 0.25W" "R1" "100" 2180 2625 -35 -145 1 150 0x00000000)
-(
- Pin(0 0 60 30 90 28 "1" "1" 0x00000101)
- Pin(0 -400 60 30 90 28 "2" "2" 0x02000001)
- ElementLine (-50 -100 -50 -300 10)
- ElementLine (-50 -300 50 -300 10)
- ElementLine (50 -300 50 -100 10)
- ElementLine (50 -100 -50 -100 10)
- ElementLine (0 -40 0 -100 10)
- ElementLine (0 -300 0 -360 10)
- )
-
-Element(0x00000000 "R 0.25W" "R2" "100" 2400 2625 60 -100 0 150 0x00000000)
-(
- Pin(0 0 60 30 90 28 "1" "1" 0x00000101)
- Pin(0 -400 60 30 90 28 "2" "2" 0x02000001)
- ElementLine (-50 -100 -50 -300 10)
- ElementLine (-50 -300 50 -300 10)
- ElementLine (50 -300 50 -100 10)
- ElementLine (50 -100 -50 -100 10)
- ElementLine (0 -40 0 -100 10)
- ElementLine (0 -300 0 -360 10)
- )
-
-Element(0x00000000 "LM13700" "U1" "LM13700" 1955 2285 -475 -130 0 150 0x00000000)
-(
- Pin(0 0 60 30 90 28 "Iabc1" "1" 0x02000101)
- Pin(-100 0 60 30 90 28 "Dbias1" "2" 0x00000001)
- Pin(-200 0 60 30 90 28 "In+1" "3" 0x00000001)
- Pin(-300 0 60 30 90 28 "In-1" "4" 0x00000001)
- Pin(-400 0 60 30 90 28 "Out1" "5" 0x00000001)
- Pin(-500 0 60 30 90 28 "V-" "6" 0x00000001)
- Pin(-600 0 60 30 90 28 "BufIn1" "7" 0x00000001)
- Pin(-700 0 60 30 90 28 "BufOut1" "8" 0x00000001)
- Pin(-700 300 60 30 90 28 "BufOut2" "9" 0x00000001)
- Pin(-600 300 60 30 90 28 "BufIn2" "10" 0x00000001)
- Pin(-500 300 60 30 90 28 "V+" "11" 0x00000001)
- Pin(-400 300 60 30 90 28 "Out2" "12" 0x00000001)
- Pin(-300 300 60 30 90 28 "In-2" "13" 0x00000001)
- Pin(-200 300 60 30 90 28 "In+2" "14" 0x00000001)
- Pin(-100 300 60 30 90 28 "Dbias2" "15" 0x00000001)
- Pin(0 300 60 30 90 28 "Iabc2" "16" 0x00000001)
- ElementLine (50 -50 -750 -50 10)
- ElementLine (-750 -50 -750 350 10)
- ElementLine (-750 350 50 350 10)
- ElementLine (50 -50 50 100 10)
- ElementLine (50 200 50 350 10)
- ElementArc (50 150 50 50 270 180 10)
- )
-
-Element(0x00000000 "R 0.25W" "R3" "100" 2290 2625 -30 -135 1 150 0x00000000)
-(
- Pin(0 0 60 30 90 28 "1" "1" 0x00000101)
- Pin(0 -400 60 30 90 28 "2" "2" 0x02000001)
- ElementLine (-50 -100 -50 -300 10)
- ElementLine (-50 -300 50 -300 10)
- ElementLine (50 -300 50 -100 10)
- ElementLine (50 -100 -50 -100 10)
- ElementLine (0 -40 0 -100 10)
- ElementLine (0 -300 0 -360 10)
- )
-
-Element(0x00000000 "SMD 0805" "C3" "" 2075 2510 -40 140 0 150 0x00000000)
-(
- Pad(0 0 0 0 60 30 90 "1" "1" 0x00000100)
- Pad(0 90 0 90 60 30 90 "2" "2" 0x00000100)
- ElementLine (35 125 35 -35 10)
- ElementLine (-35 125 35 125 10)
- ElementLine (-35 -35 -35 125 10)
- ElementLine (35 -35 -35 -35 10)
- )
-
-Element(0x00000000 "CTX169" "X1" "20 MHz" 2330 910 425 -215 0 150 0x00000000)
-(
- Pin(0 -60 60 30 90 28 "NC" "1" 0x00000101)
- Pin(300 -60 60 30 90 28 "GND" "2" 0x00000001)
- Pin(300 -360 60 30 90 28 "OUT" "3" 0x00000001)
- Pin(0 -360 60 30 90 28 "Vdd" "4" 0x00000001)
- ElementLine (-110 50 -110 -410 10)
- ElementLine (-60 -460 350 -460 10)
- ElementLine (400 -410 400 0 10)
- ElementLine (350 50 -110 50 10)
- ElementArc (-60 -410 50 50 270 90 10)
- ElementArc (350 -410 50 50 180 90 10)
- ElementArc (350 0 50 50 90 90 10)
- )
-
-Element(0x00000000 "SMD Cap" "C21" "" 2565 1070 -50 61 0 150 0x00000000)
-(
- Pin(0 0 80 30 110 35 "1" "1" 0x00000001)
- Pin(-200 0 80 30 110 35 "2" "2" 0x02020001)
- ElementLine (50 50 50 -50 10)
- ElementLine (50 -50 -250 -50 10)
- ElementLine (-250 -50 -250 50 10)
- ElementLine (-250 50 50 50 10)
- )
-
-Element(0x00000000 "SMD 0805" "C20" "" 2665 2375 -115 55 0 150 0x00000000)
-(
- Pad(0 0 0 0 60 30 90 "1" "1" 0x00000100)
- Pad(-90 0 -90 0 60 30 90 "2" "2" 0x00000100)
- ElementLine (-125 35 35 35 10)
- ElementLine (-125 -35 -125 35 10)
- ElementLine (35 -35 -125 -35 10)
- ElementLine (35 35 35 -35 10)
- )
-
-Element(0x00000000 "SMD 0805" "C19" "" 2785 2375 -20 55 0 150 0x00000000)
-(
- Pad(0 0 0 0 60 30 90 "1" "1" 0x00000100)
- Pad(90 0 90 0 60 30 90 "2" "2" 0x00000100)
- ElementLine (125 -35 -35 -35 10)
- ElementLine (125 35 125 -35 10)
- ElementLine (-35 35 125 35 10)
- ElementLine (-35 -35 -35 35 10)
- )
-
-Element(0x00000000 "SMD 0805" "C18" "" 2665 1800 155 -20 0 150 0x00000000)
-(
- Pad(0 0 0 0 60 30 90 "1" "1" 0x00000100)
- Pad(90 0 90 0 60 30 90 "2" "2" 0x00000100)
- ElementLine (125 -35 -35 -35 10)
- ElementLine (125 35 125 -35 10)
- ElementLine (-35 35 125 35 10)
- ElementLine (-35 -35 -35 35 10)
- )
-
-Element(0x00000000 "AMP 745781-4" "J3" "A2100-ND" 820 1610 -125 837 0 150 0x00000000)
-(
- Pin(0 432 80 30 110 42 "1" "1" 0x00000101)
- Pin(0 324 80 30 110 42 "2" "2" 0x00000001)
- Pin(0 216 80 30 110 42 "3" "3" 0x00000001)
- Pin(0 108 80 30 110 42 "4" "4" 0x00000001)
- Pin(0 0 80 30 110 42 "5" "5" 0x00000001)
- Pin(-112 378 80 30 110 42 "6" "6" 0x00000001)
- Pin(-112 270 80 30 110 42 "7" "7" 0x00000001)
- Pin(-112 162 80 30 110 42 "8" "8" 0x00000001)
- Pin(-112 54 80 30 110 42 "9" "9" 0x00000001)
- Pin(-56 -276 120 30 150 120 "MOUNT HOLE" "10" 0x00000009)
- Pin(-56 708 120 30 150 120 "MOUNT HOLE" "11" 0x00000009)
- ElementLine (-317 -390 58 -390 10)
- ElementLine (-317 -138 -317 -390 10)
- ElementLine (-433 455 -434 -22 10)
- ElementLine (-317 823 -317 571 10)
- ElementLine (58 823 -317 823 10)
- ElementLine (58 -390 58 823 10)
- ElementArc (-375 -138 58 58 90 90 10)
- ElementArc (-375 -22 58 58 270 90 10)
- ElementArc (-375 455 58 58 0 90 10)
- ElementArc (-375 571 58 58 180 90 10)
- )
-
-Element(0x00000000 "3 TERM BLOCK" "J1" "DK ED1602-ND" 2285 2925 140 51 0 150 0x00000000)
-(
- Pin(0 0 110 30 140 48 "1" "1" 0x00000001)
- Pin(-194 0 110 30 140 48 "2" "2" 0x00000001)
- Pin(-388 0 110 30 140 48 "3" "3" 0x00000001)
- ElementLine (-388 160 -388 140 10)
- ElementLine (-194 160 -194 140 10)
- ElementLine (0 160 0 140 10)
- ElementLine (81 -170 101 -170 10)
- ElementLine (81 -190 81 -170 10)
- ElementLine (101 -190 81 -190 10)
- ElementLine (-509 -170 -489 -170 10)
- ElementLine (-509 -190 -509 -170 10)
- ElementLine (-489 -190 -509 -190 10)
- ElementLine (101 -200 101 160 10)
- ElementLine (-489 -200 101 -200 10)
- ElementLine (-489 160 -489 -200 10)
- ElementLine (101 160 -489 160 10)
- )
-
-Element(0x00000000 "OP-AMP" "U7" "LTC1152" 2575 1925 380 200 0 150 0x00000000)
-(
- Pin(0 0 60 30 90 28 "SHDN" "1" 0x02000101)
- Pin(0 100 60 30 90 28 "-IN" "2" 0x02000001)
- Pin(0 200 60 30 90 28 "+IN" "3" 0x02000001)
- Pin(0 300 60 30 90 28 "V-" "4" 0x02020001)
- Pin(300 300 60 30 90 28 "COMP" "5" 0x02000001)
- Pin(300 200 60 30 90 28 "OUT" "6" 0x02000001)
- Pin(300 100 60 30 90 28 "V+" "7" 0x02000001)
- Pin(300 0 60 30 90 28 "CP" "8" 0x02000001)
- ElementLine (-50 -50 -50 350 10)
- ElementLine (-50 350 350 350 10)
- ElementLine (350 350 350 -50 10)
- ElementLine (-50 -50 100 -50 10)
- ElementLine (200 -50 350 -50 10)
- ElementArc (150 -50 50 50 0 180 10)
- )
-
-Element(0x00000000 "R 0.5W" "R12" "" 1035 1935 -205 700 0 150 0x00000000)
-(
- Pin(0 0 85 30 115 48 "1" "1" 0x00000101)
- Pin(0 800 90 30 120 48 "2" "2" 0x00000001)
- ElementLine (0 60 0 115 10)
- ElementLine (115 115 -115 115 10)
- ElementLine (-115 115 -115 685 10)
- ElementLine (-115 685 115 685 10)
- ElementLine (115 685 115 115 10)
- ElementLine (0 685 0 750 10)
- )
-Rat(1187 1553 0 1061 1553 0 0x00000010)
-Rat(1045 1820 1 1175 1780 0 0x00000010)
-Rat(1330 1185 1 1405 1315 0 0x00000010)
-Rat(2075 1455 1 2180 1420 0 0x00000010)
-Rat(2180 1420 0 2185 1310 0 0x00000010)
-Rat(2228 1547 0 2354 1547 0 0x00000010)
-Layer(1 "solder")
-(
- Line(1945 1015 1945 1260 15 30 0x00000000)
- Line(1615 1960 1555 1960 10 30 0x00000000)
- Line(1185 2230 1185 2655 15 30 0x00000000)
- Line(705 795 890 980 15 30 0x00000000)
- Line(1405 955 1485 875 15 30 0x00000000)
- Line(1005 695 1140 560 15 30 0x00000000)
- Line(1005 795 1135 665 15 30 0x00000000)
- Line(705 895 705 1075 15 30 0x00000000)
- Line(1125 1435 1005 1315 15 30 0x00000000)
- Line(1005 1235 1065 1175 15 30 0x00000000)
- Line(1010 980 1105 1075 15 30 0x00000000)
- Line(1345 955 1405 955 15 30 0x00000000)
- Line(1065 1175 1125 1175 15 30 0x00000000)
- Line(1190 665 1295 560 15 30 0x00000000)
- Line(1375 1750 1375 2040 15 30 0x00000000)
- Line(1605 2435 1605 2660 10 30 0x00000000)
- Line(1655 2285 1520 2420 15 30 0x00000000)
- Line(1375 2040 1185 2230 15 30 0x00000000)
- Line(1135 665 1190 665 15 30 0x00000000)
- Line(1105 1075 970 1210 15 30 0x00000000)
- Line(890 980 1010 980 15 30 0x00000000)
- Line(2460 965 1995 965 15 30 0x00000000)
- Line(1855 2285 1855 2585 15 30 0x00000000)
- Line(970 1210 970 1568 15 30 0x00000000)
- Line(1520 2420 1520 2495 15 30 0x00000000)
- Line(1755 2285 1605 2435 10 30 0x00000000)
- Line(1995 965 1945 1015 15 30 0x00000000)
- Line(1005 1315 1005 1235 15 30 0x00000000)
- Line(2565 1070 2460 965 15 30 0x00000000)
- Line(1945 1260 1985 1300 15 30 0x00000000)
- Line(1125 1175 1345 955 15 30 0x00000000)
- Line(2400 2625 2290 2625 10 30 0x00000000)
- Line(970 1568 820 1718 15 30 0x00000000)
- Line(1140 560 1195 560 15 30 0x00000000)
- Line(1555 1960 1555 2285 10 30 0x00000000)
- Text(525 2805 0 120 "LED (BACK)" 0x00000080)
-)
-Layer(2 "GND-solder")
-(
- Line(820 2045 920 2145 35 30 0x00000040)
- Line(930 1820 930 1932 30 30 0x00000000)
- Line(1280 1585 1045 1820 30 30 0x00000000)
- Line(1045 1820 930 1820 30 30 0x00000000)
- Line(930 1932 820 2042 30 30 0x00000000)
- Line(2155 815 2120 780 40 30 0x00000000)
- Line(1675 780 1595 860 40 30 0x00000000)
- Line(2630 850 2535 755 40 30 0x00000000)
- Line(2120 780 1675 780 40 30 0x00000000)
- Line(2215 755 2155 815 40 30 0x00000000)
- Line(2535 755 2215 755 40 30 0x00000000)
- Polygon(0x00000010)
- (
- (1125 2635) (1125 2235) (1330 2030) (1330 1705) (1430 1705)
- (1430 1635) (1400 1635) (1400 1560) (1240 1720) (1115 1845)
- (1115 2010) (1030 2010) (895 2145) (895 2635)
- )
- Polygon(0x00000010)
- (
- (1430 1885) (1570 1885) (1670 1885) (1670 2000) (1590 2000)
- (1590 2235) (1925 2235) (1925 2525) (2645 2525) (2645 1250)
- (2405 1250) (2405 1340) (2370 1375) (2320 1375) (2285 1340)
- (2285 1305) (2300 1290) (2300 1290) (2300 1135) (2430 1135)
- (2430 1005) (2090 1005) (2090 1280) (2000 1370) (2000 1515)
- (1370 1515) (1370 1640) (1430 1640)
- )
- Polygon(0x00000010)
- (
- (2635 1250) (2635 1615) (2895 1615) (2895 1785) (2750 1785)
- (2750 2520) (2975 2520) (2975 1250)
- )
-)
-Layer(3 "Vcc-solder")
-(
- Line(1455 2780 2695 2780 35 30 0x00000000)
- Line(1035 2735 1445 2735 45 30 0x00000000)
- Line(2340 1195 2815 1195 30 30 0x00000000)
- Line(2815 1195 2815 900 30 30 0x00000000)
- Line(1530 1180 1530 1435 30 30 0x00000000)
- Line(1070 1265 1525 1265 35 30 0x00000000)
- Line(1145 765 1395 765 35 30 0x00000000)
- Line(1010 900 1145 765 35 30 0x00000000)
- Line(1395 765 1595 565 35 30 0x00000000)
- Line(2155 615 2110 660 40 30 0x00000000)
- Line(1695 660 1595 560 40 30 0x00000000)
- Line(2330 550 2155 615 45 30 0x00000000)
- Line(2110 660 1695 660 40 30 0x00000000)
- Line(2340 1315 2340 1195 30 30 0x00000000)
- Line(2695 1700 2810 1700 30 30 0x00000000)
- Line(1455 2585 1355 2285 45 30 0x00000000)
- Line(1455 2590 1455 2780 35 30 0x00000000)
- Line(2695 2780 2695 1700 30 30 0x00000000)
-)
-Layer(4 "component")
-(
- Line(685 2450 585 2350 35 30 0x00000000)
- Line(2975 1480 2565 1070 15 30 0x00000000)
- Line(2975 2025 2975 1480 15 30 0x00000000)
- Line(2875 2125 2975 2025 15 30 0x00000000)
- Line(980 1270 980 1774 15 30 0x00000000)
- Line(585 1787 708 1664 35 30 0x00000000)
- Line(2675 2125 2575 2025 15 30 0x00000000)
- Line(2120 2285 2180 2225 15 30 0x00000000)
- Line(2055 720 2055 895 10 30 0x00000000)
- Line(1835 1285 1835 1340 10 30 0x00000000)
- Line(1860 1261 1835 1285 10 30 0x00000000)
- Line(1860 1035 1860 1261 10 30 0x00000000)
- Line(2090 655 2090 910 10 30 0x00000000)
- Line(1995 560 2090 655 10 30 0x00000000)
- Line(1809 1263 1809 1340 10 30 0x00000000)
- Line(1829 1244 1809 1263 10 30 0x00000000)
- Line(1829 1024 1829 1244 10 30 0x00000000)
- Line(1991 959 1893 959 10 30 0x00000000)
- Line(2235 1500 2235 1475 15 30 0x00000000)
- Line(2055 895 1991 959 10 30 0x00000000)
- Line(2075 2515 2075 2415 30 30 0x00000000)
- Line(1490 1950 1505 1950 10 30 0x00000000)
- Line(2075 2415 1520 2415 30 30 0x00000000)
- Line(2175 2145 2205 2145 15 30 0x00000000)
- Line(1655 1800 1656 1720 10 30 0x00000000)
- Line(1490 1950 1490 2150 15 30 0x00000000)
- Line(1745 1845 1635 1955 15 30 0x00000000)
- Line(1775 1780 1707 1780 10 30 0x00000000)
- Line(1655 2170 1945 2170 15 30 0x00000000)
- Line(1950 2285 2070 2285 15 30 0x00000000)
- Line(1655 2170 1635 2150 15 30 0x00000000)
- Line(1655 2065 1835 1885 15 30 0x00000000)
- Line(2015 1955 2255 1955 15 30 0x00000000)
- Line(2180 2625 2290 2625 15 30 0x00000000)
- Line(2075 2615 1985 2615 15 30 0x00000000)
- Line(2125 2585 2290 2420 10 30 0x00000000)
- Line(2205 2145 2270 2080 15 30 0x00000000)
- Line(1315 2225 1255 2285 15 30 0x00000000)
- Line(1855 2285 1795 2225 15 30 0x00000000)
- Line(2125 2615 2125 2585 10 30 0x00000000)
- Line(2495 2530 2400 2625 15 30 0x00000000)
- Line(1795 2225 1315 2225 15 30 0x00000000)
- Line(1520 2415 1455 2285 30 30 0x00000000)
- Line(2440 2110 2345 2205 15 30 0x00000000)
- Line(1490 1750 1600 1750 10 30 0x00000000)
- Line(2075 2615 2125 2615 10 30 0x00000000)
- Line(2875 1800 2755 1800 15 30 0x00000000)
- Line(1635 2150 1375 2150 15 30 0x00000000)
- Line(1835 1840 1775 1780 10 30 0x00000000)
- Line(2000 2225 2095 2225 15 30 0x00000000)
- Line(1732 1750 1732 1720 10 30 0x00000000)
- Line(1911 1720 1937 1720 10 30 0x00000000)
- Line(1985 1300 1937 1300 10 30 0x00000000)
- Line(2015 985 1909 985 10 30 0x00000000)
- Line(1860 1720 1886 1720 10 30 0x00000000)
- Line(1745 1845 1681 1845 10 30 0x00000000)
- Line(1950 1840 1835 1840 15 30 0x00000000)
- Line(1707 1780 1707 1720 10 30 0x00000000)
- Line(1681 1845 1681 1720 10 30 0x00000000)
- Line(1122 2585 1122 2740 15 30 0x00000000)
- Line(2070 2285 2120 2285 15 30 0x00000000)
- Line(1490 1750 1375 1750 15 30 0x00000000)
- Line(1950 1840 2015 1955 15 30 0x00000000)
- Line(1635 1955 1615 1955 10 30 0x00000000)
- Line(2160 1750 1732 1750 10 30 0x00000000)
- Line(2160 1675 2440 1955 15 30 0x00000000)
- Line(2160 1680 2160 1750 10 30 0x00000000)
- Line(1945 2170 2000 2225 15 30 0x00000000)
- Line(1505 1950 1655 1800 10 30 0x00000000)
- Line(1190 1595 1190 1675 15 30 0x00000000)
- Line(1190 1510 1190 1435 15 30 0x00000000)
- Line(1190 1435 1130 1435 15 30 0x00000000)
- Line(1695 860 1695 1276 10 30 0x00000000)
- Line(1795 860 1732 923 10 30 0x00000000)
- Line(1797 1015 1797 1225 10 30 0x00000000)
- Line(1995 860 1927 927 10 30 0x00000000)
- Line(1495 560 1646 711 10 30 0x00000000)
- Line(1657 973 1657 1279 10 30 0x00000000)
- Line(1657 1279 1681 1303 10 30 0x00000000)
- Line(1681 1303 1681 1340 10 30 0x00000000)
- Line(1927 927 1885 927 10 30 0x00000000)
- Line(1895 860 1758 997 10 30 0x00000000)
- Line(1732 923 1732 1340 10 30 0x00000000)
- Line(1893 959 1829 1024 10 30 0x00000000)
- Line(1646 962 1657 973 10 30 0x00000000)
- Line(1797 1225 1784 1239 10 30 0x00000000)
- Line(1646 711 1646 962 10 30 0x00000000)
- Line(1895 560 2055 720 10 30 0x00000000)
- Line(1885 927 1797 1015 10 30 0x00000000)
- Line(2090 910 2015 985 10 30 0x00000000)
- Line(1985 2615 1955 2585 15 30 0x00000000)
- Line(1758 997 1758 1340 10 30 0x00000000)
- Line(1707 1288 1707 1340 10 30 0x00000000)
- Line(2235 1475 2275 1435 15 30 0x00000000)
- Line(1909 985 1860 1035 10 30 0x00000000)
- Line(1005 1195 1005 895 35 30 0x00000000)
- Line(1060 1255 1005 1195 35 30 0x00000000)
- Line(585 2350 585 1787 35 30 0x00000000)
- Line(705 595 875 765 15 30 0x00000000)
- Line(795 785 795 1155 15 30 0x00000000)
- Line(2555 475 1480 475 15 30 0x00000000)
- Line(2630 550 2555 475 15 30 0x00000000)
- Line(1455 2285 1290 2450 35 30 0x00000000)
- Line(875 765 875 1165 15 30 0x00000000)
- Line(705 695 795 785 15 30 0x00000000)
- Line(980 1774 820 1934 15 30 0x00000000)
- Line(705 1075 635 1145 15 30 0x00000000)
- Line(2290 2420 2290 2225 10 30 0x00000000)
- Line(1480 475 1395 560 15 30 0x00000000)
- Line(635 1425 820 1610 15 30 0x00000000)
- Line(875 1165 980 1270 15 30 0x00000000)
- Line(2095 2225 2175 2145 15 30 0x00000000)
- Line(1290 2450 685 2450 35 30 0x00000000)
- Line(1600 1750 1630 1720 10 30 0x00000000)
- Line(1897 2827 1897 2925 15 30 0x00000000)
- Line(915 1731 820 1826 15 30 0x00000000)
- Line(915 1275 915 1731 15 30 0x00000000)
- Line(1755 2585 2091 2925 15 30 0x00000000)
- Line(1501 2764 1501 2925 15 30 0x00000000)
- Line(1655 2585 1897 2827 15 30 0x00000000)
- Line(1182 2525 1122 2585 15 30 0x00000000)
- Line(1520 2495 1490 2525 15 30 0x00000000)
- Line(1490 2525 1182 2525 15 30 0x00000000)
- Line(1605 2660 1501 2764 15 30 0x00000000)
- Line(1185 2655 1485 2655 15 30 0x00000000)
- Line(1485 2655 1555 2585 15 30 0x00000000)
- Line(1122 2740 1307 2925 15 30 0x00000000)
- Line(2255 1955 2375 2075 15 30 0x00000000)
- Line(2440 1955 2440 2110 15 30 0x00000000)
- Line(2345 2865 2285 2925 15 30 0x00000000)
- Line(2345 2205 2345 2865 15 30 0x00000000)
- Line(2785 2215 2785 2375 15 30 0x00000000)
- Line(795 1155 915 1275 15 30 0x00000000)
- Line(2875 2225 2875 2375 15 30 0x00000000)
- Line(1784 1239 1784 1340 10 30 0x00000000)
- Line(2575 2125 2495 2215 15 30 0x00000000)
- Line(2665 2375 2785 2375 15 30 0x00000000)
- Line(2575 2225 2575 2375 15 30 0x00000000)
- Line(2495 2215 2495 2530 15 30 0x00000000)
- Line(2875 1925 2875 1800 15 30 0x00000000)
- Line(2875 2125 2785 2215 15 30 0x00000000)
- Line(1937 1300 1937 1340 10 30 0x00000000)
- Line(2875 2125 2675 2125 15 30 0x00000000)
- Line(635 1145 635 1425 15 30 0x00000000)
- Line(1835 1885 1835 1840 15 30 0x00000000)
- Line(1695 1276 1707 1288 10 30 0x00000000)
- Text(2515 2705 0 140 "LED rev 1" 0x00000000)
-)
-Layer(5 "GND-component")
-(
- Line(1505 950 1595 860 30 30 0x00000000)
- Line(1440 950 1505 950 30 30 0x00000000)
- Line(2220 1545 2155 1545 20 30 0x00000000)
- Line(2515 1350 2515 1415 30 30 0x00000000)
- Line(1200 1350 1230 1350 35 30 0x00000000)
- Line(1860 1395 1860 1430 10 30 0x00000000)
- Line(1965 1495 1965 1635 25 30 0x00000000)
- Line(1855 1495 1965 1495 25 30 0x00000000)
- Line(1835 1665 1835 1625 10 30 0x00000000)
- Line(1885 1395 1885 1460 10 30 0x00000000)
- Line(1965 1660 1965 1635 10 30 0x00000000)
- Line(1810 1665 1810 1630 10 30 0x00000000)
- Line(1785 1660 1785 1625 10 30 0x00000000)
- Line(1760 1625 1760 1660 10 30 0x00000000)
- Line(1280 1580 1280 1490 25 30 0x00000000)
- Line(1195 1555 1280 1555 20 30 0x00000000)
- Line(2545 1320 2515 1350 30 30 0x00000000)
- Line(1005 595 1085 595 30 30 0x00000000)
- Line(1085 595 1085 955 30 30 0x00000000)
- Line(1085 955 1145 1015 30 30 0x00000000)
- Line(1145 1015 1245 1015 30 30 0x00000000)
- Arc(1445 995 45 45 30 30 270 90 0x00000000)
- Polygon(0x00000010)
- (
- (2250 1535) (2270 1535) (2270 1485) (2325 1485) (2325 1535)
- (2345 1535) (2345 1560) (2325 1560) (2325 1630) (2160 1630)
- (2160 1610) (2270 1610) (2270 1560) (2250 1560)
- )
- Polygon(0x00000010)
- (
- (1995 1470) (1880 1470) (1880 1450) (2015 1450) (2015 1365)
- (2160 1365) (2160 1330) (2195 1330) (2195 1425) (2160 1460)
- (2160 1630) (2070 1630) (2070 1720) (1995 1720)
- )
- Polygon(0x00000010)
- (
- (1370 1635) (1930 1635) (1930 1525) (1370 1525)
- )
- Polygon(0x00000010)
- (
- (1865 1510) (1225 1510) (1225 995) (1415 995) (1415 1255)
- (1365 1255) (1365 1365) (1605 1365) (1605 1415) (1865 1415)
- )
- Polygon(0x00000000)
- (
- (1360 1295) (1390 1295) (1390 1335) (1360 1335)
- )
- Polygon(0x00000010)
- (
- (1070 1565) (1090 1565) (1090 1810) (1150 1810) (1150 1765)
- (1125 1740) (1125 1640) (1145 1640) (1145 1565) (1165 1565)
- (1165 1540) (1145 1540) (1145 1485) (1090 1485) (1090 1540)
- (1070 1540)
- )
-)
-Layer(6 "Vcc-component")
-(
- Line(1045 1870 1045 1935 25 30 0x00000000)
- Line(708 2155 708 1988 40 30 0x00000000)
- Line(2575 1925 2490 2010 25 30 0x00000000)
- Line(1630 1340 1630 1250 10 30 0x00000000)
- Line(1910 1430 1965 1430 10 30 0x00000000)
- Line(1910 1395 1910 1430 10 30 0x00000000)
- Line(1200 2355 1000 2155 35 30 0x00000000)
- Line(2575 1925 2485 1835 25 30 0x00000000)
- Line(1070 1265 1070 1330 25 30 0x00000000)
- Line(2360 1500 2360 1315 25 30 0x00000000)
- Line(2445 1250 2445 1675 30 30 0x00000000)
- Line(2100 1250 2445 1250 30 30 0x00000000)
- Line(1910 1340 1910 1250 10 30 0x00000000)
- Line(1965 1430 1965 1400 10 30 0x00000000)
- Line(2375 1585 2440 1585 25 30 0x00000000)
- Line(2665 1835 2575 1925 30 30 0x00000000)
- Line(1120 1875 1190 1875 20 30 0x00000000)
- Line(1045 1595 1045 1875 20 30 0x00000000)
- Line(1045 1875 1120 1875 20 30 0x00000000)
- Line(2875 2025 2675 2025 25 30 0x00000000)
- Line(1285 2355 1200 2355 35 30 0x00000000)
- Line(1355 2285 1285 2355 35 30 0x00000000)
- Line(2675 2025 2575 1925 25 30 0x00000000)
- Line(1000 2155 708 2155 40 30 0x00000000)
- Line(1060 1510 1060 1375 25 30 0x00000000)
- Line(1190 1875 1280 1785 20 30 0x00000000)
- Line(2490 2010 2490 2135 25 30 0x00000000)
- Line(2450 1510 2495 1510 35 30 0x00000000)
- Line(2485 1835 2485 1680 25 30 0x00000000)
- Line(2485 1680 2375 1680 25 30 0x00000000)
- Line(2665 1800 2665 1835 30 30 0x00000000)
- Line(2375 1680 2270 1680 30 30 0x00000000)
- Line(2490 2135 2400 2225 25 30 0x00000000)
- Polygon(0x00000000)
- (
- (1500 1255) (1530 1255) (1530 1295) (1500 1295)
- )
- Polygon(0x00000010)
- (
- (1445 1255) (1635 1255) (1635 995) (1635 995) (1635 995)
- (1635 995) (1635 995) (1445 995)
- )
- Polygon(0x00000010)
- (
- (1885 1260) (2120 1260) (2120 1005) (1921 1003) (1885 1039)
- )
- Polygon(0x00000000)
- (
- (2080 1250) (2110 1250) (2110 1295) (2080 1295)
- )
-)
-Layer(7 "unused")
-(
-)
-Layer(8 "unused")
-(
- Line(3135 3225 345 3225 35 30 0x00000000)
- Line(3135 210 3135 3225 35 30 0x00000000)
- Line(345 210 3135 210 35 30 0x00000000)
- Line(345 3225 345 210 35 30 0x00000000)
-)
-Layer(9 "silk")
-(
-)
-Layer(10 "silk")
-(
- Text(2210 3120 0 115 "ANODE" 0x00000400)
- Text(1855 3125 0 115 "-Y" 0x00000400)
- Text(2045 3130 0 115 "+Y" 0x00000400)
- Text(1255 3125 0 115 "-X" 0x00000400)
- Text(1455 3125 0 115 "+X" 0x00000400)
- Text(525 295 0 280 "FLARE GENESIS" 0x00000400)
- Text(435 2815 0 165 "LED Interface" 0x00000400)
- Text(1885 285 0 295 "harry eaton" 0x00000400)
-)
diff --git a/tutorial/pcb/LED.NET b/tutorial/pcb/LED.NET
deleted file mode 100755
index eb9f8a2..0000000
--- a/tutorial/pcb/LED.NET
+++ /dev/null
@@ -1,47 +0,0 @@
-AGND C8-2 C9-2 C10-2 C11-2 C12-2 C13-2 C20-2 C21-2 R7-2 R9-2 \
- R10-2 U2-6 U2-7 U2-8 U2-9 U2-18 U3-2 U3-5 U7-4
-DGND C5-2 C6-2 C7-2 C14-2 C15-2 C16-2 C17-1 J3-1 U2-14 U2-19 \
- U4-2 U4-5 U5-5 U6-4 X1-2
-Minus12V C3-1 C4-1 J3-9 U1-6
-Plus12V J3-6 R11-1 R12-2 U1-7 U1-11
-S00001 C8-1 C9-1 C10-1 C13-1 C18-1 R2-2 R6-1 R8-1 U2-15 U2-17 \
- U3-4 U7-1 U7-7
-SIG10 Skinny U1-2 U1-8 U1-15
-SIG41 Power C3-2 R3-2 U1-16
-SIG43 C4-2 R1-2 U1-1
-SIG49 C2-1 R4-2 R6-2 R7-1 U2-4
-SIG50 C2-2 R4-1 U1-5 U2-3
-SIG51 C1-1 R5-2 R8-2 R9-1 U2-2
-SIG52 C1-2 R5-1 U1-12 U2-1
-SIG87 U2-10 U2-11
-SIG88 U2-12 U2-13
-SIG91 C19-1 C20-1 C21-1 U2-16 U7-2 U7-6
-SIG100 U2-21 U5-11
-SIG101 U2-20 U5-10
-SIG124 J2-3 U1-4
-SIG125 J2-2 U1-3
-SIG127 J1-2 U1-14
-SIG139 C11-1 U3-1
-SIG146 C12-1 R11-2 U3-6
-SIG150 C15-1 R12-1 U4-6
-SIG155 C14-1 U4-1
-SIG191 U5-16 X1-3
-SIG241 U2-26 U5-15
-SIG252 R13-1 U4-3 U5-4
-SIG258 U5-18 U6-3
-SIG259 U5-17 U6-2
-SIG285 J3-4 R14-1 U6-7
-SIG286 J3-5 R14-2 U6-8
-SIG291 U2-22 U5-9
-SIG292 U2-23 U5-8
-SIG293 U2-24 U5-7
-SIG294 U2-25 U5-6
-SIG296 J3-2 U6-5
-SIG297 J3-3 U6-6
-SIG310 J1-1 R10-1 U2-5
-SIG311 J1-3 U1-13
-SIG321 C5-1 C6-1 C7-1 C16-1 C17-2 R13-2 U2-28 U4-4 U5-14 U6-1 \
- X1-4
-SIG338 R1-1 R2-1 R3-1 U7-3
-SIG341 C18-2 U7-8
-SIG343 C19-2 U7-5
diff --git a/tutorial/pcb/bridge.pcb b/tutorial/pcb/bridge.pcb
deleted file mode 100644
index dc79211..0000000
--- a/tutorial/pcb/bridge.pcb
+++ /dev/null
@@ -1,6 +0,0 @@
-V- T1-2
-V+ T1-1
-int5 T1-3 rectifier1/D4-1 rectifier1/D3-2
-int6 T1-4 rectifier1/D2-1 rectifier1/D1-2
-Vout rectifier1/D3-1 rectifier1/D1-1 C2-1 C1-1
-GND rectifier1/D4-2 rectifier1/D2-2 C2-2 C1-2
diff --git a/tutorial/pcb/flare_objects.gif b/tutorial/pcb/flare_objects.gif
deleted file mode 100644
index d2938ed..0000000
--- a/tutorial/pcb/flare_objects.gif
+++ /dev/null
Binary files differ
diff --git a/tutorial/pcb/pic_instance.gif b/tutorial/pcb/pic_instance.gif
deleted file mode 100644
index eb6ae04..0000000
--- a/tutorial/pcb/pic_instance.gif
+++ /dev/null
Binary files differ
diff --git a/tutorial/pcb/pic_object.gif b/tutorial/pcb/pic_object.gif
deleted file mode 100644
index 5ba2733..0000000
--- a/tutorial/pcb/pic_object.gif
+++ /dev/null
Binary files differ
diff --git a/tutorial/pcb/powersup.pcb b/tutorial/pcb/powersup.pcb
deleted file mode 100644
index 15da12b..0000000
--- a/tutorial/pcb/powersup.pcb
+++ /dev/null
@@ -1,10 +0,0 @@
-NET1 power_supply1/T1-3 power_supply1/rectifier1/D4-1 \
- power_supply1/rectifier1/D3-2
-NET2 power_supply1/T1-4 power_supply1/rectifier1/D2-1 \
- power_supply1/rectifier1/D1-2
-In+ power_supply1/T1-1
-In- power_supply1/T1-2
-Out power_supply1/rectifier1/D3-1 power_supply1/rectifier1/D1-1 \
- power_supply1/C2-1 power_supply1/C1-1 R1-1
-GND power_supply1/rectifier1/D4-2 power_supply1/rectifier1/D2-2 \
- power_supply1/C2-2 power_supply1/C1-2 R1-2
diff --git a/tutorial/psfiles/analoglib1.lps b/tutorial/psfiles/analoglib1.lps
deleted file mode 100644
index 9ac56dd..0000000
--- a/tutorial/psfiles/analoglib1.lps
+++ /dev/null
@@ -1,238 +0,0 @@
-%! PostScript set of library objects for XCircuit
-% Version: 2.0
-% Library name is: analoglib
-% Author: Tim Edwards <tim@stravinsky.jhuapl.edu>
-%
-
-% XCircuitLib library objects
-
-/arrowhead {
-% -12 -32 24 36 bbox
-begingate
-8 -28 beginpath
-3 -18 3 -15 0 0 curveto
--3 -15 -3 -18 -8 -28 curveto
--2 -26 2 -26
-8 -28 curveto
-249 1.00 endpath
-endgate
-} def
-
-/source {
-% -32 -64 64 128 bbox
-% hidden
-begingate
-1 1.00 0 0 32 0.00 360.00 xcarc
-1 1.00 0 32 0 64 2 polygon
-1 1.00 0 -32 0 -64 2 polygon
-endgate
-} def
-
-/capacitor {
-% -32 -64 177 128 bbox
-(1.0) (p) 2 beginparm
-% fundamental
-1 1.00 0 -64 0 -6 2 polygon
-1 1.00 0 64 0 6 2 polygon
-1 1.00 -32 6 32 6 2 polygon
-1 1.00 -32 -6 32 -6 2 polygon
-1.000 0.000 0.000 scb
-(c.1) {/Times-Roman 1.000 cf} 2 9 0 0 64 pinlabel
-(c.2) {/Times-Roman 1.000 cf} 2 13 0 0 -64 pinlabel
-sce
-(spice:C%i %pc.1 %pc.2 %v"1.0"%v"p") {/Times-Roman 1.000 cf} 2 0 0 -208 -160 infolabel
-(sim:c %pc.1 %pc.2) {/Times-Roman 1.000 cf} 2 0 0 -208 -208 infolabel
-(F) v2 {hS} v1 {/Helvetica 1.000 cf} 5 20 0 48 0 label
-endgate
-} def
-
-/polarized {
-% -32 -64 177 128 bbox
-(1.0) (p) 2 beginparm
-% fundamental
-1 1.00 0 -64 0 -6 2 polygon
-1 1.00 0 64 0 6 2 polygon
-1 1.00 -32 6 32 6 2 polygon
-1 1.00 0 -80 74 66.00 114.00 xcarc
-1.000 0.000 0.000 scb
-(t) {/Times-Roman 1.000 cf} 2 9 0 0 64 pinlabel
-(b) {/Times-Roman 1.000 cf} 2 13 0 0 -64 pinlabel
-sce
-(spice:C%i %pt %pb %v"1.0"%v"p") {/Times-Roman 1.000 cf} 2 0 0 -208 -160 infolabel
-(sim:e %pt %pb %pb) {/Times-Roman 1.000 cf} 2 0 0 -208 -208 infolabel
-(F) v2 {hS} v1 {/Helvetica 1.000 cf} 5 20 0 48 0 label
-endgate
-} def
-
-/resistor {
-% -14 -64 151 128 bbox
-(1.0) (k) 2 beginparm
-% fundamental
-1 1.00 0 64 0 36 2 polygon
-1 1.00 0 -64 0 -36 2 polygon
-1 1.00 0 -36 14 -30 -14 -18 14 -6 -14 6 14 18 -14 30 0 36 8 polygon
-1.000 0.000 0.000 scb
-(r.1) {/Times-Roman 1.000 cf} 2 9 0 0 64 pinlabel
-(r.2) {/Times-Roman 1.000 cf} 2 13 0 0 -64 pinlabel
-sce
-(spice:R%i %pr.1 %pr.2 %v"1.0"%v"k") {/Times-Roman 1.000 cf} 2 0 0 -208 -160 infolabel
-(sim:r %pr.1 %pr.2) {/Times-Roman 1.000 cf} 2 0 0 -208 -208 infolabel
-(W) {/Symbol 1.000 cf} v2 {hS} v1 {/Helvetica 1.000 cf} 6 20 0 32 0 label
-endgate
-} def
-
-/inductor {
-% -14 -64 164 112 bbox
-(1.0) (m) 2 beginparm
-% fundamental
-1 1.00 20 -28 20 -44 0 -48 0 -24 spline
-1 1.00 -20 -20 -20 -32 0 -28 0 -24 spline
-1 1.00
-20 32 20 16 0 12 0 36 spline
-1 1.00 20 12 20 -4 0 -8 0 16 spline
-1 1.00 20 -8 20 -24 0 -28 0 -4 spline
-1 1.00 -20 20 -20
-8 0 12 0 16 spline
-1 1.00 -20 0 -20 -12 0 -8 0 -4 spline
-1 1.00 0 -48 0 -64 2 polygon
-1 1.00 0 36 0 48 2 polygon
-1.000 0.000 0.000 scb
-(l.1) {/Times-Roman 1.000 cf} 2 9 0 0 48 pinlabel
-(l.2) {/Times-Roman 1.000 cf} 2 13 0 0 -64 pinlabel
-sce
-(spice:L%i %pl.1 %pl.2 %v"1.0"%v"m") {/Times-Roman 1.000 cf} 2 0 0 -208 -160 infolabel
-(sim:l %pl.1 %pl.2) {/Times-Roman 1.000 cf} 2 0 0 -208 -208 infolabel
-(H) v2 {hS} v1 {/Helvetica 1.000 cf} 5 20 0 32 0 label
-endgate
-} def
-
-/vsource {
-% -32 -64 139 128 bbox
-(5) 1 beginparm
-% fundamental
-1.00 0 0 0 source
-(+) {/Symbol 1.000 cf} 2 5 0 0 18 label
-(-) {/Symbol 1.000 cf} 2 5 0 0 -18 label
-1.000 0.000 0.000 scb
-(v.p) {/Times-Roman 1.000 cf} 2 9 0 0 64 pinlabel
-(v.m) {/Times-Roman 1.000 cf} 2 13 0 0 -64 pinlabel
-sce
-(spice:V%i %pv.m %pv.p %v"5") {/Helvetica 1.000 cf} 2 20 0 -96 -160 infolabel
-(V) {hS} v1 {/Helvetica 1.000 cf} 4 20 0 48 0 label
-endgate
-} def
-
-/isource {
-% -32 -64 163 128 bbox
-(1) (m) 2 beginparm
-% fundamental
-1.00 0 0 0 source
-1 0.75 0 20 0 -8 2 polygon
-0.80 180 0 -20 arrowhead
-1.000 0.000 0.000 scb
-(i.p) {/Times-Roman 1.000 cf} 2 9 0 0 64 pinlabel
-(i.m) {/Times-Roman 1.000 cf} 2 13 0 0 -64 pinlabel
-sce
-(spice:I%i %pi.m %pi.p %v"1"%v"m") {/Times-Roman 1.000 cf} 2 20 0 -96 -160 infolabel
-(A) v2 {hS} v1 {/Helvetica 1.000 cf} 5 20 0 48 0 label
-endgate
-} def
-
-/acsource {
-% -32 -64 211 128 bbox
-(5) (0) (1) (k) 4 beginparm
-% fundamental
-1.00 0 0 0 source
-1 0.80 0 -48 0 48 -16 0 16 0 spline
-1.000 0.000 0.000 scb
-(s.p) {/Times-Roman 1.000 cf} 2 9 0 0 64 pinlabel
-(s.m) {/Times-Roman 1.000 cf} 2 13 0 0 -64 pinlabel
-sce
-(spice:V%i %ps.m %ps.p SIN\(%v"0" %v"5" %v"1"%v"k"\)) {/Helvetica 1.000 cf} 2 20 0 -336 -160 infolabel
-(offset) {ss} (V) {hS} v2 {/Helvetica 1.000 cf} 6 20 0 48 0 label
-(p-p) {ss} (V) {hS} v1 {/Helvetica 1.000 cf} 6 20 0 48 48 label
-(Hz) v4 {hS} v3 {/Helvetica 1.000 cf} 5 20 0 48 -48 label
-endgate
-} def
-
-/nmos {
-% -64 -64 161 128 bbox
-(3) (2) 2 beginparm
-% fundamental
-1 1.00 0 -64 0 -28 -32 -28 -32 28 0 28 0 64 6 polygon
-1 1.00 -44 -28 -44 28 2 polygon
-1 1.00 -44 0 -64 0 2 polygon
-1.000 0.000 0.000 scb
-(G) {/Helvetica 1.000 cf} 2 7 0 -64 0 pinlabel
-(S) {/Helvetica 1.000 cf} 2 13 0 0 -64 pinlabel
-(D) {/Helvetica 1.000 cf} 2 9 0 0 64 pinlabel
-sce
-(spice:M%i %pD %pG %pS GND nmos W=%v"3" L=%v"2") {/Times-Roman 1.000 cf} 2 4 0 -244 -139 infolabel
-(sim:n %pG %pD %pS) {/Times-Roman 1.000 cf} 2 4 0 -244 -187 infolabel
-v1 (W=) {/Helvetica 1.000 cf} 3 20 0 16 16 label
-v2 (L=) {/Helvetica 1.000 cf} 3 20 0 16 -16 label
-endgate
-} def
-
-/pmos {
-% -64 -64 161 128 bbox
-(3) (2) 2 beginparm
-% fundamental
-1 1.00 -44 -28 -44 28 2 polygon
-1 1.00 -60 0 -64 0 2 polygon
-1 1.00 0 -64 0 -28 -32 -28 -32 28 0 28 0 64 6 polygon
-1 1.00 -52 0 8 0.00 360.00 xcarc
-1.000 0.000 0.000 scb
-(S) {/Helvetica 1.000 cf} 2 9 0 0 64 pinlabel
-(D) {/Helvetica 1.000 cf} 2 13 0 0 -64 pinlabel
-(G) {/Helvetica 1.000 cf} 2 7 0 -64 0 pinlabel
-sce
-(spice:M%i %pD %pG %pS Vdd pmos W=%v"3" L=%v"2") {/Times-Roman 1.000 cf} 2 4 0 -196 -139 infolabel
-(sim:p %pG %pD %pS) {/Times-Roman 1.000 cf} 2 4 0 -196 -187 infolabel
-v1 (W=) {/Helvetica 1.000 cf} 3 20 0 16 16 label
-v2 (L=) {/Helvetica 1.000 cf} 3 20 0 16 -16 label
-endgate
-} def
-
-/npn {
-% -64 -64 73 128 bbox
-begingate
-% fundamental
-1 1.00 -48 0 -64 0 2 polygon
-1 1.00 -48 48 -48 -48 2 polygon
-1 1.00 0 48 -48 22 2 polygon
-1 1.00 0 48 0 64 2 polygon
-1 1.00 0 -48 -48 -22 2 polygon
-1 1.00 0 -48 0 -64 2 polygon
-1.00 240 0 -48 arrowhead
-1.000 0.000 0.000 scb
-(C) {/Times-Roman 1.000 cf} 2 9 0 0 64 pinlabel
-(B) {/Times-Roman 1.000 cf} 2 7 0 -64 0 pinlabel
-(E) {/Times-Roman 1.000 cf} 2 13 0 0 -64 pinlabel
-sce
-(spice:Q%i %pC %pB %pE npn) {/Times-Roman 1.000 cf} 2 4 0 -244 -139 infolabel
-(sim:b %pB %pE %pC) {/Times-Roman 1.000 cf} 2 4 0 -244 -187 infolabel
-endgate
-} def
-
-/pnp {
-% -64 -64 64 128 bbox
-begingate
-% fundamental
-1 1.00 -48 0 -64 0 2 polygon
-1 1.00 -48 48 -48 -48 2 polygon
-1 1.00 0 48 -48 22 2 polygon
-1 1.00 0 48 0 64 2 polygon
-1 1.00 0 -48 -48 -22 2 polygon
-1 1.00 0 -48 0 -64 2 polygon
-1.00 120 -48 22 arrowhead
-1.000 0.000 0.000 scb
-(C) {/Times-Roman 1.000 cf} 2 13 0 0 -64 pinlabel
-(B) {/Times-Roman 1.000 cf} 2 7 0 -64 0 pinlabel
-(E) {/Times-Roman 1.000 cf} 2 9 0 0 64 pinlabel
-sce
-(spice:Q%i %pC %pB %pE pnp) {/Times-Roman 1.000 cf} 2 4 0 -244 -139 infolabel
-endgate
-} def
-
-% EndLib
diff --git a/tutorial/psfiles/analoglib2.lps b/tutorial/psfiles/analoglib2.lps
deleted file mode 100644
index c8050c2..0000000
--- a/tutorial/psfiles/analoglib2.lps
+++ /dev/null
@@ -1,235 +0,0 @@
-%! PostScript set of library objects for XCircuit
-% Version: 2.0
-% Library name is: analoglib2
-% Author: R. Timothy Edwards <tim@stravinsky.jhuapl.edu>
-%
-
-% XCircuitLib library objects
-/capacitor {
-% -32 -64 177 128 bbox
-(1.0) (p) 2 beginparm
-% fundamental
-1 1.00 0 -64 0 -6 2 polygon
-1 1.00 0 64 0 6 2 polygon
-1 1.00 -32 6 32 6 2 polygon
-1 1.00 -32 -6 32 -6 2 polygon
-1.000 0.000 0.000 scb
-(c.1) {/Times-Roman 1.000 cf} 2 9 0 0 64 pinlabel
-(c.2) {/Times-Roman 1.000 cf} 2 13 0 0 -64 pinlabel
-sce
-mark v2 v1 (spice:C%i %pc.1 %pc.2 ) {/Times-Roman 1.000 cf} ctmk 4 0 -208 -160 infolabel
-(sim:c %pc.1 %pc.2) {/Times-Roman 1.000 cf} 2 4 0 -208 -208 infolabel
-mark (F) v2 {hS} v1 {/Helvetica 1.000 cf} ctmk 20 0 48 0 label
-endgate
-} def
-
-/polarized {
-% -32 -64 177 128 bbox
-(1.0) (p) 2 beginparm
-% fundamental
-1 1.00 0 -64 0 -6 2 polygon
-1 1.00 0 64 0 6 2 polygon
-1 1.00 -32 6 32 6 2 polygon
-1 1.00 0 -80 74 66.00 114.00 xcarc
-1.000 0.000 0.000 scb
-(t) {/Times-Roman 1.000 cf} 2 9 0 0 64 pinlabel
-(b) {/Times-Roman 1.000 cf} 2 13 0 0 -64 pinlabel
-sce
-mark v2 v1 (spice:C%i %pt %pb ) {/Times-Roman 1.000 cf} ctmk 4 0 -208 -160 infolabel
-(sim:e %pt %pb %pb) {/Times-Roman 1.000 cf} 2 4 0 -208 -208 infolabel
-mark (F) v2 {hS} v1 {/Helvetica 1.000 cf} ctmk 20 0 48 0 label
-endgate
-} def
-
-/resistor {
-% -14 -64 151 128 bbox
-(1.0) (k) 2 beginparm
-% fundamental
-1 1.00 0 64 0 36 2 polygon
-1 1.00 0 -64 0 -36 2 polygon
-1 1.00 0 -36 14 -30 -14 -18 14 -6 -14 6 14 18 -14 30 0 36 8 polygon
-1.000 0.000 0.000 scb
-(r.1) {/Times-Roman 1.000 cf} 2 9 0 0 64 pinlabel
-(r.2) {/Times-Roman 1.000 cf} 2 13 0 0 -64 pinlabel
-sce
-mark v2 v1 (spice:R%i %pr.1 %pr.2 ) {/Times-Roman 1.000 cf} ctmk 4 0 -208 -160 infolabel
-(sim:r %pr.1 %pr.2) {/Times-Roman 1.000 cf} 2 4 0 -208 -208 infolabel
-mark (W) {/Symbol 1.000 cf} v2 {hS} v1 {/Helvetica 1.000 cf} ctmk 20 0 32 0 label
-endgate
-} def
-
-/inductor {
-% -14 -64 164 112 bbox
-(1.0) (m) 2 beginparm
-% fundamental
-1 1.00 20 -28 20 -44 0 -48 0 -24 spline
-1 1.00 -20 -20 -20 -32 0 -28 0 -24 spline
-1 1.00 20 32 20 16 0 12 0 36 spline
-1 1.00 20 12 20 -4 0 -8 0 16 spline
-1 1.00 20 -8 20 -24 0 -28 0 -4 spline
-1 1.00 -20 20 -20 8 0 12 0 16 spline
-1 1.00 -20 0 -20 -12 0 -8 0 -4 spline
-1 1.00 0 -48 0 -64 2 polygon
-1 1.00 0 36 0 48 2 polygon
-1.000 0.000 0.000 scb
-(l.1) {/Times-Roman 1.000 cf} 2 9 0 0 48 pinlabel
-(l.2) {/Times-Roman 1.000 cf} 2 13 0 0 -64 pinlabel
-sce
-mark v2 v1 (spice:L%i %pl.1 %pl.2 ) {/Times-Roman 1.000 cf} ctmk 4 0 -208 -160 infolabel
-(sim:l %pl.1 %pl.2) {/Times-Roman 1.000 cf} 2 4 0 -208 -208 infolabel
-mark (H) v2 {hS} v1 {/Helvetica 1.000 cf} ctmk 20 0 32 0 label
-endgate
-} def
-
-/source {
-% -32 -64 64 128 bbox
-% hidden
-begingate
-1 1.00 0 0 32 0.00 360.00 xcarc
-1 1.00 0 32 0 64 2 polygon
-1 1.00 0 -32 0 -64 2 polygon
-endgate
-} def
-
-/vsource {
-% -32 -64 139 128 bbox
-(5) 1 beginparm
-% fundamental
-1.00 0 0 0 source
-(+) {/Symbol 1.000 cf} 2 5 0 0 18 label
-(-) {/Symbol 1.000 cf} 2 5 0 0 -18 label
-1.000 0.000 0.000 scb
-(v.p) {/Times-Roman 1.000 cf} 2 9 0 0 64 pinlabel
-(v.m) {/Times-Roman 1.000 cf} 2 13 0 0 -64 pinlabel
-sce
-mark v1 (spice:V%i %pv.m %pv.p ) {/Helvetica 1.000 cf} ctmk 20 0 -96 -160 infolabel
-mark (V) {hS} v1 {/Helvetica 1.000 cf} ctmk 20 0 48 0 label
-endgate
-} def
-
-/arrowhead {
-% -12 -32 24 36 bbox
-begingate
-8 -28 beginpath
-3 -18 3 -15 0 0 curveto
--3 -15 -3 -18 -8 -28 curveto
--2 -26 2 -26 8 -28 curveto
-249 1.00 endpath
-endgate
-} def
-
-/isource {
-% -32 -64 163 128 bbox
-(1) (m) 2 beginparm
-% fundamental
-1.00 0 0 0 source
-1 0.75 0 20 0 -8 2 polygon
-0.80 180 0 -20 arrowhead
-1.000 0.000 0.000 scb
-(i.p) {/Times-Roman 1.000 cf} 2 9 0 0 64 pinlabel
-(i.m) {/Times-Roman 1.000 cf} 2 13 0 0 -64 pinlabel
-sce
-mark v2 v1 (spice:I%i %pi.m %pi.p ) {/Times-Roman 1.000 cf} ctmk 20 0 -96 -160 infolabel
-mark (A) v2 {hS} v1 {/Helvetica 1.000 cf} ctmk 20 0 48 0 label
-endgate
-} def
-
-/acsource {
-% -32 -64 211 128 bbox
-(5) (0) (1) (k) 4 beginparm
-% fundamental
-1.00 0 0 0 source
-1 0.80 0 -48 0 48 -16 0 16 0 spline
-1.000 0.000 0.000 scb
-(s.p) {/Times-Roman 1.000 cf} 2 9 0 0 64 pinlabel
-(s.m) {/Times-Roman 1.000 cf} 2 13 0 0 -64 pinlabel
-sce
-mark (\)) v4 v3 ( ) v1 ( ) v2 (spice:V%i %ps.m %ps.p SIN\() {/Helvetica 1.000 cf} ctmk 20 0 -336 -160 infolabel
-mark (offset) {ss} (V) {hS} v2 {/Helvetica 1.000 cf} ctmk 20 0 48 0 label
-mark (p-p) {ss} (V) {hS} v1 {/Helvetica 1.000 cf} ctmk 20 0 48 48 label
-mark (Hz) v4 {hS} v3 {/Helvetica 1.000 cf} ctmk 20 0 48 -48 label
-endgate
-} def
-
-/nmos {
-% -64 -64 161 128 bbox
-(3) (2) (nmos) 3 beginparm
-% fundamental
-1 1.00 0 -64 0 -28 -32 -28 -32 28 0 28 0 64 6 polygon
-1 1.00 -44 -28 -44 28 2 polygon
-1 1.00 -44 0 -64 0 2 polygon
-1.000 0.000 0.000 scb
-(G) {/Helvetica 1.000 cf} 2 7 0 -64 0 pinlabel
-(S) {/Helvetica 1.000 cf} 2 13 0 0 -64 pinlabel
-(D) {/Helvetica 1.000 cf} 2 9 0 0 64 pinlabel
-sce
-mark v2 ( L=) v1 ( W=) v3 (spice:M%i %pD %pG %pS GND ) {/Times-Roman 1.000 cf} ctmk 4 0 -244 -139 infolabel
-(sim:n %pG %pD %pS) {/Times-Roman 1.000 cf} 2 4 0 -244 -187 infolabel
-mark v1 (W=) {/Helvetica 1.000 cf} ctmk 20 0 16 16 label
-mark v2 (L=) {/Helvetica 1.000 cf} ctmk 20 0 16 -16 label
-endgate
-} def
-
-/pmos {
-% -64 -64 161 128 bbox
-(3) (2) (pmos) 3 beginparm
-% fundamental
-1 1.00 -44 -28 -44 28 2 polygon
-1 1.00 -60 0 -64 0 2 polygon
-1 1.00 0 -64 0 -28 -32 -28 -32 28 0 28 0 64 6 polygon
-1 1.00 -52 0 8 0.00 360.00 xcarc
-1.000 0.000 0.000 scb
-(S) {/Helvetica 1.000 cf} 2 9 0 0 64 pinlabel
-(D) {/Helvetica 1.000 cf} 2 13 0 0 -64 pinlabel
-(G) {/Helvetica 1.000 cf} 2 7 0 -64 0 pinlabel
-sce
-mark v2 ( L=) v1 ( W=) v3 (spice:M%i %pD %pG %pS Vdd ) {/Times-Roman 1.000 cf} ctmk 4 0 -196 -139 infolabel
-(sim:p %pG %pD %pS) {/Times-Roman 1.000 cf} 2 4 0 -196 -187 infolabel
-mark v1 (W=) {/Helvetica 1.000 cf} ctmk 20 0 16 16 label
-mark v2 (L=) {/Helvetica 1.000 cf} ctmk 20 0 16 -16 label
-endgate
-} def
-
-/npn {
-% -64 -64 72 128 bbox
-(npn) 1 beginparm
-% fundamental
-1 1.00 -48 0 -64 0 2 polygon
-1 1.00 -48 48 -48 -48 2 polygon
-1 1.00 0 48 -48 22 2 polygon
-1 1.00 0 48 0 64 2 polygon
-1 1.00 0 -48 -48 -22 2 polygon
-1 1.00 0 -48 0 -64 2 polygon
-1.00 240 0 -48 arrowhead
-1.000 0.000 0.000 scb
-(C) {/Times-Roman 1.000 cf} 2 9 0 0 64 pinlabel
-(B) {/Times-Roman 1.000 cf} 2 7 0 -64 0 pinlabel
-(E) {/Times-Roman 1.000 cf} 2 13 0 0 -64 pinlabel
-sce
-mark v1 (spice:Q%i %pC %pB %pE ) {/Times-Roman 1.000 cf} ctmk 4 0 -244 -139 infolabel
-(sim:b %pB %pE %pC) {/Times-Roman 1.000 cf} 2 4 0 -244 -187 infolabel
-endgate
-} def
-
-/pnp {
-% -64 -64 72 128 bbox
-(pnp) 1 beginparm
-% fundamental
-1 1.00 -48 0 -64 0 2 polygon
-1 1.00 -48 48 -48 -48 2 polygon
-1 1.00 0 48 -48 22 2 polygon
-1 1.00 0 48 0 64 2 polygon
-1 1.00 0 -48 -48 -22 2 polygon
-1 1.00 0 -48 0 -64 2 polygon
-1.00 120 -48 22 arrowhead
-1.000 0.000 0.000 scb
-(C) {/Times-Roman 1.000 cf} 2 13 0 0 -64 pinlabel
-(B) {/Times-Roman 1.000 cf} 2 7 0 -64 0 pinlabel
-(E) {/Times-Roman 1.000 cf} 2 9 0 0 64 pinlabel
-sce
-mark v1 (spice:Q%i %pC %pB %pE ) {/Times-Roman 1.000 cf} ctmk 4 0 -244 -139 infolabel
-endgate
-} def
-
-
-% EndLib
diff --git a/tutorial/psfiles/bridge.ps b/tutorial/psfiles/bridge.ps
deleted file mode 100644
index 392f5ed..0000000
--- a/tutorial/psfiles/bridge.ps
+++ /dev/null
@@ -1,370 +0,0 @@
-%!PS-Adobe-3.0
-%%Title: ~/tmp/tutorial/bridge
-%%Creator: Xcircuit v2.3
-%%CreationDate: Wed Jul 18 11:20:21 2001
-%%Pages: 1
-%%BoundingBox: 114 302 498 490
-%%DocumentNeededResources: font Helvetica font Times-Roman font Times-RomanISO
-%%+ font HelveticaISO font Symbol
-%%EndComments
-%%BeginProlog
-%
-% PostScript prolog for output from xcircuit
-% Version: 2.3
-%
-% Electrical circuit (and otherwise general) drawing program
-%
-% Written by Tim Edwards 8/5/93--5/16/01 (tim@bach.ece.jhu.edu)
-% The Johns Hopkins University
-%
-%%BeginResource: procset XCIRCproc 2.3 1
-% supporting definitions --- these are the primary xcircuit types.
-
-/XCIRCsave save def
-/topmat matrix currentmatrix def
-
-/fontslant { /slant exch def [1 0 slant 1 0 0]
- exch findfont exch makefont dup length dict /ndict exch def
- { 1 index /FID ne { ndict 3 1 roll put } { pop pop } ifelse } forall
- ndict definefont pop} def
-/ul { dup type /stringtype eq showflag 1 eq and { gsave
- currentpoint topmat setmatrix 0 0 moveto 2 index stringwidth pop (_)
- false charpath flattenpath pathbbox grestore exch pop 1 index
- sub setlinewidth exch pop currentpoint 3 -1 roll add moveto 0
- rlineto stroke moveto } if } def
-/ol { dup type /stringtype eq showflag 1 eq and { gsave gsave
- currentpoint topmat setmatrix 2 index stringwidth pop 3 index
- true charpath flattenpath pathbbox grestore exch pop
- exch pop topmat setmatrix (_) true charpath pathbbox grestore
- exch pop 1 index sub setlinewidth exch pop currentpoint
- exch 4 1 roll exch sub add moveto pop 0 rlineto stroke
- moveto } if } def
-/stW { gsave currentpoint newpath moveto true charpath flattenpath
- pathbbox pop exch pop sub grestore } def
-/Ts {mark Tabs aload pop counttomark 1 add array astore /Tabs exch def Tabs
- 0 currentpoint pop put} def
-/Tbn {mark Tabs aload pop counttomark dup 2 add 1 roll cleartomark 1 sub} def
-/Tb { 0 1 Tbn {Tabs exch get dup currentpoint pop lt
- {currentpoint exch pop moveto exit} {pop} ifelse } for } def
-/Tf { Tbn -1 0 {Tabs exch get dup currentpoint pop gt
- {currentpoint exch pop moveto exit} {pop} ifelse } for } def
-/qS { (aa) stW (a a) stW sub 4 div 0 Kn } def
-/hS { qS qS } def
-/pspc 0 def
-/cf0 { scalefont setfont } bind def
-/Kn { dup kY add /kY exch def rmoveto } bind def
-/ss { /fscale fscale 0.67 mul def currentfont 0.67 cf0 0 fscale0 fscale mul
- 0.33 mul neg Kn} def
-/Ss { /fscale fscale 0.67 mul def currentfont 0.67 cf0 0 fscale0 fscale mul
- 0.67 mul Kn } def
-/ns { 0 kY neg Kn /kY 0 def /fscale 1.0 def xfont0 1.0 cf0 } def
-/CR { ns 0 /Bline Bline fscale0 neg add def Bline moveto } def
-/cf { dup type /realtype ne {1.0} if exch findfont exch kY 0 eq
- { 40 mul dup /fscale0 exch def cf0 /xfont0 currentfont def}
- {fscale0 mul fscale mul cf0} ifelse } def
-/ctmk { counttomark dup 2 add -1 roll pop } bind def
-/label { gsave translate 0 0 moveto dup scale /rotval exch def /just exch def
- just 16 and 0 gt {0 1 dtransform gsave pagemat setmatrix idtransform
- exch grestore 1 0 dtransform gsave pagemat setmatrix idtransform
- exch grestore dup 0 eq {pop mul 0 gt} {3 1 roll pop pop 0 lt} ifelse
- {-1 /just just dup 3 and 1 ne {3 xor} if def} {1} ifelse exch 0 lt
- {-1 /just just dup 12 and 4 ne {12 xor} if def} {1} ifelse scale }
- if /showflag 0 def /fspc pspc def /Bline 0 def /Tabs 0 array def
- /fscale 1.0 def /kY 0 def
- gsave dup 1 add copy 0 exch {exch dup type /stringtype eq {true
- charpath flattenpath} {exec} ifelse } repeat pop pathbbox grestore
- 3 -1 roll pop 3 1 roll just 1 and 0 gt {just 2 and 0 gt {exch pop
- neg fspc sub} {exch sub 0.5 mul neg} ifelse} {pop neg fspc add}
- ifelse exch Bline exch just 4 and 0 gt {just 8 and 0 gt {exch pop
- neg fspc sub} {add 0.5 mul neg} ifelse} {pop neg fspc add} ifelse
- /showflag 1 def rotval rotate Kn currentpoint translate
- /Bline 0 def /Tabs 0 array def /fscale 1.0 def /kY 0 def
- {dup type /stringtype eq {show}{exec} ifelse} repeat grestore } def
-/pinlabel { hlevel 0 eq { /pspc 20 def label /pspc 0 def }
- { pop pop pop pop pop {pop} repeat } ifelse } def
-/pinglobal { pinlabel } def
-/infolabel { pinlabel } def
-
-/scb { setrgbcolor } bind def /sce { defColor aload pop scb } bind def
-/cRedef {/defColor currentcolor 3 array astore def} def
-/begingate { /hlevel hlevel 1 add def /defColor currentcolor sce 3 array
- astore def gsave sce translate 0 0 moveto dup 0 lt
- {neg 1 sub -1 1 scale} if rotate dup scale } bind def
-/makeparm {3 string cvs dup length 1 add string /tstr exch def tstr exch
- 1 exch putinterval tstr 0 (v) putinterval tstr cvn} bind def
-/beginparm { -1 1 {makeparm exch def} for
- dup type /arraytype eq { aload length -1 1 {makeparm exch def}
- for } if begingate } bind def
-/endgate { /hlevel hlevel 1 sub def grestore defColor aload pop cRedef
- scb} bind def
-
-/hlevel 0 def
-/tmpa [1 0 0 1 0 0] def
-/gar {8 8 true tmpa {<c0 c0 00 00 0c 0c 00 00>} imagemask} bind
-{8 8 true tmpa {<30 70 60 02 03 07 06 20>} imagemask} bind
-{8 8 true tmpa {<0c 1e 1e 0c c0 e1 e1 c0>} imagemask} bind
-{8 8 true tmpa {<0f 0f 0f 0f f0 f0 f0 f0>} imagemask} bind
-{8 8 true tmpa {<3f f3 e1 e1 f3 3f 1e 1e>} imagemask} bind
-{8 8 true tmpa {<df cf 8f 9f fd fc f8 f9>} imagemask} bind
-{8 8 true tmpa {<ff 3f 3f ff ff f3 f3 ff>} imagemask} bind 7 array astore def
-/ppaint { gsave clip tmpa dup setmatrix pathbbox neg exch neg 4 2 roll
- neg 4 -1 roll 2 copy gt {exch} if 8 div ceiling 8 mul 4 2 roll neg 2 copy
- gt {exch} if 8 div ceiling 8 mul 3 -1 roll -8 5 -1 roll
- { 3 index exch 5 exch put dup -8 3 index { 3 index
- exch 4 exch put 3 index exec } for } for pop pop pop pop grestore } bind def
-/setstyles {
- currentlinewidth mul setlinewidth /style exch def
- style 1 and 0 gt not {closepath} if
- style 2 and 0 gt {currentlinewidth 4 mul dup 2 array astore 0 setdash} if
- style 4 and 0 gt {0.5 currentlinewidth 4 mul 2 array astore 0 setdash} if
- style dup 256 ge exch 480 lt and { gsave 1 setgray eofill grestore } if
- style 16 and 0 gt { gsave style 224 and -5 bitshift dup 7 lt
- {gar exch get ppaint} { pop eofill } ifelse grestore } if
- style 8 and 0 gt style 512 eq or { newpath } { stroke } ifelse grestore } def
-
-/polygon { gsave /num exch def moveto num 1 sub {lineto} repeat setstyles } def
-/xcarc { gsave newpath arc setstyles } def
-/elb { matrix currentmatrix 7 -1 roll 7 -1 roll translate 5 1 roll 4 -1 roll
- 3 index div 1 scale } def
-/ele { 0 4 1 roll 0 4 1 roll } bind def
-/ellipse { gsave elb newpath ele arc setmatrix setstyles } def
-/pellip { elb ele arc setmatrix } def
-/nellip { elb ele arcn setmatrix } def
-/spline { gsave moveto curveto setstyles } def
-/polyc { {lineto} repeat } bind def
-/beginpath { gsave moveto } bind def
-/endpath { setstyles } bind def
-/bop { 1 setlinecap 0 setlinejoin 6 setmiterlimit 0 0 0 scb cRedef } def
-/insertion {/PSobj save def /showpage {} def bop translate} def
-/end_insert {PSobj restore} def
-/setpagemat {/pagemat matrix currentmatrix def} def
-/inchscale {setpagemat 0.375 mul dup scale} def
-/cmscale {setpagemat 0.35433071 mul dup scale} def
-
-%%EndResource
-%%EndProlog
-
-/Times-Roman findfont dup length dict begin
-{1 index /FID ne {def} {pop pop} ifelse} forall
-/Encoding ISOLatin1Encoding def currentdict end
-/Times-RomanISO exch definefont pop
-
-/Helvetica findfont dup length dict begin
-{1 index /FID ne {def} {pop pop} ifelse} forall
-/Encoding ISOLatin1Encoding def currentdict end
-/HelveticaISO exch definefont pop
-
-% XCircuit output starts here.
-
-/inductor {
-% -14 -64 29 112 bbox
-begingate
-1 1.00 20 -28 20 -44 0 -48 0 -24 spline
-1 1.00 -20 -20 -20 -32 0 -28 0 -24 spline
-1 1.00 20 32 20 16 0 12 0 36 spline
-1 1.00 20 12 20 -4 0 -8 0 16 spline
-1 1.00 20 -8 20 -24 0 -28 0 -4 spline
-1 1.00 -20 20 -20 8 0 12 0 16 spline
-1 1.00 -20 0 -20 -12 0 -8 0 -4 spline
-1 1.00 0 -48 0 -64 2 polygon
-1 1.00 0 36 0 48 2 polygon
-1.000 0.000 0.000 scb
-(l.1) {/Times-Roman cf} 2 9 0 1.00 0 48 pinlabel
-(l.2) {/Times-Roman cf} 2 13 0 1.00 0 -64 pinlabel
-sce
-(spice:L%i %pl.1 %pl.2 1.0U) {/Times-Roman cf} 2 0 0 1.00 -208 -160 infolabel
-sce
-(sim:l %pl.1 %pl.2) {/Times-Roman cf} 2 0 0 1.00 -208 -208 infolabel
-endgate
-} def
-
-/Transformer {
-% -62 -64 108 112 bbox
-(?) 1 beginparm
-1.00 0 -48 0 inductor
-1 1.00 -16 48 -16 -64 2 polygon
-1 1.00 0 48 0 -64 2 polygon
-1.00 180 32 -16 inductor
-1.000 0.000 0.000 scb
-(1) {/Helvetica cf} 2 25 0 1.00 -48 48 pinlabel
-(2) {/Helvetica cf} 2 29 0 1.00 -48 -64 pinlabel
-(3) {/Helvetica cf} 2 25 0 1.00 32 48 pinlabel
-(4) {/Helvetica cf} 2 29 0 1.00 32 -64 pinlabel
-sce
-mark v1 (pcb:T) {/Times-Roman cf} ctmk 20 0 1.00 -96 -160 infolabel
-endgate
-} def
-
-/circle {
-% -6 -12 28 24 bbox
-% trivial
-begingate
-1 1.00 16 0 6 0.00 360.00 xcarc
-1 1.00 0 0 10 0 2 polygon
-1.000 0.000 0.000 scb
-(out) {/Times-Roman cf} 2 4 0 1.00 16 0 pinlabel
-(out) {/Times-Roman cf} 2 7 0 1.00 0 0 pinlabel
-endgate
-} def
-
-/Diode {
-% -18 -48 36 96 bbox
-(?) 1 beginparm
-248 1.00 -18 -16 0 16 18 -16 3 polygon
-1 1.00 0 -48 0 -16 2 polygon
-1 1.00 0 48 0 16 2 polygon
-1 1.00 -18 16 18 16 2 polygon
-1.000 0.000 0.000 scb
-(1) {/Times-Roman cf} 2 9 0 1.00 0 48 pinlabel
-(2) {/Times-Roman cf} 2 13 0 1.00 0 -48 pinlabel
-sce
-mark v1 (pcb:D) {/Helvetica cf} ctmk 20 0 1.00 -64 -144 infolabel
-mark ( %p1 %p2 diode) v1 (spice:D) {/Times-Roman cf} ctmk 4 0 1.00 -64 -192
-endgate
-} def
-
-/rectifier {
-% -112 -48 192 192 bbox
-begingate
-1.00 315 -64 96 Diode
-1.00 225 32 96 Diode
-1.00 225 -64 0 Diode
-1.00 315 32 0 Diode
-1 1.00 -30 130 -16 144 -2 130 3 polygon
-1 1.00 66 62 80 48 66 34 3 polygon
-1 1.00 -2 -34 -16 -48 -30 -34 3 polygon
-1 1.00 -98 34 -112 48 -98 62 3 polygon
-endgate
-} def
-
-/dot {
-% -10 -10 20 20 bbox
-% trivial
-begingate
-248 1.00 0 0 6 0.00 360.00 xcarc
-1.000 0.000 0.000 scb
-(x) {/Times-Roman cf} 2 29 0 1.00 0 0 pinlabel
-endgate
-} def
-
-/jumper {
-% -4 -14 18 28 bbox
-% trivial
-begingate
-1 1.00 0 0 10 -90.00 90.00 xcarc
-1 1.00 0 10 0 16 2 polygon
-1 1.00 0 -10 0 -16 2 polygon
-1.000 0.000 0.000 scb
-(a) {/Times-Roman cf} 2 1 0 1.00 0 16 pinlabel
-(a) {/Times-Roman cf} 2 13 0 1.00 0 -16 pinlabel
-endgate
-} def
-
-/gnd {
-% -32 -60 64 68 bbox
-% trivial
-begingate
-1 1.00 0 0 0 -32 2 polygon
-1 1.00 -32 -32 32 -32 2 polygon
-1 1.00 -18 -46 18 -46 2 polygon
-1 1.00 -4 -60 4 -60 2 polygon
-1.000 0.000 0.000 scb
-(GND) {/Times-Roman cf} 2 1 0 1.00 0 0 pinglobal
-endgate
-} def
-
-/Capacitor {
-% -32 -64 186 128 bbox
-(1.0) (p) (?) 3 beginparm
-1 1.00 0 -64 0 -6 2 polygon
-1 1.00 0 64 0 6 2 polygon
-1 1.00 -32 6 32 6 2 polygon
-1 1.00 -32 -6 32 -6 2 polygon
-1.000 0.000 0.000 scb
-(1) {/Times-Roman cf} 2 9 0 1.00 0 64 pinlabel
-(2) {/Times-Roman cf} 2 13 0 1.00 0 -64 pinlabel
-sce
-mark v2 v1 ( %p1 %p2 ) v3 (spice:C) {/Times-RomanISO cf} ctmk 4 0 1.00 -208
--160 infolabel
-sce
-(sim:c %p1 %p2) {/Times-Roman cf} 2 4 0 1.00 -208 -208 infolabel
-mark (F) v2 {hS} v1 {/Times-RomanISO cf} ctmk 20 0 1.00 48 0 label
-sce
-mark v3 (pcb:C) {/Times-Roman cf} ctmk 20 0 1.00 -208 -256 infolabel
-endgate
-} def
-
-/Polarized {
-% -32 -64 176 128 bbox
-(1.0) (p) (?) 3 beginparm
-1 1.00 0 -64 0 -6 2 polygon
-1 1.00 0 64 0 6 2 polygon
-1 1.00 -32 6 32 6 2 polygon
-1 1.00 0 -80 74 66.00 114.00 xcarc
-1.000 0.000 0.000 scb
-(1) {/Times-Roman cf} 2 9 0 1.00 0 64 pinlabel
-(2) {/Times-Roman cf} 2 13 0 1.00 0 -64 pinlabel
-sce
-mark v2 v1 ( %p1 %p2 ) v3 (spice:C) {/Times-RomanISO cf} ctmk 4 0 1.00 -208
--160 infolabel
-sce
-(sim:e %p1 %p2) {/Times-Roman cf} 2 4 0 1.00 -208 -208 infolabel
-mark (F) v2 {hS} v1 {/Times-RomanISO cf} ctmk 20 0 1.00 48 0 label
-sce
-mark v3 (pcb:C) {/Times-Roman cf} ctmk 20 0 1.00 -208 -256 infolabel
-endgate
-} def
-
-%%Page: 1 1
-%%PageOrientation: Portrait
-/pgsave save def bop
-% 529 953 offsets
-1.0000 inchscale
-2.6000 setlinewidth
-
-1.00 0 497 1065 Transformer
-1 1.00 449 1113 449 1193 401 1193 3 polygon
-1 1.00 449 1001 449 937 401 937 3 polygon
-1.00 -1 401 1193 circle
-1.00 -1 401 937 circle
-1.000 0.000 0.000 scb
-(+) {/Symbol cf} (V) {/Helvetica cf} 4 23 0 1.00 385 1193 pinlabel
-(-) {/Symbol cf} (V) {/Helvetica cf} 4 23 0 1.00 385 937 pinlabel
-sce
-1.00 0 785 1017 rectifier
-1 1.00 529 1113 529 1193 769 1193 769 1161 4 polygon
-1 1.00 529 1001 529 937 769 937 769 969 4 polygon
-1.00 0 769 969 dot
-1.00 0 769 1161 dot
-1 1.00 673 1065 641 1065 641 953 3 polygon
-1 1.00 641 921 641 873 1201 873 3 polygon
-1 1.00 865 1065 1201 1065 2 polygon
-1 1.00 961 1065 961 1033 2 polygon
-1 1.00 1041 1065 1041 1033 2 polygon
-1 1.00 961 905 961 873 2 polygon
-1 1.00 1041 905 1041 873 2 polygon
-1.00 0 1041 873 dot
-1.00 0 961 873 dot
-1.00 0 961 1065 dot
-1.00 0 1041 1065 dot
-1.00 0 865 1065 dot
-1.00 0 673 1065 dot
-1.00 -1 641 937 jumper
-1.00 0 641 873 gnd
-1.00 0 641 873 dot
-1.00 0 1201 873 circle
-1.00 0 1201 1065 circle
-1.000 0.000 0.000 scb
-(Vout) {0 -80 Kn} {/Helvetica cf} 3 28 0 1.00 1217 1065 pinlabel
-sce
-(+) {/Symbol cf} 2 20 0 1.00 1249 1065 label
-(-) {/Symbol cf} 2 20 0 1.00 1249 873 label
-(Bridge Rectifier) {/Helvetica cf} 2 24 0 1.00 369 1273 label
-1.00 -1 961 969 [(1.0) (\265) ] Capacitor
-1.00 0 1041 969 [(10) (\265) ] Polarized
-(1N914) {hS} (\327) {hS} (4) {/HelveticaISO cf} 6 24 0 1.00 849 1145 label
-pgsave restore showpage
-
-%%Trailer
-XCIRCsave restore
-%%EOF
diff --git a/tutorial/psfiles/buses.ps b/tutorial/psfiles/buses.ps
deleted file mode 100644
index 76b21a7..0000000
--- a/tutorial/psfiles/buses.ps
+++ /dev/null
@@ -1,245 +0,0 @@
-%!PS-Adobe-3.0 EPSF-3.0
-%%Title: buses
-%%Creator: Xcircuit v2.3
-%%CreationDate: Mon Nov 5 11:36:02 2001
-%%Pages: 1
-%%BoundingBox: 68 68 712 496
-%%DocumentNeededResources: font Helvetica font Helvetica-Oblique
-%%EndComments
-%%BeginProlog
-%
-% PostScript prolog for output from xcircuit
-% Version: 2.3
-%
-% Electrical circuit (and otherwise general) drawing program
-%
-% Written by Tim Edwards 8/5/93--5/16/01 (tim@bach.ece.jhu.edu)
-% The Johns Hopkins University
-%
-%%BeginResource: procset XCIRCproc 2.3 2
-% supporting definitions --- these are the primary xcircuit types.
-
-/XCIRCsave save def
-/topmat matrix currentmatrix def
-
-/fontslant { /slant exch def [1 0 slant 1 0 0]
- exch findfont exch makefont dup length dict /ndict exch def
- { 1 index /FID ne { ndict 3 1 roll put } { pop pop } ifelse } forall
- ndict definefont pop} def
-/ul { dup type /stringtype eq showflag 1 eq and { gsave
- currentpoint topmat setmatrix 0 0 moveto 2 index stringwidth pop (_)
- false charpath flattenpath pathbbox grestore exch pop 1 index
- sub setlinewidth exch pop currentpoint 3 -1 roll add moveto 0
- rlineto stroke moveto } if } def
-/ol { dup type /stringtype eq showflag 1 eq and { gsave gsave
- currentpoint topmat setmatrix 2 index stringwidth pop 3 index
- true charpath flattenpath pathbbox grestore exch pop
- exch pop topmat setmatrix (_) true charpath pathbbox grestore
- exch pop 1 index sub setlinewidth exch pop currentpoint
- exch 4 1 roll exch sub add moveto pop 0 rlineto stroke
- moveto } if } def
-/stW { gsave currentpoint newpath moveto true charpath flattenpath
- pathbbox pop exch pop sub grestore } def
-/Ts {mark Tabs aload pop counttomark 1 add array astore /Tabs exch def Tabs
- 0 currentpoint pop put} def
-/Tbn {mark Tabs aload pop counttomark dup 2 add 1 roll cleartomark 1 sub} def
-/Tb { 0 1 Tbn {Tabs exch get dup currentpoint pop lt
- {currentpoint exch pop moveto exit} {pop} ifelse } for } def
-/Tf { Tbn -1 0 {Tabs exch get dup currentpoint pop gt
- {currentpoint exch pop moveto exit} {pop} ifelse } for } def
-/qS { (aa) stW (a a) stW sub 4 div 0 Kn } def
-/hS { qS qS } def
-/pspc 0 def
-/cf0 { scalefont setfont } bind def
-/Kn { dup kY add /kY exch def rmoveto } bind def
-/ss { /fscale fscale 0.67 mul def currentfont 0.67 cf0 0 fscale0 fscale mul
- 0.33 mul neg Kn} def
-/Ss { /fscale fscale 0.67 mul def currentfont 0.67 cf0 0 fscale0 fscale mul
- 0.67 mul Kn } def
-/ns { 0 kY neg Kn /kY 0 def /fscale 1.0 def xfont0 1.0 cf0 } def
-/CR { ns 0 /Bline Bline fscale0 neg add def Bline moveto } def
-/cf { dup type /realtype ne {1.0} if exch findfont exch kY 0 eq
- { 40 mul dup /fscale0 exch def cf0 /xfont0 currentfont def}
- {fscale0 mul fscale mul cf0} ifelse } def
-/ctmk { counttomark dup 2 add -1 roll pop } bind def
-/label { gsave translate 0 0 moveto dup scale /rotval exch def /just exch def
- just 16 and 0 gt {0 1 dtransform gsave pagemat setmatrix idtransform
- exch grestore 1 0 dtransform gsave pagemat setmatrix idtransform
- exch grestore dup 0 eq {pop mul 0 gt} {3 1 roll pop pop 0 lt} ifelse
- {-1 /just just dup 3 and 1 ne {3 xor} if def} {1} ifelse exch 0 lt
- {-1 /just just dup 12 and 4 ne {12 xor} if def} {1} ifelse scale }
- if /showflag 0 def /fspc pspc def /Bline 0 def /Tabs 0 array def
- /fscale 1.0 def /kY 0 def
- gsave dup 1 add copy 0 exch {exch dup type /stringtype eq {true
- charpath flattenpath} {exec} ifelse } repeat pop pathbbox grestore
- 3 -1 roll pop 3 1 roll just 1 and 0 gt {just 2 and 0 gt {exch pop
- neg fspc sub} {exch sub 0.5 mul neg} ifelse} {pop neg fspc add}
- ifelse exch Bline exch just 4 and 0 gt {just 8 and 0 gt {exch pop
- neg fspc sub} {add 0.5 mul neg} ifelse} {pop neg fspc add} ifelse
- /showflag 1 def rotval rotate Kn currentpoint translate
- /Bline 0 def /Tabs 0 array def /fscale 1.0 def /kY 0 def
- {dup type /stringtype eq {show}{exec} ifelse} repeat grestore } def
-/pinlabel { 4 index 32 and 0 ne hlevel 0 eq or { /pspc 20 def label
- /pspc 0 def } { pop pop pop pop pop {pop} repeat } ifelse } def
-/pinglobal { pinlabel } def
-/infolabel { pinlabel } def
-
-/scb { setrgbcolor } bind def /sce { defColor aload pop scb } bind def
-/cRedef {/defColor currentcolor 3 array astore def} def
-/begingate { /hlevel hlevel 1 add def /defColor currentcolor sce 3 array
- astore def gsave sce translate 0 0 moveto dup 0 lt
- {neg 1 sub -1 1 scale} if rotate dup scale } bind def
-/makeparm {3 string cvs dup length 1 add string /tstr exch def tstr exch
- 1 exch putinterval tstr 0 (v) putinterval tstr cvn} bind def
-/beginparm { -1 1 {makeparm exch def} for
- dup type /arraytype eq { aload length -1 1 {makeparm exch def}
- for } if begingate } bind def
-/endgate { /hlevel hlevel 1 sub def grestore defColor aload pop cRedef
- scb} bind def
-
-/hlevel 0 def
-/tmpa [1 0 0 1 0 0] def
-/gar {8 8 true tmpa {<c0 c0 00 00 0c 0c 00 00>} imagemask} bind
-{8 8 true tmpa {<30 70 60 02 03 07 06 20>} imagemask} bind
-{8 8 true tmpa {<0c 1e 1e 0c c0 e1 e1 c0>} imagemask} bind
-{8 8 true tmpa {<0f 0f 0f 0f f0 f0 f0 f0>} imagemask} bind
-{8 8 true tmpa {<3f f3 e1 e1 f3 3f 1e 1e>} imagemask} bind
-{8 8 true tmpa {<df cf 8f 9f fd fc f8 f9>} imagemask} bind
-{8 8 true tmpa {<ff 3f 3f ff ff f3 f3 ff>} imagemask} bind 7 array astore def
-/ppaint { gsave clip tmpa dup setmatrix pathbbox neg exch neg 4 2 roll
- neg 4 -1 roll 2 copy gt {exch} if 8 div ceiling 8 mul 4 2 roll neg 2 copy
- gt {exch} if 8 div ceiling 8 mul 3 -1 roll -8 5 -1 roll
- { 3 index exch 5 exch put dup -8 3 index { 3 index
- exch 4 exch put 3 index exec } for } for pop pop pop pop grestore } bind def
-/setstyles {
- currentlinewidth mul setlinewidth /style exch def
- style 1 and 0 gt not {closepath} if
- style 2 and 0 gt {currentlinewidth 4 mul dup 2 array astore 0 setdash} if
- style 4 and 0 gt {0.5 currentlinewidth 4 mul 2 array astore 0 setdash} if
- style dup 256 ge exch 480 lt and { gsave 1 setgray eofill grestore } if
- style 16 and 0 gt { gsave style 224 and -5 bitshift dup 7 lt
- {gar exch get ppaint} { pop eofill } ifelse grestore } if
- style 8 and 0 gt style 512 eq or { newpath } { stroke } ifelse grestore } def
-
-/polygon { gsave /num exch def moveto num 1 sub {lineto} repeat setstyles } def
-/xcarc { gsave newpath arc setstyles } def
-/elb { matrix currentmatrix 7 -1 roll 7 -1 roll translate 5 1 roll 4 -1 roll
- 3 index div 1 scale } def
-/ele { 0 4 1 roll 0 4 1 roll } bind def
-/ellipse { gsave elb newpath ele arc setmatrix setstyles } def
-/pellip { elb ele arc setmatrix } def
-/nellip { elb ele arcn setmatrix } def
-/spline { gsave moveto curveto setstyles } def
-/polyc { {lineto} repeat } bind def
-/beginpath { gsave moveto } bind def
-/endpath { setstyles } bind def
-/bop { 1 setlinecap 0 setlinejoin 6 setmiterlimit 0 0 0 scb cRedef } def
-/insertion {/PSobj save def /showpage {} def bop translate} def
-/end_insert {PSobj restore} def
-/setpagemat {/pagemat matrix currentmatrix def} def
-/inchscale {setpagemat 0.375 mul dup scale} def
-/cmscale {setpagemat 0.35433071 mul dup scale} def
-
-%%EndResource
-%%EndProlog
-
-% XCircuit output starts here.
-
-/dbus1 {
-% -608 0 1216 42 bbox
-begingate
-1.000 0.000 0.000 scb
-(d[3]) {/Helvetica cf} 2 23 0 1.00 -608 -64 pinlabel
-(d[2]) {/Helvetica cf} 2 23 0 1.00 -608 -32 pinlabel
-(d[1]) {/Helvetica cf} 2 23 0 1.00 -608 0 pinlabel
-(d[0]) {/Helvetica cf} 2 23 0 1.00 -608 32 pinlabel
-(d[3]) {/Helvetica cf} 2 20 0 1.00 608 -64 pinlabel
-(d[2]) {/Helvetica cf} 2 20 0 1.00 608 -32 pinlabel
-(d[1]) {/Helvetica cf} 2 20 0 1.00 608 0 pinlabel
-(d[0]) {/Helvetica cf} 2 20 0 1.00 608 32 pinlabel
-sce
-(data bus) {/Helvetica cf} 2 17 0 1.00 -64 16 label
-1 1.00 -608 0 608 0 2 polygon
-endgate
-} def
-
-/chip1 {
-% -96 -96 192 192 bbox
-(?) 1 beginparm
-0 1.00 -96 -96 -96 96 96 96 96 -96 4 polygon
-( data ) {/Helvetica cf} 2 23 0 1.00 96 0 label
-1.000 0.000 0.000 scb
-(p0) {/Helvetica cf} 2 20 0 1.00 96 48 pinlabel
-(p1) {/Helvetica cf} 2 20 0 1.00 96 16 pinlabel
-(p2) {/Helvetica cf} 2 20 0 1.00 96 -16 pinlabel
-(p3) {/Helvetica cf} 2 20 0 1.00 96 -48 pinlabel
-sce
-mark v1 (Chip ) {/Helvetica cf} ctmk 21 0 1.00 0 64 label
-endgate
-} def
-
-/arrowhead {
-% -12 -32 24 36 bbox
-% trivial
-begingate
-8 -28 beginpath
-3 -18 3 -15 0 0 curveto
--3 -15 -3 -18 -8 -28 curveto
--2 -26 2 -26 8 -28 curveto
-249 1.00 endpath
-endgate
-} def
-
-/arrow {
-% -12 -40 24 80 bbox
-% trivial
-begingate
-1 0.80 0 -40 0 20 2 polygon
-1.00 0 0 40 arrowhead
-endgate
-} def
-
-%%Page: 1 1
-%%PageOrientation: Portrait
-/pgsave save def bop
-% 1152 692 offsets
-1.0000 inchscale
-2.6000 setlinewidth
-
-1 1.00 288 756 288 884 672 884 672 756 4 polygon
-1 1.00 352 1012 352 884 608 884 608 1012 4 polygon
-1 1.00 432 1012 432 884 752 884 752 756 4 polygon
-1 1.00 224 1012 224 884 864 884 864 756 4 polygon
-1 2.00 224 884 864 884 2 polygon
-1 1.00 1312 1108 1312 980 1728 980 1728 596 1888 596 5 polygon
-1 1.00 1408 1108 1408 980 1728 980 1728 692 1888 692 5 polygon
-1 1.00 1584 964 1600 996 2 polygon
-(2) {/Helvetica cf} 2 17 0 1.00 1584 996 label
-1.000 0.000 0.000 scb
-(b\(1\)) {/Helvetica cf} 2 17 0 1.00 1312 1108 pinlabel
-(b\(2\)) {/Helvetica cf} 2 17 0 1.00 1408 1108 pinlabel
-(a[0]) {/Helvetica cf} 2 17 0 1.00 224 1012 pinlabel
-(a[1]) {/Helvetica cf} 2 17 0 1.00 352 1012 pinlabel
-(a[2]) {/Helvetica cf} 2 17 0 1.00 432 1012 pinlabel
-(a[3]) {/Helvetica cf} 2 29 0 1.00 288 756 pinlabel
-sce
-1.00 0 1024 340 dbus1
-1.00 0 320 324 [(1) ] chip1
-1.00 -1 1728 324 [(2) ] chip1
-(Three styles of buses in xcircuit) {ul} {/Helvetica cf} 3 21 0 1.00 992 1300
-label
-(1\) \252standard\272 method) {/Helvetica cf} 2 16 0 1.00 192 1172 label
-(" to see actual pins.) {/Helvetica cf} (Options->Show Pin Positions)
-{/Helvetica-Oblique cf} (2\) \252sneaky\272 method. Use ") {/Helvetica cf} 6
-16 0 1.00 224 500 label
-1.00 120 448 388 arrow
-(real pin position \(normally not seen\)) {/Helvetica cf} 2 16 0 0.80 496 420
-label
-1.00 60 992 308 arrow
-(named the same.) {CR} (Pins on either end are) {CR} (The bus is a subcircuit.)
-{/Helvetica cf} 6 28 0 0.80 1040 276 label
-pgsave restore showpage
-
-%%Trailer
-XCIRCsave restore
-%%EOF
diff --git a/tutorial/psfiles/dff.ps b/tutorial/psfiles/dff.ps
deleted file mode 100644
index a15ffed..0000000
--- a/tutorial/psfiles/dff.ps
+++ /dev/null
@@ -1,228 +0,0 @@
-%!PS-Adobe-3.0 EPSF-3.0
-%%Title: dff
-%%Creator: Xcircuit v2.5
-%%CreationDate: Tue Dec 18 16:50:59 2001
-%%Pages: 1
-%%BoundingBox: 68 68 371 229
-%%DocumentNeededResources: font Helvetica font Times-Roman
-%%EndComments
-%%BeginProlog
-%
-% PostScript prolog for output from xcircuit
-% Version: 2.4
-%
-% Electrical circuit (and otherwise general) drawing program
-%
-% Written by Tim Edwards 8/5/93--5/16/01 (tim@bach.ece.jhu.edu)
-% The Johns Hopkins University
-%
-%%BeginResource: procset XCIRCproc 2.4 1
-% supporting definitions --- these are the primary xcircuit types.
-
-/XCIRCsave save def
-/topmat matrix currentmatrix def
-
-/fontslant { /slant exch def [1 0 slant 1 0 0]
- exch findfont exch makefont dup length dict /ndict exch def
- { 1 index /FID ne { ndict 3 1 roll put } { pop pop } ifelse } forall
- ndict definefont pop} def
-/ul { dup type /stringtype eq showflag 1 eq and { gsave
- currentpoint topmat setmatrix 0 0 moveto 2 index stringwidth pop (_)
- false charpath flattenpath pathbbox grestore exch pop 1 index
- sub setlinewidth exch pop currentpoint 3 -1 roll add moveto 0
- rlineto stroke moveto } if } def
-/ol { dup type /stringtype eq showflag 1 eq and { gsave gsave
- currentpoint topmat setmatrix 2 index stringwidth pop 3 index
- true charpath flattenpath pathbbox grestore exch pop
- exch pop topmat setmatrix (_) true charpath pathbbox grestore
- exch pop 1 index sub setlinewidth exch pop currentpoint
- exch 4 1 roll exch sub add moveto pop 0 rlineto stroke
- moveto } if } def
-/stW { gsave currentpoint newpath moveto true charpath flattenpath
- pathbbox pop exch pop sub grestore } def
-/Ts {mark Tabs aload pop counttomark 1 add array astore /Tabs exch def Tabs
- 0 currentpoint pop put} def
-/Tbn {mark Tabs aload pop counttomark dup 2 add 1 roll cleartomark 1 sub} def
-/Tb { 0 1 Tbn {Tabs exch get dup currentpoint pop lt
- {currentpoint exch pop moveto exit} {pop} ifelse } for } def
-/Tf { Tbn -1 0 {Tabs exch get dup currentpoint pop gt
- {currentpoint exch pop moveto exit} {pop} ifelse } for } def
-/qS { (aa) stW (a a) stW sub 4 div 0 Kn } def
-/hS { qS qS } def
-/pspc 0 def
-/cf0 { scalefont setfont } bind def
-/Kn { dup kY add /kY exch def rmoveto } bind def
-/ss { /fscale fscale 0.67 mul def currentfont 0.67 cf0 0 fscale0 fscale mul
- 0.33 mul neg Kn} def
-/Ss { /fscale fscale 0.67 mul def currentfont 0.67 cf0 0 fscale0 fscale mul
- 0.67 mul Kn } def
-/ns { 0 kY neg Kn /kY 0 def /fscale 1.0 def xfont0 1.0 cf0 } def
-/CR { ns 0 /Bline Bline fscale0 neg add def Bline moveto } def
-/cf { dup type /realtype ne {1.0} if exch findfont exch kY 0 eq
- { 40 mul dup /fscale0 exch def cf0 /xfont0 currentfont def}
- {fscale0 mul fscale mul cf0} ifelse } def
-/ctmk { counttomark dup 2 add -1 roll pop } bind def
-/label { gsave translate 0 0 moveto dup scale neg /rotval exch def
- /just exch def just 16 and 0 gt {gsave rotval rotate 0 1 dtransform
- gsave pagemat setmatrix idtransform exch grestore 1 0 dtransform
- gsave pagemat setmatrix idtransform exch grestore dup abs 1e-9 lt
- {pop mul 0 gt} {3 1 roll pop pop 0 lt} ifelse grestore {-1 /rotval
- rotval neg def /just just dup 3 and 1 ne {3 xor} if def} {1} ifelse
- exch -1e-9 lt {-1 /rotval rotval neg def /just just dup 12 and
- 4 ne {12 xor} if def} {1} ifelse scale } if /showflag 0 def
- /fspc pspc def /Bline 0 def /Tabs 0 array def /fscale 1.0 def
- /kY 0 def gsave dup 1 add copy 0 exch 1 0 dtransform exch atan rotate
- {exch dup type /stringtype eq {true charpath flattenpath} {exec}
- ifelse } repeat pop pathbbox grestore 3 -1 roll pop 3 1 roll just
- 1 and 0 gt {just 2 and 0 gt {exch pop neg fspc sub} {exch sub 0.5
- mul neg} ifelse} {pop neg fspc add} ifelse exch Bline exch just 4
- and 0 gt {just 8 and 0 gt {exch pop neg fspc sub} {add 0.5 mul neg}
- ifelse} {pop neg fspc add} ifelse rotval rotate Kn currentpoint
- translate /showflag 1 def /Bline 0 def /Tabs 0 array def /fscale
- 1.0 def /kY 0 def {dup type /stringtype eq {show}{exec} ifelse}
- repeat grestore } def
-/pinlabel { 4 index 32 and 0 ne hlevel 0 eq or { /pspc 20 def label
- /pspc 0 def } { pop pop pop pop pop {pop} repeat } ifelse } def
-/pinglobal { pinlabel } def
-/infolabel { pinlabel } def
-
-/scb { setrgbcolor } bind def /sce { defColor aload pop scb } bind def
-/cRedef {/defColor currentcolor 3 array astore def} def
-/begingate { /hlevel hlevel 1 add def /defColor currentcolor sce 3 array
- astore def gsave sce translate 0 0 moveto neg rotate dup abs scale
- } bind def
-/makeparm {3 string cvs dup length 1 add string /tstr exch def tstr exch
- 1 exch putinterval tstr 0 (v) putinterval tstr cvn} bind def
-/beginparm { -1 1 {makeparm exch def} for
- dup type /arraytype eq { aload length -1 1 {makeparm exch def}
- for } if begingate } bind def
-/endgate { /hlevel hlevel 1 sub def grestore defColor aload pop cRedef
- scb} bind def
-
-/hlevel 0 def
-/tmpa [1 0 0 1 0 0] def
-/gar {8 8 true tmpa {<c0 c0 00 00 0c 0c 00 00>} imagemask} bind
-{8 8 true tmpa {<30 70 60 02 03 07 06 20>} imagemask} bind
-{8 8 true tmpa {<0c 1e 1e 0c c0 e1 e1 c0>} imagemask} bind
-{8 8 true tmpa {<0f 0f 0f 0f f0 f0 f0 f0>} imagemask} bind
-{8 8 true tmpa {<3f f3 e1 e1 f3 3f 1e 1e>} imagemask} bind
-{8 8 true tmpa {<df cf 8f 9f fd fc f8 f9>} imagemask} bind
-{8 8 true tmpa {<ff 3f 3f ff ff f3 f3 ff>} imagemask} bind 7 array astore def
-/ppaint { gsave clip tmpa dup setmatrix pathbbox neg exch neg 4 2 roll
- neg 4 -1 roll 2 copy gt {exch} if 8 div ceiling 8 mul 4 2 roll neg 2 copy
- gt {exch} if 8 div ceiling 8 mul 3 -1 roll -8 5 -1 roll
- { 3 index exch 5 exch put dup -8 3 index { 3 index
- exch 4 exch put 3 index exec } for } for pop pop pop pop grestore } bind def
-/setstyles {
- currentlinewidth mul setlinewidth /style exch def
- style 1 and 0 gt not {closepath} if
- style 2 and 0 gt {currentlinewidth 4 mul dup 2 array astore 0 setdash} if
- style 4 and 0 gt {0.5 currentlinewidth 4 mul 2 array astore 0 setdash} if
- style dup 256 ge exch 480 lt and { gsave 1 setgray eofill grestore } if
- style 16 and 0 gt { gsave style 224 and -5 bitshift dup 7 lt
- {gar exch get ppaint} { pop eofill } ifelse grestore } if
- style 8 and 0 gt style 512 eq or { newpath } { stroke } ifelse grestore } def
-
-/polygon { gsave /num exch def moveto num 1 sub {lineto} repeat setstyles } def
-/xcarc { gsave newpath arc setstyles } def
-/elb { matrix currentmatrix 7 -1 roll 7 -1 roll translate 5 1 roll 4 -1 roll
- 3 index div 1 scale } def
-/ele { 0 4 1 roll 0 4 1 roll } bind def
-/ellipse { gsave elb newpath ele arc setmatrix setstyles } def
-/pellip { elb ele arc setmatrix } def
-/nellip { elb ele arcn setmatrix } def
-/spline { gsave moveto curveto setstyles } def
-/polyc { {lineto} repeat } bind def
-/beginpath { gsave moveto } bind def
-/endpath { setstyles } bind def
-/bop { 1 setlinecap 0 setlinejoin 6 setmiterlimit 0 0 0 scb cRedef } def
-/insertion {/PSobj save def /showpage {} def bop translate} def
-/end_insert {PSobj restore} def
-/setpagemat {/pagemat matrix currentmatrix def} def
-/inchscale {setpagemat 0.375 mul dup scale} def
-/cmscale {setpagemat 0.35433071 mul dup scale} def
-
-%%EndResource
-%%EndProlog
-
-% XCircuit output starts here.
-
-/quadnand {
-% -64 -48 128 96 bbox
-(?) (1) (1) (2) (3) 5 beginparm
-1 1.00 0 -48 -64 -48 -64 48 0 48 4 polygon
-1 1.00 56 0 8 0.00 360.00 xcarc
-1 1.00 0 0 48 -90.00 90.00 xcarc
-1.000 0.000 0.000 scb
-mark v5 {/Times-Roman cf} ctmk 4 0 1.00 64 0 pinlabel
-mark v3 {/Times-Roman cf} ctmk 7 0 1.00 -64 32 pinlabel
-mark v4 {/Times-Roman cf} ctmk 7 0 1.00 -64 -32 pinlabel
-sce
-mark v2 (-) v1 (pcb:U) {/Helvetica cf} ctmk 20 0 1.00 -80 -96 infolabel
-mark v2 (7400-) {/Helvetica cf} ctmk 21 0 0.50 -8 0 label
-endgate
-} def
-
-/dot {
-% -10 -10 20 20 bbox
-% trivial
-begingate
-248 1.00 0 0 6 0.00 360.00 xcarc
-1.000 0.000 0.000 scb
-(x) {/Times-Roman cf} 2 29 0 1.00 0 0 pinlabel
-endgate
-} def
-
-/circle {
-% -6 -12 28 24 bbox
-% trivial
-begingate
-1 1.00 16 0 6 0.00 360.00 xcarc
-1 1.00 0 0 10 0 2 polygon
-1.000 0.000 0.000 scb
-(out) {/Times-Roman cf} 2 4 0 1.00 16 0 pinlabel
-(out) {/Times-Roman cf} 2 7 0 1.00 0 0 pinlabel
-endgate
-} def
-
-%%Page: 1 1
-%%PageOrientation: Portrait
-/pgsave save def bop
-% 978 336 offsets
-1.0000 inchscale
-2.6000 setlinewidth
-
-1.00 0 450 240 [(?) (4) (12) (13) (11) ] quadnand
-1.00 0 450 432 [(?) (3) (9) (10) (8) ] quadnand
-1.00 0 770 432 [(?) (2) (4) (5) (6) ] quadnand
-1.00 0 770 240 [(?) (1) (1) (2) (3) ] quadnand
-1 1.00 834 240 882 240 882 288 674 352 674 400 706 400 6 polygon
-1 1.00 834 432 882 432 882 384 674 320 674 272 706 272 6 polygon
-1 1.00 386 464 306 464 2 polygon
-1 1.00 386 208 306 208 2 polygon
-1.00 0 882 432 dot
-1.00 0 882 240 dot
-1.00 0 914 432 circle
-1.00 0 914 240 circle
--1.00 0 306 464 circle
--1.00 0 306 208 circle
-1 1.00 882 432 914 432 2 polygon
-1 1.00 882 240 914 240 2 polygon
-1 1.00 706 464 594 464 562 432 514 432 4 polygon
-1 1.00 706 208 594 208 562 240 514 240 4 polygon
-1 1.00 546 432 546 336 354 336 354 272 386 272 5 polygon
-1 1.00 386 400 322 400 322 208 3 polygon
-1.00 0 322 208 dot
-1.00 0 546 432 dot
-1.000 0.000 0.000 scb
-(Q) {/Helvetica cf} 2 20 0 1.00 930 432 pinlabel
-(Q) {ol} {/Helvetica cf} 3 20 0 1.00 930 240 pinlabel
-(D) {/Helvetica cf} 2 23 0 1.00 290 464 pinlabel
-(CLK) {/Helvetica cf} 2 23 0 1.00 290 208 pinlabel
-sce
-(D-FF implementation in 7400 IC) {/Helvetica cf} 2 17 0 1.00 594 576 label
-pgsave restore showpage
-
-%%Trailer
-XCIRCsave restore
-%%EOF
diff --git a/tutorial/psfiles/filter.ps b/tutorial/psfiles/filter.ps
deleted file mode 100644
index deb06e5..0000000
--- a/tutorial/psfiles/filter.ps
+++ /dev/null
@@ -1,260 +0,0 @@
-%%BeginProlog
-%
-% PostScript prolog for output from xcircuit
-% Version: 2.0
-%
-% Electrical circuit (and otherwise general) drawing program
-%
-% Written by Tim Edwards 8/5/93--2/25/99 (tim@bach.ece.jhu.edu)
-% The Johns Hopkins University
-%
-%%BeginResource: procset XCIRCproc 2.0 2
-% supporting definitions --- these are the primary xcircuit types.
-
-/XCIRCsave save def
-/topmat matrix currentmatrix def
-
-/fontslant { /slant exch def [1 0 slant 1 0 0]
- exch findfont exch makefont dup length dict /ndict exch def
- { 1 index /FID ne { ndict 3 1 roll put } { pop pop } ifelse } forall
- ndict definefont pop} def
-/cf { dup type /realtype eq {40 mul /fscale exch def} if dup /xfont exch def
- findfont fscale scalefont setfont } def
-/Ss { gsave 0.67 dup scale gsave mty neg rmoveto
- glevel 1 add /glevel exch def } def
-/ss { gsave 0.67 dup scale gsave mty 0.5 mul rmoveto
- glevel 1 add /glevel exch def } def
-/ns { currentpoint transform % preserve x position!
- glevel {grestore} repeat /glevel 0 def
- itransform pop currentpoint pop sub 0 rmoveto } def
-/ul { showflag 1 eq { gsave
- currentpoint topmat setmatrix 0 0 moveto 2 index stringwidth pop (_)
- false charpath flattenpath pathbbox grestore exch pop 1 index
- sub setlinewidth exch pop currentpoint 3 -1 roll add moveto 0
- rlineto stroke moveto } if } def
-/ol { showflag 1 eq { gsave gsave
- currentpoint topmat setmatrix 2 index stringwidth pop 3 index
- true charpath flattenpath pathbbox grestore exch pop
- exch pop topmat setmatrix (_) true charpath pathbbox grestore
- exch pop 1 index sub setlinewidth exch pop currentpoint
- exch 4 1 roll exch sub add moveto pop 0 rlineto stroke
- moveto } if } def
-/stW { gsave true charpath flattenpath pathbbox pop exch pop sub
- grestore } def
-/bs { stW 0 rmoveto } def
-/pspc 0 def
-/qS { (aa) stW (a a) stW sub 4 div 0 rmoveto } def
-/hS { qS qS } def
-/textx { dup 1 add copy 0 exch { exch dup type /stringtype eq
- {stringwidth pop add}{exec} ifelse } repeat neg ns } def
-/mty { 0 topmat setmatrix (A) true charpath flattenpath pathbbox exch
- pop exch sub exch pop neg grestore } def
-/texty { gsave 2 copy pop exec mty } def
-/tcenter { textx grestore 0.5 mul 0 rmoveto } def
-/tright { textx grestore fspc sub 0 rmoveto } def
-/tmiddle { texty 0.5 mul rmoveto } def
-/ttop { texty fspc sub rmoveto } def
-/tshow {{ dup type /stringtype eq {show}{exec} ifelse} repeat ns } def
-
-/label { gsave translate 0 0 moveto rotate /just exch def just 16 and 0 gt
- {0 1 dtransform gsave pagemat setmatrix idtransform exch grestore
- 1 0 dtransform gsave pagemat setmatrix idtransform exch grestore
- dup 0 eq {pop mul 0 gt} {3 1 roll pop pop 0 lt} ifelse
- {-1 /just just dup 3 and 1 ne {3 xor} if def} {1} ifelse exch 0 lt
- {-1 /just just dup 12 and 4 ne {12 xor} if def} {1} ifelse scale } if
- /glevel 0 def /showflag 0 def /fspc pspc def
- just 1 and 0 gt {gsave just 2 and 0 gt {tright}{tcenter} ifelse}
- {fspc 0 rmoveto} ifelse
- just 4 and 0 gt {just 8 and 0 gt {ttop}{tmiddle} ifelse}
- {0 fspc rmoveto} ifelse
- /showflag 1 def tshow grestore } def
-/pinlabel { hlevel 0 eq { /pspc 20 def label /pspc 0 def }
- { pop pop pop pop {pop} repeat } ifelse } def
-/pinglobal { pinlabel } def
-/infolabel { pinlabel } def
-
-/begingate { /hlevel hlevel 1 add def gsave translate 0 0 moveto dup 0 lt
- {neg 1 sub -1 1 scale} if rotate dup scale } bind def
-/makeparm {3 string cvs dup length 1 add string /tstr exch def tstr exch
- 1 exch putinterval tstr 0 (v) putinterval tstr cvn} bind def
-/beginparm { -1 1 {makeparm exch def} for
- dup type /arraytype eq { aload length -1 1 {makeparm exch def}
- for } if begingate } bind def
-/endgate { /hlevel hlevel 1 sub def grestore } bind def
-
-/hlevel 0 def
-/tmpa [1 0 0 1 0 0] def
-/gar {8 8 true tmpa {<c0 c0 00 00 0c 0c 00 00>} imagemask} bind
-{8 8 true tmpa {<30 70 60 02 03 07 06 20>} imagemask} bind
-{8 8 true tmpa {<0c 1e 1e 0c c0 e1 e1 c0>} imagemask} bind
-{8 8 true tmpa {<0f 0f 0f 0f f0 f0 f0 f0>} imagemask} bind
-{8 8 true tmpa {<3f f3 e1 e1 f3 3f 1e 1e>} imagemask} bind
-{8 8 true tmpa {<df cf 8f 9f fd fc f8 f9>} imagemask} bind
-{8 8 true tmpa {<ff 3f 3f ff ff f3 f3 ff>} imagemask} bind 7 array astore def
-/ppaint { gsave clip tmpa dup setmatrix pathbbox neg exch neg 4 2 roll
- neg 4 -1 roll 2 copy gt {exch} if 8 div ceiling 8 mul 4 2 roll neg 2 copy
- gt {exch} if 8 div ceiling 8 mul 3 -1 roll -8 5 -1 roll
- { 3 index exch 5 exch put dup -8 3 index { 3 index
- exch 4 exch put 3 index exec } for } for pop pop pop pop grestore } bind def
-/setstyles {
- currentlinewidth mul setlinewidth /style exch def
- style 1 and 0 gt not {closepath} if
- style 2 and 0 gt {currentlinewidth 4 mul dup 2 array astore 0 setdash} if
- style 4 and 0 gt {0.5 currentlinewidth 4 mul 2 array astore 0 setdash} if
- style dup 256 ge exch 480 lt and { gsave 1 setgray eofill grestore } if
- style 16 and 0 gt { gsave style 224 and -5 bitshift dup 7 lt
- {gar exch get ppaint} { pop eofill } ifelse grestore } if
- style 8 and 0 gt { newpath } { stroke } ifelse grestore } def
-/scb { gsave setrgbcolor } bind def /sce { grestore } bind def
-
-/polygon { gsave /num exch def moveto num 1 sub {lineto} repeat setstyles } def
-/xcarc { gsave newpath arc setstyles } def
-/elb { matrix currentmatrix 7 -1 roll 7 -1 roll translate 5 1 roll 4 -1 roll
- 3 index div 1 scale } def
-/ele { 0 4 1 roll 0 4 1 roll } bind def
-/ellipse { gsave elb newpath ele arc setmatrix setstyles } def
-/pellip { elb ele arc setmatrix } def
-/nellip { elb ele arcn setmatrix } def
-/spline { gsave moveto curveto setstyles } def
-/polyc { {lineto} repeat } bind def
-/beginpath { gsave moveto } bind def
-/endpath { setstyles } bind def
-/bop { 1 setlinecap 0 setlinejoin 6 setmiterlimit 0 setgray } def
-/setpagemat {/pagemat matrix currentmatrix def} def
-/inchscale {setpagemat 0.375 mul dup scale} def
-/cmscale {setpagemat 0.35433071 mul dup scale} def
-
-%%EndResource
-%%EndProlog
-
-% XCircuit output starts here.
-
-/dot {
-% -10 -10 20 20 bbox
-begingate
-248 1.00 0 0 6 0.00 360.00 xcarc
-endgate
-} def
-
-/circle {
-% -6 -12 28 24 bbox
-begingate
-1 1.00 16 0 6 0.00 360.00 xcarc
-1 1.00 0 0 10 0 2 polygon
-1.000 0.000 0.000 scb
-(out) {/Times-Roman 1.000 cf} 2 4 0 16 0 pinlabel
-(out) {/Times-Roman 1.000 cf} 2 7 0 0 0 pinlabel
-sce
-endgate
-} def
-
-/gnd {
-% -32 -60 64 68 bbox
-begingate
-1 1.00 0 0 0 -32 2 polygon
-1 1.00 -32 -32 32 -32 2 polygon
-1 1.00 -18 -46 18 -46 2 polygon
-1 1.00 -4 -60 4 -60 2 polygon
-1.000 0.000 0.000 scb
-(GND) {/Times-Roman 1.000 cf} 2 1 0 0 0 pinglobal
-sce
-endgate
-} def
-
-/resistor {
-% -14 -64 151 128 bbox
-(1.0) (k) 2 beginparm
-% fundamental
-1 1.00 0 64 0 36 2 polygon
-1 1.00 0 -64 0 -36 2 polygon
-1 1.00 0 -36 14 -30 -14 -18 14 -6 -14 6 14 18 -14 30 0 36 8 polygon
-1.000 0.000 0.000 scb
-(r.1) {/Times-Roman 1.000 cf} 2 9 0 0 64 pinlabel
-(r.2) {/Times-Roman 1.000 cf} 2 13 0 0 -64 pinlabel
-sce
-(spice:R%i %pr.1 %pr.2 %v"1.0"%v"k") {/Times-Roman 1.000 cf} 2 0 0 -208 -160 infolabel
-(sim:r %pr.1 %pr.2) {/Times-Roman 1.000 cf} 2 0 0 -208 -208 infolabel
-(W) {/Symbol 1.000 cf} v2 {hS} v1 {/Helvetica 1.000 cf} 6 20 0 32 0 label
-endgate
-} def
-
-/polarized {
-% -32 -64 177 128 bbox
-(1.0) (p) 2 beginparm
-% fundamental
-1 1.00 0 -64 0 -6 2 polygon
-1 1.00 0 64 0 6 2 polygon
-1 1.00 -32 6 32 6 2 polygon
-1 1.00 0 -80 74 66.00 114.00 xcarc
-1.000 0.000 0.000 scb
-(t) {/Times-Roman 1.000 cf} 2 9 0 0 64 pinlabel
-(b) {/Times-Roman 1.000 cf} 2 13 0 0 -64 pinlabel
-sce
-(spice:C%i %pt %pb %v"1.0"%v"p") {/Times-Roman 1.000 cf} 2 0 0 -208 -160 infolabel
-(sim:e %pt %pb %pb) {/Times-Roman 1.000 cf} 2 0 0 -208 -208 infolabel
-(F) v2 {hS} v1 {/Helvetica 1.000 cf} 5 20 0 48 0 label
-endgate
-} def
-
-/source {
-% -32 -64 64 128 bbox
-% hidden
-begingate
-1 1.00 0 0 32 0.00 360.00 xcarc
-1 1.00 0 32 0 64 2 polygon
-1 1.00 0 -32 0 -64 2 polygon
-endgate
-} def
-
-/acsource {
-% -32 -64 211 128 bbox
-(5) (0) (1) (k) 4 beginparm
-% fundamental
-1.00 0 0 0 source
-1 0.80 0 -48 0 48 -16 0 16 0 spline
-1.000 0.000 0.000 scb
-(s.p) {/Times-Roman 1.000 cf} 2 9 0 0 64 pinlabel
-(s.m) {/Times-Roman 1.000 cf} 2 13 0 0 -64 pinlabel
-sce
-(spice:V%i %ps.m %ps.p SIN\(%v"0" %v"5" %v"1"%v"k"\)) {/Helvetica 1.000 cf} 2 20 0 -336 -160 infolabel
-(offset) {ss} (V) {hS} v2 {/Helvetica 1.000 cf} 6 20 0 48 0 label
-(p-p) {ss} (V) {hS} v1 {/Helvetica 1.000 cf} 6 20 0 48 48 label
-(Hz) v4 {hS} v3 {/Helvetica 1.000 cf} 5 20 0 48 -48 label
-endgate
-} def
-
-%%Page: 1 1
-%%PageOrientation: Portrait
-/pgsave save def bop
-% 912 464 offsets
-1.0000 inchscale
-2.6000 setlinewidth
-
-1 1.00 528 528 528 592 784 592 3 polygon
-1 1.00 528 400 528 336 784 336 3 polygon
-1 1.00 784 464 976 464 2 polygon
-1 1.00 784 336 976 336 2 polygon
-1.00 0 784 336 dot
-1.00 0 784 464 dot
-1.00 0 976 464 circle
-1.00 0 976 336 circle
-1.00 -1 464 336 circle
-1 1.00 464 336 528 336 2 polygon
-1 1.00 528 592 464 592 2 polygon
-1.00 -1 464 592 circle
-1.00 0 640 336 gnd
-1.00 0 640 336 dot
-1.00 0 528 336 dot
-1.00 0 528 592 dot
-1.000 0.000 0.000 scb
-(Vin) {/Helvetica 1.000 cf} 2 23 0 448 592 pinlabel
-(Vout) {/Helvetica 1.000 cf} 2 20 0 992 464 pinlabel
-sce
-1.00 0 784 528 [(10) (k) ] resistor
-1.00 0 784 400 [(1.0) (u) ] polarized
-1.00 0 528 464 [(5) (0) (5) (k) ] acsource
-pgsave restore showpage
-
-%%Trailer
-XCIRCsave restore
-%%EOF
diff --git a/tutorial/psfiles/integrator.ps b/tutorial/psfiles/integrator.ps
deleted file mode 100644
index c290875..0000000
--- a/tutorial/psfiles/integrator.ps
+++ /dev/null
@@ -1,327 +0,0 @@
-%%BeginProlog
-%
-% PostScript prolog for output from xcircuit
-% Version: 2.0
-%
-% Electrical circuit (and otherwise general) drawing program
-%
-% Written by Tim Edwards 8/5/93--2/25/99 (tim@bach.ece.jhu.edu)
-% The Johns Hopkins University
-%
-%%BeginResource: procset XCIRCproc 2.0 2
-% supporting definitions --- these are the primary xcircuit types.
-
-/XCIRCsave save def
-/topmat matrix currentmatrix def
-
-/fontslant { /slant exch def [1 0 slant 1 0 0]
- exch findfont exch makefont dup length dict /ndict exch def
- { 1 index /FID ne { ndict 3 1 roll put } { pop pop } ifelse } forall
- ndict definefont pop} def
-/cf { dup type /realtype eq {40 mul /fscale exch def} if dup /xfont exch def
- findfont fscale scalefont setfont } def
-/Ss { gsave 0.67 dup scale gsave mty neg rmoveto
- glevel 1 add /glevel exch def } def
-/ss { gsave 0.67 dup scale gsave mty 0.5 mul rmoveto
- glevel 1 add /glevel exch def } def
-/ns { currentpoint transform % preserve x position!
- glevel {grestore} repeat /glevel 0 def
- itransform pop currentpoint pop sub 0 rmoveto } def
-/ul { showflag 1 eq { gsave
- currentpoint topmat setmatrix 0 0 moveto 2 index stringwidth pop (_)
- false charpath flattenpath pathbbox grestore exch pop 1 index
- sub setlinewidth exch pop currentpoint 3 -1 roll add moveto 0
- rlineto stroke moveto } if } def
-/ol { showflag 1 eq { gsave gsave
- currentpoint topmat setmatrix 2 index stringwidth pop 3 index
- true charpath flattenpath pathbbox grestore exch pop
- exch pop topmat setmatrix (_) true charpath pathbbox grestore
- exch pop 1 index sub setlinewidth exch pop currentpoint
- exch 4 1 roll exch sub add moveto pop 0 rlineto stroke
- moveto } if } def
-/stW { gsave true charpath flattenpath pathbbox pop exch pop sub
- grestore } def
-/bs { stW 0 rmoveto } def
-/pspc 0 def
-/qS { (aa) stW (a a) stW sub 4 div 0 rmoveto } def
-/hS { qS qS } def
-/textx { dup 1 add copy 0 exch { exch dup type /stringtype eq
- {stringwidth pop add}{exec} ifelse } repeat neg ns } def
-/mty { 0 topmat setmatrix (A) true charpath flattenpath pathbbox exch
- pop exch sub exch pop neg grestore } def
-/texty { gsave 2 copy pop exec mty } def
-/tcenter { textx grestore 0.5 mul 0 rmoveto } def
-/tright { textx grestore fspc sub 0 rmoveto } def
-/tmiddle { texty 0.5 mul rmoveto } def
-/ttop { texty fspc sub rmoveto } def
-/tshow {{ dup type /stringtype eq {show}{exec} ifelse} repeat ns } def
-
-/label { gsave translate 0 0 moveto rotate /just exch def just 16 and 0 gt
- {0 1 dtransform gsave pagemat setmatrix idtransform exch grestore
- 1 0 dtransform gsave pagemat setmatrix idtransform exch grestore
- dup 0 eq {pop mul 0 gt} {3 1 roll pop pop 0 lt} ifelse
- {-1 /just just dup 3 and 1 ne {3 xor} if def} {1} ifelse exch 0 lt
- {-1 /just just dup 12 and 4 ne {12 xor} if def} {1} ifelse scale } if
- /glevel 0 def /showflag 0 def /fspc pspc def
- just 1 and 0 gt {gsave just 2 and 0 gt {tright}{tcenter} ifelse}
- {fspc 0 rmoveto} ifelse
- just 4 and 0 gt {just 8 and 0 gt {ttop}{tmiddle} ifelse}
- {0 fspc rmoveto} ifelse
- /showflag 1 def tshow grestore } def
-/pinlabel { hlevel 0 eq { /pspc 20 def label /pspc 0 def }
- { pop pop pop pop {pop} repeat } ifelse } def
-/pinglobal { pinlabel } def
-/infolabel { pinlabel } def
-
-/begingate { /hlevel hlevel 1 add def gsave translate 0 0 moveto dup 0 lt
- {neg 1 sub -1 1 scale} if rotate dup scale } bind def
-/makeparm {3 string cvs dup length 1 add string /tstr exch def tstr exch
- 1 exch putinterval tstr 0 (v) putinterval tstr cvn} bind def
-/beginparm { -1 1 {makeparm exch def} for
- dup type /arraytype eq { aload length -1 1 {makeparm exch def}
- for } if begingate } bind def
-/endgate { /hlevel hlevel 1 sub def grestore } bind def
-
-/hlevel 0 def
-/tmpa [1 0 0 1 0 0] def
-/gar {8 8 true tmpa {<c0 c0 00 00 0c 0c 00 00>} imagemask} bind
-{8 8 true tmpa {<30 70 60 02 03 07 06 20>} imagemask} bind
-{8 8 true tmpa {<0c 1e 1e 0c c0 e1 e1 c0>} imagemask} bind
-{8 8 true tmpa {<0f 0f 0f 0f f0 f0 f0 f0>} imagemask} bind
-{8 8 true tmpa {<3f f3 e1 e1 f3 3f 1e 1e>} imagemask} bind
-{8 8 true tmpa {<df cf 8f 9f fd fc f8 f9>} imagemask} bind
-{8 8 true tmpa {<ff 3f 3f ff ff f3 f3 ff>} imagemask} bind 7 array astore def
-/ppaint { gsave clip tmpa dup setmatrix pathbbox neg exch neg 4 2 roll
- neg 4 -1 roll 2 copy gt {exch} if 8 div ceiling 8 mul 4 2 roll neg 2 copy
- gt {exch} if 8 div ceiling 8 mul 3 -1 roll -8 5 -1 roll
- { 3 index exch 5 exch put dup -8 3 index { 3 index
- exch 4 exch put 3 index exec } for } for pop pop pop pop grestore } bind def
-/setstyles {
- currentlinewidth mul setlinewidth /style exch def
- style 1 and 0 gt not {closepath} if
- style 2 and 0 gt {currentlinewidth 4 mul dup 2 array astore 0 setdash} if
- style 4 and 0 gt {0.5 currentlinewidth 4 mul 2 array astore 0 setdash} if
- style dup 256 ge exch 480 lt and { gsave 1 setgray eofill grestore } if
- style 16 and 0 gt { gsave style 224 and -5 bitshift dup 7 lt
- {gar exch get ppaint} { pop eofill } ifelse grestore } if
- style 8 and 0 gt { newpath } { stroke } ifelse grestore } def
-/scb { gsave setrgbcolor } bind def /sce { grestore } bind def
-
-/polygon { gsave /num exch def moveto num 1 sub {lineto} repeat setstyles } def
-/xcarc { gsave newpath arc setstyles } def
-/elb { matrix currentmatrix 7 -1 roll 7 -1 roll translate 5 1 roll 4 -1 roll
- 3 index div 1 scale } def
-/ele { 0 4 1 roll 0 4 1 roll } bind def
-/ellipse { gsave elb newpath ele arc setmatrix setstyles } def
-/pellip { elb ele arc setmatrix } def
-/nellip { elb ele arcn setmatrix } def
-/spline { gsave moveto curveto setstyles } def
-/polyc { {lineto} repeat } bind def
-/beginpath { gsave moveto } bind def
-/endpath { setstyles } bind def
-/bop { 1 setlinecap 0 setlinejoin 6 setmiterlimit 0 setgray } def
-/setpagemat {/pagemat matrix currentmatrix def} def
-/inchscale {setpagemat 0.375 mul dup scale} def
-/cmscale {setpagemat 0.35433071 mul dup scale} def
-
-%%EndResource
-%%EndProlog
-
-% XCircuit output starts here.
-
-/nmos {
-% -64 -64 64 128 bbox
-begingate
-% fundamental
-1 1.00 0 -64 0 -28 -32 -28 -32 28 0 28 0 64 6 polygon
-1 1.00 -44 -28 -44 28 2 polygon
-1 1.00 -44 0 -64 0 2 polygon
-1.000 0.000 0.000 scb
-(G) {/Helvetica 1.000 cf} 2 7 0 -64 0 pinlabel
-(S) {/Helvetica 1.000 cf} 2 13 0 0 -64 pinlabel
-(D) {/Helvetica 1.000 cf} 2 9 0 0 64 pinlabel
-(spice:M%i %pD %pG %pS GND nmos) {/Times-Roman 1.000 cf} 2 4 0 -244 -139 infolabel
-(sim:n %pG %pD %pS) {/Times-Roman 1.000 cf} 2 4 0 -244 -187 infolabel
-sce
-endgate
-} def
-
-/gnd {
-% -32 -60 64 68 bbox
-begingate
-1 1.00 0 0 0 -32 2 polygon
-1 1.00 -32 -32 32 -32 2 polygon
-1 1.00 -18 -46 18 -46 2 polygon
-1 1.00 -4 -60 4 -60 2 polygon
-1.000 0.000 0.000 scb
-(GND) {/Times-Roman 1.000 cf} 2 1 0 0 0 pinglobal
-sce
-endgate
-} def
-
-/pmos {
-% -64 -64 64 128 bbox
-begingate
-% fundamental
-1 1.00 -44 -28 -44 28 2 polygon
-1 1.00 -60 0 -64 0 2 polygon
-1 1.00 0 -64 0 -28 -32 -28 -32 28 0 28 0 64 6 polygon
-1 1.00 -52 0 8 0.00 360.00 xcarc
-1.000 0.000 0.000 scb
-(S) {/Helvetica 1.000 cf} 2 9 0 0 64 pinlabel
-(D) {/Helvetica 1.000 cf} 2 13 0 0 -64 pinlabel
-(G) {/Helvetica 1.000 cf} 2 7 0 -64 0 pinlabel
-(spice:M%i %pD %pG %pS Vdd pmos) {/Times-Roman 1.000 cf} 2 4 0 -196 -139 infolabel
-(sim:p %pG %pD %pS) {/Times-Roman 1.000 cf} 2 4 0 -196 -187 infolabel
-sce
-endgate
-} def
-
-/vdd {
-% -32 0 64 66 bbox
-begingate
-1 1.00 0 0 0 32 2 polygon
-1 1.00 -32 32 32 32 2 polygon
-(Vdd) {/Times-Roman 0.900 cf} 2 17 0 0 38 label
-1.000 0.000 0.000 scb
-(Vdd) {/Times-Roman 1.000 cf} 2 13 0 0 0 pinglobal
-sce
-endgate
-} def
-
-/dot {
-% -10 -10 20 20 bbox
-begingate
-248 1.00 0 0 6 0.00 360.00 xcarc
-endgate
-} def
-
-/circle {
-% -6 -12 28 24 bbox
-begingate
-1 1.00 16 0 6 0.00 360.00 xcarc
-1 1.00 0 0 10 0 2 polygon
-1.000 0.000 0.000 scb
-(out) {/Times-Roman 1.000 cf} 2 4 0 16 0 pinlabel
-(out) {/Times-Roman 1.000 cf} 2 7 0 0 0 pinlabel
-sce
-endgate
-} def
-
-%%Page: wramp 1
-%%PageOrientation: Portrait
-/pgsave save def bop
-% 454 416 offsets
-1.0000 inchscale
-2.6000 setlinewidth
-
-1.00 0 406 480 nmos
-1.00 -1 502 480 nmos
-1 1.00 406 416 502 416 2 polygon
-1.00 0 454 352 nmos
-1.00 0 454 288 gnd
-1.00 0 406 608 pmos
-1.00 -1 502 608 pmos
-1.00 0 406 672 vdd
-1.00 0 502 672 vdd
-1.00 0 742 608 pmos
-1.00 -1 166 608 pmos
-1 1.00 230 608 342 608 2 polygon
-1 1.00 566 608 678 608 2 polygon
-1 1.00 614 608 614 544 502 544 3 polygon
-1 1.00 406 544 294 544 294 608 3 polygon
-1.00 0 166 672 vdd
-1.00 0 742 672 vdd
-1.00 0 742 192 nmos
-1.00 -1 166 192 nmos
-1 1.00 166 256 166 544 2 polygon
-1 1.00 742 544 742 256 2 polygon
-1 1.00 742 448 806 448 2 polygon
-1.00 0 166 128 gnd
-1.00 0 742 128 gnd
-1 1.00 678 192 230 192 2 polygon
-1 1.00 166 256 294 256 294 192 3 polygon
-1.00 0 294 192 dot
-1.00 0 166 256 dot
-1.00 0 454 416 dot
-1.00 0 294 608 dot
-1.00 0 406 544 dot
-1.00 0 502 544 dot
-1.00 0 614 608 dot
-1.00 0 742 448 dot
-1.00 0 566 480 circle
-1.00 -1 342 480 circle
-1.00 -1 390 352 circle
-1.00 0 806 448 circle
-1.000 0.000 0.000 scb
-(in.p) {/Helvetica 1.000 cf} 2 20 0 582 480 pinlabel
-(in.m) {/Helvetica 1.000 cf} 2 23 0 326 480 pinlabel
-(bias) {/Helvetica 1.000 cf} 2 23 0 374 352 pinlabel
-(out) {/Helvetica 1.000 cf} 2 20 0 822 448 pinlabel
-sce
-pgsave restore showpage
-
-/wramp {
-% -80 -80 160 160 bbox
-begingate
-0 1.00 -80 -80 -80 80 48 24 48 -24 4 polygon
-1 1.00 0 -80 0 -45 2 polygon
-1 1.00 48 0 80 0 2 polygon
-(-) {/Symbol 1.000 cf} 2 5 0 -61 50 label
-(+) {/Symbol 1.000 cf} 2 5 0 -61 -46 label
-1.000 0.000 0.000 scb
-(in.m) {/Times-Roman 1.000 cf} 2 7 0 -80 48 pinlabel
-(in.p) {/Times-Roman 1.000 cf} 2 7 0 -80 -48 pinlabel
-(out) {/Times-Roman 1.000 cf} 2 4 0 80 0 pinlabel
-(bias) {/Times-Roman 1.000 cf} 2 13 0 0 -80 pinlabel
-sce
-endgate
-} def
-
-/capacitor {
-% -32 -64 64 128 bbox
-begingate
-% fundamental
-1 1.00 0 -64 0 -6 2 polygon
-1 1.00 0 64 0 6 2 polygon
-1 1.00 -32 6 32 6 2 polygon
-1 1.00 -32 -6 32 -6 2 polygon
-1.000 0.000 0.000 scb
-(c.1) {/Times-Roman 1.000 cf} 2 9 0 0 64 pinlabel
-(c.2) {/Times-Roman 1.000 cf} 2 13 0 0 -64 pinlabel
-(spice:C%i %pc.1 %pc.2 1.0P) {/Times-Roman 1.000 cf} 2 0 0 -208 -160 infolabel
-(sim:c %pc.1 %pc.2) {/Times-Roman 1.000 cf} 2 0 0 -208 -208 infolabel
-sce
-endgate
-} def
-
-%%Page: 2 2
-%%PageOrientation: Portrait
-/pgsave save def bop
-% 294 390 offsets
-1.0000 inchscale
-2.6000 setlinewidth
-
-1.00 0 310 390 wramp
-1 1.00 230 438 198 438 198 518 422 518 422 390 5 polygon
-1 1.00 390 390 454 390 2 polygon
-1.00 0 422 390 dot
-1.00 0 454 390 circle
-1.00 -1 166 342 circle
-1.00 -271 310 310 circle
-1.000 0.000 0.000 scb
-(Bias) {/Helvetica 1.000 cf} 2 29 0 310 294 pinlabel
-sce
-1 1.00 166 342 230 342 2 polygon
-1.000 0.000 0.000 scb
-(Input) {/Helvetica 1.000 cf} 2 23 0 150 342 pinlabel
-(Output) {/Helvetica 1.000 cf} 2 20 0 470 390 pinlabel
-sce
-(Integrator) {/Helvetica 1.000 cf} 2 25 0 294 582 label
-1.00 0 422 326 capacitor
-1.00 0 422 262 gnd
-pgsave restore showpage
-
-%%Trailer
-XCIRCsave restore
-%%EOF
diff --git a/tutorial/psfiles/powersup.ps b/tutorial/psfiles/powersup.ps
deleted file mode 100644
index d568156..0000000
--- a/tutorial/psfiles/powersup.ps
+++ /dev/null
@@ -1,429 +0,0 @@
-%!PS-Adobe-3.0
-%%Title: powersup
-%%Creator: Xcircuit v2.3
-%%CreationDate: Wed Jul 18 14:38:19 2001
-%%Pages: 2
-%%BoundingBox: 118 314 494 478
-%%DocumentNeededResources: font Helvetica font Times-Roman font Times-RomanISO
-%%+ font HelveticaISO font Symbol
-%%EndComments
-%%BeginProlog
-%
-% PostScript prolog for output from xcircuit
-% Version: 2.3
-%
-% Electrical circuit (and otherwise general) drawing program
-%
-% Written by Tim Edwards 8/5/93--5/16/01 (tim@bach.ece.jhu.edu)
-% The Johns Hopkins University
-%
-%%BeginResource: procset XCIRCproc 2.3 1
-% supporting definitions --- these are the primary xcircuit types.
-
-/XCIRCsave save def
-/topmat matrix currentmatrix def
-
-/fontslant { /slant exch def [1 0 slant 1 0 0]
- exch findfont exch makefont dup length dict /ndict exch def
- { 1 index /FID ne { ndict 3 1 roll put } { pop pop } ifelse } forall
- ndict definefont pop} def
-/ul { dup type /stringtype eq showflag 1 eq and { gsave
- currentpoint topmat setmatrix 0 0 moveto 2 index stringwidth pop (_)
- false charpath flattenpath pathbbox grestore exch pop 1 index
- sub setlinewidth exch pop currentpoint 3 -1 roll add moveto 0
- rlineto stroke moveto } if } def
-/ol { dup type /stringtype eq showflag 1 eq and { gsave gsave
- currentpoint topmat setmatrix 2 index stringwidth pop 3 index
- true charpath flattenpath pathbbox grestore exch pop
- exch pop topmat setmatrix (_) true charpath pathbbox grestore
- exch pop 1 index sub setlinewidth exch pop currentpoint
- exch 4 1 roll exch sub add moveto pop 0 rlineto stroke
- moveto } if } def
-/stW { gsave currentpoint newpath moveto true charpath flattenpath
- pathbbox pop exch pop sub grestore } def
-/Ts {mark Tabs aload pop counttomark 1 add array astore /Tabs exch def Tabs
- 0 currentpoint pop put} def
-/Tbn {mark Tabs aload pop counttomark dup 2 add 1 roll cleartomark 1 sub} def
-/Tb { 0 1 Tbn {Tabs exch get dup currentpoint pop lt
- {currentpoint exch pop moveto exit} {pop} ifelse } for } def
-/Tf { Tbn -1 0 {Tabs exch get dup currentpoint pop gt
- {currentpoint exch pop moveto exit} {pop} ifelse } for } def
-/qS { (aa) stW (a a) stW sub 4 div 0 Kn } def
-/hS { qS qS } def
-/pspc 0 def
-/cf0 { scalefont setfont } bind def
-/Kn { dup kY add /kY exch def rmoveto } bind def
-/ss { /fscale fscale 0.67 mul def currentfont 0.67 cf0 0 fscale0 fscale mul
- 0.33 mul neg Kn} def
-/Ss { /fscale fscale 0.67 mul def currentfont 0.67 cf0 0 fscale0 fscale mul
- 0.67 mul Kn } def
-/ns { 0 kY neg Kn /kY 0 def /fscale 1.0 def xfont0 1.0 cf0 } def
-/CR { ns 0 /Bline Bline fscale0 neg add def Bline moveto } def
-/cf { dup type /realtype ne {1.0} if exch findfont exch kY 0 eq
- { 40 mul dup /fscale0 exch def cf0 /xfont0 currentfont def}
- {fscale0 mul fscale mul cf0} ifelse } def
-/ctmk { counttomark dup 2 add -1 roll pop } bind def
-/label { gsave translate 0 0 moveto dup scale /rotval exch def /just exch def
- just 16 and 0 gt {0 1 dtransform gsave pagemat setmatrix idtransform
- exch grestore 1 0 dtransform gsave pagemat setmatrix idtransform
- exch grestore dup 0 eq {pop mul 0 gt} {3 1 roll pop pop 0 lt} ifelse
- {-1 /just just dup 3 and 1 ne {3 xor} if def} {1} ifelse exch 0 lt
- {-1 /just just dup 12 and 4 ne {12 xor} if def} {1} ifelse scale }
- if /showflag 0 def /fspc pspc def /Bline 0 def /Tabs 0 array def
- /fscale 1.0 def /kY 0 def
- gsave dup 1 add copy 0 exch {exch dup type /stringtype eq {true
- charpath flattenpath} {exec} ifelse } repeat pop pathbbox grestore
- 3 -1 roll pop 3 1 roll just 1 and 0 gt {just 2 and 0 gt {exch pop
- neg fspc sub} {exch sub 0.5 mul neg} ifelse} {pop neg fspc add}
- ifelse exch Bline exch just 4 and 0 gt {just 8 and 0 gt {exch pop
- neg fspc sub} {add 0.5 mul neg} ifelse} {pop neg fspc add} ifelse
- /showflag 1 def rotval rotate Kn currentpoint translate
- /Bline 0 def /Tabs 0 array def /fscale 1.0 def /kY 0 def
- {dup type /stringtype eq {show}{exec} ifelse} repeat grestore } def
-/pinlabel { hlevel 0 eq { /pspc 20 def label /pspc 0 def }
- { pop pop pop pop pop {pop} repeat } ifelse } def
-/pinglobal { pinlabel } def
-/infolabel { pinlabel } def
-
-/scb { setrgbcolor } bind def /sce { defColor aload pop scb } bind def
-/cRedef {/defColor currentcolor 3 array astore def} def
-/begingate { /hlevel hlevel 1 add def /defColor currentcolor sce 3 array
- astore def gsave sce translate 0 0 moveto dup 0 lt
- {neg 1 sub -1 1 scale} if rotate dup scale } bind def
-/makeparm {3 string cvs dup length 1 add string /tstr exch def tstr exch
- 1 exch putinterval tstr 0 (v) putinterval tstr cvn} bind def
-/beginparm { -1 1 {makeparm exch def} for
- dup type /arraytype eq { aload length -1 1 {makeparm exch def}
- for } if begingate } bind def
-/endgate { /hlevel hlevel 1 sub def grestore defColor aload pop cRedef
- scb} bind def
-
-/hlevel 0 def
-/tmpa [1 0 0 1 0 0] def
-/gar {8 8 true tmpa {<c0 c0 00 00 0c 0c 00 00>} imagemask} bind
-{8 8 true tmpa {<30 70 60 02 03 07 06 20>} imagemask} bind
-{8 8 true tmpa {<0c 1e 1e 0c c0 e1 e1 c0>} imagemask} bind
-{8 8 true tmpa {<0f 0f 0f 0f f0 f0 f0 f0>} imagemask} bind
-{8 8 true tmpa {<3f f3 e1 e1 f3 3f 1e 1e>} imagemask} bind
-{8 8 true tmpa {<df cf 8f 9f fd fc f8 f9>} imagemask} bind
-{8 8 true tmpa {<ff 3f 3f ff ff f3 f3 ff>} imagemask} bind 7 array astore def
-/ppaint { gsave clip tmpa dup setmatrix pathbbox neg exch neg 4 2 roll
- neg 4 -1 roll 2 copy gt {exch} if 8 div ceiling 8 mul 4 2 roll neg 2 copy
- gt {exch} if 8 div ceiling 8 mul 3 -1 roll -8 5 -1 roll
- { 3 index exch 5 exch put dup -8 3 index { 3 index
- exch 4 exch put 3 index exec } for } for pop pop pop pop grestore } bind def
-/setstyles {
- currentlinewidth mul setlinewidth /style exch def
- style 1 and 0 gt not {closepath} if
- style 2 and 0 gt {currentlinewidth 4 mul dup 2 array astore 0 setdash} if
- style 4 and 0 gt {0.5 currentlinewidth 4 mul 2 array astore 0 setdash} if
- style dup 256 ge exch 480 lt and { gsave 1 setgray eofill grestore } if
- style 16 and 0 gt { gsave style 224 and -5 bitshift dup 7 lt
- {gar exch get ppaint} { pop eofill } ifelse grestore } if
- style 8 and 0 gt style 512 eq or { newpath } { stroke } ifelse grestore } def
-
-/polygon { gsave /num exch def moveto num 1 sub {lineto} repeat setstyles } def
-/xcarc { gsave newpath arc setstyles } def
-/elb { matrix currentmatrix 7 -1 roll 7 -1 roll translate 5 1 roll 4 -1 roll
- 3 index div 1 scale } def
-/ele { 0 4 1 roll 0 4 1 roll } bind def
-/ellipse { gsave elb newpath ele arc setmatrix setstyles } def
-/pellip { elb ele arc setmatrix } def
-/nellip { elb ele arcn setmatrix } def
-/spline { gsave moveto curveto setstyles } def
-/polyc { {lineto} repeat } bind def
-/beginpath { gsave moveto } bind def
-/endpath { setstyles } bind def
-/bop { 1 setlinecap 0 setlinejoin 6 setmiterlimit 0 0 0 scb cRedef } def
-/insertion {/PSobj save def /showpage {} def bop translate} def
-/end_insert {PSobj restore} def
-/setpagemat {/pagemat matrix currentmatrix def} def
-/inchscale {setpagemat 0.375 mul dup scale} def
-/cmscale {setpagemat 0.35433071 mul dup scale} def
-
-%%EndResource
-%%EndProlog
-
-/Times-Roman findfont dup length dict begin
-{1 index /FID ne {def} {pop pop} ifelse} forall
-/Encoding ISOLatin1Encoding def currentdict end
-/Times-RomanISO exch definefont pop
-
-/Helvetica findfont dup length dict begin
-{1 index /FID ne {def} {pop pop} ifelse} forall
-/Encoding ISOLatin1Encoding def currentdict end
-/HelveticaISO exch definefont pop
-
-% XCircuit output starts here.
-
-/inductor {
-% -14 -64 29 112 bbox
-begingate
-1 1.00 20 -28 20 -44 0 -48 0 -24 spline
-1 1.00 -20 -20 -20 -32 0 -28 0 -24 spline
-1 1.00 20 32 20 16 0 12 0 36 spline
-1 1.00 20 12 20 -4 0 -8 0 16 spline
-1 1.00 20 -8 20 -24 0 -28 0 -4 spline
-1 1.00 -20 20 -20 8 0 12 0 16 spline
-1 1.00 -20 0 -20 -12 0 -8 0 -4 spline
-1 1.00 0 -48 0 -64 2 polygon
-1 1.00 0 36 0 48 2 polygon
-1.000 0.000 0.000 scb
-(l.1) {/Times-Roman cf} 2 9 0 1.00 0 48 pinlabel
-(l.2) {/Times-Roman cf} 2 13 0 1.00 0 -64 pinlabel
-sce
-(spice:L%i %pl.1 %pl.2 1.0U) {/Times-Roman cf} 2 0 0 1.00 -208 -160 infolabel
-sce
-(sim:l %pl.1 %pl.2) {/Times-Roman cf} 2 0 0 1.00 -208 -208 infolabel
-endgate
-} def
-
-/Transformer {
-% -62 -64 108 112 bbox
-(?) 1 beginparm
-1.00 0 -48 0 inductor
-1 1.00 -16 48 -16 -64 2 polygon
-1 1.00 0 48 0 -64 2 polygon
-1.00 180 32 -16 inductor
-1.000 0.000 0.000 scb
-(1) {/Helvetica cf} 2 25 0 1.00 -48 48 pinlabel
-(2) {/Helvetica cf} 2 29 0 1.00 -48 -64 pinlabel
-(3) {/Helvetica cf} 2 25 0 1.00 32 48 pinlabel
-(4) {/Helvetica cf} 2 29 0 1.00 32 -64 pinlabel
-sce
-mark v1 (pcb:T) {/Times-Roman cf} ctmk 20 0 1.00 -96 -160 infolabel
-endgate
-} def
-
-/circle {
-% -6 -12 28 24 bbox
-% trivial
-begingate
-1 1.00 16 0 6 0.00 360.00 xcarc
-1 1.00 0 0 10 0 2 polygon
-1.000 0.000 0.000 scb
-(out) {/Times-Roman cf} 2 4 0 1.00 16 0 pinlabel
-(out) {/Times-Roman cf} 2 7 0 1.00 0 0 pinlabel
-endgate
-} def
-
-/diode {
-% -18 -48 36 96 bbox
-(?) 1 beginparm
-248 1.00 -18 -16 0 16 18 -16 3 polygon
-1 1.00 0 -48 0 -16 2 polygon
-1 1.00 0 48 0 16 2 polygon
-1 1.00 -18 16 18 16 2 polygon
-1.000 0.000 0.000 scb
-(1) {/Times-Roman cf} 2 9 0 1.00 0 48 pinlabel
-(2) {/Times-Roman cf} 2 13 0 1.00 0 -48 pinlabel
-sce
-mark v1 (pcb:D) {/Helvetica cf} ctmk 20 0 1.00 -64 -144 infolabel
-endgate
-} def
-
-/rectifier {
-% -112 -48 192 192 bbox
-begingate
-1.00 315 -64 96 diode
-1.00 225 32 96 diode
-1.00 225 -64 0 diode
-1.00 315 32 0 diode
-1 1.00 -30 130 -16 144 -2 130 3 polygon
-1 1.00 66 62 80 48 66 34 3 polygon
-1 1.00 -2 -34 -16 -48 -30 -34 3 polygon
-1 1.00 -98 34 -112 48 -98 62 3 polygon
-endgate
-} def
-
-/dot {
-% -10 -10 20 20 bbox
-% trivial
-begingate
-248 1.00 0 0 6 0.00 360.00 xcarc
-1.000 0.000 0.000 scb
-(x) {/Times-Roman cf} 2 29 0 1.00 0 0 pinlabel
-endgate
-} def
-
-/jumper {
-% -4 -14 18 28 bbox
-% trivial
-begingate
-1 1.00 0 0 10 -90.00 90.00 xcarc
-1 1.00 0 10 0 16 2 polygon
-1 1.00 0 -10 0 -16 2 polygon
-1.000 0.000 0.000 scb
-(a) {/Times-Roman cf} 2 1 0 1.00 0 16 pinlabel
-(a) {/Times-Roman cf} 2 13 0 1.00 0 -16 pinlabel
-endgate
-} def
-
-/gnd {
-% -32 -60 64 68 bbox
-% trivial
-begingate
-1 1.00 0 0 0 -32 2 polygon
-1 1.00 -32 -32 32 -32 2 polygon
-1 1.00 -18 -46 18 -46 2 polygon
-1 1.00 -4 -60 4 -60 2 polygon
-1.000 0.000 0.000 scb
-(GND) {/Times-Roman cf} 2 1 0 1.00 0 0 pinglobal
-endgate
-} def
-
-/Capacitor {
-% -32 -64 186 128 bbox
-(1.0) (p) (?) 3 beginparm
-1 1.00 0 -64 0 -6 2 polygon
-1 1.00 0 64 0 6 2 polygon
-1 1.00 -32 6 32 6 2 polygon
-1 1.00 -32 -6 32 -6 2 polygon
-1.000 0.000 0.000 scb
-(1) {/Times-Roman cf} 2 9 0 1.00 0 64 pinlabel
-(2) {/Times-Roman cf} 2 13 0 1.00 0 -64 pinlabel
-sce
-mark v2 v1 ( %p1 %p2 ) v3 (spice:C) {/Times-RomanISO cf} ctmk 4 0 1.00 -208
--160 infolabel
-sce
-(sim:c %p1 %p2) {/Times-Roman cf} 2 4 0 1.00 -208 -208 infolabel
-mark (F) v2 {hS} v1 {/Times-RomanISO cf} ctmk 20 0 1.00 48 0 label
-sce
-mark v3 (pcb:C) {/Times-Roman cf} ctmk 20 0 1.00 -208 -256 infolabel
-endgate
-} def
-
-/Polarized {
-% -32 -64 176 128 bbox
-(1.0) (p) (?) 3 beginparm
-1 1.00 0 -64 0 -6 2 polygon
-1 1.00 0 64 0 6 2 polygon
-1 1.00 -32 6 32 6 2 polygon
-1 1.00 0 -80 74 66.00 114.00 xcarc
-1.000 0.000 0.000 scb
-(1) {/Times-Roman cf} 2 9 0 1.00 0 64 pinlabel
-(2) {/Times-Roman cf} 2 13 0 1.00 0 -64 pinlabel
-sce
-mark v2 v1 ( %p1 %p2 ) v3 (spice:C) {/Times-RomanISO cf} ctmk 4 0 1.00 -208
--160 infolabel
-sce
-(sim:e %p1 %p2) {/Times-Roman cf} 2 4 0 1.00 -208 -208 infolabel
-mark (F) v2 {hS} v1 {/Times-RomanISO cf} ctmk 20 0 1.00 48 0 label
-sce
-mark v3 (pcb:C) {/Times-Roman cf} ctmk 20 0 1.00 -208 -256 infolabel
-endgate
-} def
-
-%%Page: power_supply 1
-%%PageOrientation: Portrait
-/pgsave save def bop
-% power_supply is_symbol
-% 529 953 offsets
-1.0000 inchscale
-2.6000 setlinewidth
-
-1.00 0 497 1065 Transformer
-1 1.00 449 1113 449 1193 401 1193 3 polygon
-1 1.00 449 1001 449 937 401 937 3 polygon
-1.00 -1 401 1193 circle
-1.00 -1 401 937 circle
-1.000 0.000 0.000 scb
-(+) {/Symbol cf} (V) {/Helvetica cf} 4 23 0 1.00 385 1193 pinlabel
-(-) {/Symbol cf} (V) {/Helvetica cf} 4 23 0 1.00 385 937 pinlabel
-sce
-1.00 0 785 1017 rectifier
-1 1.00 529 1113 529 1193 769 1193 769 1161 4 polygon
-1 1.00 529 1001 529 937 769 937 769 969 4 polygon
-1.00 0 769 969 dot
-1.00 0 769 1161 dot
-1 1.00 673 1065 641 1065 641 953 3 polygon
-1 1.00 641 921 641 873 1201 873 3 polygon
-1 1.00 865 1065 1201 1065 2 polygon
-1 1.00 961 1065 961 1033 2 polygon
-1 1.00 1041 1065 1041 1033 2 polygon
-1 1.00 961 905 961 873 2 polygon
-1 1.00 1041 905 1041 873 2 polygon
-1.00 0 1041 873 dot
-1.00 0 961 873 dot
-1.00 0 961 1065 dot
-1.00 0 1041 1065 dot
-1.00 0 865 1065 dot
-1.00 0 673 1065 dot
-1.00 -1 641 937 jumper
-1.00 0 641 873 gnd
-1.00 0 641 873 dot
-1.00 0 1201 873 circle
-1.00 0 1201 1065 circle
-1.000 0.000 0.000 scb
-(Vout) {0 -80 Kn} {/Helvetica cf} 3 28 0 1.00 1217 1065 pinlabel
-sce
-(+) {/Symbol cf} 2 20 0 1.00 1249 1065 label
-(-) {/Symbol cf} 2 20 0 1.00 1249 873 label
-(Bridge Rectifier) {/Helvetica cf} 2 24 0 1.00 369 1273 label
-1.00 -1 961 969 [(1.0) (\265) ] Capacitor
-1.00 0 1041 969 [(10) (\265) ] Polarized
-(1N914) {hS} (\327) {hS} (4) {/HelveticaISO cf} 6 24 0 1.00 849 1145 label
-pgsave restore showpage
-
-/power_supply {
-% -224 -208 416 416 bbox
-% power_supply is_schematic
-begingate
-0 1.00 -224 -208 -224 208 192 208 192 -208 4 polygon
-(+) {/Symbol cf} (V) {/Helvetica cf} 4 20 0 1.00 -192 112 label
-(-) {/Symbol cf} (V) {/Helvetica cf} 4 20 0 1.00 -192 -112 label
-1.000 0.000 0.000 scb
-(+) {/Symbol cf} (V) {/Helvetica cf} 4 23 0 1.00 -224 112 pinlabel
-(-) {/Symbol cf} (V) {/Helvetica cf} 4 23 0 1.00 -224 -112 pinlabel
-sce
-(power supply) {CR} (unregulated) {/Helvetica cf} 4 21 0 1.00 -16 16 label
-1.000 0.000 0.000 scb
-(Vout) {/Helvetica cf} 2 20 0 1.00 192 112 pinlabel
-sce
-(Vout) {/Helvetica cf} 2 23 0 1.00 160 112 label
-endgate
-} def
-
-/Resistor {
-% -14 -64 157 128 bbox
-(1.0) (k) (?) 3 beginparm
-1 1.00 0 64 0 36 2 polygon
-1 1.00 0 -64 0 -36 2 polygon
-1 1.00 0 -36 14 -30 -14 -18 14 -6 -14 6 14 18 -14 30 0 36 8 polygon
-1.000 0.000 0.000 scb
-(1) {/Times-Roman cf} 2 9 0 1.00 0 64 pinlabel
-(2) {/Times-Roman cf} 2 13 0 1.00 0 -64 pinlabel
-sce
-mark v2 v1 ( %p1 %p2 ) v3 (spice:R) {/Times-Roman cf} ctmk 4 0 1.00 -208 -160
-infolabel
-sce
-(sim:R %p1 %p2) {/Times-Roman cf} 2 4 0 1.00 -208 -208 infolabel
-mark (W) {/Symbol cf} v2 {hS} v1 {/Times-Roman cf} ctmk 20 0 1.00 32 0 label
-sce
-mark v3 (pcb:R) {/Times-Roman cf} ctmk 20 0 1.00 -208 -256 infolabel
-endgate
-} def
-
-%%Page: 2 2
-%%PageOrientation: Portrait
-/pgsave save def bop
-% 1166 848 offsets
-1.0000 inchscale
-2.6000 setlinewidth
-
-1.00 0 782 1056 power_supply
-1 1.00 558 1168 414 1168 2 polygon
-1 1.00 558 944 414 944 2 polygon
-1.00 0 1166 1040 Resistor
-1 1.00 974 1168 1166 1168 1166 1104 3 polygon
-1.00 0 1166 976 gnd
-(AC input) {/Helvetica cf} 2 21 0 1.00 398 1056 label
-(+) {/Symbol cf} 2 21 0 1.00 398 1136 label
-(-) {/Symbol cf} 2 21 0 1.00 398 976 label
-1.00 -1 414 1168 circle
-1.00 -1 414 944 circle
-pgsave restore showpage
-
-%%Trailer
-XCIRCsave restore
-%%EOF
diff --git a/tutorial/psfiles/test1.ps b/tutorial/psfiles/test1.ps
deleted file mode 100644
index 5cc16f5..0000000
--- a/tutorial/psfiles/test1.ps
+++ /dev/null
@@ -1,154 +0,0 @@
-%!PS-Adobe-3.0 EPSF-3.0
-%%Title: test1
-%%Creator: Xcircuit v2.0
-%%CreationDate: Mon May 24 11:14:54 1999
-%%Pages: 1
-%%BoundingBox: 68 68 214 118
-%%DocumentNeededResources: font Times-Italic font Times-Roman
-%%EndComments
-%%BeginProlog
-%
-% PostScript prolog for output from xcircuit
-% Version: 2.0
-%
-% Electrical circuit (and otherwise general) drawing program
-%
-% Written by Tim Edwards 8/5/93--8/8/97 (tim@bach.ece.jhu.edu)
-% The Johns Hopkins University
-%
-%%BeginResource: procset XCIRCproc 2.0 2
-% supporting definitions --- these are the primary xcircuit types.
-
-/XCIRCsave save def
-/topmat matrix currentmatrix def
-
-/fontslant { /slant exch def [1 0 slant 1 0 0]
- exch findfont exch makefont dup length dict /ndict exch def
- { 1 index /FID ne { ndict 3 1 roll put } { pop pop } ifelse } forall
- ndict definefont pop} def
-/cf { dup type /realtype eq {40 mul /fscale exch def} if dup /xfont exch def
- findfont fscale scalefont setfont } def
-/Ss { gsave 0.67 dup scale gsave mty neg rmoveto
- glevel 1 add /glevel exch def } def
-/ss { gsave 0.67 dup scale gsave mty 0.5 mul rmoveto
- glevel 1 add /glevel exch def } def
-/ns { currentpoint transform % preserve x position!
- glevel {grestore} repeat /glevel 0 def
- itransform pop currentpoint pop sub 0 rmoveto } def
-/ul { showflag 1 eq { gsave
- currentpoint topmat setmatrix 0 0 moveto 2 index stringwidth pop (_)
- false charpath flattenpath pathbbox grestore exch pop 1 index
- sub setlinewidth exch pop currentpoint 3 -1 roll add moveto 0
- rlineto stroke moveto } if } def
-/ol { showflag 1 eq { gsave gsave
- currentpoint topmat setmatrix 2 index stringwidth pop 3 index
- true charpath flattenpath pathbbox grestore exch pop
- exch pop topmat setmatrix (_) true charpath pathbbox grestore
- exch pop 1 index sub setlinewidth exch pop currentpoint
- exch 4 1 roll exch sub add moveto pop 0 rlineto stroke
- moveto } if } def
-/stW { gsave true charpath flattenpath pathbbox pop exch pop sub
- grestore } def
-/bs { stW 0 rmoveto } def
-/pspc 0 def
-/qS { (aa) stW (a a) stW sub 4 div 0 rmoveto } def
-/hS { qS qS } def
-/textx { dup 2 mul 1 add copy 0 exch
- { exch exec exch stringwidth pop add } repeat neg ns } def
-/mty { 0 topmat setmatrix (A) true charpath flattenpath pathbbox exch
- pop exch sub exch pop neg grestore } def
-/texty { gsave 2 copy pop exec mty } def
-/tcenter { textx grestore 0.5 mul 0 rmoveto } def
-/tright { textx grestore fspc sub 0 rmoveto } def
-/tmiddle { texty 0.5 mul rmoveto } def
-/ttop { texty fspc sub rmoveto } def
-/tshow { { exec show } repeat ns } def
-
-/label { gsave translate 0 0 moveto rotate /just exch def just 16 and 0 gt
- {0 1 dtransform gsave pagemat setmatrix idtransform exch grestore
- 1 0 dtransform gsave pagemat setmatrix idtransform exch grestore
- dup 0 eq {pop mul 0 gt} {3 1 roll pop pop 0 lt} ifelse
- {-1 /just just dup 3 and 1 ne {3 xor} if def} {1} ifelse exch 0 lt
- {-1 /just just dup 12 and 4 ne {12 xor} if def} {1} ifelse scale } if
- /glevel 0 def /showflag 0 def /fspc pspc def
- just 1 and 0 gt {gsave just 2 and 0 gt {tright}{tcenter} ifelse}
- {fspc 0 rmoveto} ifelse
- just 4 and 0 gt {just 8 and 0 gt {ttop}{tmiddle} ifelse}
- {0 fspc rmoveto} ifelse
-/showflag 1 def tshow grestore } def
-/pinlabel { /pspc 20 def label /pspc 0 def } def
-/pinglobal { pinlabel } def
-
-/begingate { gsave translate 0 0 moveto dup 0 lt {neg 1 sub -1 1 scale} if
- rotate dup scale /pinlabel { pop pop pop pop 2 mul {pop} repeat}
- def } bind def
-/beginparm { -1 1 {1 add -1 roll def} for begingate } bind def
-/endgate { grestore /pinlabel { /pspc 20 def
- label /pspc 0 def } def } bind def
-
-/tmpa [1 0 0 1 0 0] def
-/gar {8 8 true tmpa {<c0 c0 00 00 0c 0c 00 00>} imagemask} bind
-{8 8 true tmpa {<30 70 60 02 03 07 06 20>} imagemask} bind
-{8 8 true tmpa {<0c 1e 1e 0c c0 e1 e1 c0>} imagemask} bind
-{8 8 true tmpa {<0f 0f 0f 0f f0 f0 f0 f0>} imagemask} bind
-{8 8 true tmpa {<3f f3 e1 e1 f3 3f 1e 1e>} imagemask} bind
-{8 8 true tmpa {<df cf 8f 9f fd fc f8 f9>} imagemask} bind
-{8 8 true tmpa {<ff 3f 3f ff ff f3 f3 ff>} imagemask} bind 7 array astore def
-/ppaint { gsave clip tmpa dup setmatrix pathbbox neg exch neg 4 2 roll
- neg 4 -1 roll 2 copy gt {exch} if 8 div ceiling 8 mul 4 2 roll neg 2 copy
- gt {exch} if 8 div ceiling 8 mul 3 -1 roll -8 5 -1 roll
- { 3 index exch 5 exch put dup -8 3 index { 3 index
- exch 4 exch put 3 index exec } for } for pop pop pop pop grestore } bind def
-/setstyles {
- currentlinewidth mul setlinewidth /style exch def
- style 1 and 0 gt not {closepath} if
- style 2 and 0 gt {currentlinewidth 4 mul dup 2 array astore 0 setdash} if
- style 4 and 0 gt {0.5 currentlinewidth 4 mul 2 array astore 0 setdash} if
- style dup 256 ge exch 480 lt and { gsave 1 setgray eofill grestore } if
- style 16 and 0 gt { gsave style 224 and -5 bitshift dup 7 lt
- {gar exch get ppaint} { pop eofill } ifelse grestore } if
- style 8 and 0 gt { newpath } { stroke } ifelse grestore } def
-/scb { gsave setrgbcolor } bind def /sce { grestore } bind def
-
-/polygon { gsave /num exch def moveto num 1 sub {lineto} repeat setstyles } def
-/xcarc { gsave newpath arc setstyles } def
-/elb { matrix currentmatrix 7 -1 roll 7 -1 roll translate 5 1 roll 4 -1 roll
- 3 index div 1 scale } def
-/ele { 0 4 1 roll 0 4 1 roll } bind def
-/ellipse { gsave elb newpath ele arc setmatrix setstyles } def
-/pellip { elb ele arc setmatrix } def
-/nellip { elb ele arcn setmatrix } def
-/spline { gsave moveto curveto setstyles } def
-/polyc { {lineto} repeat } bind def
-/beginpath { gsave moveto } bind def
-/endpath { setstyles } bind def
-/bop { 1 setlinecap 0 setlinejoin 6 setmiterlimit 0 setgray } def
-/setpagemat {/pagemat matrix currentmatrix def} def
-/inchscale {setpagemat 0.375 mul dup scale} def
-/cmscale {setpagemat 0.35433071 mul dup scale} def
-
-%%EndResource
-%%EndProlog
-
-/Symbol-Oblique /Symbol .167 fontslant
-
-% XCircuit output starts here.
-
-%%Page: 1 1
-%%PageOrientation: Portrait
-/pgsave save def bop
-% 448 96 offsets
-1.0000 inchscale
-2.6000 setlinewidth
-
-(\)) {qS} () {/Times-Roman 1.000 cf} (t) {/Times-Italic 1.000 cf} () {ns} (c)
-{ss} () {/Times-Italic 1.000 cf} (pw) {/Symbol-Oblique 1.000 cf} (\) = sin\(2)
-{/Times-Roman 1.000 cf} (x) {/Times-Italic 1.000 cf} (\()
-{/Times-Roman 1.000 cf} () {qS} (f) {/Times-Italic 1.000 cf}
-12 4 0 224 256 label
-0 1.00 192 192 192 304 560 304 560 192 4 polygon
-pgsave restore showpage
-
-%%Trailer
-XCIRCsave restore
-%%EOF
diff --git a/tutorial/tutorial.html b/tutorial/tutorial.html
deleted file mode 100644
index 421047b..0000000
--- a/tutorial/tutorial.html
+++ /dev/null
@@ -1,803 +0,0 @@
-<HTML>
-<HEAD>
- <STYLE type="text/css">
- H1 {color: maroon}
- H2 {color: #007090}
- H3 {color: #0050b0}
- A.head {color: #0060a0}
- </STYLE>
-</HEAD>
-<TITLE>XCircuit Tutorial Page</TITLE>
-<BODY BACKGROUND=../giffiles/blpaper.gif>
-<CENTER>
-<A HREF=../xctitle.ps><IMG ALIGN=middle SRC=../xctitle.gif
-ALT="The XCircuit Tutorial"></A>
-<H1>The XCircuit Tutorial</H1>
-</CENTER>
-<HR>
-<H2>Table of Contents</H2>
-<UL>
- <LI> <A HREF="#Download">Download</A> Download the tutorial
- <LI> <A HREF="#Start">Getting Started</A> Introduction
- <LI> <A HREF="#Task1">Task 1</A> Running XCircuit
- <LI> <A HREF="#Task2">Task 2</A> Change an option from the menu
- <LI> <A HREF="#Task3">Task 3</A> Draw a line
- <LI> <A HREF="#Task4">Task 4</A> Move an object
- <LI> <A HREF="#Task5">Task 5</A> Change the properties of a polygon
- <LI> <A HREF="#Task6">Task 6</A> Change the page
- <LI> <A HREF="#Task7">Task 7</A> Select an object from the user library
- <LI> <A HREF="#Task8">Task 8</A> Use a keyboard macro to create an arc
- <LI> <A HREF="#Task9">Task 9</A> Zooming and panning
- <LI> <A HREF="#Task10">Task 10</A> Selection of multiple objects
- <LI> <A HREF="#Task11">Task 11</A> Saving a file
- <LI> <A HREF="#Task12">Task 12</A> Loading a file
- <LI> <A HREF="#Task13">Task 13</A> Entering Text
- <LI> <A HREF="#Task14">Task 14</A> Making curves and paths
- <LI> <A HREF="#Task15">Task 15</A> Dealing with over/under arrangement of elements
- <LI> <A HREF="#Task16">Task 16</A> Making user-defined objects
- <LI> <A HREF="#Task17">Task 17</A> Editing objects and elements
- <LI> <A HREF="#Task18">Task 18</A> Generating complex geometric shapes
- <LI> <A HREF="#Task19">Task 19</A> Investigating other <B>xcircuit</B> commands
- <LI> <A HREF=tutorial2.html>Schematic Capture Tutorial</A>
- <LI> <A HREF=../features.html><B>xcircuit</B> list of features</A>
- <LI> <A HREF=../trouble.html>Troubleshooting <B>xcircuit</B></A>
-</UL>
-
-<H2><A NAME="Download">Download</A></H2>
-
-This download is the tar'd image of everything in the tutorial subdirectory,
-including both the standard tutorial and the schematic capture tutorial.
-Note that when untar'd, this will expand into a directory tree with top-level
-directory named "tutorial". <P>
-
-<BLOCKQUOTE>
- <BLOCKQUOTE>
- <TABLE border="1" frame="box" rules="none" width="90%" cellspacing="0"
- cellpadding="5" bgcolor="#ffffcc">
- <TBODY>
- <TR>
- <TD> File </TD> <TD> Revision </TD> <TD> Size </TD> <TD> Date </TD>
- </TR>
- <TR>
- <TD> <A HREF=../tutorial.tar.gz>tutorial.tar.gz</A> </TD>
- <TD> 1 </TD>
- <TD> (432KB) </TD>
- <TD> January 28, 2003 </TD>
- </TR>
- </TBODY>
- </TABLE>
- </BLOCKQUOTE>
-</BLOCKQUOTE>
-
-<H2><A NAME="Start">Getting started</A></H2>
-Welcome to xcircuit, the circuit drawing program by Tim Edwards. In order to
-get the most out of this page, you should have already downloaded, compiled,
-and installed the xcircuit program and its libraries. <P>
-
-<H3><A NAME="Task1">Task 1: Run the program</A></H3>
-First, start xcircuit without any parameters: <TT>xcircuit</TT> <P>
-
-<IMG SRC=giffiles/tut1.gif><P>
-The features of the xcircuit window are as follows:
-<OL>
- <LI> Along the top of the screen are buttons for pull-down menus called "File",
- "Edit", "Text", "Options", and "Window".
- <LI> At the top, beside the menu buttons, is a welcome message in the message
- window telling you the version number of the program (Version 2.0).
- <LI> On the bottom left is a message window telling you that you are currently
- editing "Page 1".
- <LI> On the rest of the bottom is a message window telling you that xcircuit
- has just loaded the library "/usr/local/lib/xcircuit/builtins.lps" (this
- may be in a different directory if xcircuit has not been installed in the
- default directories). This message will disappear after about 10 seconds.
- <LI> At the left and along the bottom are two <B>scrollbars</B> which report the
- position of the drawing relative to the main window, and can be used
- to reposition the drawing by clicking on the bar with any mouse button.
- <I>Note:</I> Due to the length of time necessary to refresh the drawing
- window, the scrollbars cannot be "dragged".
- <LI> In the center is a white <B>drawing area</B> with lightly-colored grid and
- axis lines.
-</OL>
-There are two types of mouse button-pushing used in xcircuit. When a button
-is pushed and released quickly, I will call it <B>"tapping"</B>. When a button
-is pushed and held down, I will call it a <B>"pressing"</B>. Since pressing
-a button is usually performed in order to move objects around on the screen,
-I will sometimes refer to it as <B>"dragging"</B> the object. <P>
-<I>Note:</I> Xcircuit does <B>not</B> use double-clicking.
-
-<H3><A NAME="Task2">Task 2: Change an option from the menu</A></H3>
-Acquaint yourself with the arrangement of menu buttons and pulldown menus.
-<OL>
- <LI> Press the button labeled "Options" with <B>mouse button 1</B> and hold down
- the button while you drag the cursor around with the mouse.
- <LI> Keeping the mouse button pressed down, move down to the "Elements" button.
- Each button will highlight as you pass through it.
- <LI> Put the cursor on top of the arrow icon at the right side of the "Elements"
- button. You should see a secondary menu titled "Elements" pop up. The
- title is the topmost entry of the menu. It has no function and does not
- highlight when the cursor is overtop it.
- <LI> Keep moving down to the "Color" button and again move the cursor over
- the arrow icon. The third and final menu of colors will pop up. Note
- that one item, "Inherit Color" has a check mark on it. The check mark
- denotes that this entry is the <I>current default color</I>.
- <LI> Move down to the purple color button and release the mouse button there.
- The menus will disappear. You have just changed the default drawing
- color to purple.
- <LI> Repeat the procedure up to step 4. When you enter the "color" menu you
- will see that the purple color button is now checked, showing that
- purple is the default drawing color.
-</OL>
-Throughout the tutorial I will refer to the menu items using the pulldown
-hierarchy, with an arrow ("->") wherever you need to go to a submenu. So
-the "Inherit Color" menu item would be referred to as
-"Options->Elements->Color->Inherit Color".
-
-<H3><A NAME="Task3">Task 3: Draw a line</A></H3>
-Now that you understand the function of the menu buttons, it's time to learn
-how to draw something. The simplest and most common thing to draw in xcircuit
-is a polygon.
-<OL>
- <LI> Tap <B>mouse button 1</B> anywhere in the drawing area and release it
- immediately. If you wait too long to release the button, xcircuit will
- interpret it as trying to "grab" an element on the screen, and nothing
- will happen (because there aren't any elements yet to grab).
- <LI> Move the cursor around the screen. A purple line (because you chose
- purple to be the default color in Task 2) will appear between the
- origin point and will track with the cursor.
- <LI> Tap <B>mouse button 1</B> again to finish a line segment. A new line
- will begin at the point the first one left off. Do this several times
- to form a polygon. Finish the polygon by tapping <B>mouse button 2</B>.
- <LI> Repeat steps 1 through 3 but finish by tapping <B>mouse button 3</B>.
- The line you have just created will disappear. You have just
- <B>cancelled</B> the operation.
-</OL>
-
-<IMG SRC=giffiles/poly1.gif ALIGN=CENTER> A purple polygon <P>
-
-For most operations in xcircuit, tapping <B>mouse button 1</B> will begin or
-continue an operation, tapping <B>mouse button 2</B> will finish it, and
-tapping <B>mouse button 3</B> will cancel it. The behavior can be slightly
-different depending on the circumstance, and the behavior for <B>pressing</B>
-buttons 1 and 2 is very different, as demonstrated in Tasks 4 and 5.
-
-<H3><A NAME="Task4">Task 4: Move an object</A></H3>
-<B>mouse button 1</B> does have one very different function than that described
-in the last task. It can be used to "grab" hold of an object for moving.
-<OL>
- <LI> Press <B>mouse button 1</B> close to a line of the polygon you just
- drew. Hold down the button. The line should turn gold colored,
- indicating that it has been "selected". If instead nothing happens,
- then the cursor is too far away from the line. Releasing the button
- releases the object.
- <LI> Try grabbing and releasing the polygon from different distances to get
- a feel for how close you must be to the object in order to grab it.
- <LI> Now grab the polygon, and with the mouse button held down, move the
- cursor across the screen. The polygon will follow the cursor. This
- is how you move an object in xcircuit.
-</OL>
-
-<H3><A NAME="Task5">Task 5: Change the properties of a polygon</A></H3>
-<B>mouse button 2</B> also has a selection funtion; in fact, it has two of
-them. In the normal drawing mode, it can be used to select objects for editing
-or changing properties. In this task you will use <B>mouse button 2</B> to
-select the polygon you just created in order to make it a dashed line.
-<OL>
- <LI> Select the object by tapping <B>mouse button 2</B> with the cursor near
- to the object. The object will turn gold, indicating that it has been
- selected.
- <LI> Tap <B>mouse button 3</B>, and the selection will be canceled.
- <LI> Investigate the other form of selection by pressing <B>mouse button 2</B>
- starting below and to the left of the polygon, and dragging the cursor
- to the top and right of the polygon. A green box will follow the
- movement of the cursor.
- <LI> When the box completely surrounds <I>at least one</I> of the endpoints
- of any line segment of the polygon, release the button. The polygon
- should be selected.
- <LI> Click <B>mouse button 3</B> to deselect the object.
- <LI> Repeat steps 3 through 5, noting that if no endpoint of the polygon
- is contained within the <B>select box</B>, then the polygon will not
- be selected.
- <LI> Select the polygon but do not deselect it.
- <LI> Go to the "Options->Elements->Border" submenu and select option
- "Dashed". When you release the button, the polygon will be drawn
- in dashed lines, and it will no longer be selected.
- <LI> Experiment with the different Colors, Fill-styles, and Border-styles
- available in the menus. Some of the many varieties are shown below.
-</OL>
-
-<IMG SRC=giffiles/poly2.gif ALIGN=TOP> More purple polygons. <BR> Top left: original.
- Top right: dashed. <BR> Center left: closed. Center right: stippled
- (50% stipple). <BR> Bottom left: opaque stippled. Bottom right:
- filled solid. <P>
-
-<H3><A NAME="Task6">Task 6: Change the page</A></H3>
-Xcircuit has multiple pages. There are two ways to change the current
-drawing page, from a keyboard macro convenience function, or from the
-menu.
-<OL>
- <LI> Select the menu item "Window->Goto Page->Page 2". The polygon
- you just drew on Page 1 will disappear, and you will be on a
- clean page, with the bottom left-hand window saying that you
- are editing "Page 2".
- <LI> Go back to Page 1 using the keyboard macro: With the cursor
- in the drawing area, press the "1" key. You will be back on
- page one.
- <LI> Keys "1" through "9" and "0" will get you instantly to pages
- 1 through 10, respectively.
- <LI> End this task on Page 2, which is currently empty.
-</OL>
-
-<H3><A NAME="Task7">Task 7: Select an object from the user library</A></H3>
-Another common task in xcircuit is to grab an object from the object
-library and place it on the drawing.
-<OL>
- <LI> Select the "Window->Show Library" button from the menu, or press the
- "l" (that's "ell" as in "library") key in the drawing window. Note
- that the menu button has
- "(l)" written after "Show Library", indicating that the <B>keyboard
- macro</B> "l" has the same function as the menu button. Generally,
- keyboard macros, once memorized, are more convenient to use than
- their menu button counterparts. Almost always, the letter or symbol
- used for the macro is meaningful and easy to remember (like "a" for
- "arc", "s" for "spline", "p" for "pan", "c" for "copy", etc.).
- <LI> A page will appear, showing a number of circuit objects in the
- built-in object library.
- <LI> Grab one object by moving the cursor over top it and pressing and
- holding <B>mouse button 1</B>. As soon as the button is pressed,
- the object library will disappear, and you will be dragging the
- object around Page 2, from which you called up the library. When
- you release the button, the object will be deselected. Place it
- away from the polygon you drew in the previous tasks.
- <LI> Select the object by tapping on it with <B>mouse button 2</B>.
- Try changing the border style to dashed. You will see that
- nothing happens. This is because object instances from the
- library are <I>made up of</I> basic elements like polygons,
- arcs, and splines, but they are <B>composite</B> objects which
- do not have properties like "Fill-style" and "Border-style".
- However, object instances do have the property of color, and
- also the property "size" which simple elements like the polygon
- do not have.
- <LI> Select the object again (if you have not already done so), and
- then select the menu item "Options->Elements->Object Size".
- <LI> A window will pop up asking you for an object size. Place the
- cursor somewhere inside the popup window and change the default
- size of "1.00" to "1.5".
- <LI> Press the "Okay" button. The popup window will disappear and
- the object will now be 1.5 times its original size (that is
- to say, its length and width will each be 1.5 times their
- previous value).
-</OL>
-
-<CENTER>
-<IMG SRC=giffiles/lib1.gif> <BR>Part of the default circuits built-in library. <P>
-</CENTER>
-
-<H3><A NAME="Task8">Task 8: Use a keyboard macro to create an arc</A></H3>
-As mentioned above, keyboard macros are generally easier to use than
-their menu-button counterparts. You will create an arc in both fashions
-to show the difference.
-<OL>
- <LI> Select the menu item "Edit->Make Arc".
- <LI> The information window at the bottom will say "Click button 1
- and drag to create arc".
- <LI> Place the cursor where you want the arc center to be and press it.
- While holding it down, drag the cursor around the screen. An arc
- will follow the cursor.
- <LI> Release the mouse button. You will now be editing the angle of the
- first endpoint. If you just want a circle, tap <B>mouse button 2</B>
- to end. If you keep pressing <B>mouse button 1</B>, you will be
- able to edit, in turn, all the properties of the arc such as
- endpoint positions and ellipse axis.
- <LI> Now, create an arc by tapping the "a" key while the cursor is in the
- drawing area. The main difference is that <B>mouse button 1</B> is
- not held down while you form the radius of the arc. Otherwise,
- the arc can be edited as before.
-</OL>
-
-<IMG SRC=giffiles/arcs1.gif ALIGN=TOP> Some differenct arcs.
- <BR> Top left: linewidth of 1.5, first endpoint at 90 degrees.
- Top right: closed arc.
- <BR> Bottom left: red circle.
- Bottom right: blue ellipse. <P>
-
-<H3><A NAME="Task9">Task 9: Zooming and panning</A></H3>
-<OL>
- <LI> Pan the screen to be centered on the arc by placing the cursor close to
- the center of the arc and tapping the "p" key.
- <LI> Pan the screen by selecting menu item "Window->Center Pan" and then
- tapping <B>mouse button 1</B> on the point of the drawing area that
- you want to be the new center of the screen.
- <LI> Tap the "Z" and "z" keys to zoom in and out, or select the menu items
- "Window->Zoom In" and "Window->Zoom Out". Note how the scrollbars
- on the side and bottom of the screen change with the scale of the
- drawing.
- <LI> Pan the screen by tapping any mouse button on either of the scrollbars.
- Note how this function is similar to the "Pan" function.
- <LI> Zoom to a selected area of the screen by making a green selection box
- like you did in Task 5, step 3. However, instead of releasing the
- button in order to make the selection, type the "Z" key while the
- mouse button is still pressed down. The screen area will zoom to
- the area of the green box.
- <LI> Alternately, choose "Window->Zoom Box" from the menu. Then press
- any mouse button and drag to generate the green selection box. When
- the button is released, the screen area will zoom to the area of the
- green box.
-</OL>
-
-<H3><A NAME="Task10">Task 10: Selection of multiple objects</A></H3>
-<OL>
- <LI> Clear the current page by choosing the menu item "File->Clear Page".
- There is no keyboard macro for this command, to prevent accidental
- erasure of the screen (which cannot be undeleted).
- <LI> Grab several objects from the library (see Task 7) and place them
- on top of each other in the middle of the page.
- <LI> Decide on one object which you will move, leaving the others where
- they are.
- <LI> Now press <B>mouse button 1</B> as if you were going to select the
- object you want to move. Because the command is ambiguous---the
- program doesn't know which one or ones of the objects you really
- want to select---the program will query you one by one for which
- objects you want to select.
- <LI> One object will turn blue, the cursor will become a question mark,
- and the information bar at the bottom will read, for example,
- "Click to accetp/reject: 1 of 3" if the program found three
- objects under the cursor. Release the mouse button at this
- point.
- <LI> If the object that you want to select and move is colored blue,
- click <B>mouse button 2</B>. If an object that you <I>don't</I>
- want to select and move is colored blue, click <B>mouse button
- 3</B>.
- <LI> When you have chosen or rejected each of the objects, the cursor
- will become a circle. You may now press and hold <B>mouse button
- 1</B> and continue with the intended move.
- <LI> Try this several times to get used to it.
-</OL>
-
-<CENTER>
-<IMG SRC=giffiles/select1.gif> <BR> Three objects simultaneously selected. <BR> </CENTER>
- The gold-colored gate has already been selected; the program is now prompting
- the user for confirmation to add the blue-colored object to the selection. <P>
-<CENTER>
-<IMG SRC=giffiles/select2.gif> <BR> Message window when selecting multiple objects.
-</CENTER><P>
-
-<H3><A NAME="Task11">Task 11: Saving a file</A></H3>
-Since the main purpose of xcircuit is to create publishable-quality picutures,
-it is necessary to understand a little bit about the PostScript output which
-it writes. First I will show you how to save and load a file.
-
-<OL>
- <LI> Choose a page which you have been drawing on, or create a drawing to
- save.
- <LI> Select the menu item "File->Write Xcircuit PS". You will get a popup
- window that looks like the figure below. <BR>
- <IMG SRC=giffiles/save1.gif ALIGN=CENTER><BR>The file properties popup window.
- <LI> If you tap the button labeled "Write". You will get a message in the
- bottom message window saying "Warning: Enter a new name". Nothing
- has been written at this point.
- <LI> Change the filename. Move the cursor over the window containing the
- filename. Delete the current file name and type in a new one.
- When you are done, either hit the <TT>RETURN</TT> key or tap the
- button labeled "Okay" (both actions have the same effect).
- <LI> <I>Important note:</I> If the name has <B>no</B> extension, an
- extension "<TT>.ps</TT>" will automatically be added when the file
- is written. If an extension, for instance "<TT>.eps</TT>", is written
- in the filename, then it will be used.
- <LI> When you change the filename, the page label will be changed to
- match the filename, and the bottom left-hand message window will
- now say "Editing: " followed by the page label name, followed by
- the page number in parentheses. <BR>
- <IMG SRC=giffiles/save2.gif ALIGN=CENTER><BR>Changes to scale and filename.
- <LI> If the filename you chose already exists on the disk, the button
- which previously was labeled "Write File" will now say "Overwrite
- File", the computer will beep, and the bottom message window will
- say "Warning: File exists".
- <LI> Tap the button labeled "Close". The window disappears; because
- you did not tap the "Write File" button, nothing was written,
- although the filename change has been registered.
- <LI> Select "File->Write Xcircuit PS" again to bring the window back.
- This time, tap the "Write File" button. The file will be written
- to the disk current directory, and the button which previously
- said "Close" will now say "Done".
- <LI> The file which has just been saved is already in a PostScript format.
- You may view it with any PostScript previewer (ghostview is recommended).
-</OL>
-
-<H3><A NAME="Task12">Task 12: Loading a file</A></H3>
-
-<OL>
- <LI> Go to a new, unused page.
- <LI> Select menu item "File->Read Xcircuit PS". You will get a screen that
- looks something like the following: <BR>
- <IMG SRC=giffiles/load1.gif ALIGN=CENTER> The load-file popup window.
- <LI> If the file list is larger than the window, you may scroll up and down
- the list by clicking <B>mouse button 1</B> or <B>2</B> on the
- <B>scrollbar</B> at the right side of the window and dragging it up
- and down.
- <LI> A green box will be drawn around each filename as your cursor passes
- over it.
- <LI> Find the file that you just saved in the last task. When the green
- box is over this filename, tap <B>mouse button 1</B>. The filename
- will turn green, and at the same time will be copied into the
- text edit box.
- <LI> Tap the "Okay" button to load the file.
- <LI> If you do not wish to use the scrolling menu, you may type the filename,
- with or without the "<TT>.ps</TT>" extension, in the text edit box,
- followed by the <TT>RETURN</TT> key or tapping the "Okay" button.
- <LI> Selecting a directory name in the file list box, including "../" for
- the directory one level up, will go to that directory. Entering a
- directory name in the text edit box followed by the <TT>RETURN</TT>
- key will also go to that directory.
- <LI> If you know where the <B>xcircuit</B> source is kept, then select the
- "File->Read Xcircuit PS", go to the source directory, go to the
- "examples" directory, and load one of the example files, such as
- "<TT>vcoblock.ps</TT>".
-</OL>
-
-<H3><A NAME="Task13">Task 13: Entering Text</A></H3>
-Xcircuit has a very complicated interface for entering text, which allows
-you to change fonts and font styles within a string, make overlines and
-underlines, and subscripts and superscripts. <P>
-
-<OL>
- <LI> Go to a new, unused page.
- <LI> Let's say you want to type in a fairly complicated expression, like <BR>
- "f(x) = sin(2*pi*omega_c*t)" (except with Greek letters, of course).
- <LI> If you've read your TeX manual thoroughly, and understand all the finer
- points of mathematical equation typesetting (if you haven't, you should),
- then you know that all the variables should be in italic type.
- <LI> Select menu item "Text->Style->Italic". The default text font is now
- italic style.
- <LI> Select menu item "Text->Font->Times Roman" if it is not checked already.
- The default text font is now Times Italic (Times font + Italic style).
- <LI> Select menu item "Text->Make Label" and click on <B>mouse button 1</B>
- anywhere in the drawing area.
- <LI> Alternately, you can just tap the "<TT>t</TT>" key in the drawing area.
- <LI> The green line marks the pointer position, and the "x" marks the
- origin (justification) of the text.
- <LI> Select menu item "Text->Justification->Middle Justified". You will
- see the green "x" move to the center of the line, showing that the
- text is vertically centered on its point of origin.
- <LI> Alternately, you could type keypad key "6" (on some systems,
- Shift-keypad 6) to get center-left justified text.
- <LI> Type "<TT>f</TT>". In the bottom message window, the letter "f" and a vertical
- bar "|" appear, showing what's in the string relative to the text
- cursor.
- <LI> Select menu item "Text->Insert->1/4 Space". This is the proper thing to
- do for "italic correction", an extra bit of space necessary after an
- italic character followed by an upright character, particularly tall
- ones such as "f" and "t" which lean leans rather far to the right of
- their character bounding boxes.
- <LI> Select menu item "Text->Style->Normal".
- <LI> Type "<TT>(</TT>"
- <LI> Select menu item "Text->Style->Italic".
- <LI> Type "<TT>x</TT>"
- <LI> Select menu item "Text->Style->Normal".
- <LI> Type "<TT>) = sin(2</TT>"
- <LI> Select menu item "Text->Style->Italic".
- <LI> Select menu item "Text->Font->Symbol".
- <LI> Type "\". A page with the 256 character encodings for the
- Symbol font will appear, replacing the current page, as
- shown in the figure below.<BR>
- <CENTER><IMG SRC=giffiles/symbol_enc.gif></CENTER>
- <LI> Click on the "pi" symbol. The screen will immediately
- return to the original page, with the "pi" added to the
- text line.
- <LI> Type "\", then click on the "omega" symbol in the encoding
- vector.
- <LI> Select menu item "Text->Font->Times-Roman"
- <LI> Select menu item "Text->Style->Subscript" (or keypad-minus)
- <LI> Type "<TT>c</TT>"
- <LI> Select menu item "Text->Style->Normalscript" (or keypad-enter)
- <LI> Type "<TT>t</TT>"
- <LI> Select menu item "Text->Insert->1/4 Space" for another italic
- correction.
- <LI> Select menu item "Text->Style->Normal".
- <LI> Type "<TT>)</TT>"
- <LI> Before typing <TT>&lt;RETURN&gt;</TT> to complete the text, use
- the left- and right-arrow keys to move the cursor around inside
- the text string. Note how font- and style- changing commands
- embedded in the text string can be seen in the message window.
- Their position relative to the text cursor is important when
- anticipating the effect of deleting (<TT>&lt;DELETE&gt;</TT> key)
- a text command.
- <LI> Yes, this is very complicated, but it is also very powerful.
-</OL>
-
-<CENTER><IMG SRC=giffiles/text.gif></CENTER><BR>
-Above: The text figure created in the task.<BR>
-Below: The <A HREF=psfiles/test1.ps>PostScript output</A> of the same text from xcircuit.
-<CENTER><IMG SRC=giffiles/text2.gif></CENTER><BR><BR>
-
-<I>Typographical Note:</I> ISO-Latin1 encodings define the Greek character "mu"
-(µ) to be used for the symbol "micro", which naturally is used often in
-circuit schematics. This differs from the Symbol font "mu" in that it matches
-the style and properties of the font in which it is defined. Thus, it is
-possible to get a Helvetica "mu", a Times-BoldItalic "mu", etc., something
-which is virtually impossible to do even in LaTeX<A HREF=footnote.html>(*)</A>.
-Due to the font size and style matching, this is always preferable to the
-Symbol font "mu". To get the ISO-Latin1 "mu" character, (while entering or
-editing text) choose <I>Text->Encoding->ISO-Latin1</I> from the menu, then
-either choose <I>Text->Insert->Character</I> or type "\" at the text cursor,
-then select the "mu" character from the character array.
-
-<H3><A NAME="Task14">Task 14: Making curves and paths</A></H3>
-Curve drawing is a useful feature of most capable drawing programs. The
-concept of <I>paths</I> is a powerful aspect of PostScript which is not
-usually found elsewhere. Path definitions are used to create a single
-entity out of a string of curves, arc segments, and lines. The resulting
-entity has its own color, fill styles, and border styles.
-
-<OL>
- <LI> Go to a new, unused page.
- <LI> Type "s" to start a curve (you can think of "s" as standing for
- "spline", although these are Bezier curves, not splines, or you
- can just think of the curvy "s" shape. The key "c" is reserved
- for copying). The first thing you will see is two dotted lines
- ending in little "x" marks. These are the curve control points.
- <LI> Move the cursor around. Right now you are positioning the
- end of the curve but have no control over the control points.<BR>
- <IMG SRC=giffiles/spline1.gif>
- <LI> Place the curve endpoint. If you are satisfied with the shape
- of this curve, you can tap <B>mouse button 2</B> to finish
- the curve and quit. However, we'll say that you have more to
- do to this curve, so tap <B>mouse button 1</B> instead.
- <LI> You get a message saying "Adjust control point", and the cursor
- moves overtop the nearest "x" mark. Now when you move the
- cursor, you change the shape of the curve.
- <LI> Move the control point two grid blocks to the left of where it
- started (make the control line horizontal with a length of
- 4 grid blocks). <BR>
- <IMG SRC=giffiles/spline2.gif>
- <LI> Click <B>mouse button 2</B> to finish the curve.
- <LI> Now we will make a simple path. But it takes more than one element
- to form a path. Put the cursor over the curve and tap the "c"
- key.
- <LI> When you move the cursor, a copy of the curve will follow you.
- <LI> While you are dragging the curve copy, flip it by tapping the
- "f" key and then the "F" key (one horizontal plus one vertical
- flip).
- <LI> Place the curve with its endpoints overtop the original curve.
- The result should look like the figure below.
- <LI> Select both curves by tapping <B>mouse button 2</B> on top of
- each one, or by forming a selection box (see Task 5).
- <LI> Tap the "j" key in order to "join" the two curves into a single
- path.
- <LI> If you now move or select the path, you will find that both
- curves act as a single entity.
- <LI> Select the path and then select menu item
- "Options->Elements->Fill->(black box)". The path will then
- become solid black. If you color it blue, it will look something
- like the right side of the figure below.
-</OL>
-
-<CENTER><IMG SRC=giffiles/spline3.gif></CENTER><BR>
-Curves and paths. Left: The curve has been copied and flipped.
-Center: The two curves are placed together and joined into a path.
-Right: The path is filled and colored as a single entity.
-
-<H3><A NAME="Task15">Task 15: Dealing with over/under arrangement of elements</A></H3>
-
-<OL>
- <LI> Clear the current page (menu option "File->Clear Page") or go
- to a new, unused page.
- <LI> Start a <B>box</B> with the "b" key (this is a convenience for
- drawing rectangles and squares).
- <LI> Click <B>mouse button 2</B> to finish the box.
- <LI> Select the box and choose menu item
- "Options->Elements->Fill->(black box)", where the "black box"
- is the first menu item in the list. You will now have a black
- box. (note that to select the box, the cursor must be near the
- <B>edge</B> of the box, not in the middle).
- <LI> Select the box again and choose menu item
- "Options->Elements->Color->(orange box)". You will now have
- a solid, orange box.
- <LI> Go to the built-in library ("l" key) and bring back a circuit
- object (say, a "nand" gate).
- <LI> Place the gate on top of the orange box.
- <LI> Make a copy the box ("c" key) and place it beside the first.
- <B>mouse button 2</B> ends the copy command.
- <LI> You will notice that the library object suddenly disappeared.
- This is because the "copy" command moved the orange box
- to the end of the drawing list. Because it is drawn <B>after</B>
- the library object, the library object is hidden underneath.
- <LI> To get the library object on top again, select everything in the
- area of the orange box by forming a selection box around the
- orange box (<B>mouse button 2</B>). Tap the "X" key (Shift-X)
- to <B>exchange</B> the drawing order of the two elements. The
- library object will now be visible on top of the orange box.
-</OL>
-
-<CENTER><IMG SRC=giffiles/overunder.gif><BR>
-Over- and Under- arrangements of elements. </CENTER>
-
-<H3><A NAME="Task16">Task 16: Making user-defined objects</A></H3>
-One of the most powerful aspects of xcircuit is its ability to deal with
-objects on a hierarchical level. Circuits in particular are highly
-structured. Often it is desirable to draw a subcircuit and use it
-several times. It is much more efficient to draw the subcircuit and
-create a <B>user object</B> from it rather than to copy all the
-separate elements of the subcircuit every time you want a copy.
-This is also true of new circuit components. <P>
-
-Say we wish to create a new circuit component, a <B>dependent current
-source</B>.
-
-<OL>
- <LI> Clear the current page or go to a new page.
- <LI> We want the dependent current source to look something like the
- independent current source (isource) in the builtin library file.
- Go to the library and bring back an "isource" object for reference.
- <LI> Draw a polygon, as in Task 3. Make it diamond-shaped and three
- grid spaces high, two wide (see the figure below).
- <LI> Add a line of height one-half-grid space on the top and bottom
- of the diamond.
- <LI> Now we will do something unusual. We will grab the arrow from
- inside the isource object. Edit the original "isource" object
- by placing the cursor over it and typing the "&gt;" key (push
- object). The page you were on will disappear, and you will
- see only the object "isource".
- <LI> Using the multiple-selection mechanism described in Task 10,
- select the arrowhead and line in the middle of "isource", but
- not the surrounding object.
- <LI> Make a copy of these two elements with the "c" key.
- <LI> While still dragging around the copy of the arrow, return to
- the main page by typing the "&lt;" key (pop object). You will
- be returned to the original drawing, still dragging the arrow
- with you.
- <LI> Place the arrow inside the diamond.
- <LI> Using a selection box, select all of the components of the
- "dependent current source" object you have just constructed.
- <LI> Type the "m" key to make the object out of the selected
- components.
- <LI> You will get a popup box asking for a name for the object.
- Type something obvious like "depsource" or "disource".
- Spaces are not allowed (if you use them, they will be
- converted to underscores).
- <LI> Tap the "Okay" button. Now, if you click on the dependent
- source, it will be treated just like one of the builtin
- objects.
- <LI> Type the "L" key to go to the <B>User Library</B>. You
- will see that the new object you created is now located
- there. You can click on it to bring back another copy,
- just like the builtin objects.
-</OL>
-
-<CENTER><IMG SRC=giffiles/object.gif><BR>
-Steps in creating a new user-defined object. </CENTER>
-
-<H3><A NAME="Task17">Task 17: Editing objects and elements </A></H3>
-You briefly edited the built-in "isource" object in the last task,
-but did not change anything. In this task, suppose we want to change
-the appearance of the "dependent current source" object we made in
-the previous task.
-
-<OL>
- <LI> To edit the object, "push" into it using the "&gt;" key,
- as you did for the "isource" in the last task.
- <LI> Make the polygon shorter. Put the cursor close to the
- top of the diamond and type "e" for "edit".
- <LI> Use the multiple-selection mechanism to select only the
- diamond.
- <LI> Now you will be editing the point position. Move the
- point down one-half grid space, and tap <B>mouse
- button 2</B> to complete the edit.
- <LI> Do the same for the bottom point. Where the two ends of
- the polygon meet, you will need to adjust both of the
- points.
- <LI> Extend the lines on the top and bottom to meet the
- diamond by editing the endpoints just like you did for
- the diamond.
- <LI> When you are done, return to the main page by "popping"
- out of the object page, using the "&lt;" key.
-</OL>
-
-<CENTER><IMG SRC=giffiles/objedit.gif><BR>
-Steps in editing the user-defined object. </CENTER>
-
-<H3><A NAME="Task18">Task 18: Generating complex geometric shapes</A></H3>
-This can be an incredibly useful feature for general drawing. A
-wholesale use of it is necessary to create such extravaganzas as
-this rendition of the
-<A HREF=http://bach.ece.jhu.edu/~tim/pictures/apl_logo3.ps>JHU Applied
-Physics Lab's logo</A>. I have made use of something in PostScript
-known as a ``path,'' that is, a linked set of lines, arcs, and splines
-which together form the boundary of a single object which can be
-bordered, filled, colored, etc. In this task, I will show you how
-to generate a picture of a solid cylinder, by making a path consisting
-of both ellipses and lines.
-
-<OL>
- <LI> Start with a clean page.
- <LI> Create an ellipse as follows:
- <OL>
- <LI> Type macro <B>a</B> to start an arc.
- <LI> Drag the arc out to some desired size.
- <LI> Click the first mouse button three times (to bypass endpoint
- editing and go to ellipse axis editing). The position of
- the cursor will move from the side of the circle to the top.
- <LI> Drag the ellipse minor axis to the desired size and click
- the second mouse button to end.
- </OL> </LI>
-
- <CENTER><IMG SRC=giffiles/path1.gif><BR>
- Creating a path object (solid cylinder): top ellipse. </CENTER>
-
- <LI> The whole ellipse becomes the top of the "cylinder". To make the
- bottom of the cylinder:
- <OL>
- <LI> Copy the first arc and place it well below the first.
- <LI> Type macro <B>e</B> to edit (or select edit from the menu
- and click on the lower ellipse).
- <LI> Immediately type <B>e</B> again or click on the first mouse
- button to go to endpoint editing mode.
- <LI> Drag the endpoint around to the other side until the
- result is the bottom half of an ellipse. Click the
- second mouse button to finish.
- </OL> </LI>
-
- <CENTER><IMG SRC=giffiles/path2.gif><BR>
- Creating a path object (solid cylinder): bottom (half) ellipse. </CENTER>
-
- <LI> Draw two lines to create the sides of the cylinder.
- <LI> Select the bottom and sides of the cylinder, and type the <B>j</B> key
- to "join" these segments into a single "path".
- <LI> Select everything. If you (individually) select any component of the
- path (either the side lines or the bottom ellipse), the whole path
- will be highlighted.
-
- <LI> Copy (with the <B>c</B> macro) and place the copy to the side. </LI>
-
- <CENTER><IMG SRC=giffiles/path3.gif><BR>
- Creating a path object (solid cylinder): Two cylinder frames. </CENTER>
-
- <LI> Select the path (lower part) of the rightmost cylinder.
- <LI> Choose menu item "Options->Elements->Fill->(black box)". Now
- you can see how to create arbitrary filled shapes. </LI>
-
- <CENTER><IMG SRC=giffiles/path4.gif><BR>
- Creating a path object (solid cylinder): Two cylinders, the right one
- consisting of a filled path. </CENTER>
-
- <LI> Finish the cylinder in the following manner:
- <OL>
- <LI> Color the path shape dark gray.
- <LI> Select the ellipse located above the colored cylinder and
- perform the same steps to make it filled solid and colored
- light gray.
- <LI> Use the <B>X</B> keyboard macro to correctly arrange the
- elements, with the light gray ellipse on top of the dark
- gray path object.
- <LI> Place the black wire frame cylinder on the left on top of
- the solid cylinder on the right. <I>Hint:</I> Move the
- wire frame halfway on top of the solid cylinder, then
- arrange the top-to-bottom order of the elements so
- that the wire frame ends up on top, then move the
- wire frame the rest of the way.
- </OL>
-</OL>
-
-<CENTER><IMG SRC=giffiles/path5.gif><BR>
-Creating a path object (solid cylinder): Finished cylinder. </CENTER>
-
-
-<H3><A NAME="Task19">Task 19: Investigating other <B>xcircuit</B> commands</A></H3>
-By now you should understand the basic user interface of xcircuit and be able
-to get around the menus, the drawing area, be able to handle the popup
-prompting windows, load and save files, write text, and create polygons,
-arcs, curves, paths, and user objects. Of course, we have just touched
-the surface of <B>xcircuit</B> capabilities. The list of features below
-will help you find out all the things that can be done with the program. <P>
-
-For help with remembering keyboard macros and their functions, select the
-menu item "Options->Help!". You will get a popup window to the right of
-the screen which lists all of the available keyboard functions. Tap the
-"Done" bottom at the bottom when you no longer need the help menu. <P>
-
-<HR>
-<P><A HREF=../welcome.html><IMG ALIGN=middle SRC=../giffiles/bluebutton.gif
- BORDER=0></A> Back to the xcircuit home page. . .
-<P><IMG SRC=../giffiles/line1.gif><P>
-email: <I>tim@bach.ece.jhu.edu</I>
-</BODY>
-</HTML>
diff --git a/tutorial/tutorial2.html b/tutorial/tutorial2.html
deleted file mode 100644
index b2322d7..0000000
--- a/tutorial/tutorial2.html
+++ /dev/null
@@ -1,1455 +0,0 @@
-<HTML>
-<HEAD>
- <STYLE type="text/css">
- H1 {color: maroon}
- H2 {color: #007090}
- H3 {color: #0050b0}
- A.head {color: #0060a0}
- </STYLE>
-</HEAD>
-<TITLE>XCircuit Schematic Capture Tutorial Page</TITLE>
-<BODY BACKGROUND=../giffiles/blpaper.gif>
-<H1><IMG ALIGN=top SRC=../xcicon.gif> The XCircuit Schematic Capture Tutorial</H1>
-
-<!--
-<HR>
-<font color=red>
-<IMG SRC=../giffiles/constr.gif ALIGN=middle>
-NOTICE: Page still under construction (but almost finished)!
-</font>
--->
-
-<HR>
-
-<H2>Table of Contents</H2>
-<UL>
- <LI> <A HREF="#Start">Getting Started</A>
- <LI> <A HREF="#Task1">Task1</A> Acquaint yourself with XCircuit
- <LI> <A HREF="#Task2">Task2</A> Run the program
- <LI> <A HREF="#Task3">Task3</A> Drawing a circuit for SPICE simulation
- <LI> <A HREF="#Task4">Task4</A> Introduction to parameters
- <LI> <A HREF="#Task5">Task5</A> Drawing a circuit with parameters
- <LI> <A HREF="#Task6">Task6</A> Making a new "fundamental" object
- <LI> <A HREF="#Task7">Task7</A> A schematic with symbol-less schematics
- in the hierarchy
- <LI> <A HREF="#Task8">Task8</A> Identifying electrical connections
- <LI> <A HREF="#Task9">Task9</A> A symbol on its own schematic
- <LI> <A HREF="#Task10">Task10</A> "sim" format and flattened
- <LI> <A HREF="#Task11">Task11</A> "pcb" type netlists
- <LI> <A HREF="#Task12">Task12</A> Multiple-gate chips in PCB netlists
- <LI> <A HREF="#Task13">Task13</A> Modifying netlist formats
- <LI> <A HREF="#Task14">Task14</A> Example: A bridge rectifier for a PCB
-</UL>
-
-
-<H2><A NAME="Start">Getting started</A></H2>
-This tutorial is provided to help users get up and running with the
-schematic capture capabilities of xcircuit.
-In order to get the most out of this page, you should have already
-downloaded, compiled, and installed the xcircuit program and its libraries,
-and xcircuit should be compiled with schematic capture capability (on by
-default; see the Imakefile for details). <P>
-
-<BLOCKQUOTE>
-<font color=red> IMPORTANT NOTICE: </font>
-<font color=green>
-It is necessary for you to have the new (version 2.3.3) distribution of xcircuit
-compiled <I>and installed</I> to get the correct behavior in the tutorial.
-In particular, the PostScript prolog has changed and if the old one is
-prepended to the new xcircuit files, the files will not be printable or
-viewable from a PostScript previewer. <P>
-
-There are additional differences between versions 2.1(beta) to version 2.3.3,
-mainly in the way symbols and schematics are associated with each other.
-The new methods are incorporated into this tutorial. Version 2.3.3 also
-corrects some errors in netlist generation, and is generally more stable.
-Versions before 2.3.3 will <I>not</I> produce <B>pcb</B>-style netlists
-as featured in this tutorial.<P>
-</font>
-</BLOCKQUOTE>
-
-<H2><A NAME="Task1">Task 1: Acquaint yourself with XCircuit</A></H2>
-If you are not yet familiar with the basic features of xcircuit, I recommend
-you to peruse the basic <A HREF=tutorial.html>XCircuit tutorial</A> for
-essential features of the program which will not be reiterated here.
-
-<H2><A NAME="Task2">Task 2: Run the program</A></H2>
-XCircuit now starts in schematic capture mode unless explicitly compiled
-without the feature. So just start xcircuit as you normally would:
-<BLOCKQUOTE>
- <B>xcircuit</B>
-</BLOCKQUOTE>
-
-Xcircuit in schematic capture mode will start with a window which
-has a menu button for ``Netlist'' and two
-buttons at the bottom left-hand corner, one of which is blank and the other
-which is colored red and labeled ``Schematic.''
-The bottom buttons can be interpreted to mean that the current page is a
-schematic drawing, and this schematic has no corresponding symbol (more
-about this later). <P>
-
-There is a menu button, "Options->Disable (Enable) XSchema", which toggles
-the visibility of the ``Netlist'' menu button and the two status buttons at the
-bottom. In case you're working on a drawing which has nothing to do with
-schematic capture, you might prefer to have the option disabled. This
-does not affect the program in any way other than to make the buttons
-disappear so that xcircuit looks like the original version without the
-schematic capture features. <P>
-
-<H2><A NAME="Task3">Task 3: Drawing a circuit for SPICE simulation</A></H2>
-This task outlines some of the features of xcircuit used to make a simple
-circuit. In this and the following tasks, you will create an analog
-circuit, an operational amplifier, and make it into a symbol to be used
-as a subcircuit of a more general circuit (an integrator). First you will
-draw a circuit using simple (default) devices, and later I will show how to
-pass parameters to devices, such as width and length of individual MOSFETs.
-
-<OL>
- <LI> Drag the elements which you need from the built-in library to
- (a clean) Page 1. Namely, the nMOS, pMOS, Vdd, and GND symbols. <P>
- <LI> Duplicate elements (copy (<B>c</B>), flip (<B>f</B>)) as necessary
- and connect with lines to produce the following transconductance
- amplifier schematic: <BR><BR>
-
- <CENTER><IMG SRC=giffiles/amp1.gif><BR>
- A transconductance amplifier, schematic drawing. </CENTER> <BR>
-
- <LI> Either drag the "dot" object from the library page or use the
- period key ("<B>.</B>") to place connections between the wires
- at junctions. This is not strictly necessary, as xcircuit will
- deduce connectivity from the T-connections of wires, not from
- the "dot" symbols; it is merely a matter of preference depending
- on the style with which you like to draw circuits. In the case
- of wires crossing at a junction, the dot <I>is</I> necessary
- since crossing wires generally do not indicate a connection in
- schematic diagrams. You may also use a "jumper" object to
- indicate that two crossing wires do not connect although this,
- like the use of dots at T-junctions, is a matter of style and
- personal preference. <P>
-
- <LI> Add "circle" connections at the inputs and outputs. Once again,
- this is a matter of style; the actual inputs and outputs from
- the netlist's point of view will be indicated by pin labels
- (see next step). The resulting diagram looks like the following:
- <BR><BR>
-
- <CENTER><IMG SRC=giffiles/amp2.gif><BR>
- Same transconductance amplifier, a little fancier style. </CENTER> <BR>
-
- <LI> Because the amplifier will be a SPICE subcircuit, it is necessary
- to tell the netlist generator where the input and output ports
- are. For this, you need <I>pin labels</I>. Pin labels differ
- from ordinary labels in several ways: By default, they are
- colored red (though this can be changed), and are placed with a
- slight offset from their marked positions, so the position
- marker can be used as a tag to indicate what wire the label is
- attached to. Additionally, the marked position is visible on
- the drawing, since its exact location with respect to wires is
- critical to the resultant netlist. Finally, pin labels only
- appear on the top level of the hierarchy. <P>
-
- To generate the pin label, type key macro (capital) <B>T</B>, or
- choose menu item "Netlist->Make Pin". Set justification as
- desired and place the "x" marking the pin position over the
- "o" of the circle objects, or on top of a wire. The pins in
- this amplifier will be labeled "in.m", "in.p", "out", and "bias".
- <BR><BR>
-
-
- <CENTER><IMG SRC=giffiles/amp3.gif><BR>
- Transconductance amplifier with I/O pins marked. </CENTER> <BR>
-
- <LI> Now it's time to turn this schematic into a symbol, that is,
- to make a symbol which will be used on the top-level drawing
- to designate the transconductance amplifier. What we really
- want to do is to use the symbol "wramp" (stands for "wide
- range (transconductance) amplifier", which is what this is),
- from library "avlsi.lps" (part of the distribution), as the
- symbol for the schematic you just drew. Go to the built-in
- library, then edit the "wramp" symbol from there by placing
- the cursor over the "wramp" symbol and typing key macro
- "<B>&gt;</B>". The result looks like this: <BR><BR>
-
- <CENTER><IMG SRC=giffiles/wramp1.gif><BR>
- Transconductance amplifier symbol from the "avlsi.lps" library.
- </CENTER><BR>
-
- Note that in this picture, the bottom left-hand corner of
- the screen says "Symbol" in the button that was, on Page 1, blank,
- and the button that used to say "Schematic" is now blank. This
- means that this object is a symbol, not a schematic, and it currently
- does not have a schematic attached to it. <P>
-
- Also note that the pin labels marking input/output positions for
- <font color=red>in.m</font>,
- <font color=red>in.p</font>,
- <font color=red>out</font>, and
- <font color=red>bias</font>
- are invisible on the library page, but become visible when
- editing the object, that is, when the library object has been placed
- on the top-level page. When the library object is used in a circuit,
- the pin labels are again invisible. This way, the drawing doesn't
- get cluttered up with nested labels. <P>
-
- <LI> The procedure to attach the schematic to this symbol is quite
- simple. Choose menu item <I>Netlist->Associate With Schematic</I>.
- Immediately, you will be taken to the page directory, with the
- message "Click on schematic page to associate." With the first
- mouse button, click on Page 1 (assuming that's the amplifier
- schematic). Instead of the usual behavior on the page directory
- (go immediately to the page under the cursor), you will be
- returned back to the amplifier symbol edit page.
-
- Now both buttons appear at the same time, one named "Symbol" and
- one named "Schematic". The one named "Schematic" is colored white,
- indicated that the current page is the symbol, and that a
- schematic exists which is the circuit represented by this symbol.
- Press either button, and you will go to the schematic drawing
- (back to Page 1). Press either button again, and you will return
- to the symbol. The library object "wramp" is now a symbol for
- the schematic of Page 1. <P>
-
- A symbol can be <I>disassociated</I> from its schematic, and
- vice versa, by choosing menu item
- <I>"Netlist->Disassociate Symbol"</I> or
- <I>"Netlist->Disassociate Schematic"</I>.
- This menu option will appear only for the appropriate case.
- Choose this action from the menu now. Note that the white button
- in the lower left-hand corner goes back to being blank. The
- library object "wramp" is no longer a symbol for the schematic
- of Page 1. <P>
-
- Association can be initiated both ways. The alternate method is
- as follows: Go back to Page 1 (the amplifier schematic).
- Choose menu item <I>"Netlist->Associate with Symbol"</I> (note
- that this is the same button that used to be "Disassociate").
- You are transported to the library directory, with the instructions
- in the message window to "click on the library page, then the
- object to associate". <P>
-
- Click on the first library page (the one containing the wide-range
- amplifier symbol "wramp"). Now click on the symbol "wramp".
- Now, you will be returned to the original schematic page, and
- once again, the buttons in the window's lower-left-hand corner
- are red and white, indicating that you are on the schematic page
- (red) but can move to the symbol page (white). Alternately to
- clicking buttons to move between pages, you can choose menu
- item <I>"Netlist->Go To Symbol"</I> (or "Go To Schematic",
- as appropriate), or use the "<TT>/</TT>" key macro. Note that
- the key macro only works if an association exists (i.e., it will
- never create a new schematic or symbol, as described in the next
- paragraph, although this was formerly the behavior in xcircuit
- version 2.1(beta)). <P>
-
- The schematic and symbol both do not need to exist before association.
- You can associate an existing schematic to a non-existing symbol
- or associate an existing symbol to a non-existing schematic by using
- the <I>"Netlist->Make Matching Symbol"</I> or
- <I>"Netlist->Make Matching Schematic"</I> selection, respectively.
- If you are editing a symbol, then you will be transported to the first
- blank top-level page. If you are editing a schematic (top-level
- page), a new User Library symbol will be generated and you will
- be transported there. In either case, the new object will take
- the name of its associated object, and all pin labels from the
- original will be copied to the new, so that's one less step you
- have to do yourself.
-
- <LI> Now it's time to use the symbol as a subcircuit in a top-level
- circuit schematic. Go to Page 2, which will be the top-level
- circuit. Draw an integrator as shown below: <BR><BR>
-
- <CENTER><IMG SRC=giffiles/integrate1.gif><BR>
- Simple continuous-time integrator using a transconductance
- amplifier. </CENTER> <BR>
-
- Note that there is a "regular" text label titling the page;
- this is made in the usual fashion, using key macro (lowercase)
- "<B>t</B>", and therefore is not a pin label. <P>
-
- There is a one-to-one correspondence between the
- pin labels on the schematic and the pin labels on the
- corresponding symbol. This is important to make sure that
- the wires attaching to the symbol on the top-level schematic
- go to the correct destinations in the amplifier's schematic.
- It is not an error to have unassigned pins: A pin inside
- the schematic may be labeling a net for reference purposes
- only. A pin on the symbol which is not used in the
- schematic is much less likely, but may, for instance, be
- representing an unconnected pin on an IC. <P>
-
- <LI> Save this page. Call it "integrator". At this point, several
- points should be noted:
- <UL>
- <LI> Two pages were saved instead of one. XCircuit followed
- the path of the symbol to its schematic, and saved the
- schematic for the amplifier. This becomes a separate
- page in the PostScript output. Running "ghostview" or
- your favorite PostScript previewer shows the two-page
- output.
- <LI> Page 1, the page containing the schematic of the amplifier,
- regardless of what you called it in the first place (if
- anything), was renamed "wramp".
- By convention, the schematic and symbol have the same
- name, although this does not have to be the case.
- <LI> All the pages got saved as "Full Page" and not as
- "Encapsulated". For multi-page files, "Encapsulated"
- PostScript is not meaningful. Options for positioning
- the schematic on the page will probably appear in the
- future.
- </UL> <P>
-
- <LI> Go to the top-level schematic page (Page 2, or "integrator").
- From the menu, select "Netlist->Write Spice". The message
- label will read "spice netlist saved as integrator.spc".
- You can view the file <A HREF=netfiles/integrator.spc>integrator.spc</A>
- here. Note in particular that xcircuit has generated a
- hierarchical netlist, using the amplifier "wramp" as a
- subcircuit. The subcircuit contains parameters which are
- its pin labels; the <I>call</I> to the subcircuit has parameters
- which are the pin labels given on the top level page. <P>
-</OL>
-
-For reference, the resulting PostScript file can be found here:
-<A HREF=psfiles/integrator.ps>integrator.ps</A><P>
-
-SPICE simulation: Xcircuit provides only the netlist. It can also
-provide voltage sources and so forth, which will be described in the
-next task. However, it has no concept of "models" and provides no
-commands for running analyses. In the example above, the spice file
-will need to be edited to insert models for devices "nmos" and "pmos",
-Declare a voltage source and value for Vdd, and add commands
-for DC operating point determination and transient analysis. <P>
-
-<H2><A NAME="Task4">Task 4: Introduction to parameters</A></H2>
-
-One thing you may have noticed about the previous circuit is that you
-did not, in fact <I>could not</I> specify a value for the capacitor,
-which defaulted in the spice netlist to 1.0pF. And there was no way
-to specify a width and length of each nMOS and pMOS device. You might
-have guessed: There does exist a way to pass values such as capacitance
-to the capacitor object, and width and length to the MOS device objects. <P>
-
-Here's a brief description of how parameters work:<BR>
-Each object contains a list of its parameters, NULL if there are no
-parameters. Each item in this list declares what is the <I>type</I> of
-parameter (so far, "string" or "integer", with only string types fully
-supported at present), a default value for the parameter, and another
-list which points to all the locations where the parameter gets
-substituted. <P>
-
-It is important to keep in mind the distinction between an <I>object</I>
-and its <I>instantiations</I>. If you are on Page 1 looking at an object
-you just dragged back from the library, you are looking at a single
-<I>instance</I> of that object. If you use the <B>&gt;</B> key to
-edit the object, then you are editing the object itself. Normally,
-there is no particular need to make the distinction. However, when
-using parameters, the object itself will declare the default parameter,
-but each instance of the object may contain its own unique value for
-that parameter. <P>
-
-Xcircuit adopts a method for editing parameters in which either the
-default value or the instance value may be altered, and which one is
-altered depends on <I>what top-level page you came from</I>. The
-most obvious way to implement this is that if you edit an object from
-one of the library pages, you are assumed to be altering the default
-(the object on the library page always displays the default value of
-all its parameters). If, instead, you edit the object by getting
-there from a top-level page or another object, you are editing the
-<I>instance</I>, and changes you make to the parameters will only
-affect the value of that instance only. This should be made clear
-by the tutorial below.
-
-<OL>
- <LI> Run xcircuit, which should automatically load "analoglib2.lps"
- onto library page 2 (since xcircuit version 2.2.0. Otherwise,
- load it from the subdirectory "examples" of the source
- distribution).
- <LI> Go to library page 2 (macro <B>L</B>, click on second page).
- You will see a set of
- replacement objects for the basic circuit structures "capacitor",
- "resistor", "nmos", etc. The main difference between these and
- the original objects is that they contain labels indicating
- values. <BR><BR>
- <CENTER><IMG SRC=giffiles/alib.gif><BR>
- The parameterized analog component library. </CENTER> <BR>
-
- <LI> Select, say, the "Resistor" object and drag it back to Page 1.
- <LI> Copy the resistor so you have two resistors on Page 1.
- <LI> Edit one of the resistors (<B>&gt;</B> key). You will note that,
- in addition to pin labels, there are some other strings (called
- "info labels") which will be described in detail later.
- <LI> Edit the string which reads "1.0 k(Ohm)" (<B>e</B> key macro, or
- menu selection <I>Edit->Edit</I>). As you move the
- cursor around the string, look at the message window. You will
- note that in addition to the usual ASCII characters and string
- commands such as font changes, half-space, etc., there is now
- an additional embedded command label "Parameter(<I>n</I>)&lt;
- <I>text</I>&gt;", where <I>n</I> is the parameter number, and
- <I>text</I> is a substring (may be empty) which is the parameter
- text. For the resistor, "1.0" is a parameter
- describing the value, and "k" is a parameter for the metric
- scale prefix. Unlike all other parts of the string, you cannot
- delete the parameter delimiter marks (parameters must be
- removed from a string with the "Unparameterize" function).
- <LI> Replace the substring "1.0" with "20" and replace "k" by "M"
- or whatever your favorite resistor value is. Be sure that you
- are inside the parameter delimiters when you make the change,
- or you will get unexpected results.
- <LI> Pop back up to the originating page (<B>&lt;</B> key). You will
- see that only the resistor which you edited has its values
- changed; the other one still has the original (default) values
- of "1.0" and "k".
- <LI> Go to the library again (<B>L</B> key, then click on the second
- page), and from there, edit the
- resistor (<B>&gt;</B> key). From here, change the value to, say,
- "2.0 k". Note that now you are changing the <I>default</I> value,
- not an instance value.
- <LI> Return to the library page (<B>&lt;</B> key). Now the library
- object shows the new resistance value, indicating that the
- default value was altered. From here, go back to the
- originating page (third mouse button). Now you see that the
- resistor you altered retained its unique value, but the
- resistor you didn't alter changed with the default. <BR>
- The rule here is that each instance of an object accepts the
- default unless is specifically declares its own unique value.
-</OL>
-
-<BLOCKQUOTE>
-<font color=red> How does this work?</font><BR>
-<font color=green>
-There are already traces of parameterization at work in xcircuit.
-Each instance of an object has its own unique value for position,
-rotation, color, and scale. These can be thought of as parameters.
-Whenever xcircuit draws an object instance, it uses the unique
-position, rotation, and scale to alter the 2-D transformation
-matrix, then recursively calls the object drawing routine on the
-object itself. When parameters are present, xcircuit first looks
-up any unique values which the object instance might declare, and
-substitutes these values into the object itself. If the instance
-does not declare a particular parameter, then xcircuit substitutes
-the default value. Then xcircuit recursively calls the drawing
-routine on the object.
-</font>
-</BLOCKQUOTE>
-
-<H2><A NAME="Task5">Task 5: Drawing a circuit with parameters</A></H2>
-
-<OL>
- <LI> Run xcircuit, as in the last example.
-
- <LI> Using the parameterized devices from the <TT>analoglib2</TT>
- library, create the simple lowpass R-C filter shown below:<BR><BR>
-
- <CENTER><IMG SRC=giffiles/filter1.gif><BR>
- Simple R-C filter. </CENTER> <BR>
-
- <LI> Now, using what you learned from Task 4, alter the individual
- parameter values so that they look like the following:<BR><BR>
-
- <CENTER><IMG SRC=giffiles/filter2.gif><BR>
- Simple R-C filter, with new parameter values. </CENTER> <BR>
-
- <LI> Choose menu item "File->Write XCircuit PS", and rename the top
- page something obvious like "filter". Save it if you like.
-
- <LI> Choose menu item "Netlist->Write Spice".
- You can view the resulting SPICE file
- <A HREF=netfiles/filter.spc>filter.spc</A> here.
-</OL> <P>
-
-For reference, the finished PostScript file can be found here:
-<A HREF=psfiles/filter.ps>filter.ps</A><P>
-
-Although there are no MOS devices in this file, as in the previous task,
-the SPICE deck will need to be completed with commands for performing
-transient analysis and so forth, unless the file is to be used for
-netlist comparison purposes only. <P>
-
-Spice output is determined solely by the ``info labels'' (which are green
-by default, and only show up when the object they are in is on the top-level
-page), in particular, those that begin with the token ``spice:''. There
-are several ``escape sequences'' which have special meaning in this info
-label. They begin with the ``%'' character and are summarized below.
-Also, string parameters can be inserted directly into the info label, a
-process which is described directly after.
-
-<H3>Info label escape sequences:</H3>
-<BLOCKQUOTE>
-<DL>
- <DT> <TT>%%</TT>
- <DD> Inserts the character `%' into the netlist output line.
- <DT> <TT>?</TT>
- <DD> When a single question mark is parameterized as its
- own parameter, it is interpreted in the following way: If the
- parser encounters a non-default value (i.e., a number), it uses
- that number as the index. Otherwise, it generates a unique sequence
- number for the object instance. This method is preferred over the
- "%i" escape, as it allows each part number to be individually
- assigned, if desired.
- <DT> <I>(parameter)</I>
- <DD> Any parameter may be inserted into the info
- label, and therefore takes the value of either the instance string,
- if defined, or else takes the value of the default string. The
- question mark (<TT>?</TT>) is a special case (see above).
- <DT> <TT>%n</TT>
- <DD> Insert the name of the object.
- <DT> <TT>%p"name"</TT>
- <DD> Insert the name of a pin. The pin name must
- be quoted exactly as is the label which defines the pin. The quotes
- may be omitted if the name contains no white space and is followed
- by white space (if in doubt, just use the quotes).
- <DT> <TT>%r</TT>
- <DD> Insert a carriage-return into the netlist output line.
- Carriage-returns can also be inserted directly into the output
- by using Alt-Enter or menu option
- <I>"Text->Insert->Carriage Return"</I>.
- <DT> <TT>%t</TT>
- <DD> Insert a tab into the netlist output line.
-</DL>
-</BLOCKQUOTE>
-
-Obsoleted sequences (maintained for backward compatibility):
-<BLOCKQUOTE>
-<DL>
- <DT> <TT>%i</TT>
- <DD> Insert a number, in sequence, incrementing each time
- a new object instance is visited during netlist compilation.
- <DT> <TT>%v"name"</TT>
- <DD> Insert the name of a parameter. The parameter
- name must be quoted exactly as the label or label segement which
- defines the <I>default</I> parameter. Alternately, a parameter
- can be inserted directly into the string during text edit mode
- using the "Alt-p" key. This is perhaps more intuitive, because the
- value shown is either the default or substituted value, as appropriate,
- rather than always listing the default value. The library file
- <A HREF=../xcircuit/psfiles/analoglib1.lps>analoglib1.lps</A>,
- which is available either
- at this link or in the source distribution under the "examples"
- directory, makes use of the "%v" method. <TT>analoglib2.lps</TT>
- makes use of the direct-insertion method.
-</DL>
-</BLOCKQUOTE>
-
-<font color=red> <I>Example:</I> </font>
-<font color=green>
-<BLOCKQUOTE><PRE><TT>
-sim:n %pG %pS %pD
-</TT></PRE></BLOCKQUOTE>
-</font>
-<font color=red>
-<I>or:</I>
-</font>
-<font color=green>
-<BLOCKQUOTE><PRE><TT>
-spice:M%i %pD %pG %pS GND nmos
-</TT></PRE></BLOCKQUOTE>
-</font>
-The top example produces an nMOS transistor line in a "sim" netlist, where
-the actual net names inserted into the output file are those which correspond
-to the gate, source, and drain pins, respectively. The bottom example does
-the same thing for a SPICE netlist file, assuming that the SPICE model will
-be called "nmos" (this can be parameterized if more than one model is
-required; see paragraph below), and the "%i" sequence ensures that each
-transistor gets a different label: M1, M2, M3, and so forth.
-
-<H3>Inserting string parameters directly into a label:</H3>
-
-While editing a label, use the key sequence ``Alt-p'' to insert a parameter.
-If the object has only one parameter, it will be inserted automatically. If
-the object has two or more parameters, xcircuit will prompt for the one to
-use (listed by number). Once the copy of the parameter string is in the
-label, there is effectively no difference between the copies: making changes
-to one automatically changes the other (although the change may not show up
-immediately). In general, this method is clearer than using ``%v'', since
-the subsituted string appears directly in the info label rather than
-referring back to the default string, so ``what you see is what you get.''<P>
-
-<OL>
- <LI> From the default analog library (library page 1), grab the
- (unparameterized) object "nmos" and drag
- it back to page 1 (or whatever page you're working on).
- <LI> Edit the "nmos" object (key "<B>&gt;</B>").
- <LI> Use the second mouse button to draw a selection box around the
- word ``nmos'' in the first information (green) label.
- <LI> The word ``nmos'' will be highlighted; in this selection
- mechanism, only that substring of the label has been selected.
- <LI> Choose menu option <I>Text->Parameterize</I>.
- <LI> Now edit the info label. When you get to the word ``nmos'',
- you will notice, as printed in the message field at the bottom
- of the xcircuit window, that it is bounded by invisible marker
- characters ``Parameter(1)&lt;'' and ``&gt;''.
- At this point, the SPICE model is a parameter of the object,
- and its default value is ``nmos''.
- <LI> Because you entered the object from Page 1 rather than the Library,
- what you are editing is the string <I>instance</I>, not the
- string <I>default</I>. Change the parameter substring to read
- <B>nmos1</B>, indicating an alternate MOS model called ``nmos1''
- (which must be added to the output SPICE file before simulation!).
- Make <I>sure</I> that the character "1" comes <I>before</I> the
- "&gt;" parameter end marker; otherwise, it is not part of the
- parameter, and instead becomes part of the default value.
- <LI> Finish editing and return to the calling page (key "<B>&lt;</B>").
- <LI> Grab another object ``nmos'' from the library and place it on
- Page 1. Edit it (key "<B>&gt;</B>"). Note that the parameter
- string contains the default value ``nmos''.
- <LI> Pop back out to Page 1 and run ``Netlist->Write spice''. The
- resulting file is simple and can be included below. <BR><BR>
-
-<font color=green>
-<TT>
-Spice circuit Page 1<BR><BR>
-M1 net.1 net.2 net.3 GND nmos<BR>
-M2 net.4 net.5 net.6 GND nmos1<BR>
-.end
-</TT>
-</font>
-
-</OL>
-
-Information labels with embedded parameters are used in the library file
-<A HREF=../xcircuit/psfiles/analoglib2.lps>analoglib2.lps</A>.
-Note that in most objects
-("Capacitor", "Resistor"), the parameterized value is in a string and
-therefore shows up as part of the circuit diagram. However, others
-("PNP", "NPN", where the SPICE model name is parameterized) have the
-parameter only in an information label, where it does not show up on
-the top-level page. Yet others ("nMOS", "pMOS") contain both (width
-and length values appear on the top-level page and are copied into
-the information label, but the name of the SPICE model only appears
-in the information label). <P>
-
-As an addendum to this task, run xcircuit and load the file and generate
-a spice circuit which uses two nMOS devices from the "analoglib2"
-library page, each instance having a different SPICE model. In
-addition, make the widths of the two devices different.
-
-Note that when more than one string contain the same parameter, editing
-one of the values will not be immediately reflected on the screen as
-a change in the other(s). Popping back to the level above the object
-and returning to edit the object will show all the proper substitutions.
-
-<H2><A NAME="Task6">Task 6: Making a new "fundamental" object</A></H2>
-
-All netlists generate output when they reach a ``fundamental'' object,
-which is defined as an object containing one or more informational
-labels. <P>
-
-Fundamental objects require several features:
-<UL>
- <LI> Fundamental objects are expected to be symbols. As in all
- symbols, lines are interpreted as part of the symbol drawing,
- not as nets. The only ``electrically relevant'' elements on
- a symbol are the pins.
- <LI> Fundamental objects contain ``info labels'' which tell the
- netlist compiler what to do with the information passed to
- the object via the pins. Presently, there are three
- different "styles" of netlist, named after the primary
- format which uses that kind of netlist:
- <UL>
- <LI> Hierarchical, or ``spice'' netlists
- <LI> Flattened, or ``sim'' netlists
- <LI> Network, or ``pcb'' netlists
- </UL>
- Information on each of these netlists is widely available
- and distributed with layout and simulation software
- packages. In a nutshell, however:
- <UL>
- <LI> Hierarchical and Flattened netlists both list by
- <B>element</B>, with each line of the file consisting
- of an element name followed by a list of network names
- corresponding to each of the element's pins.
- <font color=red>
- <BR><I>example:</I>
- </font>
- <font color=green>
- <TT>Q1 net2 D0 gnd npn1</TT><BR>
- </font>
- indicates that NPN transistor ``Q1'' has a collector
- connection to "net2", base connection to "D0", and
- an emitter connection to "gnd" (presumably a global
- network).
- <LI> A Network netlist lists by <B>network</B>, with each
- line consisting of a network name followed by a list
- of pins in the circuit to which the network connects.
- The element names are part of the pin names, with
- the circuit hierarchy encoded in the element name by
- slashes (`/'), much like a file system directory listing.
- <font color=red>
- <BR><I>example:</I>
- </font>
- <font color=green>
- <TT> Net3 control/74LS00_1#1-2 display/LED#2-5</TT><BR>
- </font>
- indicates that the network named "Net3" connects
- pin number 2 in the first 74LS00 chip in subcircuit
- "control" to pin number 5 of the second LED in subcircuit
- "display".
- </UL>
- <LI> A result of being an object and having an info-label is that the
- "Symbol" button is green, indicating a "fundamental" element.
-</UL>
-
-There is another type of symbol called a "trivial" symbol. This cannot be
-designated from xcircuit. It is only a optimization which tells xcircuit
-that an object does not produce output and is not a sub-schematic, and
-therefore can be ignored except for the presence of pins. This prevents
-the xcircuit netlist generator from wasting time looking for subschematics
-or informational labels. Except for saving compute cycles, there is no
-other difference between "trivial" and normal symbols. "Trivial" symbols
-are declared in the PostScript file with a "% trivial" line.
-
-<H2><A NAME="Task7">
-Task 7: A schematic with symbol-less schematics in the hierarchy</A></H2>
-
-A "subschematic" is a special kind of symbol which, unlike other symbols,
-contains electrically relevant objects. Really, it's just a grouping of
-electrical objects which bypasses the trouble of making a symbol to
-represent the grouping. This can be useful, for instance, in drawing
-one-half of a differential amplifier and repeating the schematic, flipped
-horizontally. <P>
-
-XCircuit is extremely sophisticated in its ability to deal with subschematics.
-It will determine how the subschematic is used, searching for input and
-output "ports" that link the subschematic to the circuit on the level above. <P>
-
-The file in the xcircuit source "examples" directory
-<TT>diffamp_test.ps</TT> is an example of such a file with subschematics.
-It represents an obvious situation in which a subschematic is useful: This is
-a differential amplifier, so a large portion of the amplifer is duplicated on
-the positive and negative sides. <P>
-
-<CENTER><IMG SRC=giffiles/halfamp.gif><BR><BR>
-Differential amplifier sub-schematic: One half of an amplifier.
-</CENTER> <BR><BR>
-
-<CENTER><IMG SRC=giffiles/fullamp_anno.gif><BR><BR>
-Differential amplifier complete schematic
-</CENTER> <BR><BR>
-
-The second of the two figures above shows how the half-amplifer subschematic
-connects into the differential amplifier schematic. Note that no pins (pin
-labels) have been explicitly called out in the subschematic. All connections
-are determined from context. Different contexts which xcircuit finds and
-interprets are marked with red circles on the differential schematic
-(the <A HREF=giffiles/fullamp.gif>unannotated version</A> of the schematic can be
-found here). The annotations, called out by number, are as follows: <P>
-
-<font color=red>
-<OL>
- <LI> Port makes connection to a wire (polygon)
- <LI> Port makes connection on one side but not on the other
- <LI> Port makes connection to a label (pin)
- <LI> Port makes connection to a pin of another object
- <LI> Two ports in the subschematic get merged into one network
- <LI> (not shown) Port connects to port on another subschematic
-</OL>
-</font>
-
-On any given schematic page, port connections between symbols, between
-subschematics, and from subschematics to symbols and vice versa, may be
-from any layer in the circuit hierarchy to any other layer in the circuit
-hierarchy. <P>
-
-<H2><A NAME="Task8">Task 8: Identifying electrical connections</A></H2>
-
-XCircuit has the ability to highlight all wires belonging to a single
-electrical network. This is a very useful feature for debugging
-schematics, finding shorts and open-circuits. The command for
-identifying network connectivity is menu selection
-<I>Netlist->Highlight Connectivity</I> and the default key binding
-for the same function is <B>Alt-w</B>. The key macro operates immediately
-on either selected elements or whatever element is nearest the cursor,
-while the menu item either operates immediately on any selected element
-or prompts for a mouse click on an element to show connectivity for.
-If multiple elements are selected prior to choosing the connectivity
-function, connectivity will be searched for the first item encountered
-in the select list which is part of a valid network. <P>
-
-As an example, load the file <TT>diffamp_test</TT> used previously in
-Task 7 (<TT>examples/diffamp_test.ps</TT> in the XCircuit source
-distribution). Place the pointer over any wire and type <B>Alt-w</B>.
-The whole network will be ``highlighted'' in green. Note some features
-of connectivity searches:
-<UL>
- <LI> Global networks such as ground have all parts of the network
- highlighted, even if they are physically separated on the
- drawing.
- <LI> Network selection is a different from element selection: It is
- recursive. In the schematic drawing for "ampl_test" (Page 2),
- networks inside the "half_amp" sub-schematic can be selected for
- connectivity search, even though for purposes of normal move,
- copy, etc., the "half_amp" can only be selected as an entire object.
- <LI> Pins can be selected as well as wires, and pins belonging to a
- network will be highlighted along with the rest of the network.
- <LI> The name of the network is printed in the message window at the
- bottom of the xcircuit screen. Hierarchy is relevant: A network
- may have a different name depending on whether it is selected on
- the top-level schematic, or somewhere down in the schematic
- hierarchy. The network name displayed is that name belonging to
- the network at the <I>highest</I> level of the hierarchy.
- <LI> Additional networks can be highlighted without erasing the original.
- To erase one network before starting another, click the right
- mouse button once ("Cancel" operation).
-</UL>
-
-Currently, there is no method to detect and return a network name for
-pin positions connecting two objects (that is, networks which do not
-have a polygon or label explicitly attached to them in the schematic
-drawing). <P>
-
-<I>Note:</I> Network connectivity searches only work as described above
-in XCircuit version 2.3.5 rev. 1 and later. <P>
-
-<H2><A NAME="Task9">Task 9: A symbol on its own schematic</A></H2>
-
-File example "<TT>examples/logic8.ps</TT>" in the source distribution has
-an example of a symbol on its own schematic. Run xcircuit on this example
-file, and go to page 2, the schematic for the 2-input NAND gate. At the
-bottom of the schematic is a picture of the "NAND" symbol. Note that
-you can "push" ("&gt;" key) into the symbol picture, and then cross over
-("/" key) to the schematic, returning to where you started in a circular
-manner. You can do this all day until you run out of memory, so it is
-not recommended. Fortunately, when xcircuit generates the circuit netlist,
-it is not fooled into this recursive path. Instead, it detects the
-presence of the recursion and will not treat the symbol picture as part
-of the network. You can verify this by generating a SPICE netlist for
-circuit "logic8" and reading the resulting file "<TT>logic.spc</TT>":
-
-<FONT color=green>
-<BLOCKQUOTE>
-<PRE>
-*SPICE circuit "logic" from XCircuit v2.30
-
-.GLOBAL Vdd
-.GLOBAL GND
-
-.subckt invert Out In
-M1 Out In Vdd Vdd pmos
-M2 Out In GND GND nmos
-.ends
-
-.subckt nand Out In.1 In.2
-M1 Out In.1 Vdd Vdd pmos
-M2 Out In.1 ext13 GND nmos
-M3 ext13 In.2 GND GND nmos
-M4 Out In.2 Vdd Vdd pmos
-.ends
-
-X1 int1 Pin.1 invert
-X2 Pin.4 int1 Pin.2 nand
-X3 Pin.5 Pin.2 Pin.3 nand
-.end
-</PRE>
-</BLOCKQUOTE>
-</FONT>
-
-As you can see, the circuit has been created as intended, and the symbols
-marked on their own schematics do not present a problem. <P>
-
-<I>Caveat:</I> It is possible to do more subtle forms of recursion. For
-instance, in the "<TT>logic8</TT>" circuit, redraw the NAND2 schematic so
-that the output goes through a buffer made of two inverters. This is
-perfectly reasonable, by itself. Now, go to the inverter schematic, and
-in place of the nMOS + pMOS stack, put a NAND2 gate with its two inputs
-tied together between the In and Out pins. This is also perfectly reasonable,
-by itself. However, the two changes taken together try to define the
-NAND2 and inverter in terms of each other, which is recursive. Versions
-of xcircuit before 2.3.5 rev. 1 will simply crash. Later versions will
-detect the error as a suspiciously deep hierarchy, and halt the netlist
-process before the processor hits a stack limit. <P>
-
-<H2><A NAME="Task10">Task 10: "sim" format and flattened netlists</A></H2>
-
-"sim" netlists are normally associated with digital VLSI circuits, but they
-also can be useful for netlist comparisons of digital, analog, and mixed-signal
-VLSI circuits. The standard "sim" format defines device types for nFET
-(enhancement and depletion) and pFET transistors, resistors (explicitly
-defined and lumped), and capacitors. However, the format has variously
-been extended to cover other devices such as bipolar transistors, and any
-variation of any component, provided it gets a unique letter assigned for
-the device and is meaningful to whatever software uses the format downstream. <P>
-
-The main difference between "sim" and "SPICE" netlists is that SPICE allows
-hierarchical descriptions containing subcircuits, whereas "sim" is by
-definition a "flattened" version of a circuit. There is very little that
-is necessary to say here, other than to note the ability of XCircuit to
-generate flattened circuit netlists. XCircuit also has an option to
-generate flattened SPICE. Note the difference in output, for instance,
-between the output "logic.spc" for circuit "logic8" (shown in Task 9, above),
-and the following output "logic.fspc" for the same circuit (generated by
-<I>Netlist->Write flattened SPICE</I>:
-
-<FONT color=green>
-<BLOCKQUOTE>
-<PRE>
-*SPICE (flattened) circuit "logic" from XCircuit v2.30
-
-M1 int1 Pin.1 Vdd Vdd pmos
-M2 int1 Pin.1 GND GND nmos
-M3 Pin.4 int1 Vdd Vdd pmos
-M4 Pin.4 int1 nand1/ext13 GND nmos
-M5 nand1/ext13 Pin.2 GND GND nmos
-M6 Pin.4 Pin.2 Vdd Vdd pmos
-M7 Pin.5 Pin.2 Vdd Vdd pmos
-M8 Pin.5 Pin.2 nand2/ext13 GND nmos
-M9 nand2/ext13 Pin.3 GND GND nmos
-M10 Pin.5 Pin.3 Vdd Vdd pmos
-</PRE>
-</BLOCKQUOTE>
-</FONT>
-
-<H2><A NAME="Task11">Task 11: "pcb" type netlists</A></H2>
-
-XCircuit is ostensibly an ideal platform for generating schematic netlists
-to compare against PCB (printed circuit board) designs. However, by
-default (at least for now), xcircuit libraries are set up primarily for
-VLSI layout work, so PCB netlisting requires a little extra work
-(because a lot of users want to use XCircuit for PCB netlisting, I'd like
-some help putting together libraries of IC's). <P>
-
-PCB netlists are fundamentally different from SPICE and sim netlists.
-Instead of listing by <I>device</I>, the file lists by <I>network</I>.
-The format is flattened, probably on the assumption that printed circuit
-boards have no hierarchy. By default, xcircuit will list device pins
-(network connections) by the name of the object followed by a dash and
-the name of the pin to which the network connects. Any hierarchy present
-in the xcircuit file is flattened by separating layers of the hierarchy
-with slashes, as is done for the "sim" format. <P>
-
-For PCB symbols, the name of the object is used as the part name in the
-netlist unless the object's symbol has a "pcb:" info label. In addition,
-the sequence number of the part is assigned automatically unless declared
-as a parameter in the "pcb:" info label. Typically, PCB components are
-labeled "U" for integrated circuits, "R" for resistors, "C" for capacitors,
-"J" for connectors and jumpers, and so forth. The sequence number for
-each part, if automatically generated, will be unique with respect to
-the name used for the part in the netlist output.<P>
-
-Consider Harry Eatons's ``<B>LED</B>'' design which comes as an example
-in the "PCB" distribution. The relevant files are also linked
-here:
-<OL>
- <LI> <A HREF=pcb/LED>LED</A> (a PCB-format file)
- <LI> <A HREF=pcb/LED.NET>LED.NET</A> (a PCB netlist file)
-</OL>
-
-Creating the schematic is very complicated, so I've done much of the
-work to get you started. Here is an xcircuit file which can be used to
-create a (partial, because it's unfinished) netlist to compare
-against the <B>LED</B> printed circuit layout and netlist.
-
-<UL>
- <LI> <A HREF=pcb/FlareLED.ps>FlareLED.ps</A> (an XCircuit-format file)
-</UL>
-
-The important thing to notice about this file is the way components are
-handled. Each component has an object name (a generic name, such as
-"Resistor" or a part description, such as "LTC490"), text which may or
-may not duplicate the title, and text which parameterizes the object
-(such as resistor and capacitor values). In addition, each object is
-parameterized for use in PCB. This requires a string inside the object,
-an "info label" which is interpreted by the pcb netlist generator in
-xcircuit. Also inside the object, not visible from the top level
-drawing, are pin numbers for each object. For integrated circuits,
-there is text on each pin which is a <I>functional</I> pin description.
-This is not needed for the netlist, but makes it much easier to understand
-the schematic.
-
-<OL>
- <LI> Start up xcircuit on the file <A HREF=pcb/FlareLED.ps>FlareLED.ps</A>.
- <LI> Go to the User Library (the library containing all of the ICs and
- connectors in the schematic).
-
- <CENTER><IMG SRC=pcb/flare_objects.gif><BR>
- Integrated circuits and components library for FlareLED.
- </CENTER> <BR>
-
- <LI> Edit ("<B>&gt;</B>" key) the PIC controller (object named
- "PIC16C54".
- <LI> You will note several things: This is an 18-pin chip, with pin
- labels corresponding to the actual DIP package pin numbers.
- Next to each pin number is the functional name for that pin.
- On the top level page, only the functional names appear. On
- the top level page, the device can be flipped, rotated, etc.,
- without regard to the physical PCB layout. It is only necessary
- that the networks of wires correctly connect the pins of
- all the components.
- <LI> The "PIC16C54" object, like all the integrated circuits in the
- schematic, has an "info label" which reads <BR><BR>
- <font color=green><BLOCKQUOTE><PRE><TT>
- pcb:U?
- </TT></PRE></BLOCKQUOTE></font>
-
- <CENTER><IMG SRC=pcb/pic_object.gif><BR>
- PIC 16C54 object, as edited from the library (default parameters)
- </CENTER> <BR>
-
- <LI> Edit this info label ("<B>e</B>" key). Note that the question
- mark is a parameter.
- <LI> Escape from the label edit (3rd mouse button) and return to the
- main page ("<B>1</B>" key). Now edit the <I>same</I> object,
- the PIC16C54, from this page ("<B>&gt;</B>" key).
- <LI> Now you will see that the info label reads
- <font color=green><BLOCKQUOTE><PRE><TT>
- pcb:U5
- </TT></PRE></BLOCKQUOTE></font>
- This is an <I>instance</I> value. It corresponds to the location
- and label for an IC on the PCB layout. <BR><BR>
-
- <CENTER><IMG SRC=pcb/pic_instance.gif><BR>
- PIC 16C54 instance, as edited from the top page (instanced parameters)
- </CENTER> <BR>
-
- <LI> End the label edit and return once again to the top level page.
- From the menu, choose <I>Netlist->Write pcb</I>. The result
- is a file named <TT>FlareLED.pcb</TT>. Compare this file to
- the supplied netlist file named <TT>LED.NET</TT>. The XCircuit
- schematic is not complete, but the parts that are correspond in
- both netlist files.
- <LI> <I>Challenge</I>: Finish this schematic and show that the two
- netlists are the same (``Layout vs. Schematic'', or ``LVS'').
- <LI> <I>Another Challenge</I>: Create an xcircuit library containing
- the entire 7400 digital IC series and send it to me so I can
- post it on this website.
-</OL>
-
-<H2><A NAME="Task12">Task 12: Multiple-gate chips in PCB netlists</A></H2>
-
-Pins can be parameterized beginning in version 2.5.2 (it is allowed in
-earlier versions but will cause invalid netlist output). Pins normally
-work differently than label strings when making substitutions during
-netlist generation; it is the network name which is substituted.
-However, PCB-type netlists write pin names directly to the output, and
-this is where parameterized pin names can be useful: For example, a
-``quad part'' like a 7400 quad NAND chip has four NAND gates which are
-identical except for their pin numbers on the package. Normally, a
-PCB netlist would declare these as four parts, say, ``U1-1'' through
-``U1-4''. By parameterizing all of the pin names, four instances can
-be made representing the four gates inside the 7400 chip, each having
-the correct pinout. <P>
-
-A method for saving the pinouts of gate subunits in chips was added
-to version 2.5.2 along with the meaningful method for generating PCB
-netlists from parameterized pin names. This method allows multiple
-instances of a single object to appear on the same library page.
-These copies should represent the object with different parameter
-values. The most common use of this method is to parameterize pins
-of a logic gate that is a subunit of a multiple-gate IC, and show
-each of the subunits on the library page, where they can be used to
-generate a PCB netlist. <P>
-
-Using XCircuit 2.5.2 or later, installed, start xcircuit and go to the
-fourth library page ``<B>Library: quadparts</B>''. You will see the
-following set of objects (partial view of the library):
-
-<CENTER><IMG SRC=giffiles/quadparts.gif><BR><BR>
-Partial view of the ``Quadparts'' library (from preliminary version).
-</CENTER> <BR><BR>
-
-Note that there are four copies of each named object. Each of the copies has
-the same name, but three of the names are ``shaded out'' in a gray color.
-The part with the name written in black is the original library part. It
-contains parameters, but like standard library page objects, it displays all
-of the default values for these parameters. As in Tasks 4 and 5, editing
-parameter values in this library object will change the default values of
-those parameters. The objects with the names printed in gray are
-called ``virtual objects.'' They act like objects on a page rather than
-objects in a library. Parameters in these objects may take on individual
-values, and those specific values are copied along with the object when
-it is selected and dragged back to a page. <P>
-
-<CENTER><IMG SRC=giffiles/nand4.gif><BR><BR>
-Editing a library virtual copy (instance) of gate ``quadnand''.
-</CENTER> <BR><BR>
-
-From the library page, grab all four ``quadnand'' objects and bring them
-back to Page 1. With the four objects, one can make, for instance, a
-delay flip-flop implementation from a single 7400 chip. This is shown
-below:
-
-<CENTER><IMG SRC=giffiles/dff.gif><BR><BR>
-<A HREF=psfiles/dff.ps>Delay Flip-Flop</A> using the ``quadparts'' library.
-</CENTER> <BR><BR>
-
-After building the circuit, select <I>Netlist->Write pcb</I>. The
-result is a valid PCB netlist for the circuit:
-
-<FONT color=green>
-<BLOCKQUOTE>
-<PRE>
-!Q U2-2-5 U1-1-3
-D U3-3-9
-CLK U4-4-13 U3-3-10
-int5 U4-4-12 U3-3-8 U2-2-4
-int6 U4-4-11 U1-1-2
-Q U2-2-6 U1-1-1
-</PRE>
-</BLOCKQUOTE>
-</FONT>
-
-<H2><A NAME="Task13">Task 13: Modifying netlist formats</A></H2>
-
-The Python interpreter is supposed to make new netlist formats easy to
-implement. However, the Python interface does not yet include access
-to netlist information, so for the moment, netlist formats are limited. <P>
-
-As it stands, netlists must be one of three formats:
-<OL>
- <LI> Flattened ("sim" or SPICE)
- <LI> Hierarchical (with subcircuits in SPICE "subckt" format)
- <LI> Netlist (flattened, in a PCB netlist format)
-</OL>
-
-Flattened netlists are the easiest to implement new formats in, since
-the only structure in the file is determined by the elements themselves
-(not counting comment lines, such as the first line that xcircuit writes
-to the netlist file). The other two formats contain syntax that is
-(currently) hard-coded into xcircuit (the "subckt" command in hierarchical
-SPICE, and the entire syntax of PCB). Information about how to write
-devices is encoded into ``informational labels'' (otherwise abbreviated
-as ``info labels''). The syntax of info labels is described above in
-<B>Task 5</B>. <P>
-
-Modifications to netlist formats can be useful in several ways:
-<OL>
- <LI> Implement a completely different netlist type (some subset of VHDL,
- for instance)
- <LI> Modify an existing format (hspice or pspice syntax vs. ordinary
- Berkeley spice3).
- <LI> Avoid explicitly drawing circuit schematics for simple devices.
- <LI> Write output at the gate level instead of the transistor level.
-</OL>
-
-The last two require some explaining, so start up xcircuit and prepare
-for another task. <P>
-
-<H3> Aggregate output per device </H3>
-Here, we will change an "inverter" into a fundamental device consisting
-of two transistors in the usual CMOS configuration for the inverter.
-By default, XCircuit neither attaches schematics to gates nor defines
-aggregate (multiple line) output for a gate because there are too many
-ways to define a gate. For instance, the inverter could be an nMOS
-device with a p-pullup, or it could be a bipolar-based TTL inverter,
-etc., ad nauseum.
-
-<OL>
- <LI> Go to the first library page and drag back an inverter to the
- first page.
- <LI> Add some pin labels to the input and output nodes. Call them,
- say, "in" and "out" (or something less boring, if you prefer).
- <LI> Edit the inverter device (<B>&gt;</B> key)
- <LI> Start an "info label" (<B>I</B> key, or <I>Netlist->Make Info Pin</I>
- from the menu)
- <LI> Type <BR>
- <TT>sim:n %pIn GND %pOut</TT>&lt;Alt-Enter&gt;<TT>p %pIn Vdd %pOut</TT><BR>
- where "&lt;Alt-Enter&gt;"
- is the key combination Alt + Enter (also available using the
- menu selection <I>Text->Insert->Carriage Return</I>).
- Note that spaces, tabs, and other characters will transfer
- to the netlist output, although embedded commands such as color,
- font, and size change will not.
- The embedded carriage return <I>will</I> end up in the netlist
- output, as a real carriage return/newline. The result is shown
- below. <BR><BR>
-
- <CENTER><IMG SRC=giffiles/aggregate.gif><BR>
- Inverter with informational label for "sim" netlist output.
- </CENTER> <BR>
-
- <LI> Return to the top level page, choose "File->Write Output" to
- change the name from "Page 1" to something more useful.
- Then, from the menu, select <I>Netlist->Write sim</I>.
- The netlist output will look something like the following: <BR>
-
-<font color=green>
-<BLOCKQUOTE>
-<PRE><TT>
-| sim circuit "aggregate" from XCircuit v2.30
-n in GND out
-p in Vdd out
-</TT></PRE>
-</BLOCKQUOTE>
-</font>
-
- <LI> If you return to editing the symbol "invert", you will find
- that after writing the netlist, the "Symbol" button in
- the lower left-hand corner of the XCircuit window turned
- green, indicating that this symbol is now considered to be
- a "fundamental" object. That is, it has an informational
- label and contains no subcircuits.
-</OL>
-
-<H3> Output not on the device (transistor) level </H3>
-
-Suppose, in the above example, we didn't know or care what is the
-transistor-level implementation of the inverter, but wanted a SPICE
-file showing the hierarchy, for which an inverter subcircuit could
-be inserted at a later point.
-
-<OL>
- <LI> Repeat the above task through number <B>4</B>.
- <LI> Write for the info label <BR>
- <TT>spice:X%i %pIn %pOut inverter</TT>
- <LI> Return to the top level page, and write a SPICE netlist.
- The netlist output will look something like the following: <BR>
-
-<font color=green>
-<BLOCKQUOTE>
-<PRE><TT>
-*SPICE circuit "aggregate" from XCircuit v2.30
-
-X1 in out inverter
-.end
-</TT></PRE>
-</BLOCKQUOTE>
-</font>
-
- <LI> While this deck is not directly simulatable, it only awaits the
- insertion of an inverter model in the form of a subcircuit.
-</OL>
-
-<H2><A NAME="Task14">Task 14: Example: A bridge rectifier for a PCB</A></H2>
-
-This task will summarize most of what has been covered above in the tutorial
-with a practical example, a power supply bridge rectifier for a printed circuit
-board layout. The example will work through detailed explanations of each
-step, for the benefit of the impatient. <P>
-
-The bridge rectifier is a simple power supply circuit which transforms an AC
-supply (e.g., wall outlet) into a DC current for powering a circuit. The
-"bridge" is a diode bridge, a loop of four diodes which act as a full-wave
-rectifier. The bridge also acts as a nonlinear resistance in a simple
-single-pole R-C low-pass filter. The filter pole is set by a large
-polarized capacitor on the rectifier output. The larger the capacitor,
-the steadier the output voltage, including resistance to short spikes and
-dropouts of the AC supply. <P>
-
-Usually the bridge rectifier circuit drives the input of a voltage regulator
-to clean up the 120Hz bumps generated by the less-than-ideal lowpass filter,
-and to adjust the voltage between the transformer and the circuit being
-powered. For simplicity, this example will not consider the voltage
-regulator. <P>
-
-For more information about bridge rectifiers, see Horowitz and Hill,
-<I>The Art of Electronics</I>, 2nd edition, pages 45 and following
-(Cambridge Press, 1989). <P>
-
-<H3>Step 1</H3>
-
- If you have xcircuit version 2.3.3 after revision 6, there will be a
- symbol "Diode" (with capital-D) in the analoglib2.lps file (the
- second library page). If not, you can update your library from this
- link: <A HREF=../xcircuit/psfiles/analoglib2.lps>analoglib2.lps</A>,
- and skip to Step 2. Alternatively, you can
- use the following instructions to generate the PCB-compatible diode
- from the simple diode on the first library page (named "diode", no
- capital letter). <P>
-
- The diode symbol "diode" in the first library is not configured for use in
- PCBs. This can be changed easily. Go to the first library page (<TT>l</TT>
- key macro), and edit the diode symbol (<TT>&gt;</TT> key macro).
- Change the pin names to "1" and "2" (edit, or <TT>e</TT> key) to match
- PCB naming conventions. Finally, add an "info label" for the PCB
- netlister (<TT>I</TT> key, or else create a normal label then select
- menu item <I>Netlist->Convert Label To...->Info label</I>). The label
- text should be
- <font color=green>
- <BLOCKQUOTE><PRE><TT>
- pcb:D?
- </TT></PRE></BLOCKQUOTE>
- </font>
- After creating the label, use the second mouse button to drag a select
- box over the question mark. Only the question mark should be highlighted.
- Then select menu item <I>Text->Parameterize</I>. As described earlier in
- the tutorial, the PCB netlister will use this parameterized string to
- determine a part number for the diode, or else the part number can be
- explicitly declared by editing the info label from each of the four
- instances of symbol "diode" that we will generate.
-
- <CENTER><BR><IMG SRC=giffiles/pcbdiode.gif><BR></CENTER> <BR>
-
- Return to a drawing page (<TT>&lt;</TT> key, <TT>1</TT> key to go to Page 1)
- and continue with Step 2.
-
-<H3>Step 2</H3>
-
- Go to the library (<TT>l</TT> key, twice to get to the analoglib2 page,
- or once if using an edited version of the simple diode, from Step 1)
- and select the diode for copying (<TT>c</TT> key).
- This action will take you back to the main
- drawing page, with a diode instance in tow. While the diode is still
- selected, rotate it (<TT>r</TT> key, as many times as necessary).
- Place it four times with a click of the first (left) mouse button,
- and finish with a click of the third (right) mouse button. Rotate and
- position the diodes as shown below.
-
- <CENTER><BR><IMG SRC=giffiles/bridge2.gif><BR></CENTER> <BR>
-
-<H3>Step 3</H3>
-
- Connect the diodes together in a bridge configuration. While the
- diode endpoints are not quite on the drawing grid when the diode is
- rotated 45 degrees, they are fairly close (as drawn, see figure
- above), and there is some "slop" in the netlist generator when
- considering whether two wires are connected together. No special
- measures are necessary to ensure the connection.
-
- <CENTER><BR><IMG SRC=giffiles/bridge3.gif><BR></CENTER> <BR>
-
- Make a schematic out of the rectifier by selecting all the components
- drawn so far, typing <TT>m</TT> to "make" the object, and name
- the object "rectifier". This is a "subschematic", as described
- above in the tutorial, and pins will be determined from context.
-
-<H3>Step 4</H3>
-
- Grab the transformer symbol from the "analoglib2" library (2nd library
- page). Add wires to the transformer input, ending in terminals for
- the input AC supply. Name these terminals "V+" and "V-" (typographical
- suggestion: use the Symbol font for "+" and "-").
-
- <CENTER><BR><IMG SRC=giffiles/bridge1.gif><BR></CENTER> <BR>
-
- Connect the transformer and the rectifier together as shown.
-
- <CENTER><BR><IMG SRC=giffiles/bridge4.gif><BR></CENTER> <BR>
-
-<H3>Step 5</H3>
-
- Grab two capacitors (one polarized, one not) from the second library
- page. These are the capacitors with values listed.
- They are already configured for use with a PCB netlist. <P>
-
- The capacitors default to a picofarad value (for use with VLSI
- layouts, not PCBs), so the value string needs to be edited to
- change this to the "micro" symbol for microFarads. <P>
-
- <font color=red>Typographical note:</font> <BR>
- The best way to do this is to change the font of the whole
- string from "Times-Roman" to "Times-RomanISO" (use menu option
- <I>Text->Encoding->ISO-Latin1</I> or, while editing the label,
- use the <I>Alt-</I><TT>e</TT> key combination). The "micro"
- symbol (Greek "mu") is available from the font symbol table (accessed
- with the backslash key while editing text). The change to ISO
- encoding will be necessary on both the value string and the "SPICE"
- info label. <P>
-
- <font color=red>Netlist note:</font> <BR>
- The SPICE netlist generator will convert the "mu" symbol to the "u"
- used by SPICE. This happens regardless of whether the ISO-encoded
- "mu" or the Symbol font "mu" is used. Of course, one may also
- write ASCII "u" in the value string.
-
- <CENTER><BR><IMG SRC=giffiles/pcbcap.gif><BR></CENTER> <BR>
-
-<H3>Step 6</H3>
-
- Connect all the parts together on the top level page as shown.
-
- <CENTER><BR><IMG SRC=giffiles/bridge6.gif><BR></CENTER> <BR>
-
- Add finishing touches, and the completed bridge rectifier should
- look something like the one shown below.
-
- <CENTER><BR><IMG SRC=giffiles/bridge.gif><BR></CENTER> <BR>
-
- The xcircuit file can be obtained here: <A HREF=psfiles/bridge.ps>bridge.ps</A>.
-
-<H3>Step 7</H3>
-
- Select menu option <I>File->Write XCircuit PS</I> and select a "Page label"
- for the file. This will be the name used by the netlist generator for
- the netlist file name. <P>
-
- Generate the PCB netlist by selecting menu option <I>Netlist->Write pcb</I>.
- The result is shown below:<BR><BR>
-
- <font color=red>
- <BLOCKQUOTE><PRE><TT>
- V- T1-2
- V+ T1-1
- int5 T1-3 rectifier1/D4-1 rectifier1/D3-2
- int6 T1-4 rectifier1/D2-1 rectifier1/D1-2
- Vout rectifier1/D3-1 rectifier1/D1-1 C2-1 C1-1
- GND rectifier1/D4-2 rectifier1/D2-2 C2-2 C1-2
- </TT></PRE></BLOCKQUOTE>
- </font>
- <BR>
-
- and can also be obtained from this link:
- <A HREF=pcb/bridge.pcb>bridge.pcb</A>.
-
-<H3>Step 8</H3>
-
- The example is essentially done, but we can take it one step further
- by generating a symbol called "power_supply" to represent this circuit
- in a larger schematic. <P>
-
- Go to an empty page (Page 2, perhaps) and generate the following figure:<BR>
-
- <CENTER><BR><IMG SRC=giffiles/powersup.gif><BR></CENTER> <BR>
-
- Labels in black are normal text (created with the <TT>t</TT> key), and labels
- in red are pins (created with the <TT>T</TT> key). After drawing, select
- everything and put it all into an object (<TT>m</TT> key). Name the object
- "power_supply". <P>
-
-<H3>Step 9</H3>
-
- Now go back to Page 1, the bridge rectifier schematic. Choose the menu
- selection <I>Netlist->Associate with Symbol</I>. You will be taken to
- the library directory. Click (once) on the user library. You will be
- taken directly to the user library. Finally, click (once) on the symbol
- "power_supply". Now you should be returned to the bridge rectifier
- schematic, with the difference that there is a white button labeled
- "Symbol" in the bottom left-hand corner of the window. Clicking on the
- button toggles the drawing window between the schematic and its
- (newly associated) symbol. <P>
-
-<H3>Step 10</H3>
-
- Return to Page 2, the top-level schematic with the "power_supply" symbol.
- Try out the following (trivial to the point of uselessness) circuit
- (also available at this link: <A HREF=psfiles/powersup.ps>powersup.ps</A>):
- <BR>
-
- <CENTER><BR><IMG SRC=giffiles/powersup2.gif><BR></CENTER> <BR>
-
- Go to menu selection <I>File->Write XCircuit PS</I> and rename the "Page
- label" to "powersup". Then select <I>Netlist->Write pcb</I> to
- generate a new PCB netlist. <P>
-
- Now look at the result: <BR><BR>
-
- <font color=red>
- <BLOCKQUOTE><PRE><TT>
- NET1 power_supply1/T1-3 power_supply1/rectifier1/D4-1 \
- power_supply1/rectifier1/D3-2
- NET2 power_supply1/T1-4 power_supply1/rectifier1/D2-1 \
- power_supply1/rectifier1/D1-2
- In+ power_supply1/T1-1
- In- power_supply1/T1-2
- Out power_supply1/rectifier1/D3-1 power_supply1/rectifier1/D1-1 \
- power_supply1/C2-1 power_supply1/C1-1 R1-1
- GND power_supply1/rectifier1/D4-2 power_supply1/rectifier1/D2-2 \
- power_supply1/C2-2 power_supply1/C1-2 R1-2
- </TT></PRE></BLOCKQUOTE>
- </font>
- <BR>
-
- which can also be obtained from this link:
- <A HREF=pcb/powersup.pcb>powersup.pcb</A>.
-
- Note that the main difference is that the netlist is hierarchical, with
- components inside the power supply being referenced by the prepended
- name "power_supply1". The resistor, the only component on the top-level
- page, is not so prefixed. Throughout the netlist, net names take the
- name given in the highest level of the hierarchy. <P>
-
-<HR>
-<P><A HREF=../welcome.html><IMG ALIGN=middle SRC=../giffiles/bluebutton.gif
- BORDER=0></A> Back to the xcircuit home page. . .
-<P><IMG SRC=../giffiles/line1.gif><P>
-email: <I>tim@bach.ece.jhu.edu</I>
-</BODY>
-</HTML>