catch up on stuff
authorBdale Garbee <bdale@gag.com>
Thu, 1 Dec 2011 04:29:30 +0000 (21:29 -0700)
committerBdale Garbee <bdale@gag.com>
Thu, 1 Dec 2011 04:29:30 +0000 (21:29 -0700)
pkg/newlib/50milpitch.py [new file with mode: 0755]
pkg/newlib/ITG3200.py [new file with mode: 0755]
pkg/newlib/KSCJ.py [new file with mode: 0755]
pkg/newlib/SOT23-6.py [new file with mode: 0755]
pkg/newlib/TI-SO-14.py [new file with mode: 0755]
pkg/newlib/pj-037a.py [new file with mode: 0755]
sym/STM32L151.sym

diff --git a/pkg/newlib/50milpitch.py b/pkg/newlib/50milpitch.py
new file mode 100755 (executable)
index 0000000..76b1b78
--- /dev/null
@@ -0,0 +1,49 @@
+#!/usr/bin/python
+# Copyright 2011 by Bdale Garbee <bdale@gag.com>.  GPLv2
+#
+# Program to emit PCB footprint for
+#   Sullins Connector Solutions single row 0.050" header pins
+#
+# Needs pin count on command line, in range of 2..50
+#
+
+# dimensions in mm
+PinSpacing = 1.27
+
+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 )
+
+pins = int(sys.argv[1])
+if pins < 2:
+       sys.stderr.write('Must be at least 2 pins\n')
+       sys.exit(1)
+if pins > 15:
+       sys.stderr.write('Must be no more than 15 pins\n')
+       sys.exit(1)
+
+print '# author: Bdale Garbee'
+print '# email: bdale@gag.com'
+print '# dist-license: GPL 2'
+print '# use-license: unlimited'
+
+print 'Element[0x0 "50mil%ipin"' % pins,'"" "" 0 0 0 0 0 100 0x0]'
+print "("
+for pin in range (1,pins+1):
+    pinnum = pins + 1 - pin
+    if pinnum == 1:
+       Flags = '0x0101'
+    else:
+       Flags = '0x0001'
+    print '   Pin[', \
+       mm2mils100((pins-1)*PinSpacing - (pin-1)*PinSpacing), \
+       0, \
+       4200, \
+       1200, \
+       4800, \
+       2800, \
+       '"pin%i"' % pinnum, '"%i"' % pinnum, Flags, ']'
+
+print ")"
diff --git a/pkg/newlib/ITG3200.py b/pkg/newlib/ITG3200.py
new file mode 100755 (executable)
index 0000000..dc1f878
--- /dev/null
@@ -0,0 +1,74 @@
+#!/usr/bin/python
+# Copyright 2011 by Bdale Garbee <bdale@gag.com>.  GPLv2
+#
+# Program to emit PCB footprint for QFN24 package used by ITG-3200 gyro
+#
+
+# dimensions in mm from Invensense PS-ITG-3200-00-01.4.pdf
+PinWidth = 0.28                
+PinResist = PinWidth + (2 * 0.07)
+PinHeight = 0.8
+PinSpacing = 0.50
+Overall = 4.80
+
+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 "ITG3200" "" "" 0 0 0 0 0 100 0x0]'
+print "("
+
+# pins
+for pin in range (1,7):
+    print '   Pad[',\
+       mm2mils100((-3.5 + pin) * PinSpacing), \
+       mm2mils100(-Overall/2 + PinWidth/2), \
+       mm2mils100((-3.5 + pin) * PinSpacing), \
+       mm2mils100(-Overall/2 + PinHeight - PinWidth/2), \
+       mm2mils100(PinWidth), \
+       mm2mils100(PinSpacing - PinWidth), \
+       mm2mils100(PinResist), \
+       '"pin%i"' % (19-pin), '"%i"' % (19-pin), '0x0000]'
+
+    print '   Pad[',\
+       mm2mils100((-3.5 + pin) * PinSpacing), \
+       mm2mils100(+Overall/2 - PinHeight + PinWidth/2), \
+       mm2mils100((-3.5 + pin) * PinSpacing), \
+       mm2mils100(+Overall/2 - PinWidth/2), \
+       mm2mils100(PinWidth), \
+       mm2mils100(PinSpacing - PinWidth), \
+       mm2mils100(PinResist), \
+       '"pin%i"' % pin, '"%i"' % pin, '0x0000]'
+
+    print '   Pad[',\
+       mm2mils100(Overall/2 - PinHeight + PinWidth/2), \
+       mm2mils100((-3.5 + pin) * PinSpacing), \
+       mm2mils100(Overall/2 - PinWidth/2), \
+       mm2mils100((-3.5 + pin) * PinSpacing), \
+       mm2mils100(PinWidth), \
+       mm2mils100(PinSpacing - PinWidth), \
+       mm2mils100(PinResist), \
+       '"pin%i"' % (13-pin), '"%i"' % (13-pin), '0x0000]'
+
+    print '   Pad[',\
+       mm2mils100(-Overall/2 + PinWidth/2), \
+       mm2mils100((-3.5 + pin) * PinSpacing), \
+       mm2mils100(-Overall/2 + PinHeight - PinWidth/2), \
+       mm2mils100((-3.5 + pin) * PinSpacing), \
+       mm2mils100(PinWidth), \
+       mm2mils100(PinSpacing - PinWidth), \
+       mm2mils100(PinResist), \
+       '"pin%i"' % (18+pin), '"%i"' % (18+pin), '0x0000]'
+
+print '   ElementArc[',\
+       mm2mils100(-(Overall/2)), \
+       mm2mils100(Overall/2), \
+       '500 500 0 360 1000 ]'
+print ")"
diff --git a/pkg/newlib/KSCJ.py b/pkg/newlib/KSCJ.py
new file mode 100755 (executable)
index 0000000..07a2d27
--- /dev/null
@@ -0,0 +1,67 @@
+#!/usr/bin/python
+# Copyright 2007 by Bdale Garbee <bdale@gag.com>.  GPLv2
+#
+# Program to emit PCB footprint for C&K KSCJ SPST switch
+#
+
+# dimensions in mm from C&K KSC_31aug10.pdf datasheet
+
+PadHeight = 1.0
+PadWidth = 2.8
+HSpacing = 4.0
+WSpacing = 3.0
+
+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 "PCM12SMTR" "" "" 0 0 0 0 0 100 0x0]'
+print "("
+print '   Pad[',\
+       mm2mils100(WSpacing/2 + PadHeight/2), \
+       mm2mils100(-HSpacing/2), \
+       mm2mils100(WSpacing/2 + PadWidth - PadHeight/2), \
+       mm2mils100(-HSpacing/2), \
+       mm2mils100(PadHeight), \
+       0, \
+       mm2mils100(PadHeight)+600, \
+       '"pin2" "2" 0x0100]'
+
+print '   Pad[',\
+       mm2mils100(WSpacing/2 + PadHeight/2), \
+       mm2mils100(HSpacing/2), \
+       mm2mils100(WSpacing/2 + PadWidth - PadHeight/2), \
+       mm2mils100(HSpacing/2), \
+       mm2mils100(PadHeight), \
+       0, \
+       mm2mils100(PadHeight)+600, \
+       '"pin1" "1" 0x0100]'
+
+print '   Pad[',\
+       mm2mils100(-WSpacing/2 - PadHeight/2), \
+       mm2mils100(HSpacing/2), \
+       mm2mils100(-WSpacing/2 - PadWidth + PadHeight/2), \
+       mm2mils100(HSpacing/2), \
+       mm2mils100(PadHeight), \
+       0, \
+       mm2mils100(PadHeight)+600, \
+       '"pin1" "1" 0x0100]'
+
+print '   Pad[',\
+       mm2mils100(-WSpacing/2 - PadHeight/2), \
+       mm2mils100(-HSpacing/2), \
+       mm2mils100(-WSpacing/2 - PadWidth + PadHeight/2), \
+       mm2mils100(-HSpacing/2), \
+       mm2mils100(PadHeight), \
+       0, \
+       mm2mils100(PadHeight)+600, \
+       '"pin2" "2" 0x0100]'
+
+print ")"
diff --git a/pkg/newlib/SOT23-6.py b/pkg/newlib/SOT23-6.py
new file mode 100755 (executable)
index 0000000..4db86e3
--- /dev/null
@@ -0,0 +1,51 @@
+#!/usr/bin/python
+# Copyright 2011 by Bdale Garbee <bdale@gag.com>.  GPLv2
+#
+# Program to emit PCB footprint for SOT23-6
+
+# dimensions in mm
+PinWidth = 0.70
+PinHeight = 1.00
+PinSpacing = 0.95
+RowSpacing = 1.60
+
+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 "SOT23-6" "" "" 0 0 -10161 -12011 0 100 0x0]'
+print "("
+for pin in range (0,3):
+    print '   Pad[',\
+       mm2mils100((pin-1) * PinSpacing), \
+       mm2mils100(-(RowSpacing/2 + PinWidth/2)), \
+       mm2mils100((pin-1) * PinSpacing), \
+       mm2mils100(-(RowSpacing/2 + PinHeight - PinWidth/2)), \
+       mm2mils100(PinWidth), \
+       mm2mils100(PinSpacing - PinWidth), \
+       mm2mils100(PinWidth)+600, \
+       '"pin%i"' % (6 - pin), '"%i"' % (6 - pin), '0x0100]'
+
+    print '   Pad[',\
+       mm2mils100((pin-1) * PinSpacing), \
+       mm2mils100(RowSpacing/2 + PinWidth/2), \
+       mm2mils100((pin-1) * PinSpacing), \
+       mm2mils100(RowSpacing/2 + PinHeight - PinWidth/2), \
+       mm2mils100(PinWidth), \
+       mm2mils100(PinSpacing - PinWidth), \
+       mm2mils100(PinWidth)+600, \
+       '"pin%i"' % (1 + pin), '"%i"' % (1 + pin), '0x0100]'
+
+print '   ElementArc[',\
+        mm2mils100(-PinSpacing), \
+        mm2mils100(RowSpacing*1.35), \
+       '500 500 0 360 1000 ]'
+
+print ")"
diff --git a/pkg/newlib/TI-SO-14.py b/pkg/newlib/TI-SO-14.py
new file mode 100755 (executable)
index 0000000..c38e7b6
--- /dev/null
@@ -0,0 +1,85 @@
+#!/usr/bin/python
+# Copyright 2007 by Bdale Garbee <bdale@gag.com>.  GPLv2
+#
+# Program to emit PCB footprint for SOIC 14 package used by LMV344 from TI
+#
+
+# dimensions in mm from lmv344.pdf
+
+BodyWidth = 3.90
+BodyHeight = 8.65
+
+PinWidth = 0.55
+PinHeight = 1.95
+PinSpacing = 1.27
+RowCenters = 4.80
+RowSpacing = RowCenters - PinHeight
+
+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 "SOIC14" "" "" 0 0 -10161 -12011 0 100 0x0]'
+print "("
+for pin in range (0,7):
+    print '   Pad[',\
+       mm2mils100((pin-3) * PinSpacing), \
+       mm2mils100(-(RowSpacing/2 + PinWidth/2)), \
+       mm2mils100((pin-3) * PinSpacing), \
+       mm2mils100(-(RowSpacing/2 + PinHeight - PinWidth/2)), \
+       mm2mils100(PinWidth), \
+       mm2mils100(PinSpacing - PinWidth), \
+       mm2mils100(PinWidth)+600, \
+       '"pin%i"' % (14 - pin), '"%i"' % (14 - pin), '0x0100]'
+
+    print '   Pad[',\
+       mm2mils100((pin-3) * PinSpacing), \
+       mm2mils100(RowSpacing/2 + PinWidth/2), \
+       mm2mils100((pin-3) * 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(-3 * PinSpacing), \
+       mm2mils100(RowSpacing/2-PinHeight/4), \
+       '500 500 0 360 1000 ]'
+
+print ")"
diff --git a/pkg/newlib/pj-037a.py b/pkg/newlib/pj-037a.py
new file mode 100755 (executable)
index 0000000..f026d2c
--- /dev/null
@@ -0,0 +1,79 @@
+#!/usr/bin/python
+# Copyright 2011 by Bdale Garbee <bdale@gag.com>.  GPLv2
+#
+# Program to emit PCB footprint for CUI PJ-037A
+#
+
+CUIFrontPinDiam = 3.17
+CUIBackPinDiam = 3.65
+CUIFromEdge = 7.7      # flush with PCB edge
+CUIBetween = 6.0
+
+ARing = 0.8
+Clearance = 0.36
+
+BoxWidth = 9.0
+BoxDepth = 14.5
+
+LineWidth = 1000
+
+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 "PJ-037A" "" "" 0 0 0 0 0 100 0x0]'
+print "("
+print '   Pin[', \
+    mm2mils100(CUIFromEdge), \
+    mm2mils100(0), \
+    mm2mils100(CUIFrontPinDiam+ARing), \
+    mm2mils100(Clearance), \
+    mm2mils100(CUIFrontPinDiam+ARing+Clearance), \
+    mm2mils100(CUIFrontPinDiam), \
+    '"2" "2"', '0x0001', ']'
+
+print '   Pin[', \
+    mm2mils100(CUIFromEdge+CUIBetween), \
+    mm2mils100(0), \
+    mm2mils100(CUIBackPinDiam+ARing), \
+    mm2mils100(Clearance), \
+    mm2mils100(CUIBackPinDiam+ARing+Clearance), \
+    mm2mils100(CUIBackPinDiam), \
+    '"1" "1"', '0x0001', ']'
+
+print '   ElementLine[', \
+       mm2mils100(0), \
+       mm2mils100(-BoxWidth/2), \
+       mm2mils100(BoxDepth), \
+       mm2mils100(-BoxWidth/2), \
+       LineWidth, ']'
+
+print '   ElementLine[', \
+       mm2mils100(0), \
+       mm2mils100(+BoxWidth/2), \
+       mm2mils100(BoxDepth), \
+       mm2mils100(+BoxWidth/2), \
+       LineWidth, ']'
+  
+print '   ElementLine[', \
+       mm2mils100(0), \
+       mm2mils100(+BoxWidth/2), \
+       mm2mils100(0), \
+       mm2mils100(-BoxWidth/2), \
+       LineWidth, ']'
+  
+print '   ElementLine[', \
+       mm2mils100(BoxDepth), \
+       mm2mils100(+BoxWidth/2), \
+       mm2mils100(BoxDepth), \
+       mm2mils100(-BoxWidth/2), \
+       LineWidth, ']'
+  
+print ")"
index 8a791bfc813ba735c3dae95bade29d6d570f3c8b..79f24ba5737e8ed3a8a30263b12b5b1d549e976e 100644 (file)
@@ -67,15 +67,15 @@ T -6400 -1000 8 10 0 0 0 0 1
 slot=1
 T 400 20100 8 10 1 1 0 0 1
 refdes=U?
