X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=pkg%2Fnewlib%2FMS-012-AA.py;fp=pkg%2Fnewlib%2FMS-012-AA.py;h=c4762e27894e64739c39670b944703dd14eabaf5;hb=157188c830f56beb7830f78bede8fa0975072bbb;hp=0000000000000000000000000000000000000000;hpb=4d727e43c5b5d34360a51b84726ed18ecfcfb7a2;p=hw%2Fbdale diff --git a/pkg/newlib/MS-012-AA.py b/pkg/newlib/MS-012-AA.py new file mode 100755 index 0000000..c4762e2 --- /dev/null +++ b/pkg/newlib/MS-012-AA.py @@ -0,0 +1,85 @@ +#!/usr/bin/python +# Copyright 2012 by Bdale Garbee . GPLv2 +# +# Program to emit PCB footprint for SOIC-8 package used by FM25V05 +# + +# dimensions in mm from FM25V05_ds.pdf by RAMTRON + +BodyWidth = 3.90 +BodyHeight = 4.90 + +PinWidth = 0.65 +PinHeight = 2.0 +PinSpacing = 1.27 +RowOuter = 7.70 +RowSpacing = RowOuter - (PinHeight * 2) + +import sys + +# we're going to use the 1/100 of a mil fundamental unit form +def mm2mils100( mm ): + return int( mm / 25.4 * 1000.0 * 100.0 + 0.5 ) + +print '# author: Bdale Garbee' +print '# email: bdale@gag.com' +print '# dist-license: GPL 2' +print '# use-license: unlimited' + +print 'Element[0x0 "SOIJ8" "" "" 0 0 -10161 -12011 0 100 0x0]' +print "(" +for pin in range (0,4): + print ' Pad[',\ + 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"' % (8 - pin), '"%i"' % (8 - pin), '0x0100]' + + print ' Pad[',\ + 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"' % (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(-1.5 * PinSpacing), \ + mm2mils100(RowSpacing/2-PinHeight/4), \ + '500 500 0 360 1000 ]' + +print ")"