From 00a92db45ae720b58ce20be10b0f3573751b5d7b Mon Sep 17 00:00:00 2001 From: Bdale Garbee Date: Mon, 18 Mar 2013 15:14:42 -0600 Subject: [PATCH] add LPCC16 footprint for HMC5883L --- packages/LPCC16.py | 72 ++++++++++++++++++++++++++++++++++++++++++++++ packages/Makefile | 3 +- 2 files changed, 74 insertions(+), 1 deletion(-) create mode 100755 packages/LPCC16.py diff --git a/packages/LPCC16.py b/packages/LPCC16.py new file mode 100755 index 0000000..ba6d9b5 --- /dev/null +++ b/packages/LPCC16.py @@ -0,0 +1,72 @@ +#!/usr/bin/python +# Copyright 2012 by Bdale Garbee . GPLv2 +# +# Program to emit PCB footprint for LPCC 16 package used by HMC5883L +# + +# dimensions in mm from DS00049AR.pdf Microchip packaging datasheet +PinWidth = 0.300 +PinHeight = 0.450 +PinSpacing = 0.500 +Overall = 3.0 + +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 "LPCC16" "" "" 0 0 0 0 0 100 0x0]' +print "(" + +for pin in range (1,5): + print ' Pad[',\ + mm2mils100((-2.5 + pin) * PinSpacing), \ + mm2mils100(-Overall/2 + PinWidth/2), \ + mm2mils100((-2.5 + pin) * PinSpacing), \ + mm2mils100(-Overall/2 + PinHeight - PinWidth/2), \ + mm2mils100(PinWidth), \ + mm2mils100(PinSpacing - PinWidth), \ + mm2mils100(PinWidth + 0.1), \ + '"pin%i"' % (13-pin), '"%i"' % (13-pin), '0x0100]' + + print ' Pad[',\ + mm2mils100((-2.5 + pin) * PinSpacing), \ + mm2mils100(+Overall/2 - PinHeight + PinWidth/2), \ + mm2mils100((-2.5 + pin) * PinSpacing), \ + mm2mils100(+Overall/2 - PinWidth/2), \ + mm2mils100(PinWidth), \ + mm2mils100(PinSpacing - PinWidth), \ + mm2mils100(PinWidth + 0.1), \ + '"pin%i"' % pin, '"%i"' % pin, '0x0100]' + + print ' Pad[',\ + mm2mils100(Overall/2 - PinHeight + PinWidth/2), \ + mm2mils100((-2.5 + pin) * PinSpacing), \ + mm2mils100(Overall/2 - PinWidth/2), \ + mm2mils100((-2.5 + pin) * PinSpacing), \ + mm2mils100(PinWidth), \ + mm2mils100(PinSpacing - PinWidth), \ + mm2mils100(PinWidth + 0.1), \ + '"pin%i"' % (9-pin), '"%i"' % (9-pin), '0x0100]' + + print ' Pad[',\ + mm2mils100(-Overall/2 + PinWidth/2), \ + mm2mils100((-2.5 + pin) * PinSpacing), \ + mm2mils100(-Overall/2 + PinHeight - PinWidth/2), \ + mm2mils100((-2.5 + pin) * PinSpacing), \ + mm2mils100(PinWidth), \ + mm2mils100(PinSpacing - PinWidth), \ + mm2mils100(PinWidth + 0.1), \ + '"pin%i"' % (12+pin), '"%i"' % (12+pin), '0x0100]' + +print ' ElementArc[',\ + mm2mils100(-Overall/2), \ + mm2mils100(Overall/2), \ + '500 500 0 360 1000 ]' +print ")" diff --git a/packages/Makefile b/packages/Makefile index 9278881..4ca8b85 100644 --- a/packages/Makefile +++ b/packages/Makefile @@ -16,7 +16,8 @@ FOOTPRINTS= \ AN3111.fp \ lqfp48.fp \ lqfp64.fp \ - lqfp100.fp + lqfp100.fp \ + LPCC16.fp .5c.fp: nickle $*.5c > $@ -- 2.30.2