fix XYRS on crystal and accelerometer footprints
authorBdale Garbee <bdale@gag.com>
Tue, 17 Nov 2009 06:27:34 +0000 (23:27 -0700)
committerBdale Garbee <bdale@gag.com>
Tue, 17 Nov 2009 06:27:34 +0000 (23:27 -0700)
add body outline to accelermeter footprint

pkg/newlib/ABM8.py
pkg/newlib/MOT475-01.py

index 2f5502d1e8742b33089d58c5a685b2021624d030..a97d4c8f3cde9861dfea93fe72e73277c9dbee5a 100755 (executable)
@@ -19,48 +19,48 @@ def mm2mils100( mm ):
 print 'Element[0x0 "ABM8" "" "" 0 0 0 0 0 100 0x0]'
 print "("
 print '   Pad[',\
-       mm2mils100(PinWidth/2), \
-       mm2mils100(PinWidth/2), \
-       mm2mils100(PinWidth/2), \
-       mm2mils100(PinHeight - PinWidth/2), \
+       mm2mils100(WSpacing/2 + PinWidth/2), \
+       mm2mils100(-(HSpacing/2 + PinWidth/2)), \
+       mm2mils100(WSpacing/2 + PinWidth/2), \
+       mm2mils100(-(HSpacing/2 + PinHeight - PinWidth/2)), \
        mm2mils100(PinWidth), \
        mm2mils100(WSpacing - PinWidth), \
        mm2mils100(PinWidth)+600, \
-       '"pin3" "3" 0x0100]'
+       '"pin2" "2" 0x0100]'
 
 print '   Pad[',\
-       mm2mils100(PinWidth + WSpacing + PinWidth/2), \
-       mm2mils100(PinWidth/2), \
-       mm2mils100(PinWidth + WSpacing + PinWidth/2), \
-       mm2mils100(PinHeight - PinWidth/2), \
+       mm2mils100(WSpacing/2 + PinWidth/2), \
+       mm2mils100(HSpacing/2 + PinWidth/2), \
+       mm2mils100(WSpacing/2 + PinWidth/2), \
+       mm2mils100(HSpacing/2 + PinHeight - PinWidth/2), \
        mm2mils100(PinWidth), \
        mm2mils100(WSpacing - PinWidth), \
        mm2mils100(PinWidth)+600, \
-       '"pin2" "2" 0x0100]'
+       '"pin1" "1" 0x0100]'
 
 print '   Pad[',\
-       mm2mils100(PinWidth/2), \
-       mm2mils100(PinHeight + HSpacing + PinWidth/2), \
-       mm2mils100(PinWidth/2), \
-       mm2mils100(PinHeight + HSpacing + PinHeight - PinWidth/2), \
+       mm2mils100(-(WSpacing/2 + PinWidth/2)), \
+       mm2mils100(HSpacing/2 + PinWidth/2), \
+       mm2mils100(-(WSpacing/2 + PinWidth/2)), \
+       mm2mils100(HSpacing/2 + PinHeight - PinWidth/2), \
        mm2mils100(PinWidth), \
        mm2mils100(WSpacing - PinWidth), \
        mm2mils100(PinWidth)+600, \
        '"pin4" "4" 0x0100]'
 
 print '   Pad[',\
-       mm2mils100(PinWidth + WSpacing + PinWidth/2), \
-       mm2mils100(PinHeight + HSpacing + PinWidth/2), \
-       mm2mils100(PinWidth + WSpacing + PinWidth/2), \
-       mm2mils100(PinHeight + HSpacing + PinHeight - PinWidth/2), \
+       mm2mils100(-(WSpacing/2 + PinWidth/2)), \
+       mm2mils100(-(HSpacing/2 + PinWidth/2)), \
+       mm2mils100(-(WSpacing/2 + PinWidth/2)), \
+       mm2mils100(-(HSpacing/2 + PinHeight - PinWidth/2)), \
        mm2mils100(PinWidth), \
        mm2mils100(WSpacing - PinWidth), \
        mm2mils100(PinWidth)+600, \
-       '"pin1" "1" 0x0100]'
+       '"pin3" "3" 0x0100]'
 
 print '   ElementArc[',\
-       mm2mils100(PinWidth+WSpacing*0.7), \
-       mm2mils100(HSpacing+PinHeight*1.8), \
+       mm2mils100(WSpacing*0.2), \
+       mm2mils100(HSpacing/2+PinHeight*0.8), \
        '500 500 0 360 1000 ]'
 
 print ")"
index 0820645f541eacbee19587735a388126e46077ad..b5073d8300682fb85667ca2304a8bcb4ef47f981 100755 (executable)
@@ -5,10 +5,13 @@
 #
 
 # dimensions in mm from MP3H6115A.pdf Motorola packaging datasheet
+BodyWidth = 7.6
+BodyHeight = 10.45
 PinWidth = 0.61
 PinHeight = 2.03
 PinSpacing = 1.27
-RowSpacing = 9.65
+RowCenters = 9.65
+RowSpacing = RowCenters - PinHeight
 BodySize = 7.4
 
 import sys
