From 8d89df4c9a7c0cae04585063ccc64f8e15aa087f Mon Sep 17 00:00:00 2001 From: Bdale Garbee Date: Sun, 20 Nov 2016 12:16:14 -0700 Subject: [PATCH] add footprint for PS/2 keyboard connector --- packages/MD-60S.py | 127 +++++++++++++++++++++++++++++++++++++++++++++ packages/Makefile | 3 +- 2 files changed, 129 insertions(+), 1 deletion(-) create mode 100755 packages/MD-60S.py diff --git a/packages/MD-60S.py b/packages/MD-60S.py new file mode 100755 index 0000000..98e4d36 --- /dev/null +++ b/packages/MD-60S.py @@ -0,0 +1,127 @@ +#!/usr/bin/python +# Copyright 2016 by Bdale Garbee . GPLv3+ +# +# Program to emit PCB footprint for CUI MD-60S Mini DIN Connector +# + +# dimensions in mm from footprint drawing at DigiKey +BodyWidth = 14.0 # body outline +BodyHeight = 12.4 +InnerPinSpace = 2.6 +OuterPinSpace = 6.8 +PinDiam = 0.90 +MntSetback = 4.7 +Row1Setback = 8.5 +Row2Setback = 11.0 +MntDiam = 2.32 # round hole for rectangular tab +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 ) + +print '# author: Bdale Garbee' +print '# email: bdale@gag.com' +print '# dist-license: GPL 3+' +print '# use-license: unlimited' + +print 'Element[0x0 "MD-60S" "" "" 0 0 0 0 0 100 0x0]' +print "(" +print ' Pin[',\ + mm2mils100(-InnerPinSpace/2), \ + mm2mils100(Row1Setback), \ + mm2mils100(PinDiam+ARing), \ + mm2mils100(Clearance), \ + mm2mils100(PinDiam+ARing+Clearance), \ + mm2mils100(PinDiam), \ + '"pin1" "1" 0x0001]' + +print ' Pin[',\ + mm2mils100(InnerPinSpace/2), \ + mm2mils100(Row1Setback), \ + mm2mils100(PinDiam+ARing), \ + mm2mils100(Clearance), \ + mm2mils100(PinDiam+ARing+Clearance), \ + mm2mils100(PinDiam), \ + '"pin2" "2" 0x0001]' + +print ' Pin[',\ + mm2mils100(-OuterPinSpace/2), \ + mm2mils100(Row1Setback), \ + mm2mils100(PinDiam+ARing), \ + mm2mils100(Clearance), \ + mm2mils100(PinDiam+ARing+Clearance), \ + mm2mils100(PinDiam), \ + '"pin3" "3" 0x0001]' + +print ' Pin[',\ + mm2mils100(OuterPinSpace/2), \ + mm2mils100(Row1Setback), \ + mm2mils100(PinDiam+ARing), \ + mm2mils100(Clearance), \ + mm2mils100(PinDiam+ARing+Clearance), \ + mm2mils100(PinDiam), \ + '"pin4" "4" 0x0001]' + +print ' Pin[',\ + mm2mils100(-OuterPinSpace/2), \ + mm2mils100(Row2Setback), \ + mm2mils100(PinDiam+ARing), \ + mm2mils100(Clearance), \ + mm2mils100(PinDiam+ARing+Clearance), \ + mm2mils100(PinDiam), \ + '"pin5" "5" 0x0001]' + +print ' Pin[',\ + mm2mils100(OuterPinSpace/2), \ + mm2mils100(Row2Setback), \ + mm2mils100(PinDiam+ARing), \ + mm2mils100(Clearance), \ + mm2mils100(PinDiam+ARing+Clearance), \ + mm2mils100(PinDiam), \ + '"pin6" "6" 0x0001]' + +print ' Pin[',\ + 0, \ + mm2mils100(MntSetback), \ + mm2mils100(MntDiam+ARing), \ + mm2mils100(Clearance), \ + mm2mils100(MntDiam+ARing+Clearance), \ + mm2mils100(MntDiam), \ + '"pin7" "7" 0x0001]' + +print ' ElementLine[',\ + -mm2mils100(BodyWidth/2), \ + 0, \ + mm2mils100(BodyWidth/2), \ + 0, \ + LineWidth, \ + ']' +print ' ElementLine[',\ + -mm2mils100(BodyWidth/2), \ + mm2mils100(BodyHeight), \ + mm2mils100(BodyWidth/2), \ + mm2mils100(BodyHeight), \ + LineWidth, \ + ']' +print ' ElementLine[',\ + -mm2mils100(BodyWidth/2), \ + 0, \ + -mm2mils100(BodyWidth/2), \ + mm2mils100(BodyHeight), \ + LineWidth, \ + ']' +print ' ElementLine[',\ + mm2mils100(BodyWidth/2), \ + 0, \ + mm2mils100(BodyWidth/2), \ + mm2mils100(BodyHeight), \ + LineWidth, \ + ']' + +print ")" diff --git a/packages/Makefile b/packages/Makefile index 76e8fe0..3ca5112 100644 --- a/packages/Makefile +++ b/packages/Makefile @@ -103,7 +103,8 @@ FOOTPRINTS= \ TDK_PS12-small.fp \ CAP_FC8.fp \ 3568.fp \ - ABM12.fp + ABM12.fp \ + MD-60S.fp .5c.fp: nickle $*.5c -o $@ -- 2.47.2