X-Git-Url: https://git.gag.com/?a=blobdiff_plain;ds=sidebyside;f=packages%2Fvqfn-48.py;h=d548ed29d6f329370d98d932eab02676b0ad2053;hb=3034dc83f6095f1df20523b07cdba7f252341c3f;hp=50c2664cab5676f6d150dfa51b6119a726fbfb46;hpb=14289403c8e193e10a174fde02030028b6f7bbb1;p=hw%2Faltusmetrum diff --git a/packages/vqfn-48.py b/packages/vqfn-48.py old mode 100755 new mode 100644 index 50c2664..d548ed2 --- a/packages/vqfn-48.py +++ b/packages/vqfn-48.py @@ -1,4 +1,4 @@ -#!/usr/bin/python2 +#!/usr/bin/python3 # Copyright 2022 by Bdale Garbee . GPLv3 # # emit PCB footprint for Atmel VQFN-48 package used by SAM21D @@ -26,16 +26,16 @@ PinResist = PinWidth + (2 * 0.07) 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('# author: Bdale Garbee') +print('# email: bdale@gag.com') +print('# dist-license: GPL 3') +print('# use-license: unlimited') -print 'Element[0x0 "vqfn-48" "" "" 0 0 0 0 0 100 0x0]' -print "(" +print('Element[0x0 "vqfn-48" "" "" 0 0 0 0 0 100 0x0]') +print("(") ## pad under the chip -#print ' Pad[',\ +#print(' Pad[',\ # mm2mils100(0), \ # mm2mils100(0), \ # mm2mils100(0), \ @@ -43,19 +43,19 @@ print "(" # mm2mils100(GndSquare), \ # mm2mils100(PinClearance), \ # mm2mils100(PinResist), \ -# '"pin49" "49" "square,nopaste"]' +# '"pin49" "49" "square,nopaste"]') # ## vias in the ground pad under the chip #for viarow in range (-1,1): # for viacol in range (-1,1): -# print ' Pin[',\ +# 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]' +# '"pin17" "17" 0x0002]') # ## break pad under chip into a grid to control the resist and paste masks # @@ -65,7 +65,7 @@ print "(" # 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[',\ +# print(' Pad[',\ # mm2mils100(viacol * CoreSquare / blocks), \ # mm2mils100(viarow * CoreSquare / blocks), \ # mm2mils100(viacol * CoreSquare / blocks), \ @@ -73,10 +73,10 @@ print "(" # mm2mils100((CoreSquare)/blocks), \ # 0, \ # 0, \ -# '"pin17" "17" "square,nopaste"]' +# '"pin17" "17" "square,nopaste"]') # else: # # copper sub-square without resist -# print ' Pad[',\ +# print(' Pad[',\ # mm2mils100(viacol * CoreSquare / blocks), \ # mm2mils100(viarow * CoreSquare / blocks), \ # mm2mils100(viacol * CoreSquare / blocks), \ @@ -84,9 +84,9 @@ print "(" # mm2mils100((CoreSquare)/blocks), \ # 0, \ # mm2mils100((CoreSquare)/blocks), \ -# '"pin17" "17" "square,nopaste"]' +# '"pin17" "17" "square,nopaste"]') # # copper spot to control paste mask generation -# print ' Pad[',\ +# print(' Pad[',\ # mm2mils100(viacol * CoreSquare / blocks), \ # mm2mils100(viarow * CoreSquare / blocks), \ # mm2mils100(viacol * CoreSquare / blocks), \ @@ -94,11 +94,11 @@ print "(" # 1500, \ # 0, \ # mm2mils100((CoreSquare)/blocks), \ -# '"pin17" "17" "square"]' +# '"pin17" "17" "square"]') # pins for pin in range (1,13): - print ' Pad[',\ + print(' Pad[',\ mm2mils100((-6.5 + pin) * PinSpacing), \ mm2mils100(-RowSpacing/2 - PinHeight/2 + PinWidth/2), \ mm2mils100((-6.5 + pin) * PinSpacing), \ @@ -106,9 +106,9 @@ for pin in range (1,13): mm2mils100(PinWidth), \ mm2mils100(PinClearance), \ mm2mils100(PinResist), \ - '"pin%i"' % (37-pin), '"%i"' % (37-pin), '0x0000]' + '"pin%i"' % (37-pin), '"%i"' % (37-pin), '0x0000]') - print ' Pad[',\ + print(' Pad[',\ mm2mils100((-6.5 + pin) * PinSpacing), \ mm2mils100(RowSpacing/2 - PinHeight/2 + PinWidth/2), \ mm2mils100((-6.5 + pin) * PinSpacing), \ @@ -116,9 +116,9 @@ for pin in range (1,13): mm2mils100(PinWidth), \ mm2mils100(PinClearance), \ mm2mils100(PinResist), \ - '"pin%i"' % pin, '"%i"' % pin, '0x0000]' + '"pin%i"' % pin, '"%i"' % pin, '0x0000]') - print ' Pad[',\ + print(' Pad[',\ mm2mils100(-RowSpacing/2 - PinHeight/2 + PinWidth/2), \ mm2mils100((-6.5 + pin) * PinSpacing), \ mm2mils100(-RowSpacing/2 + PinHeight/2 - PinWidth/2), \ @@ -126,9 +126,9 @@ for pin in range (1,13): mm2mils100(PinWidth), \ mm2mils100(PinClearance), \ mm2mils100(PinResist), \ - '"pin%i"' % (36+pin), '"%i"' % (36+pin), '0x0000]' + '"pin%i"' % (36+pin), '"%i"' % (36+pin), '0x0000]') - print ' Pad[',\ + print(' Pad[',\ mm2mils100(RowSpacing/2 - PinHeight/2 + PinWidth/2), \ mm2mils100((-6.5 + pin) * PinSpacing), \ mm2mils100(RowSpacing/2 + PinHeight/2 - PinWidth/2), \ @@ -136,10 +136,10 @@ for pin in range (1,13): mm2mils100(PinWidth), \ mm2mils100(PinClearance), \ mm2mils100(PinResist), \ - '"pin%i"' % (25-pin), '"%i"' % (25-pin), '0x0000]' + '"pin%i"' % (25-pin), '"%i"' % (25-pin), '0x0000]') -print ' ElementArc[',\ +print(' ElementArc[',\ mm2mils100(-Overall/2 - PinWidth), \ mm2mils100(Overall/2 + PinWidth), \ - '500 500 0 360 1000 ]' -print ")" + '500 500 0 360 1000 ]') +print(")")