# 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
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 ")"