@@ -21,56 +24,56 @@ print 'Element[0x0 "MOT475-01" "" "" 0 0 0 0 0 100 0x0]'
 print "("
 for pin in range (0,8):
     print '   Pad[',\
-       mm2mils100(pin * PinSpacing + PinWidth/2), \
-       mm2mils100(PinWidth/2), \
-       mm2mils100(pin * PinSpacing + PinWidth/2), \
-       mm2mils100(PinHeight - PinWidth/2), \
+       mm2mils100((pin-3.5) * PinSpacing), \
+       mm2mils100(-(RowSpacing/2 + PinWidth/2)), \
+       mm2mils100((pin-3.5) * PinSpacing), \
+       mm2mils100(-(RowSpacing/2 + PinHeight - PinWidth/2)), \
        mm2mils100(PinWidth), \
        mm2mils100(PinSpacing - PinWidth), \
        mm2mils100(PinWidth)+600, \
        '"pin%i"' % (16 - pin), '"%i"' % (16 - pin), '0x0100]'
 
     print '   Pad[',\
-       mm2mils100(pin * PinSpacing + PinWidth/2), \
-       mm2mils100(RowSpacing + PinWidth/2), \
-       mm2mils100(pin * PinSpacing + PinWidth/2), \
-       mm2mils100(RowSpacing + PinHeight - PinWidth/2), \
+       mm2mils100((pin-3.5) * PinSpacing), \
+       mm2mils100(RowSpacing/2 + PinWidth/2), \
+       mm2mils100((pin-3.5) * PinSpacing), \
+       mm2mils100(RowSpacing/2 + PinHeight - PinWidth/2), \
        mm2mils100(PinWidth), \
        mm2mils100(PinSpacing - PinWidth), \
        mm2mils100(PinWidth)+600, \
        '"pin%i"' % (1 + pin), '"%i"' % (1 + pin), '0x0100]'
 
-#print '   ElementLine[',\
-#      mm2mils100(2 * PinSpacing - .254 - BodySize/2), \
-#      mm2mils100(PinHeight/2 + RowSpacing/2 - BodySize/2), \
-#      mm2mils100(2 * PinSpacing - .254 + BodySize/2), \
-#      mm2mils100(PinHeight/2 + RowSpacing/2 - BodySize/2), \
-#      '1000 ]'
-#
-#print '   ElementLine[',\
-#      mm2mils100(2 * PinSpacing - .254 - BodySize/2), \
-#      mm2mils100(PinHeight/2 + RowSpacing/2 + BodySize/2), \
-#      mm2mils100(2 * PinSpacing - .254 + BodySize/2), \
-#      mm2mils100(PinHeight/2 + RowSpacing/2 + BodySize/2), \
-#      '1000 ]'
-#
-#print '   ElementLine[',\
-#      mm2mils100(2 * PinSpacing - .254 - BodySize/2), \
-#      mm2mils100(PinHeight/2 + RowSpacing/2 - BodySize/2), \
-#      mm2mils100(2 * PinSpacing - .254 - BodySize/2), \
-#      mm2mils100(PinHeight/2 + RowSpacing/2 + BodySize/2), \
-#      '1000 ]'
-#
-#print '   ElementLine[',\
-#      mm2mils100(2 * PinSpacing - .254 + BodySize/2), \
-#      mm2mils100(PinHeight/2 + RowSpacing/2 - BodySize/2), \
-#      mm2mils100(2 * PinSpacing - .254 + BodySize/2), \
-#      mm2mils100(PinHeight/2 + RowSpacing/2 + BodySize/2), \
-#      '1000 ]'
+print '   ElementLine[',\
+       mm2mils100(-BodyHeight/2), \
+       mm2mils100(-BodyWidth/2), \
+       mm2mils100(-BodyHeight/2), \
+       mm2mils100( BodyWidth/2), \
+       '1000 ]'
+
+print '   ElementLine[',\
+       mm2mils100(-BodyHeight/2), \
+       mm2mils100( BodyWidth/2), \
+       mm2mils100( BodyHeight/2), \
+       mm2mils100( BodyWidth/2), \
+       '1000 ]'
+
+print '   ElementLine[',\
+       mm2mils100( BodyHeight/2), \
+       mm2mils100( BodyWidth/2), \
+       mm2mils100( BodyHeight/2), \
+       mm2mils100(-BodyWidth/2), \
+       '1000 ]'
+
+print '   ElementLine[',\
+       mm2mils100( BodyHeight/2), \
+       mm2mils100(-BodyWidth/2), \
+       mm2mils100(-BodyHeight/2), \
+       mm2mils100(-BodyWidth/2), \
+       '1000 ]'
 
 print '   ElementArc[',\
-       mm2mils100(PinWidth/2), \
-       mm2mils100(RowSpacing-PinHeight/4), \
+       mm2mils100(-3.5 * PinSpacing), \
+       mm2mils100(RowSpacing/2-PinHeight/4), \
        '500 500 0 360 1000 ]'
 
 print ")"