]> git.gag.com Git - hw/altusmetrum/commitdiff
add XLR connector footprints for QuantiMotor
authorBdale Garbee <bdale@gag.com>
Sat, 3 May 2025 04:02:47 +0000 (22:02 -0600)
committerBdale Garbee <bdale@gag.com>
Sat, 3 May 2025 04:02:47 +0000 (22:02 -0600)
packages/.gitignore
packages/AC5MAH.py [deleted file]
packages/Makefile
packages/XLR3.py [new file with mode: 0755]
packages/XLR4.py [new file with mode: 0755]
packages/XLR5.py [new file with mode: 0755]

index e6bb9cd7d143784b8a45623cb7bc70a2cd998f96..e142040326ca9aa4aa4dfb0bc42da8bfd5e16628 100644 (file)
@@ -1,3 +1,4 @@
+.gitignore
 ssop-16.fp
 ssop-28.fp
 soic-16.fp
@@ -163,25 +164,7 @@ TSOT26.fp
 NRS50.fp
 ARJM11D7009ABEW2.fp
 pizero.fp
-AC5MAH.fp
+XLR3.fp
+XLR4.fp
+XLR5.fp
 sj-63033a.fp
-1051330011.fp
-11071.fp
-1551NGY.fp
-1W_Carbon_Resistor.fp
-3568.fp
-BM70BLES1FC2.fp
-PNswitchDPDT.fp
-RGT16_1P7X1P7.fp
-SSOP16.fp
-foo.fp
-m50-31-4.fp
-m50-31-8.fp
-mlp8.fp
-new.fp
-pico-ezmate-4.fp
-servo.fp.ps
-ssop-16.fp.ps
-ssop-old-16.fp
-ufqfpn16.fp
-vbrite.fp
diff --git a/packages/AC5MAH.py b/packages/AC5MAH.py
deleted file mode 100755 (executable)
index 3aab7d6..0000000
+++ /dev/null
@@ -1,144 +0,0 @@
-#!/usr/bin/python3
-# Copyright 2025 by Bdale Garbee <bdale@gag.com>.  GPLv3
-#
-# Program to emit PCB footprint for Amphenol AC5MAH-AU-B 5-pin XLR connector.
-#
-
-# dimensions in mm
-Row1Spacing = 3.81
-Row2Spacing = 6.98
-SmallHole = 1.20
-LargeHole = 1.60
-Mnt1_Y = 3.81
-Mnt2_Y = 8.89
-Row1_Y = 12.70
-Row2_Y = 17.78
-
-Shell_Width = 25.0
-Shell_Height = 18.3
-
-# and a couple in 1/100 of a mil
-Clearance = 1200
-
-# 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 "AC5MAH" "" "" 0 0 0 0 0 100 0x0]')
-print ("(")
-
-# alignment pin holes
-print ('   Pin[', \
-       mm2mils100(-Row1Spacing), \
-       mm2mils100(Mnt1_Y), \
-       mm2mils100(LargeHole*2),
-       Clearance,
-       mm2mils100(LargeHole*2) + Clearance,
-       mm2mils100(LargeHole), \
-       '"pin6" "6"', '0x0001', ']')
-
-print ('   Pin[', \
-       mm2mils100(Row1Spacing), \
-       mm2mils100(Mnt2_Y), \
-       mm2mils100(LargeHole*2),
-       Clearance,
-       mm2mils100(LargeHole*2) + Clearance,
-       mm2mils100(LargeHole), \
-       '"pin6" "6"', '0x0001', ']')
-
-print ('   Pin[', \
-       mm2mils100(-Row1Spacing), \
-       mm2mils100(Row1_Y), \
-       mm2mils100(SmallHole*2),
-       Clearance,
-       mm2mils100(SmallHole*2) + Clearance,
-       mm2mils100(SmallHole), \
-       '"pin4" "4"', '0x0001', ']')
-
-print ('   Pin[', \
-       0, \
-       mm2mils100(Row1_Y), \
-       mm2mils100(SmallHole*2),
-       Clearance,
-       mm2mils100(SmallHole*2) + Clearance,
-       mm2mils100(SmallHole), \
-       '"pin6" "6"', '0x0001', ']')
-
-print ('   Pin[', \
-       mm2mils100(Row1Spacing), \
-       mm2mils100(Row1_Y), \
-       mm2mils100(SmallHole*2),
-       Clearance,
-       mm2mils100(SmallHole*2) + Clearance,
-       mm2mils100(SmallHole), \
-       '"pin2" "2"', '0x0001', ']')
-
-print ('   Pin[', \
-       mm2mils100(-Row2Spacing), \
-       mm2mils100(Row2_Y), \
-       mm2mils100(LargeHole*2),
-       Clearance,
-       mm2mils100(LargeHole*2) + Clearance,
-       mm2mils100(LargeHole), \
-       '"pin5" "5"', '0x0001', ']')
-
-print ('   Pin[', \
-       0, \
-       mm2mils100(Row2_Y), \
-       mm2mils100(SmallHole*2),
-       Clearance,
-       mm2mils100(SmallHole*2) + Clearance,
-       mm2mils100(SmallHole), \
-       '"pin3" "3"', '0x0001', ']')
-
-print ('   Pin[', \
-       mm2mils100(Row2Spacing), \
-       mm2mils100(Row2_Y), \
-       mm2mils100(LargeHole*2),
-       Clearance,
-       mm2mils100(LargeHole*2) + Clearance,
-       mm2mils100(LargeHole), \
-       '"pin1" "1"', '0x0001', ']')
-
-
-print('   ElementLine[',\
-        mm2mils100(-Shell_Width/2), \
-        0, \
-        mm2mils100(Shell_Width/2), \
-        0, \
-        '1000 ]')
-
-print('   ElementLine[',\
-        mm2mils100(-Shell_Width/2), \
-        mm2mils100(Shell_Height), \
-        mm2mils100(-Shell_Width/2+2), \
-        mm2mils100(Shell_Height), \
-        '1000 ]')
-
-print('   ElementLine[',\
-        mm2mils100(Shell_Width/2), \
-        mm2mils100(Shell_Height), \
-        mm2mils100(Shell_Width/2-2), \
-        mm2mils100(Shell_Height), \
-        '1000 ]')
-
-print('   ElementLine[',\
-        mm2mils100(Shell_Width/2), \
-        mm2mils100(0), \
-        mm2mils100(Shell_Width/2), \
-        mm2mils100(Shell_Height), \
-        '1000 ]')
-
-print('   ElementLine[',\
-        mm2mils100(-Shell_Width/2), \
-        mm2mils100(0), \
-        mm2mils100(-Shell_Width/2), \
-        mm2mils100(Shell_Height), \
-        '1000 ]')
-
-print (")")
index 971d022ea6d491b6666fa6aecb4637c4d93a103c..986fe314a7f3d69680ef96ddf004ec907ef8e28f 100644 (file)
@@ -180,7 +180,9 @@ FOOTPRINTS= \
        NRS50.fp \
        ARJM11D7009ABEW2.fp \
        pizero.fp \
