./ufl.py > ufl.fp
pico-ezmate-6.fp: pico-ezmate.py
- python2 pico-ezmate.py 6 >$@
+ python3 pico-ezmate.py 6 >$@
pico-ezmate-4.fp: pico-ezmate.py
- python2 pico-ezmate.py 4 >$@
+ python3 pico-ezmate.py 4 >$@
pico-ezmate-2.fp: pico-ezmate.py
- python2 pico-ezmate.py 2 >$@
+ python3 pico-ezmate.py 2 >$@
clean:
rm -f 53261* 53047* 90325* 548190572.fp ufl.fp pico-ezmate-*.fp
-#!/usr/bin/python2
-# Copyright 2007 by Bdale Garbee <bdale@gag.com>. GPLv2
+#!/usr/bin/python3
+# Copyright 2007,2024 by Bdale Garbee <bdale@gag.com>. GPLv2
#
# Program to emit PCB footprint for
# Molex MiniUSB R/A 5 pos SMD connector 54819-0572, DigiKey WM17116CT-ND
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('# author: Bdale Garbee')
+print('# email: bdale@gag.com')
+print('# dist-license: GPL 2')
+print('# use-license: unlimited')
-print 'Element[0x0 "MiniUSB" "" "" 0 0 -10161 -12011 0 100 0x0]'
-print "("
-print ' Pad[', \
+print('Element[0x0 "MiniUSB" "" "" 0 0 -10161 -12011 0 100 0x0]')
+print("(")
+print(' Pad[', \
mm2mils100(CenterLine), \
mm2mils100(PinStart + PinWidth/2), \
mm2mils100(CenterLine), \
mm2mils100(PinWidth), \
mm2mils100(PinSpacing - PinWidth), \
mm2mils100(PinWidth + 0.2), \
- '"D+" "3" 0x0100]'
+ '"D+" "3" 0x0100]')
-print ' Pad[', \
+print(' Pad[', \
mm2mils100(CenterLine + PinSpacing), \
mm2mils100(PinStart + PinWidth/2), \
mm2mils100(CenterLine + PinSpacing), \
mm2mils100(PinWidth), \
mm2mils100(PinSpacing - PinWidth), \
mm2mils100(PinWidth + 0.2), \
- '"D-" "2" 0x0100]'
+ '"D-" "2" 0x0100]')
-print ' Pad[', \
+print(' Pad[', \
mm2mils100(CenterLine - PinSpacing), \
mm2mils100(PinStart + PinWidth/2), \
mm2mils100(CenterLine - PinSpacing), \
mm2mils100(PinWidth), \
mm2mils100(PinSpacing - PinWidth), \
mm2mils100(PinWidth + 0.2), \
- '"HS" "4" 0x0100]'
+ '"HS" "4" 0x0100]')
-print ' Pad[', \
+print(' Pad[', \
mm2mils100(CenterLine + PinSpacing*2), \
mm2mils100(PinStart + PinWidth/2), \
mm2mils100(CenterLine + PinSpacing*2), \
mm2mils100(PinWidth), \
mm2mils100(PinSpacing - PinWidth), \
mm2mils100(PinWidth + 0.2), \
- '"VBUS" "1" 0x0100]'
+ '"VBUS" "1" 0x0100]')
-print ' Pad[', \
+print(' Pad[', \
mm2mils100(CenterLine - PinSpacing*2), \
mm2mils100(PinStart + PinWidth/2), \
mm2mils100(CenterLine - PinSpacing*2), \
mm2mils100(PinWidth), \
mm2mils100(PinSpacing - PinWidth), \
mm2mils100(PinWidth + 0.2), \
- '"GND" "5" 0x0100]'
+ '"GND" "5" 0x0100]')
TabRowTwo = Tab1Height/2 + TabCenters - Tab2Height/2
TabColTwo = TabWidth + BetweenTabs
-print ' Pad[', \
+print(' Pad[', \
mm2mils100(TabWidth/2), \
mm2mils100(TabWidth/2), \
mm2mils100(TabWidth/2), \
mm2mils100(TabWidth), \
mm2mils100(PinSpacing - PinWidth), \
mm2mils100(TabWidth + 0.2), \
- '"tab1" "G" 0x0100]'
+ '"tab1" "G" 0x0100]')
-print ' Pad[', \
+print(' Pad[', \
mm2mils100(TabWidth/2), \
mm2mils100(TabRowTwo + TabWidth/2), \
mm2mils100(TabWidth/2), \
mm2mils100(TabWidth), \
mm2mils100(PinSpacing - PinWidth), \
mm2mils100(TabWidth + 0.2), \
- '"tab2" "G" 0x0100]'
+ '"tab2" "G" 0x0100]')
-print ' Pad[', \
+print(' Pad[', \
mm2mils100(TabColTwo + TabWidth/2), \
mm2mils100(TabWidth/2), \
mm2mils100(TabColTwo + TabWidth/2), \
mm2mils100(TabWidth), \
mm2mils100(PinSpacing - PinWidth), \
mm2mils100(TabWidth + 0.2), \
- '"tab3" "G" 0x0100]'
+ '"tab3" "G" 0x0100]')
-print ' Pad[', \
+print(' Pad[', \
mm2mils100(TabColTwo + TabWidth/2), \
mm2mils100(TabRowTwo + TabWidth/2), \
mm2mils100(TabColTwo + TabWidth/2), \
mm2mils100(TabWidth), \
mm2mils100(PinSpacing - PinWidth), \
mm2mils100(TabWidth + 0.2), \
- '"tab4" "G" 0x0100]'
+ '"tab4" "G" 0x0100]')
-print ")"
+print(")")
+#!/usr/bin/python3
# author: Keith Packard
# email: keithp@keithp.com
# dist-license: GPL 2
NumPad=int(sys.argv[1])
-print '# author: Keith Packard'
-print '# email: keithp@keithp.com'
-print '# dist-license: GPL 2'
-print '# use-license: unlimited'
+print('# author: Keith Packard')
+print('# email: keithp@keithp.com')
+print('# dist-license: GPL 2')
+print('# use-license: unlimited')
-print 'Element["" "pico-ezmate-%d" "" "" 0 0 0 0 0 100 ""]' % NumPad
-print "("
+print('Element["" "pico-ezmate-%d" "" "" 0 0 0 0 0 100 ""]' % NumPad)
+print("(")
PadX = PadSpacing * NumPad / 2
x2 = cx
y2 = cy + (h - w) / 2
mask = thickness + Clearance / 2
- print ' Pad[',\
+ print(' Pad[',\
mm2mils100(x1), \
mm2mils100(y1), \
mm2mils100(x2), \
mm2mils100(thickness), \
mm2mils100(Clearance), \
mm2mils100(mask),\
- '"%s"' % name, '"%s"' % num, '"square"]'
+ '"%s"' % name, '"%s"' % num, '"square"]')
def line(x1, y1, x2, y2):
- print ' ElementLine[',\
+ print(' ElementLine[',\
mm2mils100(x1), \
mm2mils100(y1), \
mm2mils100(x2), \
mm2mils100(y2), \
- '500]'
+ '500]')
def rect(x, y, w, h):
line(x,y,x+w,y)
PadSpacing * (NumPad-1) + OutlineX*2,
4.5)
-print ' )'
+print(' )')
# 11000 2000
# ElementLine[-11000 -1000 -3600 -1000 100]
# ElementLine[ 3600 -1000 11000 -1000 100]
-#!/usr/bin/python2
-# Copyright 2007 by Bdale Garbee <bdale@gag.com>. GPLv2
+#!/usr/bin/python3
+# Copyright 2007,2024 by Bdale Garbee <bdale@gag.com>. GPLv2
#
# Program to emit PCB footprint for
# Molex 1.25mm PicoBlade(tm), right angle SMT header 53261-XX71, 2-15 pins
sys.stderr.write('Must be no more than 15 pins\n')
sys.exit(1)
-print '# author: Bdale Garbee'
-print '# email: bdale@gag.com'
-print '# dist-license: GPL 2'
-print '# use-license: unlimited'
+print('# author: Bdale Garbee')
+print('# email: bdale@gag.com')
+print('# dist-license: GPL 2')
+print('# use-license: unlimited')
-print 'Element[0x0 "PicoBlade%i"' % pins,'"" "" 0 0 0 0 0 100 0x0]'
-print "("
+print('Element[0x0 "PicoBlade%i"' % pins,'"" "" 0 0 0 0 0 100 0x0]')
+print("(")
for pin in range (1,pins+1):
pinnum = pins + 1 - pin
- print ' Pad[', \
+ print(' Pad[', \
mm2mils100(FirstPin + (pin-1)*PinSpacing), \
mm2mils100(TabHeight+TabPinSpacing+PinWidth/2), \
mm2mils100(FirstPin + (pin-1)*PinSpacing), \
mm2mils100(PinWidth), \
mm2mils100(PinSpacing - PinWidth), \
mm2mils100(PinWidth + 0.1), \
- '"pin%i"' % pinnum, '"%i"' % pinnum, '0x0100]'
+ '"pin%i"' % pinnum, '"%i"' % pinnum, '0x0100]')
-print ' Pad[', \
+print(' Pad[', \
mm2mils100(TabWidth/2), \
mm2mils100(TabWidth/2), \
mm2mils100(TabWidth/2), \
mm2mils100(TabWidth), \
mm2mils100(PinSpacing - PinWidth), \
mm2mils100(TabWidth + 0.1), \
- '"tab1" "G" 0x0100]'
+ '"tab1" "G" 0x0100]')
-print ' Pad[', \
+print(' Pad[', \
mm2mils100(FirstPin*2 + (pins-1)*PinSpacing - TabWidth/2), \
mm2mils100(TabWidth/2), \
mm2mils100(FirstPin*2 + (pins-1)*PinSpacing - TabWidth/2), \
mm2mils100(TabWidth), \
mm2mils100(PinSpacing - PinWidth), \
mm2mils100(TabWidth + 0.1), \
- '"tab2" "G" 0x0100]'
+ '"tab2" "G" 0x0100]')
-print ")"
+print(")")
-#!/usr/bin/python2
+#!/usr/bin/python3
# Copyright 2008 by Bdale Garbee <bdale@gag.com>. GPLv2
#
# Program to emit PCB footprint for
sys.stderr.write('Must be no more than 15 pins\n')
sys.exit(1)
-print '# author: Bdale Garbee'
-print '# email: bdale@gag.com'
-print '# dist-license: GPL 2'
-print '# use-license: unlimited'
+print('# author: Bdale Garbee')
+print('# email: bdale@gag.com')
+print('# dist-license: GPL 2')
+print('# use-license: unlimited')
-print 'Element[0x0 "PicoBlade%i"' % pins,'"" "" 0 0 0 0 0 100 0x0]'
-print "("
+print('Element[0x0 "PicoBlade%i"' % pins,'"" "" 0 0 0 0 0 100 0x0]')
+print("(")
for pin in range (1,pins+1):
pinnum = pins + 1 - pin
if pinnum == 1:
- Flags = '0x0101'
+ Flags = '0x0101'
else:
- Flags = '0x0001'
- print ' Pin[', \
+ Flags = '0x0001'
+ print(' Pin[', \
mm2mils100((pins-1)*PinSpacing - (pin-1)*PinSpacing), \
0, \
3500, \
1200, \
4100, \
mm2mils100(PinDiam), \
- '"pin%i"' % pinnum, '"%i"' % pinnum, Flags, ']'
+ '"pin%i"' % pinnum, '"%i"' % pinnum, Flags, ']')
BoxWidth = (BoxEnd * 2) + ((pins - 1) * PinSpacing);
-print ' ElementLine[', \
+print(' ElementLine[', \
mm2mils100(-BoxEnd), \
mm2mils100(-BoxOffset), \
mm2mils100(-BoxEnd), \
mm2mils100(BoxHeight-BoxOffset), \
- LineWidth, ']'
+ LineWidth, ']')
-print ' ElementLine[', \
+print(' ElementLine[', \
mm2mils100(-BoxEnd), \
mm2mils100(BoxHeight-BoxOffset), \
mm2mils100(BoxWidth-BoxEnd), \
mm2mils100(BoxHeight-BoxOffset), \
- LineWidth, ']'
+ LineWidth, ']')
-print ' ElementLine[', \
+print(' ElementLine[', \
mm2mils100(BoxWidth-BoxEnd), \
mm2mils100(BoxHeight-BoxOffset), \
mm2mils100(BoxWidth-BoxEnd), \
mm2mils100(-BoxOffset), \
- LineWidth, ']'
+ LineWidth, ']')
-print ' ElementLine[', \
+print(' ElementLine[', \
mm2mils100(BoxWidth-BoxEnd), \
mm2mils100(-BoxOffset), \
mm2mils100(-BoxEnd), \
mm2mils100(-BoxOffset), \
- LineWidth, ']'
+ LineWidth, ']')
-print ")"
+print(")")
-#!/usr/bin/python2
-# Copyright 2008 by Bdale Garbee <bdale@gag.com>. GPLv2
+#!/usr/bin/python3
+# Copyright 2008,2024 by Bdale Garbee <bdale@gag.com>. GPLv2
#
# Program to emit PCB footprint for
# Molex 1.25mm PicoBlade, vertical through-hole header 53047-XX10, 2-15 pins
sys.stderr.write('Must be no more than 26 pins\n')
sys.exit(1)
-print '# author: Bdale Garbee'
-print '# email: bdale@gag.com'
-print '# dist-license: GPL 2'
-print '# use-license: unlimited'
+print('# author: Bdale Garbee')
+print('# email: bdale@gag.com')
+print('# dist-license: GPL 2')
+print('# use-license: unlimited')
-print 'Element[0x0 "PicoFlex%i"' % pins,'"" "" 0 0 0 0 0 100 0x0]'
-print "("
-for col in range ((pins+1)/2):
+print('Element[0x0 "PicoFlex%i"' % pins,'"" "" 0 0 0 0 0 100 0x0]')
+print("(")
+for col in range (int((pins+1)/2)):
for row in range (2):
- if row == 1:
- offset=RowOffset
- spacing=RowSpacing
- else:
- offset=0
- spacing=0
+ if row == 1:
+ offset=RowOffset
+ spacing=RowSpacing
+ else:
+ offset=0
+ spacing=0
pinnum = (col * 2) + row + 1
if pinnum == 1:
- Flags = '0x0101'
+ Flags = '0x0101'
else:
- Flags = '0x0001'
- print ' Pin[', \
+ Flags = '0x0001'
+ print(' Pin[', \
mm2mils100(col*PinSpacing + offset), \
mm2mils100(spacing), \
mm2mils100(PinDiam*2), \
600, \
mm2mils100(PinDiam*2)+1000, \
mm2mils100(PinDiam), \
- '"pin%i"' % pinnum, '"%i"' % pinnum, Flags, ']'
+ '"pin%i"' % pinnum, '"%i"' % pinnum, Flags, ']')
-print ' Pin[', \
+print(' Pin[', \
mm2mils100(-MntX), \
mm2mils100(-MntY), \
mm2mils100(MntDiam), \
0, \
mm2mils100(MntDiam), \
mm2mils100(MntDiam), \
- '"mnt" "0"', '0x0008', ']'
+ '"mnt" "0"', '0x0008', ']')
-print ' Pin[', \
+print(' Pin[', \
mm2mils100(((pins+1)/2-1)*PinSpacing+RowOffset+MntX), \
mm2mils100(-MntY), \
mm2mils100(MntDiam), \
0, \
mm2mils100(MntDiam), \
mm2mils100(MntDiam), \
- '"mnt" "0"', '0x0008', ']'
+ '"mnt" "0"', '0x0008', ']')
BoxWidth = BoxEnd + ((pins/2-1) * PinSpacing + RowOffset);
BoxYOff = MntY + MntDiam/2 + .1524
-print ' ElementLine[', \
+print(' ElementLine[', \
mm2mils100(-BoxEnd), \
mm2mils100(-BoxYOff), \
mm2mils100(-BoxEnd), \
mm2mils100(BoxHeight-BoxYOff), \
- LineWidth, ']'
+ LineWidth, ']')
-print ' ElementLine[', \
+print(' ElementLine[', \
mm2mils100(-BoxEnd), \
mm2mils100(BoxHeight-BoxYOff), \
mm2mils100(BoxWidth), \
mm2mils100(BoxHeight-BoxYOff), \
- LineWidth, ']'
+ LineWidth, ']')
-print ' ElementLine[', \
+print(' ElementLine[', \
mm2mils100(BoxWidth), \
mm2mils100(BoxHeight-BoxYOff), \
mm2mils100(BoxWidth), \
mm2mils100(-BoxYOff), \
- LineWidth, ']'
+ LineWidth, ']')
-print ' ElementLine[', \
+print(' ElementLine[', \
mm2mils100(BoxWidth), \
mm2mils100(-BoxYOff), \
mm2mils100(-BoxEnd), \
mm2mils100(-BoxYOff), \
- LineWidth, ']'
+ LineWidth, ']')
-print ")"
+print(")")
-#!/usr/bin/python2
-# Copyright 2009 by Bdale Garbee <bdale@gag.com>. GPLv2
+#!/usr/bin/python3
+# Copyright 2009,2024 by Bdale Garbee <bdale@gag.com>. GPLv2
#
# Program to emit PCB footprint for Molex version of U.FL micro coax connector
#
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('# author: Bdale Garbee')
+print('# email: bdale@gag.com')
+print('# dist-license: GPL 2')
+print('# use-license: unlimited')
-print 'Element[0x0 "UFL" "" "" 0 0 0 0 0 100 0x0]'
-print "("
+print('Element[0x0 "UFL" "" "" 0 0 0 0 0 100 0x0]')
+print("(")
-print ' Pad[',\
+print(' Pad[',\
mm2mils100(-(GndOutside - GndInside)/4 - (GndInside / 2) ), \
mm2mils100(-(GndHeight / 2) + (GndWidth / 2)), \
mm2mils100(-(GndOutside - GndInside)/4 - (GndInside / 2) ), \
mm2mils100(GndWidth), \
mm2mils100(0.1), \
mm2mils100(GndWidth+0.2), \
- '"pin2"', '"2"', '0x0100]'
+ '"pin2"', '"2"', '0x0100]')
-print ' Pad[',\
+print(' Pad[',\
0, \
mm2mils100(PinOffset + PinWidth/2), \
0, \
mm2mils100(PinWidth), \
mm2mils100(0.1), \
mm2mils100(PinWidth+0.2), \
- '"pin1"', '"1"', '0x0100]'
+ '"pin1"', '"1"', '0x0100]')
-print ' Pad[',\
+print(' Pad[',\
mm2mils100((GndOutside - GndInside)/4 + (GndInside / 2) ), \
mm2mils100(-(GndHeight / 2) + (GndWidth / 2)), \
mm2mils100((GndOutside - GndInside)/4 + (GndInside / 2) ), \
mm2mils100(GndWidth), \
mm2mils100(0.1), \
mm2mils100(GndWidth+0.2), \
- '"pin2"', '"2"', '0x0100]'
+ '"pin2"', '"2"', '0x0100]')
-print ")"
+print(")")