X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=packages%2FZX62-B-5PA.py;h=41af8d083f609052cba124b5ad23f4245fca55ac;hb=3034dc83f6095f1df20523b07cdba7f252341c3f;hp=be6995d36de6b433ced472c42cc29cbf154a3674;hpb=14289403c8e193e10a174fde02030028b6f7bbb1;p=hw%2Faltusmetrum diff --git a/packages/ZX62-B-5PA.py b/packages/ZX62-B-5PA.py old mode 100755 new mode 100644 index be6995d..41af8d0 --- a/packages/ZX62-B-5PA.py +++ b/packages/ZX62-B-5PA.py @@ -1,4 +1,4 @@ -#!/usr/bin/python2 +#!/usr/bin/python3 # Copyright 2011 by Bdale Garbee . GPLv2 # # Program to emit PCB footprint for @@ -41,173 +41,129 @@ 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 "USBmicroB" "" "" 0 0 -10161 -12011 0 100 0x0]' -print "(" -print ' Pad[', \ - mm2mils100(0), \ - mm2mils100(PinWidth/2), \ - mm2mils100(0), \ - mm2mils100(PinHeight - PinWidth/2), \ - mm2mils100(PinWidth), \ - (MinClearance*2), \ - mm2mils100(PinWidth)+(MaskDelta*2), \ - '"D+" "3" 0x0100]' - -print ' Pad[', \ - mm2mils100(-PinSpacing), \ - mm2mils100(PinWidth/2), \ - mm2mils100(-PinSpacing), \ - mm2mils100(PinHeight - PinWidth/2), \ - mm2mils100(PinWidth), \ - (MinClearance*2), \ - mm2mils100(PinWidth)+(MaskDelta*2), \ - '"D-" "2" 0x0100]' - -print ' Pad[', \ - mm2mils100(PinSpacing), \ - mm2mils100(PinWidth/2), \ - mm2mils100(PinSpacing), \ - mm2mils100(PinHeight - PinWidth/2), \ - mm2mils100(PinWidth), \ - (MinClearance*2), \ - mm2mils100(PinWidth)+(MaskDelta*2), \ - '"HS" "4" 0x0100]' - -print ' Pad[', \ - mm2mils100(-PinSpacing*2), \ - mm2mils100(PinWidth/2), \ - mm2mils100(-PinSpacing*2), \ - mm2mils100(PinHeight - PinWidth/2), \ - mm2mils100(PinWidth), \ - (MinClearance*2), \ - mm2mils100(PinWidth)+(MaskDelta*2), \ - '"VBUS" "1" 0x0100]' - -print ' Pad[', \ - mm2mils100(PinSpacing*2), \ - mm2mils100(PinWidth/2), \ - mm2mils100(PinSpacing*2), \ - mm2mils100(PinHeight - PinWidth/2), \ - mm2mils100(PinWidth), \ - (MinClearance*2), \ - mm2mils100(PinWidth)+(MaskDelta*2), \ - '"GND" "5" 0x0100]' + 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 "USBmicroB" "" "" 0 0 -10161 -12011 0 100 0x0]') +print("(") +print(' Pad[', \ + mm2mils100(0), \ + mm2mils100(PinWidth/2), \ + mm2mils100(0), \ + mm2mils100(PinHeight - PinWidth/2), \ + mm2mils100(PinWidth), \ + (MinClearance*2), \ + mm2mils100(PinWidth)+(MaskDelta*2), \ + '"D+" "3" 0x0100]') + +print(' Pad[', \ + mm2mils100(-PinSpacing), \ + mm2mils100(PinWidth/2), \ + mm2mils100(-PinSpacing), \ + mm2mils100(PinHeight - PinWidth/2), \ + mm2mils100(PinWidth), \ + (MinClearance*2), \ + mm2mils100(PinWidth)+(MaskDelta*2), \ + '"D-" "2" 0x0100]') + +print(' Pad[', \ + mm2mils100(PinSpacing), \ + mm2mils100(PinWidth/2), \ + mm2mils100(PinSpacing), \ + mm2mils100(PinHeight - PinWidth/2), \ + mm2mils100(PinWidth), \ + (MinClearance*2), \ + mm2mils100(PinWidth)+(MaskDelta*2), \ + '"HS" "4" 0x0100]') + +print(' Pad[', \ + mm2mils100(-PinSpacing*2), \ + mm2mils100(PinWidth/2), \ + mm2mils100(-PinSpacing*2), \ + mm2mils100(PinHeight - PinWidth/2), \ + mm2mils100(PinWidth), \ + (MinClearance*2), \ + mm2mils100(PinWidth)+(MaskDelta*2), \ + '"VBUS" "1" 0x0100]') + +print(' Pad[', \ + mm2mils100(PinSpacing*2), \ + mm2mils100(PinWidth/2), \ + mm2mils100(PinSpacing*2), \ + mm2mils100(PinHeight - PinWidth/2), \ + mm2mils100(PinWidth), \ + (MinClearance*2), \ + mm2mils100(PinWidth)+(MaskDelta*2), \ + '"GND" "5" 0x0100]') # the two ground / mounting tabs in line with signal pins -print ' Pad[', \ - mm2mils100(TabInner + TabHeight/2), \ - mm2mils100(TabHeight/2), \ - mm2mils100(TabInner + TabWidth - TabHeight/2), \ - mm2mils100(TabHeight/2), \ - mm2mils100(TabHeight), \ - (MinClearance*2), \ - mm2mils100(TabHeight)+(MaskDelta*2), \ - '"tab1" "G" 0x0100]' - -print ' Pad[', \ - mm2mils100(-TabInner - TabHeight/2), \ - mm2mils100(TabHeight/2), \ - mm2mils100(-TabInner - TabWidth + TabHeight/2), \ - mm2mils100(TabHeight/2), \ - mm2mils100(TabHeight), \ - (MinClearance*2), \ - mm2mils100(TabHeight)+(MaskDelta*2), \ - '"tab2" "G" 0x0100]' +print(' Pad[', \ + mm2mils100(TabInner + TabHeight/2), \ + mm2mils100(TabHeight/2), \ + mm2mils100(TabInner + TabWidth - TabHeight/2), \ + mm2mils100(TabHeight/2), \ + mm2mils100(TabHeight), \ + (MinClearance*2), \ + mm2mils100(TabHeight)+(MaskDelta*2), \ + '"tab1" "G" 0x0100]') + +print(' Pad[', \ + mm2mils100(-TabInner - TabHeight/2), \ + mm2mils100(TabHeight/2), \ + mm2mils100(-TabInner - TabWidth + TabHeight/2), \ + mm2mils100(TabHeight/2), \ + mm2mils100(TabHeight), \ + (MinClearance*2), \ + mm2mils100(TabHeight)+(MaskDelta*2), \ + '"tab2" "G" 0x0100]') # the two ground / mounting tabs near the center of area -print ' Pad[', \ - mm2mils100(PadInner + PadHeight/2), \ - mm2mils100(PadCenter), \ - mm2mils100(PadInner + PadWidth - PadHeight/2), \ - mm2mils100(PadCenter), \ - mm2mils100(PadHeight), \ - (MinClearance*2), \ - mm2mils100(PadHeight)+(MaskDelta*2), \ - '"tab3" "G" 0x0100]' - -print ' Pad[', \ - mm2mils100(-PadInner - PadHeight/2), \ - mm2mils100(PadCenter), \ - mm2mils100(-PadInner - PadWidth + PadHeight/2), \ - mm2mils100(PadCenter), \ - mm2mils100(PadHeight), \ - (MinClearance*2), \ - mm2mils100(PadHeight)+(MaskDelta*2), \ - '"tab4" "G" 0x0100]' +print(' Pad[', \ + mm2mils100(PadInner + PadHeight/2), \ + mm2mils100(PadCenter), \ + mm2mils100(PadInner + PadWidth - PadHeight/2), \ + mm2mils100(PadCenter), \ + mm2mils100(PadHeight), \ + (MinClearance*2), \ + mm2mils100(PadHeight)+(MaskDelta*2), \ + '"tab3" "G" 0x0100]') + +print(' Pad[', \ + mm2mils100(-PadInner - PadHeight/2), \ + mm2mils100(PadCenter), \ + mm2mils100(-PadInner - PadWidth + PadHeight/2), \ + mm2mils100(PadCenter), \ + mm2mils100(PadHeight), \ + (MinClearance*2), \ + mm2mils100(PadHeight)+(MaskDelta*2), \ + '"tab4" "G" 0x0100]') # the two "wing tab" ground / mounting pads on the sides -print ' Pad[', \ - mm2mils100(WingInner + WingWidth/2), \ - mm2mils100(PadCenter - WingHeight/2 + WingWidth/2), \ - mm2mils100(WingInner + WingWidth/2), \ - mm2mils100(PadCenter + WingHeight/2 - WingWidth/2), \ - mm2mils100(WingWidth), \ - (MinClearance*2), \ - mm2mils100(WingWidth)+(MaskDelta*2), \ - '"tab5" "G" 0x0100]' - -print ' Pad[', \ - mm2mils100(-WingInner - WingWidth/2), \ - mm2mils100(PadCenter - WingHeight/2 + WingWidth/2), \ - mm2mils100(-WingInner - WingWidth/2), \ - mm2mils100(PadCenter + WingHeight/2 - WingWidth/2), \ - mm2mils100(WingWidth), \ - (MinClearance*2), \ - mm2mils100(WingWidth)+(MaskDelta*2), \ - '"tab6" "G" 0x0100]' - -# box around actual connector size, with line at PCB edge -# -#print ' ElementLine[',\ -# mm2mils100(-BoxWidth/2), \ -# mm2mils100(0), \ -# mm2mils100(-BoxWidth/2), \ -# mm2mils100(BoxHeight), \ -# '1000 ]' -# -#print ' ElementLine[',\ -# mm2mils100(BoxWidth/2), \ -# mm2mils100(0), \ -# mm2mils100(BoxWidth/2), \ -# mm2mils100(BoxHeight), \ -# '1000 ]' -# -#print ' ElementLine[',\ -# mm2mils100(-BoxWidth/2), \ -# mm2mils100(0), \ -# mm2mils100(BoxWidth/2), \ -# mm2mils100(0), \ -# '1000 ]' -# -#print ' ElementLine[',\ -# mm2mils100(-BoxWidth/2), \ -# mm2mils100(BoxHeight), \ -# mm2mils100(BoxWidth/2), \ -# mm2mils100(BoxHeight), \ -# '1000 ]' -# -#print ' ElementLine[',\ -# mm2mils100(-EdgeWidth/2), \ -# mm2mils100(EdgeHeight), \ -# mm2mils100(-BoxWidth/2), \ -# mm2mils100(EdgeHeight), \ -# '1000 ]' -# -#print ' ElementLine[',\ -# mm2mils100(BoxWidth/2), \ -# mm2mils100(EdgeHeight), \ -# mm2mils100(EdgeWidth/2), \ -# mm2mils100(EdgeHeight), \ -# '1000 ]' -# -print ")" +print(' Pad[', \ + mm2mils100(WingInner + WingWidth/2), \ + mm2mils100(PadCenter - WingHeight/2 + WingWidth/2), \ + mm2mils100(WingInner + WingWidth/2), \ + mm2mils100(PadCenter + WingHeight/2 - WingWidth/2), \ + mm2mils100(WingWidth), \ + (MinClearance*2), \ + mm2mils100(WingWidth)+(MaskDelta*2), \ + '"tab5" "G" 0x0100]') + +print(' Pad[', \ + mm2mils100(-WingInner - WingWidth/2), \ + mm2mils100(PadCenter - WingHeight/2 + WingWidth/2), \ + mm2mils100(-WingInner - WingWidth/2), \ + mm2mils100(PadCenter + WingHeight/2 - WingWidth/2), \ + mm2mils100(WingWidth), \ + (MinClearance*2), \ + mm2mils100(WingWidth)+(MaskDelta*2), \ + '"tab6" "G" 0x0100]') + +print(")")