symbol and footprint for Dialight common anode RGB TH LED
[hw/altusmetrum] / packages / usbAmale.py
index e0ef90e37788e78575d7bcbd4b931edb99c9c344..470702a6028a99d9e657525ba9680b25c25ae48f 100755 (executable)
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/python2
 # Copyright 2014 by Bdale Garbee <bdale@gag.com>.  GPLv2
 #
 # Program to emit PCB footprint for Keystone model 931 USB A male connector,
                                # holes for the tabs in a USB key form factor,
                                # in which case just delete the features in
                                # the PCB layout and make board width right
-TabDiam = 2.50
-TabMinor = 1.00
+TabDiam = 1.00
+TabLen = 2.50
 TabSpacing = 11.70
+TabMetal = 0.5
 
 PinDiam = 1.10
 PinSpacing = 4.50              # keystone wants 4.6 here .. really?
@@ -96,25 +97,81 @@ print '   Pin[',\
         mm2mils100(PinDiam), \
         '"mnt" "G" 0x0000]'
 
-print '   Pad[',\
-        mm2mils100(-TabSpacing/2 + PadWidth/2 + TabMinor/2), \
-        mm2mils100(-TabDiam/2), \
-        mm2mils100(-TabSpacing/2 + PadWidth/2 + TabMinor/2), \
-        mm2mils100(TabDiam/2), \
-        mm2mils100(PadWidth), \
+print '   Pin[',\
+        mm2mils100(-TabSpacing/2), \
+        mm2mils100(-(TabLen-TabDiam)/2), \
+        mm2mils100(TabDiam+TabMetal), \
+        mm2mils100(0.31), \
+        mm2mils100(TabDiam+0.66), \
+        mm2mils100(TabDiam), \
+        '"mnt" "G" 0x0000]'
+
+print '   Pin[',\
+        mm2mils100(-TabSpacing/2), \
+        mm2mils100((TabLen-TabDiam)/2), \
+        mm2mils100(TabDiam+TabMetal), \
         mm2mils100(0.31), \
-        mm2mils100(0.15), \
-        '"mnt" "G" "onsolder,nopaste"]'
+        mm2mils100(TabDiam+0.66), \
+        mm2mils100(TabDiam), \
+        '"mnt" "G" 0x0000]'
 
 print '   Pad[',\
-        mm2mils100(TabSpacing/2 - PadWidth/2 - TabMinor/2), \
-        mm2mils100(-TabDiam/2), \
-        mm2mils100(TabSpacing/2 - PadWidth/2 - TabMinor/2), \
-        mm2mils100(TabDiam/2), \
-        mm2mils100(PadWidth), \
+       mm2mils100(-TabSpacing/2), \
+       mm2mils100(-(TabLen - TabDiam)/2), \
+       mm2mils100(-TabSpacing/2), \
+       mm2mils100((TabLen - TabDiam)/2), \
+       mm2mils100(TabDiam + TabMetal), \
+       mm2mils100(0.31), \
+       mm2mils100(PadWidth)+600, \
+       '"mnt" "G" ""]'
+
+print '   Pad[',\
+       mm2mils100(-TabSpacing/2), \
+       mm2mils100(-(TabLen - TabDiam)/2), \
+       mm2mils100(-TabSpacing/2), \
+       mm2mils100((TabLen - TabDiam)/2), \
+       mm2mils100(TabDiam + TabMetal), \
+       mm2mils100(0.31), \
+       mm2mils100(PadWidth)+600, \
+       '"mnt" "G" "onsolder"]'
+
+print '   Pin[',\
+        mm2mils100(TabSpacing/2), \
+        mm2mils100(-(TabLen-TabDiam)/2), \
+        mm2mils100(TabDiam+TabMetal), \
+        mm2mils100(0.31), \
+        mm2mils100(TabDiam+0.66), \
+        mm2mils100(TabDiam), \
+        '"mnt" "G" 0x0000]'
+
+print '   Pin[',\
+        mm2mils100(TabSpacing/2), \
+        mm2mils100((TabLen-TabDiam)/2), \
+        mm2mils100(TabDiam+TabMetal), \
         mm2mils100(0.31), \
-        mm2mils100(0.15), \
-        '"mnt" "G" "onsolder,nopaste"]'
+        mm2mils100(TabDiam+0.66), \
+        mm2mils100(TabDiam), \
+        '"mnt" "G" 0x0000]'
+
+print '   Pad[',\
+       mm2mils100(TabSpacing/2), \
+       mm2mils100(-(TabLen - TabDiam)/2), \
+       mm2mils100(TabSpacing/2), \
+       mm2mils100((TabLen - TabDiam)/2), \
+       mm2mils100(TabDiam + TabMetal), \
+       mm2mils100(0.31), \
+       mm2mils100(PadWidth)+600, \
+       '"mnt" "G" ""]'
+
+print '   Pad[',\
+       mm2mils100(TabSpacing/2), \
+       mm2mils100(-(TabLen - TabDiam)/2), \
+       mm2mils100(TabSpacing/2), \
+       mm2mils100((TabLen - TabDiam)/2), \
+       mm2mils100(TabDiam + TabMetal), \
+       mm2mils100(0.31), \
+       mm2mils100(PadWidth)+600, \
+       '"mnt" "G" "onsolder"]'
 
 print '   ElementLine[',\
        mm2mils100(-TabSpacing/2), \
@@ -123,18 +180,4 @@ print '   ElementLine[',\
        mm2mils100(-EdgeOffset)+500, \
        '1000 ]'
 
-print '   ElementLine[',\
-       mm2mils100(-TabSpacing/2 + TabMinor/2), \
-       mm2mils100(-TabDiam/2), \
-       mm2mils100(-TabSpacing/2 + TabMinor/2), \
-       mm2mils100(TabDiam/2), \
-       '1000 ]'
-
-print '   ElementLine[',\
-       mm2mils100(TabSpacing/2 - TabMinor/2), \
-       mm2mils100(-TabDiam/2), \
-       mm2mils100(TabSpacing/2 - TabMinor/2), \
-       mm2mils100(TabDiam/2), \
-       '1000 ]'
-
 print ")"