convert Python footprint generators to Python 3
[hw/altusmetrum] / packages / vqfn-48.py
old mode 100755 (executable)
new mode 100644 (file)
index 50c2664..d548ed2
@@ -1,4 +1,4 @@
-#!/usr/bin/python2
+#!/usr/bin/python3
 # Copyright 2022 by Bdale Garbee <bdale@gag.com>.  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(")")