Switch usbAmale to use slots instead of holes
authorKeith Packard <keithp@keithp.com>
Mon, 18 Jan 2016 02:05:48 +0000 (18:05 -0800)
committerKeith Packard <keithp@keithp.com>
Mon, 18 Jan 2016 02:05:48 +0000 (18:05 -0800)
This makes the parts attach much more cleanly.

These need a 1.0mm line drawn on the outline layer between the holes
for the slots; we can't put that in the footprint.

Signed-off-by: Keith Packard <keithp@keithp.com>
packages/usbAmale.py

index 58f29a4d65c4d3c0ba66fc7ee8be1c28e5e63f83..bbeb345f6babb90def443c1ace2107d2f62c7211 100755 (executable)
                                # 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
+TabDiam = 1.00
+TabLen = 2.50
 TabSpacing = 11.70
+TabMetal = 0.5
 
 PinDiam = 1.10
 PinSpacing = 4.50              # keystone wants 4.6 here .. really?
@@ -97,8 +99,46 @@ print '   Pin[',\
 
 print '   Pin[',\
         mm2mils100(-TabSpacing/2), \
-        mm2mils100(0), \
-        mm2mils100(TabDiam+0.3556), \
+        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(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" "2" ""]'
+
+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" "2" "onsolder"]'
+
+print '   Pin[',\
+        mm2mils100(TabSpacing/2), \
+        mm2mils100(-(TabLen-TabDiam)/2), \
+        mm2mils100(TabDiam+TabMetal), \
         mm2mils100(0.31), \
         mm2mils100(TabDiam+0.66), \
         mm2mils100(TabDiam), \
@@ -106,13 +146,33 @@ print '   Pin[',\
 
 print '   Pin[',\
         mm2mils100(TabSpacing/2), \
-        mm2mils100(0), \
-        mm2mils100(TabDiam+0.3556), \
+        mm2mils100((TabLen-TabDiam)/2), \
+        mm2mils100(TabDiam+TabMetal), \
         mm2mils100(0.31), \
         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" "2" ""]'
+
+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" "2" "onsolder"]'
+
 print '   ElementLine[',\
        mm2mils100(-TabSpacing/2), \
        mm2mils100(-EdgeOffset)+500, \