-P 0 19200 400 19200 1 0 0
+P 0 18800 400 18800 1 0 0
 {
-T 305 19245 5 10 1 1 0 6 1
+T 305 18845 5 10 1 1 0 6 1
 pinnumber=20
-T 455 19195 3 10 1 1 0 0 1
+T 455 18795 3 10 1 1 0 0 1
 pinlabel=VREF-
-T 0 19200 5 10 0 1 0 6 1
+T 0 18800 5 10 0 1 0 6 1
 pinseq=25
-T 0 19200 5 10 0 1 0 6 1
+T 0 18800 5 10 0 1 0 6 1
 pintype=pwr
 }
 P 0 15200 400 15200 1 0 0
@@ -166,15 +166,15 @@ pinseq=20
 T 0 18000 5 10 0 1 0 0 1
 pintype=in
 }
-P 0 18800 400 18800 1 0 0
+P 0 19200 400 19200 1 0 0
 {
-T 100 18900 5 10 1 1 0 0 1
+T 100 19300 5 10 1 1 0 0 1
 pinnumber=21
-T 500 18800 3 10 1 1 0 0 1
+T 500 19200 3 10 1 1 0 0 1
 pinlabel=VREF+
-T -400 18900 5 10 0 1 0 0 1
+T -400 19300 5 10 0 1 0 0 1
 pinseq=21
-T 0 18800 5 10 0 1 0 0 1
+T 0 19200 5 10 0 1 0 0 1
 pintype=pwr
 }
 P 9500 4800 9100 4800 1 0 0