D-shell connectors from cncfpga, reusing 9-pin for cortexelf
authorBdale Garbee <bdale@gag.com>
Thu, 8 Oct 2015 22:27:45 +0000 (16:27 -0600)
committerBdale Garbee <bdale@gag.com>
Thu, 8 Oct 2015 22:27:45 +0000 (16:27 -0600)
packages/Makefile
packages/norcomp/182.py [new file with mode: 0755]
packages/norcomp/189.py [new file with mode: 0755]
packages/norcomp/Makefile [new file with mode: 0644]

index 44188a407af732a3af2e9053f59cb4a1f636762f..0e48f4172e6dce54b276e141d0f64282eeaa04a6 100644 (file)
@@ -4,10 +4,11 @@ DIRS= \
        diodes \
        jst \
        molex \
+       norcomp \
+       phoenix \
        pinheader \
        switches \
-       tyco \
-       phoenix
+       tyco 
 
 SOIC=soic-16.fp
 
diff --git a/packages/norcomp/182.py b/packages/norcomp/182.py
new file mode 100755 (executable)
index 0000000..f02ca3e
--- /dev/null
@@ -0,0 +1,134 @@
+#!/usr/bin/python
+# Copyright 2011 by Bdale Garbee <bdale@gag.com>.  GPLv2
+#
+# Program to emit PCB footprint for Norcomp 182-YYY-213RYY1 connectors
+# Female, right angle, 0.318 setback
+#
+# Needs pin count on command line, 9/15/25/37 are valid
+#
+
+# dimensions in mm from R182-YYY-213RYY1-1.pdf
+
+PinDiam = 1.09
+PinSpacing = 2.77
+RowSpacing = 2.84
+MntDiam = 3.05
+BoxY = 12.42
+FaceY = 8.08
+ARing = 0.8
+Clearance = 0.36
+
+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 )
+
+pins = int(sys.argv[1])
+
+if pins == 9:
+       BoxX = 30.81
+       MntX = 24.99
+elif pins == 15:
+       BoxX = 39.14
+       MntX = 33.32
+elif pins == 25:
+       BoxX = 53.04
+       MntX = 47.04
+elif pins == 37:
+       BoxX = 69.32
+       MntX = 63.50
+else:
+       sys.stderr.write('Valid pin counts are 9|15|25|37\n')
+       sys.exit(1)
+
+pinoffset = (pins - 1) / 4 * PinSpacing
+if pins == 15:
+       pinoffset += PinSpacing/2
+
+print '# author: Bdale Garbee'
+print '# email: bdale@gag.com'
+print '# dist-license: GPL 2'
+print '# use-license: unlimited'
+
+print 'Element[0x0 "DB%iF"' % pins,'"" "" 0 0 0 0 0 100 0x0]'
+print "("
+for col in range ((pins+1)/2):
+       pinnum = col + 1
+        if pinnum == 1:
+           Flags = '0x0101'
+        else:
+           Flags = '0x0001'
+
+        print '   Pin[', \
+           mm2mils100((pinnum-1)*PinSpacing-pinoffset), \
+           mm2mils100(RowSpacing/2), \
+           mm2mils100(PinDiam+ARing), \
+           mm2mils100(Clearance), \
+           mm2mils100(PinDiam+ARing+Clearance), \
+           mm2mils100(PinDiam), \
+           '"pin%i"' % pinnum, '"%i"' % pinnum, Flags, ']'
+
+       pinnum = col + 1 + (pins+1)/2
+       Flags = '0x0001'
+       if pinnum <= pins:
+          print '   Pin[', \
+           mm2mils100((col)*PinSpacing-pinoffset+PinSpacing/2), \
+           mm2mils100(-RowSpacing/2), \
+           mm2mils100(PinDiam+ARing), \
+           mm2mils100(Clearance), \
+           mm2mils100(PinDiam+ARing+Clearance), \
+           mm2mils100(PinDiam), \
+           '"pin%i"' % pinnum, '"%i"' % pinnum, Flags, ']'
+
+
+
+print '   Pin[', \
+    mm2mils100(MntX/2), \
+    mm2mils100(0), \
+    mm2mils100(MntDiam+ARing), \
+    mm2mils100(Clearance), \
+    mm2mils100(MntDiam+ARing+Clearance), \
+    mm2mils100(MntDiam), \
+    '"mnt" "0"', '0x0001', ']'
+
+print '   Pin[', \
+    mm2mils100(-MntX/2), \
+    mm2mils100(0), \
+    mm2mils100(MntDiam+ARing), \
+    mm2mils100(Clearance), \
+    mm2mils100(MntDiam+ARing+Clearance), \
+    mm2mils100(MntDiam), \
+    '"mnt" "0"', '0x0001', ']'
+
+print '   ElementLine[', \
+       mm2mils100(-BoxX/2), \
+       mm2mils100(-FaceY-RowSpacing/2), \
+       mm2mils100(BoxX/2), \
+       mm2mils100(-FaceY-RowSpacing/2), \
+       LineWidth, ']'
+
+print '   ElementLine[', \
+       mm2mils100(-BoxX/2), \
+       mm2mils100(BoxY-FaceY-RowSpacing/2), \
+       mm2mils100(BoxX/2), \
+       mm2mils100(BoxY-FaceY-RowSpacing/2), \
+       LineWidth, ']'
+
+print '   ElementLine[', \
+       mm2mils100(BoxX/2), \
+       mm2mils100(-FaceY-RowSpacing/2), \
+       mm2mils100(BoxX/2), \
+       mm2mils100(BoxY-FaceY-RowSpacing/2), \
+       LineWidth, ']'
+
+print '   ElementLine[', \
+       mm2mils100(-BoxX/2), \
+       mm2mils100(-FaceY-RowSpacing/2), \
+       mm2mils100(-BoxX/2), \
+       mm2mils100(BoxY-FaceY-RowSpacing/2), \
+       LineWidth, ']'
+
+print ")"
diff --git a/packages/norcomp/189.py b/packages/norcomp/189.py
new file mode 100755 (executable)
index 0000000..46be29b
--- /dev/null
@@ -0,0 +1,171 @@
+#!/usr/bin/python
+# Copyright 2011 by Bdale Garbee <bdale@gag.com>.  GPLv2
+#
+# Program to emit PCB footprint for Norcomp 182-YYY-213RYY1 connectors
+# dual (stacked) female, right angle, 0.318 setback
+#
+# Needs pin count on command line, 9/15/25/37 are valid
+#
+
+# dimensions in mm from 189-YYY-513R571.pdf
+
+PinDiam = 1.20
+PinSpacing = 2.77
+RowSpacing = 2.84
+DualSpacing = 6.58
+MntDiam = 3.05
+BoxY = 19.304
+FaceY = 8.08
+ARing = 0.8
+Clearance = 0.36
+
+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 )
+
+pins = int(sys.argv[1])
+
+if pins == 9:
+       BoxX = 30.58
+       MntX = 24.99
+elif pins == 15:
+       BoxX = 38.99
+       MntX = 33.32
+elif pins == 25:
+       BoxX = 52.78
+       MntX = 46.99
+elif pins == 37:
+       BoxX = 69.19
+       MntX = 63.50
+else:
+       sys.stderr.write('Valid pin counts are 9|15|25|37\n')
+       sys.exit(1)
+
+pinoffset = (pins - 1) / 4 * PinSpacing
+if pins == 15:
+       pinoffset += PinSpacing/2
+
+print '# author: Bdale Garbee'
+print '# email: bdale@gag.com'
+print '# dist-license: GPL 2'
+print '# use-license: unlimited'
+
+print 'Element[0x0 "DB%iF"' % pins,'"" "" 0 0 0 0 0 100 0x0]'
+print "("
+for col in range ((pins+1)/2):
+       pinnum = col + 1
+        if pinnum == 1:
+           Flags = '0x0101'
+        else:
+           Flags = '0x0001'
+
+        print '   Pin[', \
+           mm2mils100((pinnum-1)*PinSpacing-pinoffset), \
+           mm2mils100(RowSpacing/2), \
+           mm2mils100(PinDiam+ARing), \
+           mm2mils100(Clearance), \
+           mm2mils100(PinDiam+ARing+Clearance), \
+           mm2mils100(PinDiam), \
+           '"pin%i"' % pinnum, '"%i"' % pinnum, Flags, ']'
+
+       pinnum2 = pinnum + pins
+        print '   Pin[', \
+           mm2mils100((pinnum-1)*PinSpacing-pinoffset), \
+           mm2mils100(RowSpacing/2+DualSpacing), \
+           mm2mils100(PinDiam+ARing), \
+           mm2mils100(Clearance), \
+           mm2mils100(PinDiam+ARing+Clearance), \
+           mm2mils100(PinDiam), \
+           '"pin%i"' % pinnum2, '"%i"' % pinnum2, Flags, ']'
+
+       pinnum = col + 1 + (pins+1)/2
+       Flags = '0x0001'
+       if pinnum <= pins:
+          print '   Pin[', \
+           mm2mils100((col)*PinSpacing-pinoffset+PinSpacing/2), \
+           mm2mils100(-RowSpacing/2), \
+           mm2mils100(PinDiam+ARing), \
+           mm2mils100(Clearance), \
+           mm2mils100(PinDiam+ARing+Clearance), \
+           mm2mils100(PinDiam), \
+           '"pin%i"' % pinnum, '"%i"' % pinnum, Flags, ']'
+
+         pinnum2 = pinnum + pins
+          print '   Pin[', \
+           mm2mils100((col)*PinSpacing-pinoffset+PinSpacing/2), \
+           mm2mils100(-RowSpacing/2+DualSpacing), \
+           mm2mils100(PinDiam+ARing), \
+           mm2mils100(Clearance), \
+           mm2mils100(PinDiam+ARing+Clearance), \
+           mm2mils100(PinDiam), \
+           '"pin%i"' % pinnum2, '"%i"' % pinnum2, Flags, ']'
+
+print '   Pin[', \
+    mm2mils100(MntX/2), \
+    mm2mils100(-RowSpacing/2), \
+    mm2mils100(MntDiam+ARing), \
+    mm2mils100(Clearance), \
+    mm2mils100(MntDiam+ARing+Clearance), \
+    mm2mils100(MntDiam), \
+    '"mnt" "0"', '0x0001', ']'
+
+print '   Pin[', \
+    mm2mils100(-MntX/2), \
+    mm2mils100(-RowSpacing/2), \
+    mm2mils100(MntDiam+ARing), \
+    mm2mils100(Clearance), \
+    mm2mils100(MntDiam+ARing+Clearance), \
+    mm2mils100(MntDiam), \
+    '"mnt" "0"', '0x0001', ']'
+
+print '   Pin[', \
+    mm2mils100(MntX/2), \
+    mm2mils100(DualSpacing), \
+    mm2mils100(MntDiam+ARing), \
+    mm2mils100(Clearance), \
+    mm2mils100(MntDiam+ARing+Clearance), \
+    mm2mils100(MntDiam), \
+    '"mnt" "0"', '0x0001', ']'
+
+print '   Pin[', \
+    mm2mils100(-MntX/2), \
+    mm2mils100(DualSpacing), \
+    mm2mils100(MntDiam+ARing), \
+    mm2mils100(Clearance), \
+    mm2mils100(MntDiam+ARing+Clearance), \
+    mm2mils100(MntDiam), \
+    '"mnt" "0"', '0x0001', ']'
+
+print '   ElementLine[', \
+       mm2mils100(-BoxX/2), \
+       mm2mils100(-FaceY-RowSpacing/2), \
+       mm2mils100(BoxX/2), \
+       mm2mils100(-FaceY-RowSpacing/2), \
+       LineWidth, ']'
+
+print '   ElementLine[', \
+       mm2mils100(-BoxX/2), \
+       mm2mils100(BoxY-FaceY-RowSpacing/2), \
+       mm2mils100(BoxX/2), \
+       mm2mils100(BoxY-FaceY-RowSpacing/2), \
+       LineWidth, ']'
+
+print '   ElementLine[', \
+       mm2mils100(BoxX/2), \
+       mm2mils100(-FaceY-RowSpacing/2), \
+       mm2mils100(BoxX/2), \
+       mm2mils100(BoxY-FaceY-RowSpacing/2), \
+       LineWidth, ']'
+
+print '   ElementLine[', \
+       mm2mils100(-BoxX/2), \
+       mm2mils100(-FaceY-RowSpacing/2), \
+       mm2mils100(-BoxX/2), \
+       mm2mils100(BoxY-FaceY-RowSpacing/2), \
+       LineWidth, ']'
+
+print ")"
diff --git a/packages/norcomp/Makefile b/packages/norcomp/Makefile
new file mode 100644 (file)
index 0000000..a2b3e28
--- /dev/null
@@ -0,0 +1,26 @@
+all:   182-all 189-all
+
+182-all:       182-9.fp 182-15.fp 182-25.fp 182-37.fp
+
+182-9.fp:      182.py
+       ./182.py 9 > 182-9.fp
+182-15.fp:     182.py
+       ./182.py 15 > 182-15.fp
+182-25.fp:     182.py
+       ./182.py 25 > 182-25.fp
+182-37.fp:     182.py
+       ./182.py 37 > 182-37.fp
+
+189-all:       189-9.fp 189-15.fp 189-25.fp 189-37.fp
+
+189-9.fp:      189.py
+       ./189.py 9 > 189-9.fp
+189-15.fp:     189.py
+       ./189.py 15 > 189-15.fp
+189-25.fp:     189.py
+       ./189.py 25 > 189-25.fp
+189-37.fp:     189.py
+       ./189.py 37 > 189-37.fp
+
+clean:
+       rm -f *.fp