X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=packages%2Fqfn-16.py;fp=packages%2Fqfn-16.py;h=0000000000000000000000000000000000000000;hb=ea334d5bb93d4a54c8954855bf7226b4ee2acbbb;hp=f07317bc5e2e972dde40cb5cef749b504ff4423f;hpb=89aa1c3d304b1b3b10ba84d1e6775b8dea5128db;p=hw%2Ftelegps diff --git a/packages/qfn-16.py b/packages/qfn-16.py deleted file mode 100644 index f07317b..0000000 --- a/packages/qfn-16.py +++ /dev/null @@ -1,145 +0,0 @@ -#!/usr/bin/python -# Copyright 2011 by Bdale Garbee . GPLv2 -# -# Program to emit PCB footprint for QFN-16 package used by the RFPA0133 -# - -# dimensions in mm from the RFPA0133 - -PinWidth = 0.28 # b -PinHeight = 1 # L -PinSpacing = 0.50 # e -Overall = 4.25 # E -GndSquare = 1.7 # D2 & E2 -CoreSquare = 1.7 -PinClearance = 2 * (PinSpacing - PinWidth) - -# ATMEL specifies 120-150 microns between pad and solder mask -# AT88RF1354 Appplication note -# -PinResist = PinWidth + (2 * 0.07) - -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: Keith Packard' -print '# email: keithp@keithp.com' -print '# dist-license: GPL 2' -print '# use-license: unlimited' - -print 'Element[0x0 "qfn-16" "" "" 0 0 0 0 0 100 0x0]' -print "(" - -# pad under the chip, must be grounded -print ' Pad[',\ - mm2mils100(0), \ - mm2mils100(0), \ - mm2mils100(0), \ - mm2mils100(0), \ - mm2mils100(GndSquare), \ - mm2mils100(PinClearance), \ - mm2mils100(PinResist), \ - '"pin17" "17" "square,nopaste"]' - -# vias in the ground pad under the chip -for viarow in range (-1,1): - for viacol in range (-1,1): - print ' Pin[',\ - mm2mils100(1.8 * viacol * CoreSquare / 3 + .9 * CoreSquare/3), \ - mm2mils100(1.8 * viarow * CoreSquare / 3 + .9 * CoreSquare/3), \ - 2600, \ - 2500, \ - 0, \ - 1300, \ - '"pin17" "17" 0x0002]' - -# break pad under chip into a grid to control the resist and paste masks - -blocks=3; - -for viarow in range (-1, 2): - for viacol in range (-1, 2): - if (viarow in (-1, 1)) and (viacol in (-1, 1)): - # copper sub-square with resist over vias - print ' Pad[',\ - mm2mils100(viacol * CoreSquare / blocks), \ - mm2mils100(viarow * CoreSquare / blocks), \ - mm2mils100(viacol * CoreSquare / blocks), \ - mm2mils100(viarow * CoreSquare / blocks), \ - mm2mils100((CoreSquare)/blocks), \ - 0, \ - 0, \ - '"pin17" "17" "square,nopaste"]' - else: - # copper sub-square without resist - print ' Pad[',\ - mm2mils100(viacol * CoreSquare / blocks), \ - mm2mils100(viarow * CoreSquare / blocks), \ - mm2mils100(viacol * CoreSquare / blocks), \ - mm2mils100(viarow * CoreSquare / blocks), \ - mm2mils100((CoreSquare)/blocks), \ - 0, \ - mm2mils100((CoreSquare)/blocks), \ - '"pin17" "17" "square,nopaste"]' - # copper spot to control paste mask generation - print ' Pad[',\ - mm2mils100(viacol * CoreSquare / blocks), \ - mm2mils100(viarow * CoreSquare / blocks), \ - mm2mils100(viacol * CoreSquare / blocks), \ - mm2mils100(viarow * CoreSquare / blocks), \ - 1500, \ - 0, \ - mm2mils100((CoreSquare)/blocks), \ - '"pin17" "17" "square"]' - -# pins -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(PinClearance), \ - mm2mils100(PinResist), \ - '"pin%i"' % (13-pin), '"%i"' % (13-pin), '0x0000]' - - 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(PinClearance), \ - mm2mils100(PinResist), \ - '"pin%i"' % pin, '"%i"' % pin, '0x0000]' - - 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(PinClearance), \ - mm2mils100(PinResist), \ - '"pin%i"' % (9-pin), '"%i"' % (9-pin), '0x0000]' - - 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(PinClearance), \ - mm2mils100(PinResist), \ - '"pin%i"' % (12+pin), '"%i"' % (12+pin), '0x0000]' - -print ' ElementArc[',\ - mm2mils100(-2.0), \ - mm2mils100(2.0), \ - '500 500 0 360 1000 ]' -print ")"