]> git.gag.com Git - hw/altusmetrum/commitdiff
datasheet and footprints for "bare" D connectors, 9 female for QuantiMotor
authorBdale Garbee <bdale@gag.com>
Sat, 14 Jun 2025 14:09:36 +0000 (10:09 -0400)
committerBdale Garbee <bdale@gag.com>
Sat, 14 Jun 2025 14:09:36 +0000 (10:09 -0400)
datasheets/assmann/ASS_4887_CO.pdf [new file with mode: 0644]
packages/assmann/Makefile [new file with mode: 0644]
packages/assmann/aaz-f.py [new file with mode: 0755]
packages/assmann/aaz-m.py [new file with mode: 0755]

diff --git a/datasheets/assmann/ASS_4887_CO.pdf b/datasheets/assmann/ASS_4887_CO.pdf
new file mode 100644 (file)
index 0000000..7a30c9a
Binary files /dev/null and b/datasheets/assmann/ASS_4887_CO.pdf differ
diff --git a/packages/assmann/Makefile b/packages/assmann/Makefile
new file mode 100644 (file)
index 0000000..27494f7
--- /dev/null
@@ -0,0 +1,26 @@
+all:   aaz-f-all aaz-m-all
+
+aaz-f-all:     aaz-f-9.fp aaz-f-15.fp aaz-f-25.fp aaz-f-37.fp
+
+aaz-f-9.fp:    aaz-f.py
+       ./aaz-f.py 9 > aaz-f-9.fp
+aaz-f-15.fp:   aaz-f.py
+       ./aaz-f.py 15 > aaz-f-15.fp
+aaz-f-25.fp:   aaz-f.py
+       ./aaz-f.py 25 > aaz-f-25.fp
+aaz-f-37.fp:   aaz-f.py
+       ./aaz-f.py 37 > aaz-f-37.fp
+
+aaz-m-all:     aaz-m-9.fp aaz-m-15.fp aaz-m-25.fp aaz-m-37.fp
+
+aaz-m-9.fp:    aaz-m.py
+       ./aaz-m.py 9 > aaz-m-9.fp
+aaz-m-15.fp:   aaz-m.py
+       ./aaz-m.py 15 > aaz-m-15.fp
+aaz-m-25.fp:   aaz-m.py
+       ./aaz-m.py 25 > aaz-m-25.fp
+aaz-m-37.fp:   aaz-m.py
+       ./aaz-m.py 37 > aaz-m-37.fp
+
+clean:
+       rm -f *.fp *- *.backup
diff --git a/packages/assmann/aaz-f.py b/packages/assmann/aaz-f.py
new file mode 100755 (executable)
index 0000000..e93a8c7
--- /dev/null
@@ -0,0 +1,87 @@
+#!/usr/bin/python3
+# 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.00
+PinSpacing = 2.77
+RowSpacing = 2.84
+FaceY = 9.5
+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:
+       FaceX = 30.81
+elif pins == 15:
+       FaceX = 39.20
+elif pins == 25:
+       FaceX = 53.05
+elif pins == 37:
+       FaceX = 69.40
+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 3')
+print('# use-license: unlimited')
+
+print('Element[0x0 "DB%iF"' % pins,'"" "" 0 0 0 0 0 100 0x0]')
+print("(")
+for col in range (int((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('   ElementLine[', \
+       mm2mils100(-FaceX/2), \
+       mm2mils100(-FaceY-RowSpacing/2), \
+       mm2mils100(FaceX/2), \
+       mm2mils100(-FaceY-RowSpacing/2), \
+       LineWidth, ']')
+
+print(")")
diff --git a/packages/assmann/aaz-m.py b/packages/assmann/aaz-m.py
new file mode 100755 (executable)
index 0000000..1e8273e
--- /dev/null
@@ -0,0 +1,87 @@
+#!/usr/bin/python3
+# 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.00
+PinSpacing = 2.77
+RowSpacing = 2.84
+FaceY = 9.5
+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:
+       FaceX = 30.81
+elif pins == 15:
+       FaceX = 39.20
+elif pins == 25:
+       FaceX = 53.05
+elif pins == 37:
+       FaceX = 69.40
+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 3')
+print('# use-license: unlimited')
+
+print('Element[0x0 "DB%iF"' % pins,'"" "" 0 0 0 0 0 100 0x0]')
+print("(")
+for col in range (int((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('   ElementLine[', \
+       mm2mils100(-FaceX/2), \
+       mm2mils100(-FaceY-RowSpacing/2), \
+       mm2mils100(FaceX/2), \
+       mm2mils100(-FaceY-RowSpacing/2), \
+       LineWidth, ']')
+
+print(")")