2 # Copyright 2010 by Bdale Garbee <bdale@gag.com>. GPLv2
4 # Program to emit PCB footprint for NHD-0420H1Z-FL-GBW-3V3 4x20 text LCD
7 # dimensions in mm from Newhaven Display International datasheet
13 PinDiam = 0.4 # give it a little clearance
17 # we're going to use the 1/100 of a mil fundamental unit form
19 return int( mm / 25.4 * 1000.0 * 100.0 + 0.5 )
21 print '# author: Bdale Garbee'
22 print '# email: bdale@gag.com'
23 print '# dist-license: GPL 2'
24 print '# use-license: unlimited'
26 print 'Element[0x0 "NHD-LCD" "" "" 0 0 0 0 0 100 0x0]'
30 # pin( x y thickness clearance mask drillhole name number flags)
31 for pin in range (1,9):
38 mm2mils100(-Column/2), \
39 mm2mils100((pin - 4) * Row - (Row/2)), \
40 mm2mils100(PinDiam * 3), \
42 mm2mils100(PinDiam * 3) + 300, \
43 mm2mils100(PinDiam), \
44 '"pin%i"' % (pin), '"%i"' % (pin), Flags, ']'
47 mm2mils100(Column/2), \
48 mm2mils100((pin - 4) * Row - (Row/2)), \
49 mm2mils100(PinDiam * 3), \
51 mm2mils100(PinDiam * 3) + 300, \
52 mm2mils100(PinDiam), \
53 '"pin%i"' % (8+pin), '"%i"' % (8+pin), '0x0001]'
55 print ' ElementLine[',\
56 -mm2mils100(BodyWidth/2), \
57 -mm2mils100(BodyHeight/2), \
58 mm2mils100(BodyWidth/2), \
59 -mm2mils100(BodyHeight/2), \
62 print ' ElementLine[',\
63 -mm2mils100(BodyWidth/2), \
64 -mm2mils100(BodyHeight/2), \
65 -mm2mils100(BodyWidth/2), \
66 mm2mils100(BodyHeight/2), \
69 print ' ElementLine[',\
70 -mm2mils100(BodyWidth/2), \
71 mm2mils100(BodyHeight/2), \
72 mm2mils100(BodyWidth/2), \
73 mm2mils100(BodyHeight/2), \
76 print ' ElementLine[',\
77 mm2mils100(BodyWidth/2), \
78 mm2mils100(BodyHeight/2), \
79 mm2mils100(BodyWidth/2), \
80 -mm2mils100(BodyHeight/2), \