From: Bdale Garbee Date: Thu, 19 Sep 2013 22:14:14 +0000 (-0500) Subject: add new footprint for LT1963 on Fox IHU, have Makefile build recent footprints X-Git-Tag: telelco-v3.0~849^2~2 X-Git-Url: https://git.gag.com/?a=commitdiff_plain;h=8bbb6f4239f8f6cb841794ab000c867d473529ed;p=hw%2Faltusmetrum add new footprint for LT1963 on Fox IHU, have Makefile build recent footprints --- diff --git a/packages/Makefile b/packages/Makefile index 7e01bca..c5b283d 100644 --- a/packages/Makefile +++ b/packages/Makefile @@ -42,7 +42,9 @@ FOOTPRINTS= \ ADXL78.fp \ MOT1317.fp \ mlp8-4x3.fp \ - saw.fp + saw.fp \ + cubesatshield.fp \ + linear-s8.fp .5c.fp: nickle $*.5c > $@ diff --git a/packages/linear-s8.py b/packages/linear-s8.py new file mode 100755 index 0000000..4fda465 --- /dev/null +++ b/packages/linear-s8.py @@ -0,0 +1,85 @@ +#!/usr/bin/python +# Copyright 2013 by Bdale Garbee . GPLv2 +# +# Program to emit PCB footprint for Linear Technologies S8 footprint, +# which is used on parts like the LT1963A series. +# + +# dimensions in inches from 1963aff.pdf +PinWidth = 0.030 +PinHeight = 0.045 +PinSpacing = 0.050 +RowSpacing = 0.160 +BodyWidth = 0.197 +BodyHeight = 0.157 + +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 ) +def inch2mils100( inch ): + return int( inch * 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 "MOT1317" "" "" 0 0 -10161 -12011 0 100 0x0]' +print "(" +for pin in range (0,4): + print ' Pad[',\ + inch2mils100((pin-1.5) * PinSpacing), \ + inch2mils100(-(RowSpacing/2 + PinWidth/2)), \ + inch2mils100((pin-1.5) * PinSpacing), \ + inch2mils100(-(RowSpacing/2 + PinHeight - PinWidth/2)), \ + inch2mils100(PinWidth), \ + inch2mils100(PinSpacing - PinWidth), \ + inch2mils100(PinWidth)+600, \ + '"pin%i"' % (8 - pin), '"%i"' % (8 - pin), '0x0100]' + + print ' Pad[',\ + inch2mils100((pin-1.5) * PinSpacing), \ + inch2mils100(RowSpacing/2 + PinWidth/2), \ + inch2mils100((pin-1.5) * PinSpacing), \ + inch2mils100(RowSpacing/2 + PinHeight - PinWidth/2), \ + inch2mils100(PinWidth), \ + inch2mils100(PinSpacing - PinWidth), \ + inch2mils100(PinWidth)+600, \ + '"pin%i"' % (1 + pin), '"%i"' % (1 + pin), '0x0100]' + +#print ' ElementLine[',\ +# inch2mils100(-BodyHeight/2), \ +# inch2mils100(-BodyWidth/2), \ +# inch2mils100(-BodyHeight/2), \ +# inch2mils100( BodyWidth/2), \ +# '1000 ]' +# +#print ' ElementLine[',\ +# inch2mils100(-BodyHeight/2), \ +# inch2mils100( BodyWidth/2), \ +# inch2mils100( BodyHeight/2), \ +# inch2mils100( BodyWidth/2), \ +# '1000 ]' +# +#print ' ElementLine[',\ +# inch2mils100( BodyHeight/2), \ +# inch2mils100( BodyWidth/2), \ +# inch2mils100( BodyHeight/2), \ +# inch2mils100(-BodyWidth/2), \ +# '1000 ]' +# +#print ' ElementLine[',\ +# inch2mils100( BodyHeight/2), \ +# inch2mils100(-BodyWidth/2), \ +# inch2mils100(-BodyHeight/2), \ +# inch2mils100(-BodyWidth/2), \ +# '1000 ]' + +print ' ElementArc[',\ + inch2mils100(-1.5 * PinSpacing), \ + inch2mils100(RowSpacing/3), \ + '500 500 0 360 1000 ]' + +print ")"