]> git.gag.com Git - hw/altusmetrum/commitdiff
new stuff for full-sized SD card, etc
authorBdale Garbee <bdale@gag.com>
Sun, 13 Sep 2015 04:12:47 +0000 (22:12 -0600)
committerBdale Garbee <bdale@gag.com>
Sun, 13 Sep 2015 04:12:47 +0000 (22:12 -0600)
datasheets/amphenol/sd.pdf [new file with mode: 0644]
packages/Makefile
packages/SD.py [new file with mode: 0755]
symbols/maxim/MAX6691.sym [new file with mode: 0644]

diff --git a/datasheets/amphenol/sd.pdf b/datasheets/amphenol/sd.pdf
new file mode 100644 (file)
index 0000000..5bc4602
Binary files /dev/null and b/datasheets/amphenol/sd.pdf differ
index d98b84636d620dea47b16940b84602b0f59f44e8..57ab907668af5c38d9af0128769eeeca3fa6e9e4 100644 (file)
@@ -87,6 +87,7 @@ FOOTPRINTS= \
        DO-214AC.fp \
        BU2032SM.fp \
        TO252AA.fp \
+       SD.fp \
        microSD.fp
 
 .5c.fp:
diff --git a/packages/SD.py b/packages/SD.py
new file mode 100755 (executable)
index 0000000..1cf17f7
--- /dev/null
@@ -0,0 +1,240 @@
+#!/usr/bin/python
+# Copyright 2015 by Bdale Garbee <bdale@gag.com>.  GPLv3
+#
+# Program to emit PCB footprint for Amphenol SD connector
+#
+
+# dimensions in mm from amphenol/sd.pdf
+
+PadWidth = 1.50
+PadHeight = 1.00
+PadX = -24.31
+Pad1Y = -8.60 + 2.50
+Pad2Y = -8.60 + 5.00
+Pad3Y = -8.60 + 5.00 + 1.70 + 1.70
+Pad4Y = -8.60 + 5.00 + 1.70 + 1.70 + 1.65
+Pad5Y = -8.60 + 15.00 - 2.50
+Pad6Y = -8.60 + 15.00
+Pad7Y = -8.60 + 15.00 + 2.43
+Pad8Y = -8.60 + 15.00 + 2.43 + 1.70
+Pad9Y = -8.60
+PadCDY = -8.60 + 5.00 + 1.70
+PadWPY = -8.60 + 15.00 + 2.43 + 1.70 + 3.35
+
+MntWidth = 2.00
+MntHeight = 1.20
+MntY1 = 15.00 - 29.20 + (MntHeight / 2)
+MntX1 = -3.30
+MntY2 = 15.00 - (MntHeight / 2)
+MntX2 = -2.10
+
+HoleDiam = 1.50
+Hole1Y = -11.30
+Hole2Y = 12.85
+
+BoxX = 29.1 + 1.16
+BoxXLeft = -23.5 - 1.16
+BoxY = 28.9
+LineWidth = 1000
+
+MaskAdd = 0.15
+
+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 3'
+print '# use-license: unlimited'
+
+print 'Element[0x0 "microSD" "" "" 0 0 0 0 0 100 0x0]'
+print "("
+
+# mounting pads
+print '   Pad[',\
+       mm2mils100(MntX1 - MntWidth/2 + MntHeight/2), \
+       mm2mils100(MntY1), \
+       mm2mils100(MntX1 + MntWidth/2 - MntHeight/2), \
+       mm2mils100(MntY1), \
+       mm2mils100(MntHeight), \
+       mm2mils100(0), \
+       mm2mils100(MntHeight + MaskAdd), \
+       '"12" "12" 0x0100]'
+
+print '   Pad[',\
+       mm2mils100(MntX2 - MntWidth/2 + MntHeight/2), \
+       mm2mils100(MntY2), \
+       mm2mils100(MntX2 + MntWidth/2 - MntHeight/2), \
+       mm2mils100(MntY2), \
+       mm2mils100(MntHeight), \
+       mm2mils100(0), \
+       mm2mils100(MntHeight + MaskAdd), \
+       '"12" "12" 0x0100]'
+
+# signal pads
+print '   Pad[',\
+       mm2mils100(PadX - PadWidth/2 + PadHeight/2), \
+       mm2mils100(Pad1Y), \
+       mm2mils100(PadX + PadWidth/2 - PadHeight/2), \
+       mm2mils100(Pad1Y), \
+       mm2mils100(PadHeight), \
+       mm2mils100(0), \
+       mm2mils100(PadHeight + MaskAdd), \
+       '"1" "1" 0x0100]'
+
+print '   Pad[',\
+       mm2mils100(PadX - PadWidth/2 + PadHeight/2), \
+       mm2mils100(Pad2Y), \
+       mm2mils100(PadX + PadWidth/2 - PadHeight/2), \
+       mm2mils100(Pad2Y), \
+       mm2mils100(PadHeight), \
+       mm2mils100(0), \
+       mm2mils100(PadHeight + MaskAdd), \
+       '"2" "2" 0x0100]'
+
+print '   Pad[',\
+       mm2mils100(PadX - PadWidth/2 + PadHeight/2), \
+       mm2mils100(Pad3Y), \
+       mm2mils100(PadX + PadWidth/2 - PadHeight/2), \
+       mm2mils100(Pad3Y), \
+       mm2mils100(PadHeight), \
+       mm2mils100(0), \
+       mm2mils100(PadHeight + MaskAdd), \
+       '"3" "3" 0x0100]'
+
+print '   Pad[',\
+       mm2mils100(PadX - PadWidth/2 + PadHeight/2), \
+       mm2mils100(Pad4Y), \
+       mm2mils100(PadX + PadWidth/2 - PadHeight/2), \
+       mm2mils100(Pad4Y), \
+       mm2mils100(PadHeight), \
+       mm2mils100(0), \
+       mm2mils100(PadHeight + MaskAdd), \
+       '"4" "4" 0x0100]'
+
+print '   Pad[',\
+       mm2mils100(PadX - PadWidth/2 + PadHeight/2), \
+       mm2mils100(Pad5Y), \
+       mm2mils100(PadX + PadWidth/2 - PadHeight/2), \
+       mm2mils100(Pad5Y), \
+       mm2mils100(PadHeight), \
+       mm2mils100(0), \
+       mm2mils100(PadHeight + MaskAdd), \
+       '"5" "5" 0x0100]'
+
+print '   Pad[',\
+       mm2mils100(PadX - PadWidth/2 + PadHeight/2), \
+       mm2mils100(Pad6Y), \
+       mm2mils100(PadX + PadWidth/2 - PadHeight/2), \
+       mm2mils100(Pad6Y), \
+       mm2mils100(PadHeight), \
+       mm2mils100(0), \
+       mm2mils100(PadHeight + MaskAdd), \
+       '"6" "6" 0x0100]'
+
+print '   Pad[',\
+       mm2mils100(PadX - PadWidth/2 + PadHeight/2), \
+       mm2mils100(Pad7Y), \
+       mm2mils100(PadX + PadWidth/2 - PadHeight/2), \
+       mm2mils100(Pad7Y), \
+       mm2mils100(PadHeight), \
+       mm2mils100(0), \
+       mm2mils100(PadHeight + MaskAdd), \
+       '"7" "7" 0x0100]'
+
+print '   Pad[',\
+       mm2mils100(PadX - PadWidth/2 + PadHeight/2), \
+       mm2mils100(Pad8Y), \
+       mm2mils100(PadX + PadWidth/2 - PadHeight/2), \
+       mm2mils100(Pad8Y), \
+       mm2mils100(PadHeight), \
+       mm2mils100(0), \
+       mm2mils100(PadHeight + MaskAdd), \
+       '"8" "8" 0x0100]'
+
+print '   Pad[',\
+       mm2mils100(PadX - PadWidth/2 + PadHeight/2), \
+       mm2mils100(Pad9Y), \
+       mm2mils100(PadX + PadWidth/2 - PadHeight/2), \
+       mm2mils100(Pad9Y), \
+       mm2mils100(PadHeight), \
+       mm2mils100(0), \
+       mm2mils100(PadHeight + MaskAdd), \
+       '"9" "9" 0x0100]'
+
+print '   Pad[',\
+       mm2mils100(PadX - PadWidth/2 + PadHeight/2), \
+       mm2mils100(PadCDY), \
+       mm2mils100(PadX + PadWidth/2 - PadHeight/2), \
+       mm2mils100(PadCDY), \
+       mm2mils100(PadHeight), \
+       mm2mils100(0), \
+       mm2mils100(PadHeight + MaskAdd), \
+       '"10" "10" 0x0100]'
+
+print '   Pad[',\
+       mm2mils100(PadX - PadWidth/2 + PadHeight/2), \
+       mm2mils100(PadWPY), \
+       mm2mils100(PadX + PadWidth/2 - PadHeight/2), \
+       mm2mils100(PadWPY), \
+       mm2mils100(PadHeight), \
+       mm2mils100(0), \
+       mm2mils100(PadHeight + MaskAdd), \
+       '"11" "11" 0x0100]'
+
+# mounting holes
+print '   Pin[',\
+        0, \
+        mm2mils100(Hole1Y), \
+        mm2mils100(HoleDiam+0.3556), \
+        mm2mils100(0.31), \
+        mm2mils100(HoleDiam+0.66), \
+        mm2mils100(HoleDiam), \
+        '"12" "12" 0x0000]'
+
+print '   Pin[',\
+        0, \
+        mm2mils100(Hole2Y), \
+        mm2mils100(HoleDiam+0.3556), \
+        mm2mils100(0.31), \
+        mm2mils100(HoleDiam+0.66), \
+        mm2mils100(HoleDiam), \
+        '"12" "12" 0x0000]'
+
+BoxX = 29.1 + 1.16
+BoxXLeft = -23.5 - 1.16
+BoxY = 28.9
+
+# silkscreen box
+print '   ElementLine[', \
+        mm2mils100(BoxXLeft), \
+        mm2mils100(-BoxY/2), \
+        mm2mils100(BoxXLeft), \
+        mm2mils100(BoxY/2), \
+        LineWidth, ']'
+
+print '   ElementLine[', \
+        mm2mils100(BoxXLeft + BoxX), \
+        mm2mils100(-BoxY/2), \
+        mm2mils100(BoxXLeft + BoxX), \
+        mm2mils100(BoxY/2), \
+        LineWidth, ']'
+
+print '   ElementLine[', \
+        mm2mils100(BoxXLeft), \
+        mm2mils100(-BoxY/2), \
+        mm2mils100(BoxXLeft + BoxX), \
+        mm2mils100(-BoxY/2), \
+        LineWidth, ']'
+
+print '   ElementLine[', \
+        mm2mils100(BoxXLeft), \
+        mm2mils100(BoxY/2), \
+        mm2mils100(BoxXLeft + BoxX), \
+        mm2mils100(BoxY/2), \
+        LineWidth, ']'
+
+print ")"
diff --git a/symbols/maxim/MAX6691.sym b/symbols/maxim/MAX6691.sym
new file mode 100644 (file)
index 0000000..36fa8be
--- /dev/null
@@ -0,0 +1,118 @@
+v 20110115 2
+P 0 500 300 500 1 0 0
+{
+T 0 500 5 10 0 0 0 0 1
+pintype=pas
+T 355 495 5 10 1 1 0 0 1
+pinlabel=T4
+T 205 545 5 10 1 1 0 6 1
+pinnumber=4
+T 0 500 5 10 0 0 0 0 1
+pinseq=4
+}
+B 300 0 1400 1900 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1
+T 1295 95 8 10 0 1 0 0 1
+device=IC
+T 295 1995 8 10 1 1 0 0 1
+refdes=U?
+P 0 100 300 100 1 0 0
+{
+T 0 100 5 10 0 0 0 0 1
+pintype=pas
+T 355 95 5 10 1 1 0 0 1
+pinlabel=R-
+T 205 145 5 10 1 1 0 6 1
+pinnumber=5
+T 0 100 5 10 0 0 0 0 1
+pinseq=5
+}
+P 2000 1300 1700 1300 1 0 0
+{
+T 2000 1300 5 10 0 0 0 6 1
+pintype=io
+T 1645 1295 5 10 1 1 0 6 1
+pinlabel=I/O
+T 1795 1345 5 10 1 1 0 0 1
+pinnumber=9
+T 2000 1300 5 10 0 0 0 6 1
+pinseq=9
+}
+T 895 1995 8 10 1 1 0 0 1
+value=MAX6691
+P 0 1300 300 1300 1 0 0
+{
+T 0 1300 5 10 0 0 0 0 1
+pintype=pas
+T 355 1295 5 10 1 1 0 0 1
+pinlabel=T2
+T 205 1345 5 10 1 1 0 6 1
+pinnumber=2
+T 0 1300 5 10 0 0 0 0 1
+pinseq=2
+}
+P 0 1700 300 1700 1 0 0
+{
+T 0 1700 5 10 0 0 0 0 1
+pintype=pas
+T 355 1695 5 10 1 1 0 0 1
+pinlabel=T1
+T 205 1745 5 10 1 1 0 6 1
+pinnumber=1
+T 0 1700 5 10 0 0 0 0 1
+pinseq=1
+}
+P 0 900 300 900 1 0 0
+{
+T 0 900 5 10 0 0 0 0 1
+pintype=pas
+T 355 895 5 10 1 1 0 0 1
+pinlabel=T3
+T 205 945 5 10 1 1 0 6 1
+pinnumber=3
+T 0 900 5 10 0 0 0 0 1
+pinseq=3
+}
+P 2000 900 1700 900 1 0 0
+{
+T 2000 900 5 10 0 0 0 6 1
+pintype=pas
+T 1645 895 5 10 1 1 0 6 1
+pinlabel=NC
+T 1795 945 5 10 1 1 0 0 1
+pinnumber=8
+T 2000 900 5 10 0 0 0 6 1
+pinseq=8
+}
+P 2000 1700 1700 1700 1 0 0
+{
+T 2000 1700 5 10 0 0 0 6 1
+pintype=pwr
+T 1645 1695 5 10 1 1 0 6 1
+pinlabel=VCC
+T 1795 1745 5 10 1 1 0 0 1
+pinnumber=10
+T 2000 1700 5 10 0 0 0 6 1
+pinseq=10
+}
+P 2000 500 1700 500 1 0 0
+{
+T 2000 500 5 10 0 0 0 6 1
+pintype=pwr
+T 1645 495 5 10 1 1 0 6 1
+pinlabel=GND
+T 1795 545 5 10 1 1 0 0 1
+pinnumber=7
+T 2000 500 5 10 0 0 0 6 1
+pinseq=7
+}
+P 2000 100 1700 100 1 0 0
+{
+T 2000 100 5 10 0 0 0 6 1
+pintype=pas
+T 1645 95 5 10 1 1 0 6 1
+pinlabel=R+
+T 1795 145 5 10 1 1 0 0 1
+pinnumber=6
+T 2000 100 5 10 0 0 0 6 1
+pinseq=6
+}