From: Bdale Garbee Date: Wed, 12 Feb 2025 19:30:25 +0000 (-0700) Subject: add footprint for PCB-mounted 5-pin XLR possibly for QuantiMotor X-Git-Url: https://git.gag.com/?a=commitdiff_plain;h=b80c7dc0926c41a05aa40e2fa0e6cccdab8017af;p=hw%2Faltusmetrum add footprint for PCB-mounted 5-pin XLR possibly for QuantiMotor --- diff --git a/packages/AC5MAH.py b/packages/AC5MAH.py new file mode 100755 index 0000000..3aab7d6 --- /dev/null +++ b/packages/AC5MAH.py @@ -0,0 +1,144 @@ +#!/usr/bin/python3 +# Copyright 2025 by Bdale Garbee . 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 (")") diff --git a/packages/Makefile b/packages/Makefile index 58d528e..ce7de75 100644 --- a/packages/Makefile +++ b/packages/Makefile @@ -179,7 +179,8 @@ FOOTPRINTS= \ TSOT26.fp \ NRS50.fp \ ARJM11D7009ABEW2.fp \ - pizero.fp + pizero.fp \ + AC5MAH.fp .5c.fp: nickle $*.5c -o $@