From 4a867960743ab3c2b65bd8acfea41fc7cf878451 Mon Sep 17 00:00:00 2001 From: Bdale Garbee Date: Mon, 18 Mar 2013 15:32:04 -0600 Subject: [PATCH] two more package generators --- packages/0605.py | 68 +++++++++++++++++++++++++++++++++++++++++ packages/MPU6000.py | 74 +++++++++++++++++++++++++++++++++++++++++++++ packages/Makefile | 4 ++- 3 files changed, 145 insertions(+), 1 deletion(-) create mode 100755 packages/0605.py create mode 100755 packages/MPU6000.py diff --git a/packages/0605.py b/packages/0605.py new file mode 100755 index 0000000..a82185c --- /dev/null +++ b/packages/0605.py @@ -0,0 +1,68 @@ +#!/usr/bin/python +# Copyright 2007 by Bdale Garbee . GPLv2 +# +# Program to emit PCB footprint for 0605 dual LED +# + +### WARNING +### origin is on one corner, not in the center, so XYRS will be wrong! + +PinHeight = 0.85 +PinWidth = 0.65 +HSpacing = 0.6 +WSpacing = 0.2 + +import sys + +# we're going to use the 1/100 of a mil fundamental unit form +def mm2mils100( mm ): + return int( mm / 25.4 * 1000.0 * 100.0 + 0.5 ) + +print '# author: Bdale Garbee' +print '# email: bdale@gag.com' +print '# dist-license: GPL 2' +print '# use-license: unlimited' + +print 'Element[0x0 "0605" "" "" 0 0 0 0 0 100 0x0]' +print "(" +print ' Pad[',\ + mm2mils100(PinWidth/2), \ + mm2mils100(PinWidth/2), \ + mm2mils100(PinWidth/2), \ + mm2mils100(PinHeight - PinWidth/2), \ + mm2mils100(PinWidth), \ + mm2mils100(WSpacing - PinWidth), \ + mm2mils100(PinWidth)+600, \ + '"pin2" "2" 0x0100]' + +print ' Pad[',\ + mm2mils100(PinWidth + WSpacing + PinWidth/2), \ + mm2mils100(PinWidth/2), \ + mm2mils100(PinWidth + WSpacing + PinWidth/2), \ + mm2mils100(PinHeight - PinWidth/2), \ + mm2mils100(PinWidth), \ + mm2mils100(WSpacing - PinWidth), \ + mm2mils100(PinWidth)+600, \ + '"pin1" "1" 0x0100]' + +print ' Pad[',\ + mm2mils100(PinWidth/2), \ + mm2mils100(PinHeight + HSpacing + PinWidth/2), \ + mm2mils100(PinWidth/2), \ + mm2mils100(PinHeight + HSpacing + PinHeight - PinWidth/2), \ + mm2mils100(PinWidth), \ + mm2mils100(WSpacing - PinWidth), \ + mm2mils100(PinWidth)+600, \ + '"pin4" "4" 0x0100]' + +print ' Pad[',\ + mm2mils100(PinWidth + WSpacing + PinWidth/2), \ + mm2mils100(PinHeight + HSpacing + PinWidth/2), \ + mm2mils100(PinWidth + WSpacing + PinWidth/2), \ + mm2mils100(PinHeight + HSpacing + PinHeight - PinWidth/2), \ + mm2mils100(PinWidth), \ + mm2mils100(WSpacing - PinWidth), \ + mm2mils100(PinWidth)+600, \ + '"pin3" "3" 0x0100]' + +print ")" diff --git a/packages/MPU6000.py b/packages/MPU6000.py new file mode 100755 index 0000000..dc1f878 --- /dev/null +++ b/packages/MPU6000.py @@ -0,0 +1,74 @@ +#!/usr/bin/python +# Copyright 2011 by Bdale Garbee . GPLv2 +# +# Program to emit PCB footprint for QFN24 package used by ITG-3200 gyro +# + +# dimensions in mm from Invensense PS-ITG-3200-00-01.4.pdf +PinWidth = 0.28 +PinResist = PinWidth + (2 * 0.07) +PinHeight = 0.8 +PinSpacing = 0.50 +Overall = 4.80 + +import sys + +# we're going to use the 1/100 of a mil fundamental unit form +def mm2mils100( mm ): + return int( mm / 25.4 * 1000.0 * 100.0 + 0.5 ) + +print '# author: Bdale Garbee' +print '# email: bdale@gag.com' +print '# dist-license: GPL 2' +print '# use-license: unlimited' + +print 'Element[0x0 "ITG3200" "" "" 0 0 0 0 0 100 0x0]' +print "(" + +# pins +for pin in range (1,7): + print ' Pad[',\ + mm2mils100((-3.5 + pin) * PinSpacing), \ + mm2mils100(-Overall/2 + PinWidth/2), \ + mm2mils100((-3.5 + pin) * PinSpacing), \ + mm2mils100(-Overall/2 + PinHeight - PinWidth/2), \ + mm2mils100(PinWidth), \ + mm2mils100(PinSpacing - PinWidth), \ + mm2mils100(PinResist), \ + '"pin%i"' % (19-pin), '"%i"' % (19-pin), '0x0000]' + + print ' Pad[',\ + mm2mils100((-3.5 + pin) * PinSpacing), \ + mm2mils100(+Overall/2 - PinHeight + PinWidth/2), \ + mm2mils100((-3.5 + pin) * PinSpacing), \ + mm2mils100(+Overall/2 - PinWidth/2), \ + mm2mils100(PinWidth), \ + mm2mils100(PinSpacing - PinWidth), \ + mm2mils100(PinResist), \ + '"pin%i"' % pin, '"%i"' % pin, '0x0000]' + + print ' Pad[',\ + mm2mils100(Overall/2 - PinHeight + PinWidth/2), \ + mm2mils100((-3.5 + pin) * PinSpacing), \ + mm2mils100(Overall/2 - PinWidth/2), \ + mm2mils100((-3.5 + pin) * PinSpacing), \ + mm2mils100(PinWidth), \ + mm2mils100(PinSpacing - PinWidth), \ + mm2mils100(PinResist), \ + '"pin%i"' % (13-pin), '"%i"' % (13-pin), '0x0000]' + + print ' Pad[',\ + mm2mils100(-Overall/2 + PinWidth/2), \ + mm2mils100((-3.5 + pin) * PinSpacing), \ + mm2mils100(-Overall/2 + PinHeight - PinWidth/2), \ + mm2mils100((-3.5 + pin) * PinSpacing), \ + mm2mils100(PinWidth), \ + mm2mils100(PinSpacing - PinWidth), \ + mm2mils100(PinResist), \ + '"pin%i"' % (18+pin), '"%i"' % (18+pin), '0x0000]' + +print ' ElementArc[',\ + mm2mils100(-(Overall/2)), \ + mm2mils100(Overall/2), \ + '500 500 0 360 1000 ]' +print ")" diff --git a/packages/Makefile b/packages/Makefile index ad7703c..45c74c5 100644 --- a/packages/Makefile +++ b/packages/Makefile @@ -17,7 +17,9 @@ FOOTPRINTS= \ lqfp48.fp \ lqfp64.fp \ lqfp100.fp \ - LPCC16.fp + LPCC16.fp \ + 0605.fp \ + MPU6000.fp .5c.fp: nickle $*.5c > $@ -- 2.47.2