From: Keith Packard Date: Tue, 2 Jul 2024 05:18:23 +0000 (-0700) Subject: Found a random 7S.py fp generator on my machine X-Git-Tag: telelco-v3.0~21^2~2 X-Git-Url: https://git.gag.com/?a=commitdiff_plain;h=6710fe2c215afcff9d68812d7b71a71623e9bf38;p=hw%2Faltusmetrum Found a random 7S.py fp generator on my machine I have no idea if it's correct or not ... Signed-off-by: Keith Packard --- diff --git a/packages/7S.py b/packages/7S.py new file mode 100755 index 0000000..f25c24c --- /dev/null +++ b/packages/7S.py @@ -0,0 +1,71 @@ +#!/usr/bin/python3 +# Copyright 2007 by Bdale Garbee . GPLv2 +# +# Program to emit PCB footprint for 7S package used by Xtals +# + +# dimensions in mm from 7s.pdf txc datasheet +PinHeight = 1.00 +PinWidth = 0.9 +HSpacing = 0.85 +WSpacing = 0.65 + +# freedfm.com round-off error bites us if we make this 700... +MinAnnular = 725 +MinClearance = 600 +MaskDelta = 300 + +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 "7S" "" "" 0 0 0 0 0 100 0x0]') +print ("(") +print (' Pad[',\ + mm2mils100(WSpacing/2 + PinWidth/2), \ + mm2mils100(-(HSpacing/2 + PinWidth/2)), \ + mm2mils100(WSpacing/2 + PinWidth/2), \ + mm2mils100(-(HSpacing/2 + PinHeight - PinWidth/2)), \ + mm2mils100(PinWidth), \ + (MinClearance*2), \ + mm2mils100(PinWidth)+(MaskDelta*2), \ + '"pin2" "2" 0x0100]') + +print (' Pad[',\ + mm2mils100(WSpacing/2 + PinWidth/2), \ + mm2mils100(HSpacing/2 + PinWidth/2), \ + mm2mils100(WSpacing/2 + PinWidth/2), \ + mm2mils100(HSpacing/2 + PinHeight - PinWidth/2), \ + mm2mils100(PinWidth), \ + (MinClearance*2), \ + mm2mils100(PinWidth)+(MaskDelta*2), \ + '"pin1" "1" 0x0100]') + +print (' Pad[',\ + mm2mils100(-(WSpacing/2 + PinWidth/2)), \ + mm2mils100(HSpacing/2 + PinWidth/2), \ + mm2mils100(-(WSpacing/2 + PinWidth/2)), \ + mm2mils100(HSpacing/2 + PinHeight - PinWidth/2), \ + mm2mils100(PinWidth), \ + (MinClearance*2), \ + mm2mils100(PinWidth)+(MaskDelta*2), \ + '"pin4" "4" 0x0100]') + +print (' Pad[',\ + mm2mils100(-(WSpacing/2 + PinWidth/2)), \ + mm2mils100(-(HSpacing/2 + PinWidth/2)), \ + mm2mils100(-(WSpacing/2 + PinWidth/2)), \ + mm2mils100(-(HSpacing/2 + PinHeight - PinWidth/2)), \ + mm2mils100(PinWidth), \ + (MinClearance*2), \ + mm2mils100(PinWidth)+(MaskDelta*2), \ + '"pin3" "3" 0x0100]') + +print (")")