From: Bdale Garbee Date: Fri, 7 Oct 2022 04:29:01 +0000 (-0600) Subject: footprint for Fujikura AH3 pressure sensor (tirepyro v2) X-Git-Tag: telelco-v3.0~134 X-Git-Url: https://git.gag.com/?a=commitdiff_plain;h=168e0aae6e0e404d894e441ef92e73f7ec57728a;p=hw%2Faltusmetrum footprint for Fujikura AH3 pressure sensor (tirepyro v2) --- diff --git a/packages/AH3.py b/packages/AH3.py new file mode 100755 index 0000000..0b122f3 --- /dev/null +++ b/packages/AH3.py @@ -0,0 +1,112 @@ +#!/usr/bin/python3 +# Copyright 2022 by Bdale Garbee . GPLv3 +# +# Program to emit PCB footprint for Fujikura AH3 pressure sensor +# + +# dimensions in mm from fujikura/ah3.pdf + +HoleDiam = 1.0 +PadDiam = 1.8 +Pins = 6 + +RowSpacing = 10.16 +ColumnSpacing = 2.54 +BodyHeight = 8.0 +BodyWidth = 8.0 +SnoutHeight = 3.2 +SnoutWidth = 6.0 + +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 "AH3" "" "" 0 0 0 0 0 100 0x0]') +print("(") + +for pin in range (0,3): + if pin == 0: + Flags = '0x0101' + else: + Flags = '0x0001' + + print(' Pin[',\ + mm2mils100((pin-1) * ColumnSpacing), \ + mm2mils100(-RowSpacing/2), \ + mm2mils100(PadDiam), \ + 1200, \ + mm2mils100(PadDiam), \ + mm2mils100(HoleDiam), \ + '"pin%i"' % (pin+1), '"%i"' % (pin+1), Flags, ']') + + print(' Pin[',\ + mm2mils100((pin-1) * ColumnSpacing), \ + mm2mils100(RowSpacing/2), \ + mm2mils100(PadDiam), \ + 1200, \ + mm2mils100(PadDiam), \ + mm2mils100(HoleDiam), \ + '"pin%i"' % (Pins-pin), '"%i"' % (Pins-pin), '0x0001', ']') + +print(' ElementLine[',\ + -mm2mils100(BodyWidth/2), \ + -mm2mils100(BodyHeight/2), \ + mm2mils100(BodyWidth/2), \ + -mm2mils100(BodyHeight/2), \ + 500, \ + ']') +print(' ElementLine[',\ + -mm2mils100(BodyWidth/2), \ + -mm2mils100(BodyHeight/2), \ + -mm2mils100(BodyWidth/2), \ + mm2mils100(BodyHeight/2), \ + 500, \ + ']') +print(' ElementLine[',\ + -mm2mils100(BodyWidth/2), \ + mm2mils100(BodyHeight/2), \ + mm2mils100(BodyWidth/2), \ + mm2mils100(BodyHeight/2), \ + 500, \ + ']') +print(' ElementLine[',\ + mm2mils100(BodyWidth/2), \ + mm2mils100(BodyHeight/2), \ + mm2mils100(BodyWidth/2), \ + -mm2mils100(BodyHeight/2), \ + 500, \ + ']') + +# snout +print(' ElementLine[',\ + mm2mils100(-BodyWidth/2), \ + mm2mils100(SnoutHeight/2), \ + mm2mils100(-BodyWidth/2-SnoutWidth), \ + mm2mils100(SnoutHeight/2), \ + 500, \ + ']') + +print(' ElementLine[',\ + mm2mils100(-BodyWidth/2), \ + mm2mils100(-SnoutHeight/2), \ + mm2mils100(-BodyWidth/2-SnoutWidth), \ + mm2mils100(-SnoutHeight/2), \ + 500, \ + ']') + +print(' ElementLine[',\ + mm2mils100(-BodyWidth/2-SnoutWidth), \ + mm2mils100(SnoutHeight/2), \ + mm2mils100(-BodyWidth/2-SnoutWidth), \ + mm2mils100(-SnoutHeight/2), \ + 500, \ + ']') + +print(")")