2 # Copyright 2007 by Bdale Garbee <bdale@gag.com>. GPLv2
4 # Program to emit PCB footprint for Motorola 1317 package used by MP3H6115A
7 # dimensions in mm from MP3H6115A.pdf Motorola packaging datasheet
16 # we're going to use the 1/100 of a mil fundamental unit form
18 return int( mm / 25.4 * 1000.0 * 100.0 + 0.5 )
20 print 'Element[0x0 "MOT1317" "" "" 0 0 -10161 -12011 0 100 0x0]'
22 for pin in range (0,4):
24 mm2mils100(pin * PinSpacing + PinWidth/2), \
25 mm2mils100(PinWidth/2), \
26 mm2mils100(pin * PinSpacing + PinWidth/2), \
27 mm2mils100(PinHeight - PinWidth/2), \
28 mm2mils100(PinWidth), \
29 mm2mils100(PinSpacing - PinWidth), \
30 mm2mils100(PinWidth)+600, \
31 '"pin%i"' % (8 - pin), '"%i"' % (8 - pin), '0x0100]'
34 mm2mils100(pin * PinSpacing + PinWidth/2), \
35 mm2mils100(RowSpacing + PinWidth/2), \
36 mm2mils100(pin * PinSpacing + PinWidth/2), \
37 mm2mils100(RowSpacing + PinHeight - PinWidth/2), \
38 mm2mils100(PinWidth), \
39 mm2mils100(PinSpacing - PinWidth), \
40 mm2mils100(PinWidth)+600, \
41 '"pin%i"' % (1 + pin), '"%i"' % (1 + pin), '0x0100]'
43 print ' ElementLine[',\
44 mm2mils100(2 * PinSpacing - .254 - BodySize/2), \
45 mm2mils100(PinHeight/2 + RowSpacing/2 - BodySize/2), \
46 mm2mils100(2 * PinSpacing - .254 + BodySize/2), \
47 mm2mils100(PinHeight/2 + RowSpacing/2 - BodySize/2), \
50 print ' ElementLine[',\
51 mm2mils100(2 * PinSpacing - .254 - BodySize/2), \
52 mm2mils100(PinHeight/2 + RowSpacing/2 + BodySize/2), \
53 mm2mils100(2 * PinSpacing - .254 + BodySize/2), \
54 mm2mils100(PinHeight/2 + RowSpacing/2 + BodySize/2), \
57 print ' ElementLine[',\
58 mm2mils100(2 * PinSpacing - .254 - BodySize/2), \
59 mm2mils100(PinHeight/2 + RowSpacing/2 - BodySize/2), \
60 mm2mils100(2 * PinSpacing - .254 - BodySize/2), \
61 mm2mils100(PinHeight/2 + RowSpacing/2 + BodySize/2), \
64 print ' ElementLine[',\
65 mm2mils100(2 * PinSpacing - .254 + BodySize/2), \
66 mm2mils100(PinHeight/2 + RowSpacing/2 - BodySize/2), \
67 mm2mils100(2 * PinSpacing - .254 + BodySize/2), \
68 mm2mils100(PinHeight/2 + RowSpacing/2 + BodySize/2), \
71 print ' ElementArc[',\
72 mm2mils100(PinWidth/2), \
73 mm2mils100(RowSpacing-PinHeight/4), \
74 '500 500 0 360 1000 ]'