From: Bdale Garbee Date: Mon, 16 Nov 2020 03:13:10 +0000 (-0700) Subject: add footprint for 5-pin mini-XLR connector X-Git-Tag: telelco-v3.0~276 X-Git-Url: https://git.gag.com/?a=commitdiff_plain;h=b1b9392e7a2fba1b4953574e733d32c192b6fc07;p=hw%2Faltusmetrum add footprint for 5-pin mini-XLR connector --- diff --git a/packages/Makefile b/packages/Makefile index 91162ad..0c576b4 100644 --- a/packages/Makefile +++ b/packages/Makefile @@ -140,7 +140,8 @@ FOOTPRINTS= \ VQFN-HR-12.fp \ wqfn-16.fp \ TSX-3225.fp \ - ECX2236.fp + ECX2236.fp \ + trapc5mx.fp .5c.fp: nickle $*.5c -o $@ diff --git a/packages/trapc5mx.py b/packages/trapc5mx.py new file mode 100755 index 0000000..c8a1d2b --- /dev/null +++ b/packages/trapc5mx.py @@ -0,0 +1,168 @@ +#!/usr/bin/python3 +# Copyright 2020 by Bdale Garbee . GPLv3 +# +# Program to emit PCB footprint for switchcraft 5-pin mini-XLR, TRAPC5MX +# + +# dimensions in mils from TRAPC_X-TRASM_X_SERIES_CD.PDF +# reference plane is board edge (shoulder for box wall opening) + +BodyWidth = 530 # connector body outline +BodyHeight = 400 +NoseWidth = 437 # threaded "snout" that projects through box wall +NoseHeight = 280 + +Mnt_Y = 135 # how far mounting studs are back from plane +Mnt_X = 470 # mounting studs center to center +Mnt_Drill = 70 # mounting hole diameter +Mnt_Thickness = 120 # mounting hole pad diameter +Mnt_Mask = 130 # opening in mask for mounting hole + +Pin_Y = (110 + Mnt_Y) # how far first pin row is back from plane +PinSpacing = 100 # space between rows and between pins in a row +Pin_Drill = 40 # signal pin hole diameter +Pin_Thickness = 65 # signal pin hole pad diameter +Pin_Mask = 75 # opening in mask for signal pin + +Clearance = 15 +SilkLine = 5 + +import sys + +print ('# author: Bdale Garbee') +print ('# email: bdale@gag.com') +print ('# dist-license: GPL 3') +print ('# use-license: unlimited') + +# Pin (rX rY Thickness Clearance Mask Drill "Name" "Number" NFlags) + +print ('Element[0x0 "trapc5mx" "" "" 0 0 0 0 0 100 0x0]') +print ("(") +print (' Pin(',\ + (Mnt_X / 2), \ + Mnt_Y, \ + Mnt_Thickness, \ + Clearance, \ + Mnt_Mask, \ + Mnt_Drill, \ + '"pin6" "6" 0x0001)') + +print (' Pin(',\ + -(Mnt_X / 2), \ + Mnt_Y, \ + Mnt_Thickness, \ + Clearance, \ + Mnt_Mask, \ + Mnt_Drill, \ + '"pin6" "6" 0x0001)') + +print (' Pin(',\ + (PinSpacing / 2), \ + Pin_Y, \ + Pin_Thickness, \ + Clearance, \ + Pin_Mask, \ + Pin_Drill, \ + '"pin2" "2" 0x0001)') + +print (' Pin(',\ + -(PinSpacing / 2), \ + Pin_Y, \ + Pin_Thickness, \ + Clearance, \ + Pin_Mask, \ + Pin_Drill, \ + '"pin3" "3" 0x0001)') + +print (' Pin(',\ + PinSpacing, \ + (Pin_Y + PinSpacing), \ + Pin_Thickness, \ + Clearance, \ + Pin_Mask, \ + Pin_Drill, \ + '"pin1" "1" 0x0001)') + +print (' Pin(',\ + 0, \ + (Pin_Y + PinSpacing), \ + Pin_Thickness, \ + Clearance, \ + Pin_Mask, \ + Pin_Drill, \ + '"pin5" "5" 0x0001)') + +print (' Pin(',\ + -PinSpacing, \ + (Pin_Y + PinSpacing), \ + Pin_Thickness, \ + Clearance, \ + Pin_Mask, \ + Pin_Drill, \ + '"pin4" "4" 0x0001)') + +print (' ElementLine(',\ + -(BodyWidth/2), \ + 0, \ + (BodyWidth/2), \ + 0, \ + SilkLine, \ + ')') + +print (' ElementLine(',\ + -(BodyWidth/2), \ + BodyHeight, \ + (BodyWidth/2), \ + BodyHeight, \ + SilkLine, \ + ')') + +print (' ElementLine(',\ + -(BodyWidth/2), \ + BodyHeight, \ + -(BodyWidth/2), \ + 0, \ + SilkLine, \ + ')') + +print (' ElementLine(',\ + (BodyWidth/2), \ + BodyHeight, \ + (BodyWidth/2), \ + 0, \ + SilkLine, \ + ')') + +print (' ElementLine(',\ + -(NoseWidth/2), \ + 0, \ + (NoseWidth/2), \ + 0, \ + SilkLine, \ + ')') + +print (' ElementLine(',\ + -(NoseWidth/2), \ + -NoseHeight, \ + (NoseWidth/2), \ + -NoseHeight, \ + SilkLine, \ + ')') + +print (' ElementLine(',\ + -(NoseWidth/2), \ + -NoseHeight, \ + -(NoseWidth/2), \ + 0, \ + SilkLine, \ + ')') + +print (' ElementLine(',\ + (NoseWidth/2), \ + -NoseHeight, \ + (NoseWidth/2), \ + 0, \ + SilkLine, \ + ')') + +print (")")