fix XYRS and add border to footprint for memory chip
authorBdale Garbee <bdale@gag.com>
Tue, 17 Nov 2009 07:02:56 +0000 (00:02 -0700)
committerBdale Garbee <bdale@gag.com>
Tue, 17 Nov 2009 07:02:56 +0000 (00:02 -0700)
pkg/newlib/MOT475-01.py
pkg/newlib/SOIJ8.py

index b5073d8300682fb85667ca2304a8bcb4ef47f981..5ec1fa4ba2ab1bf3058fc2a6026e814ffbb15e0f 100755 (executable)
@@ -12,7 +12,6 @@ PinHeight = 2.03
 PinSpacing = 1.27
 RowCenters = 9.65
 RowSpacing = RowCenters - PinHeight
-BodySize = 7.4
 
 import sys
 
index 30e06b0f9a2975be813843656257fa29504802a5..b64099ccdf51d31bbc9620e062b042360df906d5 100755 (executable)
@@ -6,10 +6,14 @@
 
 # dimensions in mm from 22064B.pdf datasheet for Microchip 25LC1024
 
+BodyWidth = 5.38
+BodyHeight = 5.33
+
 PinWidth = 0.65
 PinHeight = 1.5
 PinSpacing = 1.27
-RowSpacing = 6.8
+RowCenters = 6.8
+RowSpacing = RowCenters - PinHeight
 
 import sys
 
@@ -19,30 +23,58 @@ def mm2mils100( mm ):
 
 print 'Element[0x0 "SOIJ8" "" "" 0 0 -10161 -12011 0 100 0x0]'
 print "("
-for pin in range (1,5):
+for pin in range (0,4):
     print '   Pad[',\
-       mm2mils100(pin * PinSpacing + PinWidth/2), \
-       mm2mils100(PinWidth/2), \
-       mm2mils100(pin * PinSpacing + PinWidth/2), \
-       mm2mils100(PinHeight - PinWidth/2), \
+       mm2mils100((pin-1.5) * PinSpacing), \
+       mm2mils100(-(RowSpacing/2 + PinWidth/2)), \
+       mm2mils100((pin-1.5) * PinSpacing), \
+       mm2mils100(-(RowSpacing/2 + PinHeight - PinWidth/2)), \
        mm2mils100(PinWidth), \
        mm2mils100(PinSpacing - PinWidth), \
        mm2mils100(PinWidth)+600, \
-       '"pin%i"' % (9 - pin), '"%i"' % (9 - pin), '0x0100]'
+       '"pin%i"' % (8 - pin), '"%i"' % (8 - 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-1.5) * PinSpacing), \
+       mm2mils100(RowSpacing/2 + PinWidth/2), \
+       mm2mils100((pin-1.5) * PinSpacing), \
+       mm2mils100(RowSpacing/2 + PinHeight - PinWidth/2), \
        mm2mils100(PinWidth), \
        mm2mils100(PinSpacing - PinWidth), \
        mm2mils100(PinWidth)+600, \
-       '"pin%i"' % pin, '"%i"' % pin, '0x0100]'
+       '"pin%i"' % (1 + pin), '"%i"' % (1 + pin), '0x0100]'
+
+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(PinSpacing+PinWidth/2), \
-       mm2mils100(RowSpacing-PinHeight/4), \
+       mm2mils100(-1.5 * PinSpacing), \
+       mm2mils100(RowSpacing/2-PinHeight/4), \
        '500 500 0 360 1000 ]'
 
 print ")"