From b7eae1888f41ce45227b4f37659f1086fe367912 Mon Sep 17 00:00:00 2001 From: Bdale Garbee Date: Thu, 18 Nov 2010 15:44:08 -0700 Subject: [PATCH] rename some footprints to be less generic --- pkg/newlib/DFN10_EP.fp | 22 ++--- pkg/newlib/MCP-DFN10.fp | 29 +++++++ pkg/newlib/MCP-DFN10.py | 120 +++++++++++++++++++++++++++ pkg/newlib/TI-QFN36.fp | 95 +++++++++++++++++++++ pkg/newlib/{QFN36.py => TI-QFN36.py} | 0 pkg/newlib/molex/picoblade-th-v.py | 38 ++++----- 6 files changed, 274 insertions(+), 30 deletions(-) create mode 100644 pkg/newlib/MCP-DFN10.fp create mode 100755 pkg/newlib/MCP-DFN10.py create mode 100644 pkg/newlib/TI-QFN36.fp rename pkg/newlib/{QFN36.py => TI-QFN36.py} (100%) diff --git a/pkg/newlib/DFN10_EP.fp b/pkg/newlib/DFN10_EP.fp index 204d3d7..17dce5b 100644 --- a/pkg/newlib/DFN10_EP.fp +++ b/pkg/newlib/DFN10_EP.fp @@ -24,19 +24,19 @@ Element[0x00000000 "Dual-Flat-Nolead-DFN-10pin-0.5mm-pitch-exposed-pad-package-3 # soldermask, "pin name", "pin number", flags] # bottom row - Pad[-3937 7185 -3937 5020 1181 1600 1381 "1" "1" 0x00000100] - Pad[-1969 7185 -1969 5020 1181 1600 1381 "2" "2" 0x00000100] - Pad[ 0 7185 0 5020 1181 1600 1381 "3" "3" 0x00000100] - Pad[ 1969 7185 1969 5020 1181 1600 1381 "4" "4" 0x00000100] - Pad[ 3937 7185 3937 5020 1181 1600 1381 "5" "5" 0x00000100] + Pad[-3937 7185 -3937 5020 1181 1600 1781 "1" "1" 0x00000100] + Pad[-1969 7185 -1969 5020 1181 1600 1781 "2" "2" 0x00000100] + Pad[ 0 7185 0 5020 1181 1600 1781 "3" "3" 0x00000100] + Pad[ 1969 7185 1969 5020 1181 1600 1781 "4" "4" 0x00000100] + Pad[ 3937 7185 3937 5020 1181 1600 1781 "5" "5" 0x00000100] # top row - Pad[ 3937 -7185 3937 -5020 1181 1600 1381 "6" "6" 0x00000100] - Pad[ 1969 -7185 1969 -5020 1181 1600 1381 "7" "7" 0x00000100] - Pad[ 0 -7185 0 -5020 1181 1600 1381 "8" "8" 0x00000100] - Pad[-1969 -7185 -1969 -5020 1181 1600 1381 "9" "9" 0x00000100] - Pad[-3937 -7185 -3937 -5020 1181 1600 1381 "10" "10" 0x00000100] + Pad[ 3937 -7185 3937 -5020 1181 1600 1781 "6" "6" 0x00000100] + Pad[ 1969 -7185 1969 -5020 1181 1600 1781 "7" "7" 0x00000100] + Pad[ 0 -7185 0 -5020 1181 1600 1781 "8" "8" 0x00000100] + Pad[-1969 -7185 -1969 -5020 1181 1600 1781 "9" "9" 0x00000100] + Pad[-3937 -7185 -3937 -5020 1181 1600 1781 "10" "10" 0x00000100] # Exposed paddle (if this is an exposed paddle part) - Pad[ -1457 0 1457 0 6496 1600 6796 "11" "11" 0x00000100] + Pad[ -1457 0 1457 0 6496 1600 7096 "11" "11" 0x00000100] ) diff --git a/pkg/newlib/MCP-DFN10.fp b/pkg/newlib/MCP-DFN10.fp new file mode 100644 index 0000000..85db7bf --- /dev/null +++ b/pkg/newlib/MCP-DFN10.fp @@ -0,0 +1,29 @@ +# author: Bdale Garbee +# email: bdale@gag.com +# dist-license: GPL 2 +# use-license: unlimited +Element[0x0 "DFN10" "" "" 0 0 0 0 0 100 0x0] +( + Pad[ -1830 0 1831 0 6102 0 6702 "pin11" "11" "square"] + Pin[ -3254 -1525 2800 1000 0 1500 "pin11" "11" 0x0002] + Pin[ 0 -1525 2800 1000 0 1500 "pin11" "11" 0x0002] + Pin[ 3255 -1525 2800 1000 0 1500 "pin11" "11" 0x0002] + Pin[ -3254 1526 2800 1000 0 1500 "pin11" "11" 0x0002] + Pin[ 0 1526 2800 1000 0 1500 "pin11" "11" 0x0002] + Pin[ 3255 1526 2800 1000 0 1500 "pin11" "11" 0x0002] + Pad[ -3936 -5412 -3936 -6790 1181 787 1583 "pin10" "10" "square"] + Pad[ -3936 5413 -3936 6791 1181 787 1583 "pin1" "1" "square"] + Pad[ -1968 -5412 -1968 -6790 1181 787 1583 "pin9" "9" "square"] + Pad[ -1968 5413 -1968 6791 1181 787 1583 "pin2" "2" "square"] + Pad[ 0 -5412 0 -6790 1181 787 1583 "pin8" "8" "square"] + Pad[ 0 5413 0 6791 1181 787 1583 "pin3" "3" "square"] + Pad[ 1969 -5412 1969 -6790 1181 787 1583 "pin7" "7" "square"] + Pad[ 1969 5413 1969 6791 1181 787 1583 "pin4" "4" "square"] + Pad[ 3937 -5412 3937 -6790 1181 787 1583 "pin6" "6" "square"] + Pad[ 3937 5413 3937 6791 1181 787 1583 "pin5" "5" "square"] + ElementLine[ -5906 -5906 5906 -5906 500 ] + ElementLine[ -5906 -5906 -5906 5906 500 ] + ElementLine[ -5906 5906 5906 5906 500 ] + ElementLine[ 5906 5906 5906 -5906 500 ] + ElementArc[ -5905 5906 500 500 0 360 1000 ] +) diff --git a/pkg/newlib/MCP-DFN10.py b/pkg/newlib/MCP-DFN10.py new file mode 100755 index 0000000..0013a2a --- /dev/null +++ b/pkg/newlib/MCP-DFN10.py @@ -0,0 +1,120 @@ +#!/usr/bin/python +# Copyright 2008 by Bdale Garbee . GPLv2 +# +# Program to emit PCB footprint for DFN10 package used by Microchip MCP73837 +# + +# dimensions in mm from the Microchip en012702.pdf datasheet +PinWidth = 0.30 +PinResist = 0.402 # width of gap in solder resist over pad +PinHeight = 0.65 +PinSpacing = 0.50 +RowSpacing = 3.10 +PaddleLength = 2.48 +PaddleWidth = 1.55 +Length = 3.00 +Width = 3.00 + +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 "DFN10" "" "" 0 0 0 0 0 100 0x0]' +print "(" + +# pad under the chip, must be grounded +print ' Pad[',\ + mm2mils100(-PaddleLength/2 + PaddleWidth/2), \ + mm2mils100(0), \ + mm2mils100(PaddleLength/2 - PaddleWidth/2), \ + mm2mils100(0), \ + mm2mils100(PaddleWidth), \ + 0, \ + mm2mils100(PaddleWidth)+600, \ + '"pin11" "11" "square"]' + +## vias in the ground pad under the chip +for viarow in range (-1,2,2): + for viacol in range (-1,2): + print ' Pin[',\ + mm2mils100(viacol * PaddleLength / 3), \ + mm2mils100(viarow * PaddleWidth / 4), \ + 2800, \ + 1000, \ + 0, \ + 1500, \ + '"pin11" "11" 0x0002]' + +# pins +for pin in range (1,6): + print ' Pad[',\ + mm2mils100((pin - 3) * PinSpacing), \ + mm2mils100(-RowSpacing/2 + PinHeight/2 - PinWidth/2), \ + mm2mils100((pin - 3) * PinSpacing), \ + mm2mils100(-RowSpacing/2 - PinHeight/2 + PinWidth/2), \ + mm2mils100(PinWidth), \ + mm2mils100(PinSpacing - PinWidth), \ + mm2mils100(PinResist), \ + '"pin%i"' % (11-pin), '"%i"' % (11-pin), '"square"]' + + print ' Pad[',\ + mm2mils100((pin - 3) * PinSpacing), \ + mm2mils100(+RowSpacing/2 - PinHeight/2 + PinWidth/2), \ + mm2mils100((pin - 3) * PinSpacing), \ + mm2mils100(+RowSpacing/2 + PinHeight/2 - PinWidth/2), \ + mm2mils100(PinWidth), \ + mm2mils100(PinSpacing - PinWidth), \ + mm2mils100(PinResist), \ + '"pin%i"' % pin, '"%i"' % pin, '"square"]' + +# print ' Pad[',\ +# mm2mils100(-2.5 + pin * PinSpacing), \ +# mm2mils100(+PinSpacing/2 - PinHeight + PinWidth/2), \ +# mm2mils100(-2.5 + pin * PinSpacing), \ +# mm2mils100(+PinSpacing/2 - PinWidth/2), \ +# mm2mils100(PinWidth), \ +# mm2mils100(PinSpacing - PinWidth), \ +# mm2mils100(PinResist), \ +# '"pin%i"' % pin, '"%i"' % pin, '0x0000]' + +print ' ElementLine[',\ + -mm2mils100(Length/2), \ + -mm2mils100(Width/2), \ + mm2mils100(Length/2), \ + -mm2mils100(Width/2), \ + 500, \ + ']' +print ' ElementLine[',\ + -mm2mils100(Length/2), \ + -mm2mils100(Width/2), \ + -mm2mils100(Length/2), \ + mm2mils100(Width/2), \ + 500, \ + ']' +print ' ElementLine[',\ + -mm2mils100(Length/2), \ + mm2mils100(Width/2), \ + mm2mils100(Length/2), \ + mm2mils100(Width/2), \ + 500, \ + ']' +print ' ElementLine[',\ + mm2mils100(Length/2), \ + mm2mils100(Width/2), \ + mm2mils100(Length/2), \ + -mm2mils100(Width/2), \ + 500, \ + ']' + +print ' ElementArc[',\ + mm2mils100(-Length/2), \ + mm2mils100(Width/2), \ + '500 500 0 360 1000 ]' +print ")" diff --git a/pkg/newlib/TI-QFN36.fp b/pkg/newlib/TI-QFN36.fp new file mode 100644 index 0000000..a2e90af --- /dev/null +++ b/pkg/newlib/TI-QFN36.fp @@ -0,0 +1,95 @@ +# author: Bdale Garbee +# email: bdale@gag.com +# dist-license: GPL 2 +# use-license: unlimited +Element[0x0 "QFN36" "" "" 0 0 0 0 0 100 0x0] +( + Pad[ 0 0 0 0 17323 0 0 "pin37" "37" "square,nopaste"] + Pin[ -5919 -5919 2800 1000 0 1500 "pin37" "37" 0x0002] + Pin[ 0 -5919 2800 1000 0 1500 "pin37" "37" 0x0002] + Pin[ 5920 -5919 2800 1000 0 1500 "pin37" "37" 0x0002] + Pin[ -5919 0 2800 1000 0 1500 "pin37" "37" 0x0002] + Pin[ 0 0 2800 1000 0 1500 "pin37" "37" 0x0002] + Pin[ 5920 0 2800 1000 0 1500 "pin37" "37" 0x0002] + Pin[ -5919 5920 2800 1000 0 1500 "pin37" "37" 0x0002] + Pin[ 0 5920 2800 1000 0 1500 "pin37" "37" 0x0002] + Pin[ 5920 5920 2800 1000 0 1500 "pin37" "37" 0x0002] + Pad[ -5919 -5919 -5919 -5919 2960 0 0 "pin37" "37" "square,nopaste"] + Pad[ -2959 -5919 -2959 -5919 2960 0 2960 "pin37" "37" "square,nopaste"] + Pad[ -2959 -5919 -2959 -5919 1500 0 2960 "pin37" "37" "square"] + Pad[ 0 -5919 0 -5919 2960 0 0 "pin37" "37" "square,nopaste"] + Pad[ 2960 -5919 2960 -5919 2960 0 2960 "pin37" "37" "square,nopaste"] + Pad[ 2960 -5919 2960 -5919 1500 0 2960 "pin37" "37" "square"] + Pad[ 5920 -5919 5920 -5919 2960 0 0 "pin37" "37" "square,nopaste"] + Pad[ -5919 -2959 -5919 -2959 2960 0 2960 "pin37" "37" "square,nopaste"] + Pad[ -5919 -2959 -5919 -2959 1500 0 2960 "pin37" "37" "square"] + Pad[ -2959 -2959 -2959 -2959 2960 0 2960 "pin37" "37" "square,nopaste"] + Pad[ -2959 -2959 -2959 -2959 1500 0 2960 "pin37" "37" "square"] + Pad[ 0 -2959 0 -2959 2960 0 2960 "pin37" "37" "square,nopaste"] + Pad[ 0 -2959 0 -2959 1500 0 2960 "pin37" "37" "square"] + Pad[ 2960 -2959 2960 -2959 2960 0 2960 "pin37" "37" "square,nopaste"] + Pad[ 2960 -2959 2960 -2959 1500 0 2960 "pin37" "37" "square"] + Pad[ 5920 -2959 5920 -2959 2960 0 2960 "pin37" "37" "square,nopaste"] + Pad[ 5920 -2959 5920 -2959 1500 0 2960 "pin37" "37" "square"] + Pad[ -5919 0 -5919 0 2960 0 0 "pin37" "37" "square,nopaste"] + Pad[ -2959 0 -2959 0 2960 0 2960 "pin37" "37" "square,nopaste"] + Pad[ -2959 0 -2959 0 1500 0 2960 "pin37" "37" "square"] + Pad[ 0 0 0 0 2960 0 0 "pin37" "37" "square,nopaste"] + Pad[ 2960 0 2960 0 2960 0 2960 "pin37" "37" "square,nopaste"] + Pad[ 2960 0 2960 0 1500 0 2960 "pin37" "37" "square"] + Pad[ 5920 0 5920 0 2960 0 0 "pin37" "37" "square,nopaste"] + Pad[ -5919 2960 -5919 2960 2960 0 2960 "pin37" "37" "square,nopaste"] + Pad[ -5919 2960 -5919 2960 1500 0 2960 "pin37" "37" "square"] + Pad[ -2959 2960 -2959 2960 2960 0 2960 "pin37" "37" "square,nopaste"] + Pad[ -2959 2960 -2959 2960 1500 0 2960 "pin37" "37" "square"] + Pad[ 0 2960 0 2960 2960 0 2960 "pin37" "37" "square,nopaste"] + Pad[ 0 2960 0 2960 1500 0 2960 "pin37" "37" "square"] + Pad[ 2960 2960 2960 2960 2960 0 2960 "pin37" "37" "square,nopaste"] + Pad[ 2960 2960 2960 2960 1500 0 2960 "pin37" "37" "square"] + Pad[ 5920 2960 5920 2960 2960 0 2960 "pin37" "37" "square,nopaste"] + Pad[ 5920 2960 5920 2960 1500 0 2960 "pin37" "37" "square"] + Pad[ -5919 5920 -5919 5920 2960 0 0 "pin37" "37" "square,nopaste"] + Pad[ -2959 5920 -2959 5920 2960 0 2960 "pin37" "37" "square,nopaste"] + Pad[ -2959 5920 -2959 5920 1500 0 2960 "pin37" "37" "square"] + Pad[ 0 5920 0 5920 2960 0 0 "pin37" "37" "square,nopaste"] + Pad[ 2960 5920 2960 5920 2960 0 2960 "pin37" "37" "square,nopaste"] + Pad[ 2960 5920 2960 5920 1500 0 2960 "pin37" "37" "square"] + Pad[ 5920 5920 5920 5920 2960 0 0 "pin37" "37" "square,nopaste"] + Pad[ -7873 -11849 -7873 -9999 1102 866 1500 "pin27" "27" 0x0000] + Pad[ -7873 10000 -7873 11850 1102 866 1500 "pin1" "1" 0x0000] + Pad[ 10000 -7873 11850 -7873 1102 866 1500 "pin18" "18" 0x0000] + Pad[ -11849 -7873 -9999 -7873 1102 866 1500 "pin28" "28" 0x0000] + Pad[ -5905 -11849 -5905 -9999 1102 866 1500 "pin26" "26" 0x0000] + Pad[ -5905 10000 -5905 11850 1102 866 1500 "pin2" "2" 0x0000] + Pad[ 10000 -5905 11850 -5905 1102 866 1500 "pin17" "17" 0x0000] + Pad[ -11849 -5905 -9999 -5905 1102 866 1500 "pin29" "29" 0x0000] + Pad[ -3936 -11849 -3936 -9999 1102 866 1500 "pin25" "25" 0x0000] + Pad[ -3936 10000 -3936 11850 1102 866 1500 "pin3" "3" 0x0000] + Pad[ 10000 -3936 11850 -3936 1102 866 1500 "pin16" "16" 0x0000] + Pad[ -11849 -3936 -9999 -3936 1102 866 1500 "pin30" "30" 0x0000] + Pad[ -1968 -11849 -1968 -9999 1102 866 1500 "pin24" "24" 0x0000] + Pad[ -1968 10000 -1968 11850 1102 866 1500 "pin4" "4" 0x0000] + Pad[ 10000 -1968 11850 -1968 1102 866 1500 "pin15" "15" 0x0000] + Pad[ -11849 -1968 -9999 -1968 1102 866 1500 "pin31" "31" 0x0000] + Pad[ 0 -11849 0 -9999 1102 866 1500 "pin23" "23" 0x0000] + Pad[ 0 10000 0 11850 1102 866 1500 "pin5" "5" 0x0000] + Pad[ 10000 0 11850 0 1102 866 1500 "pin14" "14" 0x0000] + Pad[ -11849 0 -9999 0 1102 866 1500 "pin32" "32" 0x0000] + Pad[ 1969 -11849 1969 -9999 1102 866 1500 "pin22" "22" 0x0000] + Pad[ 1969 10000 1969 11850 1102 866 1500 "pin6" "6" 0x0000] + Pad[ 10000 1969 11850 1969 1102 866 1500 "pin13" "13" 0x0000] + Pad[ -11849 1969 -9999 1969 1102 866 1500 "pin33" "33" 0x0000] + Pad[ 3937 -11849 3937 -9999 1102 866 1500 "pin21" "21" 0x0000] + Pad[ 3937 10000 3937 11850 1102 866 1500 "pin7" "7" 0x0000] + Pad[ 10000 3937 11850 3937 1102 866 1500 "pin12" "12" 0x0000] + Pad[ -11849 3937 -9999 3937 1102 866 1500 "pin34" "34" 0x0000] + Pad[ 5906 -11849 5906 -9999 1102 866 1500 "pin20" "20" 0x0000] + Pad[ 5906 10000 5906 11850 1102 866 1500 "pin8" "8" 0x0000] + Pad[ 10000 5906 11850 5906 1102 866 1500 "pin11" "11" 0x0000] + Pad[ -11849 5906 -9999 5906 1102 866 1500 "pin35" "35" 0x0000] + Pad[ 7874 -11849 7874 -9999 1102 866 1500 "pin19" "19" 0x0000] + Pad[ 7874 10000 7874 11850 1102 866 1500 "pin9" "9" 0x0000] + Pad[ 10000 7874 11850 7874 1102 866 1500 "pin10" "10" 0x0000] + Pad[ -11849 7874 -9999 7874 1102 866 1500 "pin36" "36" 0x0000] + ElementArc[ -10235 10236 500 500 0 360 1000 ] +) diff --git a/pkg/newlib/QFN36.py b/pkg/newlib/TI-QFN36.py similarity index 100% rename from pkg/newlib/QFN36.py rename to pkg/newlib/TI-QFN36.py diff --git a/pkg/newlib/molex/picoblade-th-v.py b/pkg/newlib/molex/picoblade-th-v.py index 5f94ed3..a25f161 100755 --- a/pkg/newlib/molex/picoblade-th-v.py +++ b/pkg/newlib/molex/picoblade-th-v.py @@ -10,7 +10,7 @@ # dimensions in mm from 530470410_sd.pdf datasheet PinDiam = 0.52 PinSpacing = 1.25 -RowOffset = 1.15 +BoxOffset = 1.15 BoxHeight = 3.2 BoxEnd = 1.5 LineWidth = 600 @@ -43,8 +43,8 @@ for pin in range (1,pins+1): else: Flags = '0x0001' print ' Pin[', \ - mm2mils100(BoxEnd + (pin-1)*PinSpacing), \ - mm2mils100(RowOffset), \ + mm2mils100((pins-1)*PinSpacing - (pin-1)*PinSpacing), \ + 0, \ 3500, \ 1200, \ 4100, \ @@ -54,31 +54,31 @@ for pin in range (1,pins+1): BoxWidth = (BoxEnd * 2) + ((pins - 1) * PinSpacing); print ' ElementLine[', \ - mm2mils100(0), \ - mm2mils100(0), \ - mm2mils100(0), \ - mm2mils100(BoxHeight), \ + mm2mils100(-BoxEnd), \ + mm2mils100(-BoxOffset), \ + mm2mils100(-BoxEnd), \ + mm2mils100(BoxHeight-BoxOffset), \ LineWidth, ']' print ' ElementLine[', \ - mm2mils100(0), \ - mm2mils100(BoxHeight), \ - mm2mils100(BoxWidth), \ - mm2mils100(BoxHeight), \ + mm2mils100(-BoxEnd), \ + mm2mils100(BoxHeight-BoxOffset), \ + mm2mils100(BoxWidth-BoxEnd), \ + mm2mils100(BoxHeight-BoxOffset), \ LineWidth, ']' print ' ElementLine[', \ - mm2mils100(BoxWidth), \ - mm2mils100(BoxHeight), \ - mm2mils100(BoxWidth), \ - mm2mils100(0), \ + mm2mils100(BoxWidth-BoxEnd), \ + mm2mils100(BoxHeight-BoxOffset), \ + mm2mils100(BoxWidth-BoxEnd), \ + mm2mils100(-BoxOffset), \ LineWidth, ']' print ' ElementLine[', \ - mm2mils100(BoxWidth), \ - mm2mils100(0), \ - mm2mils100(0), \ - mm2mils100(0), \ + mm2mils100(BoxWidth-BoxEnd), \ + mm2mils100(-BoxOffset), \ + mm2mils100(-BoxEnd), \ + mm2mils100(-BoxOffset), \ LineWidth, ']' print ")" -- 2.30.2