From: Bdale Garbee Date: Wed, 20 Oct 2010 08:41:36 +0000 (-0600) Subject: add footprint for ALPS 4-way switch X-Git-Url: https://git.gag.com/?p=hw%2Fbdale;a=commitdiff_plain;h=3698235a667aa43b2b241ff21090dedb1e1cee36 add footprint for ALPS 4-way switch --- diff --git a/pkg/newlib/SKQU.fp b/pkg/newlib/SKQU.fp new file mode 100644 index 0000000..d6a0c60 --- /dev/null +++ b/pkg/newlib/SKQU.fp @@ -0,0 +1,18 @@ +# author: Bdale Garbee +# email: bdale@gag.com +# dist-license: GPL 2 +# use-license: unlimited +Element[0x0 "SKQU" "" "" 0 0 0 0 0 100 0x0] +( + Pin[ -20275 -12794 7874 3937 8661 4724 "pin1" "1" 0x0101] + Pin[ -20275 1772 7874 3937 8661 3937 "pin2" "2" 0x0001] + Pin[ -20275 12795 7874 3937 8661 4724 "pin3" "3" 0x0001] + Pin[ 20276 -12794 7874 3937 8661 4724 "pin6" "6" 0x0001] + Pin[ 20276 1772 7874 3937 8661 3937 "pin5" "5" 0x0001] + Pin[ 20276 12795 7874 3937 8661 4724 "pin4" "4" 0x0001] + ElementLine[ -19685 -19685 19685 -19685 394 ] + ElementLine[ -19685 -19685 -19685 19685 394 ] + ElementLine[ -19685 19685 19685 19685 394 ] + ElementLine[ 19685 19685 19685 -19685 394 ] + ElementArc[ 0 0 12795 12795 0 360 394 ] +) diff --git a/pkg/newlib/SKQU.py b/pkg/newlib/SKQU.py new file mode 100755 index 0000000..4dda036 --- /dev/null +++ b/pkg/newlib/SKQU.py @@ -0,0 +1,121 @@ +#!/usr/bin/python +# Copyright 2007 by Bdale Garbee . GPLv2 +# +# Program to emit PCB footprint for ALPS SKQU Series 4-direction switch +# + +# dimensions in mm from abm8.pdf Abracon datasheet +BodySquare = 10 # body outline +Column = 10.3 # space between pin columns +Row = 6.5 # space between top and bottom pin rows +Offset = 0.45 # offset of middle row below center line +BigPin = 1.2 # hole diameter for big pins +SmallPin = 1.0 # hole diameter for small pins + +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 2' +print '# use-license: unlimited' + +print 'Element[0x0 "SKQU" "" "" 0 0 0 0 0 100 0x0]' +print "(" +print ' Pin[',\ + mm2mils100(-Column/2), \ + mm2mils100(-Row/2), \ + mm2mils100(2), \ + mm2mils100(1), \ + mm2mils100(2.2), \ + mm2mils100(BigPin), \ + '"pin1" "1" 0x0101]' + +print ' Pin[',\ + mm2mils100(-Column/2), \ + mm2mils100(Offset), \ + mm2mils100(2), \ + mm2mils100(1), \ + mm2mils100(2.2), \ + mm2mils100(SmallPin), \ + '"pin2" "2" 0x0001]' + +print ' Pin[',\ + mm2mils100(-Column/2), \ + mm2mils100(Row/2), \ + mm2mils100(2), \ + mm2mils100(1), \ + mm2mils100(2.2), \ + mm2mils100(BigPin), \ + '"pin3" "3" 0x0001]' + +print ' Pin[',\ + mm2mils100(Column/2), \ + mm2mils100(-Row/2), \ + mm2mils100(2), \ + mm2mils100(1), \ + mm2mils100(2.2), \ + mm2mils100(BigPin), \ + '"pin6" "6" 0x0001]' + +print ' Pin[',\ + mm2mils100(Column/2), \ + mm2mils100(Offset), \ + mm2mils100(2), \ + mm2mils100(1), \ + mm2mils100(2.2), \ + mm2mils100(SmallPin), \ + '"pin5" "5" 0x0001]' + +print ' Pin[',\ + mm2mils100(Column/2), \ + mm2mils100(Row/2), \ + mm2mils100(2), \ + mm2mils100(1), \ + mm2mils100(2.2), \ + mm2mils100(BigPin), \ + '"pin4" "4" 0x0001]' + +print ' ElementLine[',\ + -mm2mils100(BodySquare/2), \ + -mm2mils100(BodySquare/2), \ + mm2mils100(BodySquare/2), \ + -mm2mils100(BodySquare/2), \ + mm2mils100(0.1), \ + ']' +print ' ElementLine[',\ + -mm2mils100(BodySquare/2), \ + -mm2mils100(BodySquare/2), \ + -mm2mils100(BodySquare/2), \ + mm2mils100(BodySquare/2), \ + mm2mils100(0.1), \ + ']' +print ' ElementLine[',\ + -mm2mils100(BodySquare/2), \ + mm2mils100(BodySquare/2), \ + mm2mils100(BodySquare/2), \ + mm2mils100(BodySquare/2), \ + mm2mils100(0.1), \ + ']' +print ' ElementLine[',\ + mm2mils100(BodySquare/2), \ + mm2mils100(BodySquare/2), \ + mm2mils100(BodySquare/2), \ + -mm2mils100(BodySquare/2), \ + mm2mils100(0.1), \ + ']' + +print ' ElementArc[',\ + 0, \ + 0, \ + mm2mils100(6.5/2), \ + mm2mils100(6.5/2), \ + 0, \ + 360, \ + mm2mils100(0.1), \ + ']' + +print ")"