From 69720e2f669a7f3c7078e5d5e5d76e0520c9b8f0 Mon Sep 17 00:00:00 2001 From: Bdale Garbee Date: Thu, 24 Nov 2022 22:24:35 -0700 Subject: [PATCH] footprint generator for NINA-W131 believed to be complete --- packages/NINA-W131.py | 122 +++++++++++++++++++++++++++++++++++------- 1 file changed, 104 insertions(+), 18 deletions(-) diff --git a/packages/NINA-W131.py b/packages/NINA-W131.py index cf2d6dc..2e0f672 100755 --- a/packages/NINA-W131.py +++ b/packages/NINA-W131.py @@ -15,9 +15,12 @@ KerfTab = 0.10 # (G) depanelizing residual OuterPitch = 1.00 # (H) lateral and antenna row pin pitch OuterWidth = 0.70 # (I) OuterHeight = 1.15 # (J) -OuterEdge2pin1 = 0.45 # (D) - -InnerPitch = 1.15 # (P) central area pin pitch +OuterEdgeD = 0.45 # (D) +OuterEdgeE = 0.30 # (E) +InnerEdgeM = 1.45 # (M) +InnerEdgeK = 2.78 # (K) +InnerPitch = 1.1 # (Q) +GndPitch = 1.15 # (P) central area pin pitch InnerSize = 0.70 # (O) import sys @@ -34,21 +37,104 @@ print('# use-license: unlimited') print('Element[0x0 "NINA-W131" "" "" 0 0 11000 0 0 100 0x0]') print("(") -#rows = ['A','B','C','D','E','F','G','H','J'] -#for row in rows: -# rownum = rows.index(row) # rownum will run 0..8 -# for col in range (1,10): # col wil run 1..9 -# ThisPin = row+str(col) -# if ThisPin in ValidPin: -# print(' Pad[',\ -# mm2mils100((col-5) * PadSpacing), \ -# mm2mils100((rownum-4) * PadSpacing), \ -# mm2mils100((col-5) * PadSpacing), \ -# mm2mils100((rownum-4) * PadSpacing), \ -# mm2mils100(PadDiam), \ -# mm2mils100(Clearance), \ -# mm2mils100(Mask), \ -# '"%s"' % ThisPin, '"%s"' % ThisPin, '""]') +# outer 2 long rows +for pin in range (0,10): + print(' Pad[',\ + mm2mils100(-BodyLength/2 + OuterEdgeD + OuterWidth/2 + pin*OuterPitch), \ + mm2mils100(-BodyWidth/2 + OuterEdgeE + OuterWidth/2), \ + mm2mils100(-BodyLength/2 + OuterEdgeD + OuterWidth/2 + pin*OuterPitch), \ + mm2mils100(-BodyWidth/2 + OuterEdgeE + OuterHeight - OuterWidth/2), \ + mm2mils100(OuterWidth), \ + mm2mils100(OuterPitch - OuterWidth), \ + mm2mils100(OuterWidth)+600, \ + '"pin%i"' % (25 - pin), '"%i"' % (25 - pin), '"square"]') + + print(' Pad[',\ + mm2mils100(-BodyLength/2 + OuterEdgeD + OuterWidth/2 + pin*OuterPitch), \ + mm2mils100(BodyWidth/2 - OuterEdgeE - OuterWidth/2), \ + mm2mils100(-BodyLength/2 + OuterEdgeD + OuterWidth/2 + pin*OuterPitch), \ + mm2mils100(BodyWidth/2 - OuterEdgeE - OuterHeight + OuterWidth/2), \ + mm2mils100(OuterWidth), \ + mm2mils100(OuterPitch - OuterWidth), \ + mm2mils100(OuterWidth)+600, \ + '"pin%i"' % (1 + pin), '"%i"' % (1 + pin), '"square"]') + +# outer 2 short rows +for pin in range (0,5): + print(' Pad[',\ + mm2mils100(-BodyLength/2 + OuterEdgeE + OuterWidth/2), \ + mm2mils100((pin-2) * OuterPitch), \ + mm2mils100(-BodyLength/2 + OuterEdgeE + OuterHeight - OuterWidth/2), \ + mm2mils100((pin-2) * OuterPitch), \ + mm2mils100(OuterWidth), \ + mm2mils100(OuterPitch - OuterWidth), \ + mm2mils100(OuterWidth)+600, \ + '"pin%i"' % (26 + pin), '"%i"' % (26 + pin), '"square"]') + + print(' Pad[',\ + mm2mils100(BodyLength/2 - OuterEdgeE - OuterWidth/2), \ + mm2mils100((pin-2) * OuterPitch), \ + mm2mils100(BodyLength/2 - OuterEdgeE - OuterHeight + OuterWidth/2), \ + mm2mils100((pin-2) * OuterPitch), \ + mm2mils100(OuterWidth), \ + mm2mils100(OuterPitch - OuterWidth), \ + mm2mils100(OuterWidth)+600, \ + '"pin%i"' % (15 - pin), '"%i"' % (15 - pin), '"square"]') + +# active inner row +for pin in range (0,6): + print(' Pad[',\ + mm2mils100(-BodyLength/2 + OuterEdgeD + InnerEdgeM + InnerSize/2), \ + mm2mils100((pin-2.5) * InnerPitch), \ + mm2mils100(-BodyLength/2 + OuterEdgeD + InnerEdgeM + InnerSize/2), \ + mm2mils100((pin-2.5) * InnerPitch), \ + mm2mils100(InnerSize), \ + mm2mils100(InnerPitch - InnerSize), \ + mm2mils100(InnerSize)+600, \ + '"pin%i"' % (36 - pin), '"%i"' % (36 - pin), '"square"]') + +# gnd pads +for pin in range (0,2): + print(' Pad[',\ + mm2mils100(-BodyLength/2 + OuterEdgeD + InnerEdgeK + InnerSize/2), \ + mm2mils100((pin-0.5) * GndPitch), \ + mm2mils100(-BodyLength/2 + OuterEdgeD + InnerEdgeK + InnerSize/2), \ + mm2mils100((pin-0.5) * GndPitch), \ + mm2mils100(InnerSize), \ + mm2mils100(InnerPitch - InnerSize), \ + mm2mils100(InnerSize)+600, \ + '"pin37"', '"37"', '"square"]') + + print(' Pad[',\ + mm2mils100(-BodyLength/2 + OuterEdgeD + InnerEdgeK + GndPitch*2 + InnerSize/2), \ + mm2mils100((pin-0.5) * GndPitch), \ + mm2mils100(-BodyLength/2 + OuterEdgeD + InnerEdgeK + GndPitch*2 + InnerSize/2), \ + mm2mils100((pin-0.5) * GndPitch), \ + mm2mils100(InnerSize), \ + mm2mils100(InnerPitch - InnerSize), \ + mm2mils100(InnerSize)+600, \ + '"pin37"', '"37"', '"square"]') + +for pin in range (0,4): + print(' Pad[',\ + mm2mils100(-BodyLength/2 + OuterEdgeD + InnerEdgeK + GndPitch + InnerSize/2), \ + mm2mils100((pin-1.5) * GndPitch), \ + mm2mils100(-BodyLength/2 + OuterEdgeD + InnerEdgeK + GndPitch + InnerSize/2), \ + mm2mils100((pin-1.5) * GndPitch), \ + mm2mils100(InnerSize), \ + mm2mils100(InnerPitch - InnerSize), \ + mm2mils100(InnerSize)+600, \ + '"pin37"', '"37"', '"square"]') + + print(' Pad[',\ + mm2mils100(-BodyLength/2 + OuterEdgeD + InnerEdgeK + GndPitch*3 + InnerSize/2), \ + mm2mils100((pin-1.5) * GndPitch), \ + mm2mils100(-BodyLength/2 + OuterEdgeD + InnerEdgeK + GndPitch*3 + InnerSize/2), \ + mm2mils100((pin-1.5) * GndPitch), \ + mm2mils100(InnerSize), \ + mm2mils100(InnerPitch - InnerSize), \ + mm2mils100(InnerSize)+600, \ + '"pin37"', '"37"', '"square"]') print(' ElementLine[',\ mm2mils100(-BodyLength/2), \ -- 2.30.2