--- /dev/null
+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
--- /dev/null
+#!/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(")")
--- /dev/null
+#!/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(")")