convert Python footprint generators to Python 3
[hw/altusmetrum] / packages / ZX62-B-5PA.py
old mode 100755 (executable)
new mode 100644 (file)
index be6995d..41af8d0
@@ -1,4 +1,4 @@
-#!/usr/bin/python2
+#!/usr/bin/python3
 # Copyright 2011 by Bdale Garbee <bdale@gag.com>.  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(")")