summaryrefslogtreecommitdiff
path: root/test.rb
diff options
context:
space:
mode:
Diffstat (limited to '')
-rwxr-xr-xtest.rb58
1 files changed, 12 insertions, 46 deletions
diff --git a/test.rb b/test.rb
index b524539..d6cfbe2 100755
--- a/test.rb
+++ b/test.rb
@@ -3,57 +3,23 @@
3require "./lace" 3require "./lace"
4require "./library" 4require "./library"
5 5
6def led(color="red") 6nl = Lace::Netlist.new do
7 comp("D", "0805", "LED", "1.5V 10mA #{color}") - r(220) 7 vcc = net("vcc")
8end 8 gnd = net("gnd")
9
10def inverter()
11 $inverters ||= []
12 if $inverters.empty?
13 u = comp("U", "TSOP-14", "74HCT04", "hex inverter")
14 $vcc - u[14] - c("100n") - u[7] - $gnd
15 $inverters += [
16 pair(u[1], u[2]),
17 pair(u[3], u[4]),
18 pair(u[5], u[6]),
19 pair(u[9], u[8]),
20 pair(u[11], u[10]),
21 pair(u[13], u[12]),
22 ]
23 end
24 $inverters.shift
25end
26
27def btn(color="black")
28 sw = comp("SW", "BTN", "SPST button", color)
29 sw[1] - sw[4]
30 sw[2] - sw[3]
31 pair(sw[1], sw[3])
32end
33 9
34def probe(attenuation=20, impedance=50) 10 stock_ic("inverter", "CD74HC04") do | ic |
35 jack = comp("J", "SMB", "SMB jack", "#{attenuation}x #{impedance}Ω probe") 11 vcc - ic[14] - c("100nF") - ic[7] - gnd
36 jack[2] - jack[3] - jack[4] - jack[5]
37 if attenuation == 1
38 pair(jack[1], jack[2])
39 else
40 pair(r((attenuation-1)*impedance) - jack[1], jack[2])
41 end 12 end
42end
43
44nl = Lace::Netlist.new do
45 $vcc = net("vcc")
46 $gnd = net("gnd")
47 13
48 $vcc - led - $gnd 14 vcc - led(220) - gnd
49 15
50 $vcc - btn - led("green") - $gnd 16 vcc - btn - led(220, "green") - gnd
51 $vcc - btn("orange") - inverter() - led("white") - $gnd 17 vcc - btn("orange") - ic("inverter") - led(220, "white") - gnd
52 18
53 x = $vcc - btn("white") 19 x = vcc - btn("white")
54 x - net("x") - led("amber") - $gnd 20 x - net("x") - led(220, "amber") - gnd
55 x - inverter() - net("x̅") - led("blue") - $gnd 21 x - ic("inverter") - net("xbar") - led(220, "blue") - gnd
56 x - probe - $gnd 22 x - probe - gnd
57end 23end
58 24
59nl.kicad 25nl.kicad