-       AC5MAH.fp \
+       XLR3.fp \
+       XLR4.fp \
+       XLR5.fp \
        sj-63033a.fp
 
 .5c.fp:
diff --git a/packages/XLR3.py b/packages/XLR3.py
new file mode 100755 (executable)
index 0000000..d7db5db
--- /dev/null
@@ -0,0 +1,126 @@
+#!/usr/bin/python3
+# Copyright 2025 by Bdale Garbee <bdale@gag.com>.  GPLv3
+#
+# Program to emit PCB footprint for Amphenol AC3MAH-AU-PRE 3-pin XLR connector.
+#
+
+# dimensions in mm
+Row1Spacing = 3.81
+Row2Spacing = 6.98
+SmallHole = 1.20
+LargeHole = 1.60
+Mnt1_Y = 3.81
+Mnt2_Y = 8.89
+Row1_Y = 12.70
+Row2_Y = 17.78
+
+Shell_Width = 25.0
+Shell_Height = 19.5
+
+# and a couple in 1/100 of a mil
+Clearance = 1200
+
+# 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 "XLR3" "" "" 0 0 0 0 0 100 0x0]')
+print ("(")
+
+# alignment pin holes
+print ('   Pin[', \
+       mm2mils100(-Row1Spacing), \
+       mm2mils100(Mnt1_Y), \
+       mm2mils100(LargeHole*2),
+       Clearance,
+       mm2mils100(LargeHole*2) + Clearance,
+       mm2mils100(LargeHole), \
+       '"pin4" "4"', '0x0001', ']')
+
+print ('   Pin[', \
+       mm2mils100(Row1Spacing), \
+       mm2mils100(Mnt2_Y), \
+       mm2mils100(LargeHole*2),
+       Clearance,
+       mm2mils100(LargeHole*2) + Clearance,
+       mm2mils100(LargeHole), \
+       '"pin4" "4"', '0x0001', ']')
+
+print ('   Pin[', \
+       0, \
+       mm2mils100(Row1_Y), \
+       mm2mils100(SmallHole*2),
+       Clearance,
+       mm2mils100(SmallHole*2) + Clearance,
+       mm2mils100(SmallHole), \
+       '"pin4" "4"', '0x0001', ']')
+
+print ('   Pin[', \
+       mm2mils100(-Row2Spacing), \
+       mm2mils100(Row2_Y), \
+       mm2mils100(LargeHole*2),
+       Clearance,
+       mm2mils100(LargeHole*2) + Clearance,
+       mm2mils100(LargeHole), \
+       '"pin2" "2"', '0x0001', ']')
+
+print ('   Pin[', \
+       0, \
+       mm2mils100(Row2_Y), \
+       mm2mils100(SmallHole*2),
+       Clearance,
+       mm2mils100(SmallHole*2) + Clearance,
+       mm2mils100(SmallHole), \
+       '"pin3" "3"', '0x0001', ']')
+
+print ('   Pin[', \
+       mm2mils100(Row2Spacing), \
+       mm2mils100(Row2_Y), \
+       mm2mils100(LargeHole*2),
+       Clearance,
+       mm2mils100(LargeHole*2) + Clearance,
+       mm2mils100(LargeHole), \
+       '"pin1" "1"', '0x0001', ']')
+
+
+print('   ElementLine[',\
+        mm2mils100(-Shell_Width/2), \
+        0, \
+        mm2mils100(Shell_Width/2), \
+        0, \
+        '1000 ]')
+
+print('   ElementLine[',\
+        mm2mils100(-Shell_Width/2), \
+        mm2mils100(Shell_Height), \
+        mm2mils100(-Shell_Width/2+2), \
+        mm2mils100(Shell_Height), \
+        '1000 ]')
+
+print('   ElementLine[',\
+        mm2mils100(Shell_Width/2), \
+        mm2mils100(Shell_Height), \
+        mm2mils100(Shell_Width/2-2), \
+        mm2mils100(Shell_Height), \
+        '1000 ]')
+
+print('   ElementLine[',\
+        mm2mils100(Shell_Width/2), \
+        mm2mils100(0), \
+        mm2mils100(Shell_Width/2), \
+        mm2mils100(Shell_Height), \
+        '1000 ]')
+
+print('   ElementLine[',\
+        mm2mils100(-Shell_Width/2), \
+        mm2mils100(0), \
+        mm2mils100(-Shell_Width/2), \
+        mm2mils100(Shell_Height), \
+        '1000 ]')
+
+print (")")
diff --git a/packages/XLR4.py b/packages/XLR4.py
new file mode 100755 (executable)
index 0000000..9b1f566
--- /dev/null
@@ -0,0 +1,135 @@
+#!/usr/bin/python3
+# Copyright 2025 by Bdale Garbee <bdale@gag.com>.  GPLv3
+#
+# Program to emit PCB footprint for Neutrik NC4MAH 4-pin XLR connector.
+#
+
+# dimensions in mm
+Row1Spacing = 3.81
+Row2Spacing = 6.98
+SmallHole = 1.20
+LargeHole = 1.60
+Mnt1_Y = 3.81
+Mnt2_Y = 8.89
+Row1_Y = 12.70
+Row2_Y = 17.78
+
+Shell_Width = 25.0
+Shell_Height = 19.0
+
+# and a couple in 1/100 of a mil
+Clearance = 1200
+
+# 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 "XLR4" "" "" 0 0 0 0 0 100 0x0]')
+print ("(")
+
+# alignment pin holes
+print ('   Pin[', \
+       mm2mils100(-Row1Spacing), \
+       mm2mils100(Mnt1_Y), \
+       mm2mils100(LargeHole*2),
+       Clearance,
+       mm2mils100(LargeHole*2) + Clearance,
+       mm2mils100(LargeHole), \
+       '"pin5" "5"', '0x0001', ']')
+
+print ('   Pin[', \
+       mm2mils100(Row1Spacing), \
+       mm2mils100(Mnt2_Y), \
+       mm2mils100(LargeHole*2),
+       Clearance,
+       mm2mils100(LargeHole*2) + Clearance,
+       mm2mils100(LargeHole), \
+       '"pin5" "5"', '0x0001', ']')
+
+print ('   Pin[', \
+       mm2mils100(-Row1Spacing), \
+       mm2mils100(Row1_Y), \
+       mm2mils100(SmallHole*2),
+       Clearance,
+       mm2mils100(SmallHole*2) + Clearance,
+       mm2mils100(SmallHole), \
+       '"pin3" "3"', '0x0001', ']')
+
+print ('   Pin[', \
+       0, \
+       mm2mils100(Row1_Y), \
+       mm2mils100(SmallHole*2),
+       Clearance,
+       mm2mils100(SmallHole*2) + Clearance,
+       mm2mils100(SmallHole), \
+       '"pin5" "5"', '0x0001', ']')
+
+print ('   Pin[', \
+       mm2mils100(Row1Spacing), \
+       mm2mils100(Row1_Y), \
+       mm2mils100(SmallHole*2),
+       Clearance,
+       mm2mils100(SmallHole*2) + Clearance,
+       mm2mils100(SmallHole), \
+       '"pin2" "2"', '0x0001', ']')
+
+print ('   Pin[', \
+       mm2mils100(-Row2Spacing), \
+       mm2mils100(Row2_Y), \
+       mm2mils100(LargeHole*2),
+       Clearance,
+       mm2mils100(LargeHole*2) + Clearance,
+       mm2mils100(LargeHole), \
+       '"pin4" "4"', '0x0001', ']')
+
+print ('   Pin[', \
+       mm2mils100(Row2Spacing), \
+       mm2mils100(Row2_Y), \
+       mm2mils100(LargeHole*2),
+       Clearance,
+       mm2mils100(LargeHole*2) + Clearance,
+       mm2mils100(LargeHole), \
+       '"pin1" "1"', '0x0001', ']')
+
+
+print('   ElementLine[',\
+        mm2mils100(-Shell_Width/2), \
+        0, \
+        mm2mils100(Shell_Width/2), \
+        0, \
+        '1000 ]')
+
+print('   ElementLine[',\
+        mm2mils100(-Shell_Width/2), \
+        mm2mils100(Shell_Height), \
+        mm2mils100(-Shell_Width/2+2), \
+        mm2mils100(Shell_Height), \
+        '1000 ]')
+
+print('   ElementLine[',\
+        mm2mils100(Shell_Width/2), \
+        mm2mils100(Shell_Height), \
+        mm2mils100(Shell_Width/2-2), \
+        mm2mils100(Shell_Height), \
+        '1000 ]')
+
+print('   ElementLine[',\
+        mm2mils100(Shell_Width/2), \
+        mm2mils100(0), \
+        mm2mils100(Shell_Width/2), \
+        mm2mils100(Shell_Height), \
+        '1000 ]')
+
+print('   ElementLine[',\
+        mm2mils100(-Shell_Width/2), \
+        mm2mils100(0), \
+        mm2mils100(-Shell_Width/2), \
+        mm2mils100(Shell_Height), \
+        '1000 ]')
+
+print (")")
diff --git a/packages/XLR5.py b/packages/XLR5.py
new file mode 100755 (executable)
index 0000000..3aab7d6
--- /dev/null
@@ -0,0 +1,144 @@
+#!/usr/bin/python3
+# Copyright 2025 by Bdale Garbee <bdale@gag.com>.  GPLv3
+#
+# Program to emit PCB footprint for Amphenol AC5MAH-AU-B 5-pin XLR connector.
+#
+
+# dimensions in mm
+Row1Spacing = 3.81
+Row2Spacing = 6.98
+SmallHole = 1.20
+LargeHole = 1.60
+Mnt1_Y = 3.81
+Mnt2_Y = 8.89
+Row1_Y = 12.70
+Row2_Y = 17.78
+
+Shell_Width = 25.0
+Shell_Height = 18.3
+
+# and a couple in 1/100 of a mil
+Clearance = 1200
+
+# 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 "AC5MAH" "" "" 0 0 0 0 0 100 0x0]')
+print ("(")
+
+# alignment pin holes
+print ('   Pin[', \
+       mm2mils100(-Row1Spacing), \
+       mm2mils100(Mnt1_Y), \
+       mm2mils100(LargeHole*2),
+       Clearance,
+       mm2mils100(LargeHole*2) + Clearance,
+       mm2mils100(LargeHole), \
+       '"pin6" "6"', '0x0001', ']')
+
+print ('   Pin[', \
+       mm2mils100(Row1Spacing), \
+       mm2mils100(Mnt2_Y), \
+       mm2mils100(LargeHole*2),
+       Clearance,
+       mm2mils100(LargeHole*2) + Clearance,
+       mm2mils100(LargeHole), \
+       '"pin6" "6"', '0x0001', ']')
+
+print ('   Pin[', \
+       mm2mils100(-Row1Spacing), \
+       mm2mils100(Row1_Y), \
+       mm2mils100(SmallHole*2),
+       Clearance,
+       mm2mils100(SmallHole*2) + Clearance,
+       mm2mils100(SmallHole), \
+       '"pin4" "4"', '0x0001', ']')
+
+print ('   Pin[', \
+       0, \
+       mm2mils100(Row1_Y), \
+       mm2mils100(SmallHole*2),
+       Clearance,
+       mm2mils100(SmallHole*2) + Clearance,
+       mm2mils100(SmallHole), \
+       '"pin6" "6"', '0x0001', ']')
+
+print ('   Pin[', \
+       mm2mils100(Row1Spacing), \
+       mm2mils100(Row1_Y), \
+       mm2mils100(SmallHole*2),
+       Clearance,
+       mm2mils100(SmallHole*2) + Clearance,
+       mm2mils100(SmallHole), \
+       '"pin2" "2"', '0x0001', ']')
+
+print ('   Pin[', \
+       mm2mils100(-Row2Spacing), \
+       mm2mils100(Row2_Y), \
+       mm2mils100(LargeHole*2),
+       Clearance,
+       mm2mils100(LargeHole*2) + Clearance,
+       mm2mils100(LargeHole), \
+       '"pin5" "5"', '0x0001', ']')
+
+print ('   Pin[', \
+       0, \
+       mm2mils100(Row2_Y), \
+       mm2mils100(SmallHole*2),
+       Clearance,
+       mm2mils100(SmallHole*2) + Clearance,
+       mm2mils100(SmallHole), \
+       '"pin3" "3"', '0x0001', ']')
+
+print ('   Pin[', \
+       mm2mils100(Row2Spacing), \
+       mm2mils100(Row2_Y), \
+       mm2mils100(LargeHole*2),
+       Clearance,
+       mm2mils100(LargeHole*2) + Clearance,
+       mm2mils100(LargeHole), \
+       '"pin1" "1"', '0x0001', ']')
+
+
+print('   ElementLine[',\
+        mm2mils100(-Shell_Width/2), \
+        0, \
+        mm2mils100(Shell_Width/2), \
+        0, \
+        '1000 ]')
+
+print('   ElementLine[',\
+        mm2mils100(-Shell_Width/2), \
+        mm2mils100(Shell_Height), \
+        mm2mils100(-Shell_Width/2+2), \
+        mm2mils100(Shell_Height), \
+        '1000 ]')
+
+print('   ElementLine[',\
+        mm2mils100(Shell_Width/2), \
+        mm2mils100(Shell_Height), \
+        mm2mils100(Shell_Width/2-2), \
+        mm2mils100(Shell_Height), \
+        '1000 ]')
+
+print('   ElementLine[',\
+        mm2mils100(Shell_Width/2), \
+        mm2mils100(0), \
+        mm2mils100(Shell_Width/2), \
+        mm2mils100(Shell_Height), \
+        '1000 ]')
+
+print('   ElementLine[',\
+        mm2mils100(-Shell_Width/2), \
+        mm2mils100(0), \
+        mm2mils100(-Shell_Width/2), \
+        mm2mils100(Shell_Height), \
+        '1000 ]')
+
+print (")")