2 # Copyright 2007 by Bdale Garbee <bdale@gag.com>. GPLv2
4 # Program to emit PCB footprint for
5 # Molex 1.25mm PicoBlade(tm), right angle SMT header 53261-XX71, 2-15 pins
7 # Needs pin count on command line, in range of 2..15
10 # dimensions in mm from 532611071_sd.pdf datasheet
21 # we're going to use the 1/100 of a mil fundamental unit form
23 return int( mm / 25.4 * 1000.0 * 100.0 + 0.5 )
25 pins = int(sys.argv[1])
27 sys.stderr.write('Must be at least 2 pins\n')
30 sys.stderr.write('Must be no more than 15 pins\n')
33 print 'Element[0x0 "PicoBlade%i"' % pins,'"" "" 0 0 0 0 0 100 0x0]'
35 for pin in range (1,pins+1):
36 pinnum = pins + 1 - pin
38 mm2mils100(FirstPin + (pin-1)*PinSpacing), \
39 mm2mils100(TabHeight+TabPinSpacing+PinWidth/2), \
40 mm2mils100(FirstPin + (pin-1)*PinSpacing), \
41 mm2mils100(TabHeight+TabPinSpacing+PinHeight-PinWidth/2), \
42 mm2mils100(PinWidth), \
43 mm2mils100(PinSpacing - PinWidth), \
44 mm2mils100(PinWidth + 0.1), \
45 '"pin%i"' % pinnum, '"%i"' % pinnum, '0x0100]'
49 mm2mils100(TabWidth/2), \
50 mm2mils100(TabWidth/2), \
51 mm2mils100(TabWidth/2), \
52 mm2mils100(TabHeight - TabWidth/2), \
53 mm2mils100(TabWidth), \
54 mm2mils100(PinSpacing - PinWidth), \
55 mm2mils100(TabWidth + 0.1), \
59 mm2mils100(FirstPin*2 + (pins-1)*PinSpacing - TabWidth/2), \
60 mm2mils100(TabWidth/2), \
61 mm2mils100(FirstPin*2 + (pins-1)*PinSpacing - TabWidth/2), \
62 mm2mils100(TabHeight - TabWidth/2), \
63 mm2mils100(TabWidth), \
64 mm2mils100(PinSpacing - PinWidth), \
65 mm2mils100(TabWidth + 0.1), \