X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=packages%2FmicroSD.py;h=8a8acb906c28863767b404f059b88f862714607b;hb=e9ffe253692d6f1de1090089a940d962cfc174e6;hp=a198a18af0cbb673d204ccf2f0d4034c756eb354;hpb=d60033b0b36446e5db925e616004421c86e9fc06;p=hw%2Faltusmetrum diff --git a/packages/microSD.py b/packages/microSD.py index a198a18..8a8acb9 100755 --- a/packages/microSD.py +++ b/packages/microSD.py @@ -1,26 +1,29 @@ -#!/usr/bin/python -# Copyright 2011 by Bdale Garbee . GPLv2 +#!/usr/bin/python3 +# Copyright 2022 by Bdale Garbee . GPLv3 # -# Program to emit PCB footprint for Amphenol micro SD connector +# Program to emit PCB footprint for GCT MEM2067-02-180-00-A micro SD connector # -# dimensions in mm from 101-00303-xx.pdf -PinWidth = 0.60 -PinHeight = 1.05 +# dimensions in mm from gct/mem2067.pdf +PinWidth = 0.80 +PinHeight = 1.20 PinSpacing = 1.10 -PinY = 9.47 -PinXOffset = 4.53 +PinY = 9.85 +PinXOffset = 4.475 -MntWidth = 1.05 -MntHeight = 1.50 -MntY1 = 3.60 -MntY2 = 12.00 +MntWidth = 1.50 +MntHeight = 2.00 +MntY1 = 3.85 +MntY2 = 12.05 MntX = 13.60 BoxX = 13.60 -BoxY = 13.30 +BoxY = 14.45 +ArcOffset = 1.05 LineWidth = 1000 +Clearance = 0.32 + MaskAdd = 0.15 import sys @@ -29,95 +32,103 @@ import sys 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('# author: Bdale Garbee') +print('# email: bdale@gag.com') +print('# dist-license: GPL 3') +print('# use-license: unlimited') -print 'Element[0x0 "microSD" "" "" 0 0 0 0 0 100 0x0]' -print "(" +print('Element[0x0 "microSD" "" "" 0 0 0 0 0 100 0x0]') +print("(") # mounting pads -print ' Pad[',\ +print(' Pad[',\ mm2mils100(-MntX/2), \ mm2mils100(MntY1-(MntHeight/2)+(MntWidth/2)), \ mm2mils100(-MntX/2), \ mm2mils100(MntY1+(MntHeight/2)-(MntWidth/2)), \ mm2mils100(MntWidth), \ - mm2mils100(0), \ + mm2mils100(Clearance), \ mm2mils100(MntWidth + MaskAdd), \ - '"9" "9" 0x0100]' + '"9" "9" 0x0100]') -print ' Pad[',\ +print(' Pad[',\ mm2mils100(MntX/2), \ mm2mils100(MntY1-(MntHeight/2)+(MntWidth/2)), \ mm2mils100(MntX/2), \ mm2mils100(MntY1+(MntHeight/2)-(MntWidth/2)), \ mm2mils100(MntWidth), \ - mm2mils100(0), \ + mm2mils100(Clearance), \ mm2mils100(MntWidth + MaskAdd), \ - '"9" "9" 0x0100]' + '"9" "9" 0x0100]') -print ' Pad[',\ +print(' Pad[',\ mm2mils100(-MntX/2), \ mm2mils100(MntY2-(MntHeight/2)+(MntWidth/2)), \ mm2mils100(-MntX/2), \ mm2mils100(MntY2+(MntHeight/2)-(MntWidth/2)), \ mm2mils100(MntWidth), \ - mm2mils100(0), \ + mm2mils100(Clearance), \ mm2mils100(MntWidth + MaskAdd), \ - '"9" "9" 0x0100]' + '"9" "9" 0x0100]') -print ' Pad[',\ +print(' Pad[',\ mm2mils100(MntX/2), \ mm2mils100(MntY2-(MntHeight/2)+(MntWidth/2)), \ mm2mils100(MntX/2), \ mm2mils100(MntY2+(MntHeight/2)-(MntWidth/2)), \ mm2mils100(MntWidth), \ - mm2mils100(0), \ + mm2mils100(Clearance), \ mm2mils100(MntWidth + MaskAdd), \ - '"9" "9" 0x0100]' + '"9" "9" 0x0100]') # signal pads for pin in range (1,9): - print ' Pad[',\ + print(' Pad[',\ mm2mils100(-PinXOffset + (8-pin) * PinSpacing), \ mm2mils100(PinY-(PinHeight/2)+(PinWidth/2)), \ mm2mils100(-PinXOffset + (8-pin) * PinSpacing), \ mm2mils100(PinY+(PinHeight/2)-(PinWidth/2)), \ mm2mils100(PinWidth), \ - mm2mils100(0), \ + mm2mils100(Clearance), \ mm2mils100(PinWidth + MaskAdd), \ - '"pin%i"' % (pin), '"%i"' % (pin), '0x0100]' + '"pin%i"' % (pin), '"%i"' % (pin), '0x0100]') # silkscreen box -print ' ElementLine[', \ +print(' ElementLine[', \ mm2mils100(BoxX/2), \ mm2mils100(0), \ mm2mils100(BoxX/2), \ mm2mils100(BoxY), \ - LineWidth, ']' + LineWidth, ']') -print ' ElementLine[', \ +print(' ElementLine[', \ mm2mils100(-BoxX/2), \ mm2mils100(0), \ mm2mils100(-BoxX/2), \ mm2mils100(BoxY), \ - LineWidth, ']' + LineWidth, ']') -print ' ElementLine[', \ +print(' ElementLine[', \ mm2mils100(-BoxX/2), \ mm2mils100(0), \ mm2mils100(+BoxX/2), \ mm2mils100(0), \ - LineWidth, ']' + LineWidth, ']') -print ' ElementLine[', \ +print(' ElementLine[', \ mm2mils100(-BoxX/2), \ mm2mils100(BoxY), \ mm2mils100(+BoxX/2), \ mm2mils100(BoxY), \ - LineWidth, ']' - - -print ")" + LineWidth, ']') + +print(' ElementArc[', \ + 0, \ + mm2mils100(BoxY+(BoxX/2)-ArcOffset), \ + mm2mils100(BoxX/2), \ + mm2mils100(BoxX/2), \ + 238, \ + 64, \ + LineWidth, ']') + +print(")")