From 4c9019742328d7e96487c79f6a212287757bc8e6 Mon Sep 17 00:00:00 2001 From: Bdale Garbee Date: Tue, 16 Nov 2021 21:05:08 -0700 Subject: [PATCH] footprint for Infineon high side power switch for StaticStrand --- packages/.gitignore | 9 ++- packages/11071.lht | 14 ++-- packages/Makefile | 3 +- packages/PG-TSDSO-14.py | 118 ++++++++++++++++++++++++++++++++++ packages/SJ-352X-SMT.py | 8 +-- packages/W3011A.py | 2 +- packages/jst/PH-smt-ra.py | 4 +- symbols/microchip/MCP1642.sym | 8 +-- 8 files changed, 145 insertions(+), 21 deletions(-) create mode 100755 packages/PG-TSDSO-14.py diff --git a/packages/.gitignore b/packages/.gitignore index 27bb542..ef219c4 100644 --- a/packages/.gitignore +++ b/packages/.gitignore @@ -110,7 +110,6 @@ JTIBM15.fp s-pqfp-g32.fp A29100-009.fp 506CD.fp -11071.fp M1040M.fp pts645.fp l102.fp @@ -132,3 +131,11 @@ AT1220.fp LPH.fp FA-20H.fp RGZ0048A.fp +RSM0032B.fp +RHB0032E.fp +udfn8.fp +PDV-P8103.fp +SJ-352X-SMT.fp +DSE0006A.fp +U-DFN2020-6-F.fp +711AT.fp diff --git a/packages/11071.lht b/packages/11071.lht index 42016f4..abdf91d 100644 --- a/packages/11071.lht +++ b/packages/11071.lht @@ -420,7 +420,7 @@ li:pcb-rnd-subcircuit-v8 { hdia = 0.0 li:shape { ha:ps_shape_v4 { - clearance = 50.0mil + clearance = 10.0mil ha:ps_line { y2 = -0.55mm thickness = 1.05mm @@ -437,7 +437,7 @@ li:pcb-rnd-subcircuit-v8 { } } ha:ps_shape_v4 { - clearance = 40.0mil + clearance = 10.0mil ha:ps_line { y2 = -0.55mm thickness = 0.45mm @@ -454,7 +454,7 @@ li:pcb-rnd-subcircuit-v8 { } } ha:ps_shape_v4 { - clearance = 0.55mm + clearance = 10.0mil ha:ps_line { y2 = -0.55mm thickness = 84.0mil @@ -473,7 +473,7 @@ li:pcb-rnd-subcircuit-v8 { } } ha:ps_shape_v4 { - clearance = 0.55mm + clearance = 10.0mil ha:ps_line { y2 = -0.55mm thickness = 1.05mm @@ -490,7 +490,7 @@ li:pcb-rnd-subcircuit-v8 { } } ha:ps_shape_v4 { - clearance = 0.55mm + clearance = 10.0mil ha:ps_line { y2 = -0.55mm thickness = 1.05mm @@ -507,7 +507,7 @@ li:pcb-rnd-subcircuit-v8 { } } ha:ps_shape_v4 { - clearance = 0.55mm + clearance = 10.0mil ha:ps_line { y2 = -0.55mm thickness = 84.0mil @@ -693,7 +693,6 @@ li:pcb-rnd-subcircuit-v8 { smirror = 0 ha:attributes { term = G - name = GND } proto = 6 xmirror = 0 @@ -711,7 +710,6 @@ li:pcb-rnd-subcircuit-v8 { smirror = 0 ha:attributes { term = G - name = GND } proto = 6 xmirror = 0 diff --git a/packages/Makefile b/packages/Makefile index 52c41d8..2e99d25 100644 --- a/packages/Makefile +++ b/packages/Makefile @@ -154,7 +154,8 @@ FOOTPRINTS= \ SJ-352X-SMT.fp \ DSE0006A.fp \ U-DFN2020-6-F.fp \ - 711AT.fp + 711AT.fp \ + PG-TSDSO-14.fp .5c.fp: nickle $*.5c -o $@ diff --git a/packages/PG-TSDSO-14.py b/packages/PG-TSDSO-14.py new file mode 100755 index 0000000..6930d85 --- /dev/null +++ b/packages/PG-TSDSO-14.py @@ -0,0 +1,118 @@ +#!/usr/bin/python3 +# Copyright 2021 by Bdale Garbee . GPLv3 +# +# Program to emit PG-TSDSO-14 footprint for Infineon high side power switch +# + +# dimensions in mm from infineon/BTS7008-1EPP_v1.03_4-29-19.pdf + +BodyWidth = 4.9 +BodyHeight = 3.9 + +PinWidth = 0.45 +PinHeight = 1.31 +PinSpacing = 0.65 +RowCenter = 2.85 + +# large input pad under the chip +PadWidth = 4.0 +PadHeight = 2.65 +PasteWidth = 1.85 +PasteOffset = 1.075 + +# 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 3') +print ('# use-license: unlimited') + +print ('Element[0x0 "PG-TSDSO-14" "" "" 0 0 0 0 0 100 0x0]') +print ("(") +for pin in range (0,7): + print (' Pad[',\ + mm2mils100((pin-3) * PinSpacing), \ + mm2mils100(-RowCenter - PinHeight/2 + PinWidth/2), \ + mm2mils100((pin-3) * PinSpacing), \ + mm2mils100(-RowCenter + PinHeight/2 - PinWidth/2), \ + mm2mils100(PinWidth), \ + mm2mils100(PinSpacing - PinWidth), \ + mm2mils100(PinWidth)+600, \ + '"pin%i"' % (14 - pin), '"%i"' % (14 - pin), '"square"]') + + print (' Pad[',\ + mm2mils100((pin-3) * PinSpacing), \ + mm2mils100(RowCenter + PinHeight/2 - PinWidth/2), \ + mm2mils100((pin-3) * PinSpacing), \ + mm2mils100(RowCenter - PinHeight/2 + PinWidth/2), \ + mm2mils100(PinWidth), \ + mm2mils100(PinSpacing - PinWidth), \ + mm2mils100(PinWidth)+600, \ + '"pin%i"' % (1 + pin), '"%i"' % (1 + pin), '"square"]') + +print (' Pad[',\ + mm2mils100(-PadWidth/2 + PadHeight/2), \ + 0, \ + mm2mils100(PadWidth/2 - PadHeight/2), \ + 0, \ + mm2mils100(PadHeight), \ + mm2mils100(.1524), \ + mm2mils100(PadHeight)+600, \ + '"pin15" "15" "square,nopaste"]') + +print (' Pad[',\ + mm2mils100(PasteOffset), \ + mm2mils100(-PadHeight/2 + PasteWidth/2), \ + mm2mils100(PasteOffset), \ + mm2mils100(PadHeight/2 - PasteWidth/2), \ + mm2mils100(PasteWidth), \ + mm2mils100(.1524), \ + mm2mils100(PasteWidth)+600, \ + '"pin15" "15" "square"]') + +print (' Pad[',\ + mm2mils100(-PasteOffset), \ + mm2mils100(-PadHeight/2 + PasteWidth/2), \ + mm2mils100(-PasteOffset), \ + mm2mils100(PadHeight/2 - PasteWidth/2), \ + mm2mils100(PasteWidth), \ + mm2mils100(.1524), \ + mm2mils100(PasteWidth)+600, \ + '"pin15" "15" "square"]') + +print (' ElementLine[',\ + mm2mils100(-BodyWidth/2), \ + mm2mils100(-BodyHeight/2), \ + mm2mils100(-BodyWidth/2), \ + mm2mils100( BodyHeight/2), \ + '1000 ]') + +print (' ElementLine[',\ + mm2mils100(-BodyWidth/2), \ + mm2mils100( BodyHeight/2), \ + mm2mils100( BodyWidth/2), \ + mm2mils100( BodyHeight/2), \ + '1000 ]') + +print (' ElementLine[',\ + mm2mils100( BodyWidth/2), \ + mm2mils100( BodyHeight/2), \ + mm2mils100( BodyWidth/2), \ + mm2mils100(-BodyHeight/2), \ + '1000 ]') + +print (' ElementLine[',\ + mm2mils100( BodyWidth/2), \ + mm2mils100(-BodyHeight/2), \ + mm2mils100(-BodyWidth/2), \ + mm2mils100(-BodyHeight/2), \ + '1000 ]') + +print (' ElementArc[',\ + mm2mils100(-4 * PinSpacing), \ + mm2mils100(1 * RowCenter), \ + '500 500 0 360 1000 ]') + +print (")") diff --git a/packages/SJ-352X-SMT.py b/packages/SJ-352X-SMT.py index 8c0c883..47a1d21 100755 --- a/packages/SJ-352X-SMT.py +++ b/packages/SJ-352X-SMT.py @@ -86,18 +86,18 @@ print(' Pad[',\ print(' Pin[',\ mm2mils100(HoleSetback), \ 0, \ - mm2mils100(2.5*HoleDiam), \ + mm2mils100(HoleDiam), \ mm2mils100(0.5), \ - mm2mils100(3*HoleDiam), \ + mm2mils100(1.5*HoleDiam), \ mm2mils100(HoleDiam), \ '"mounting" "M" 0x0008]') print(' Pin[',\ mm2mils100(HoleSetback+HoleSpacing), \ 0, \ - mm2mils100(2.5*HoleDiam), \ + mm2mils100(HoleDiam), \ mm2mils100(0.5), \ - mm2mils100(3*HoleDiam), \ + mm2mils100(1.5*HoleDiam), \ mm2mils100(HoleDiam), \ '"mounting" "M" 0x0008]') diff --git a/packages/W3011A.py b/packages/W3011A.py index 0a7845c..381c72e 100755 --- a/packages/W3011A.py +++ b/packages/W3011A.py @@ -1,7 +1,7 @@ #!/usr/bin/python2 # Copyright 2007 by Bdale Garbee . GPLv2 # -# Program to emit PCB footprint for Pules Electronics W3011A GPS chip antenna +# Program to emit PCB footprint for Pulse Electronics W3011A GPS chip antenna # # dimensions in mm from W3011.pdf PinWidth = 0.80 diff --git a/packages/jst/PH-smt-ra.py b/packages/jst/PH-smt-ra.py index 7d32ca9..00b29a9 100755 --- a/packages/jst/PH-smt-ra.py +++ b/packages/jst/PH-smt-ra.py @@ -58,7 +58,7 @@ print ' Pad[', \ mm2mils100(TabWidth), \ 0, \ mm2mils100(TabWidth + 0.2), \ - '"tab1" "G" 0x0100]' + '"pin%i"' % (pins+1), '"%i"' % (pins+1), '0x0100]' print ' Pad[', \ mm2mils100(FirstPin*2 + (pins-1)*PinSpacing - TabWidth/2), \ @@ -68,6 +68,6 @@ print ' Pad[', \ mm2mils100(TabWidth), \ 0, \ mm2mils100(TabWidth + 0.2), \ - '"tab2" "G" 0x0100]' + '"pin%i"' % (pins+1), '"%i"' % (pins+1), '0x0100]' print ")" diff --git a/symbols/microchip/MCP1642.sym b/symbols/microchip/MCP1642.sym index 12e1003..3665088 100644 --- a/symbols/microchip/MCP1642.sym +++ b/symbols/microchip/MCP1642.sym @@ -53,13 +53,13 @@ pinlabel=EN T 205 1845 5 10 1 1 0 6 1 pinnumber=1 } -P 0 1400 300 1400 1 0 0 +P 2000 200 1700 200 1 0 0 { -T -100 1400 5 10 0 0 0 6 1 +T 2100 200 5 10 0 0 0 0 1 pintype=pas -T 355 1395 5 10 1 1 0 0 1 +T 1645 195 5 10 1 1 0 6 1 pinlabel=PG -T 205 1445 5 10 1 1 0 6 1 +T 1795 245 5 10 1 1 0 0 1 pinnumber=3 } P 0 1000 300 1000 1 0 0 -- 2.30.2