packages: add ufqfpn20 (stm32l tiny part)
[hw/altusmetrum] / packages / ABM8.py
index f279ae8508b261a44e8fb1b26ccf5bd4386eacfb..447aabaf92fa7b53d39ee36c841dbed509543a7b 100755 (executable)
@@ -10,6 +10,11 @@ PinWidth = 1.05
 HSpacing = 1.00
 WSpacing = 0.8
 
+# freedfm.com round-off error bites us if we make this 700...
+MinAnnular = 725
+MinClearance = 600
+MaskDelta = 300
+
 import sys
 
 # we're going to use the 1/100 of a mil fundamental unit form
@@ -29,8 +34,8 @@ print '   Pad[',\
        mm2mils100(WSpacing/2 + PinWidth/2), \
        mm2mils100(-(HSpacing/2 + PinHeight - PinWidth/2)), \
        mm2mils100(PinWidth), \
-       mm2mils100(WSpacing - PinWidth), \
-       mm2mils100(PinWidth)+600, \
+       (MinClearance*2), \
+       mm2mils100(PinWidth)+(MaskDelta*2), \
        '"pin2" "2" 0x0100]'
 
 print '   Pad[',\
@@ -39,8 +44,8 @@ print '   Pad[',\
        mm2mils100(WSpacing/2 + PinWidth/2), \
        mm2mils100(HSpacing/2 + PinHeight - PinWidth/2), \
        mm2mils100(PinWidth), \
-       mm2mils100(WSpacing - PinWidth), \
-       mm2mils100(PinWidth)+600, \
+       (MinClearance*2), \
+       mm2mils100(PinWidth)+(MaskDelta*2), \
        '"pin1" "1" 0x0100]'
 
 print '   Pad[',\
@@ -49,8 +54,8 @@ print '   Pad[',\
        mm2mils100(-(WSpacing/2 + PinWidth/2)), \
        mm2mils100(HSpacing/2 + PinHeight - PinWidth/2), \
        mm2mils100(PinWidth), \
-       mm2mils100(WSpacing - PinWidth), \
-       mm2mils100(PinWidth)+600, \
+       (MinClearance*2), \
+       mm2mils100(PinWidth)+(MaskDelta*2), \
        '"pin4" "4" 0x0100]'
 
 print '   Pad[',\
@@ -59,8 +64,8 @@ print '   Pad[',\
        mm2mils100(-(WSpacing/2 + PinWidth/2)), \
        mm2mils100(-(HSpacing/2 + PinHeight - PinWidth/2)), \
        mm2mils100(PinWidth), \
-       mm2mils100(WSpacing - PinWidth), \
-       mm2mils100(PinWidth)+600, \
+       (MinClearance*2), \
+       mm2mils100(PinWidth)+(MaskDelta*2), \
        '"pin3" "3" 0x0100]'
 
 print '   ElementArc[',\