From: Bdale Garbee Date: Mon, 18 Mar 2013 21:14:42 +0000 (-0600) Subject: add LPCC16 footprint for HMC5883L X-Git-Tag: telelco-v3.0~919 X-Git-Url: https://git.gag.com/?a=commitdiff_plain;h=00a92db45ae720b58ce20be10b0f3573751b5d7b;p=hw%2Faltusmetrum add LPCC16 footprint for HMC5883L --- 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 > $@