From 60b11608d5cf1713af927c0cfb43712313f18e26 Mon Sep 17 00:00:00 2001 From: Bdale Garbee Date: Thu, 8 Sep 2011 02:03:32 -0600 Subject: [PATCH] save gps chip antenna footprint generator before hacking on it --- pkg/newlib/W3011A.py | 86 ++++++++++++++++++++++++++++++++++++++++++++ sym/NHD-C0216.sym | 80 ++++++++++++++++++++--------------------- 2 files changed, 126 insertions(+), 40 deletions(-) create mode 100755 pkg/newlib/W3011A.py diff --git a/pkg/newlib/W3011A.py b/pkg/newlib/W3011A.py new file mode 100755 index 0000000..2b46575 --- /dev/null +++ b/pkg/newlib/W3011A.py @@ -0,0 +1,86 @@ +#!/usr/bin/python +# Copyright 2007 by Bdale Garbee . GPLv2 +# +# Program to emit PCB footprint for Pules Electronics W3011A GPS chip antenna +# +# dimensions in mm from W3011.pdf +PinWidth = 0.80 +PinHeight = 0.65 +PadHeight = 1.60 +PinSpacing = 2.40 +ClearWidth = 4.00 +ClearHeight = 6.25 + +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 "W3011A" "" "" 0 0 0 0 0 100 0x0]' +print "(" +# pad 1 (signal trace) +print ' Pad[',\ + mm2mils100(PinSpacing/2+PinHeight/2), \ + mm2mils100(2.00 - PinHeight/2), \ + mm2mils100(PinSpacing/2+PinWidth-PinHeight/2), \ + mm2mils100(2.00 - PinHeight/2), \ + mm2mils100(PinHeight), \ + 0, \ + mm2mils100(PinHeight + 0.1), \ + '"pin1" "1" 0x0100]' + +print ' Pad[',\ + mm2mils100(PinSpacing/2+PinHeight/2), \ + mm2mils100(0.40 + PinHeight/2), \ + mm2mils100(PinSpacing/2+PinWidth-PinHeight/2), \ + mm2mils100(0.40 + PinHeight/2), \ + mm2mils100(PinHeight), \ + 0, \ + mm2mils100(PinHeight + 0.1), \ + '"pin2" "2" 0x0100]' + +print ' Pad[',\ + mm2mils100(-PinSpacing/2-PinWidth/2), \ + mm2mils100(0.40 + PinWidth/2), \ + mm2mils100(-PinSpacing/2-PinWidth/2), \ + mm2mils100(0.40 + PadHeight - PinWidth/2), \ + mm2mils100(PinWidth), \ + 0, \ + mm2mils100(PinWidth + 0.1), \ + '"pin3" "3" 0x0100]' + +print ' ElementLine[',\ + mm2mils100(ClearWidth/2), \ + mm2mils100(0), \ + mm2mils100(ClearWidth/2), \ + mm2mils100(ClearHeight), \ + '1000 ]' + +print ' ElementLine[',\ + mm2mils100(-ClearWidth/2), \ + mm2mils100(0), \ + mm2mils100(-ClearWidth/2), \ + mm2mils100(ClearHeight), \ + '1000 ]' + +print ' ElementLine[',\ + mm2mils100(-ClearWidth/2-0.2), \ + mm2mils100(0), \ + mm2mils100(ClearWidth/2+0.2), \ + mm2mils100(0), \ + '1000 ]' + +print ' ElementLine[',\ + mm2mils100(-ClearWidth/2), \ + mm2mils100(ClearHeight), \ + mm2mils100(ClearWidth/2), \ + mm2mils100(ClearHeight), \ + '1000 ]' + +print ")" diff --git a/sym/NHD-C0216.sym b/sym/NHD-C0216.sym index 47934a9..eeb0016 100644 --- a/sym/NHD-C0216.sym +++ b/sym/NHD-C0216.sym @@ -17,8 +17,8 @@ T 250 200 5 8 0 1 90 8 1 pinseq=1 T 200 350 9 8 1 1 90 0 1 pinlabel=XRESET -T 200 350 5 8 0 1 90 2 1 -pintype=pwr +T 200 350 5 8 0 2 90 2 1 +pintype=in } P 600 0 600 300 1 0 0 { @@ -29,18 +29,7 @@ pinseq=2 T 600 350 9 8 1 1 90 0 1 pinlabel=RS T 600 350 5 8 0 1 90 2 1 -pintype=pwr -} -P 1000 0 1000 300 1 0 0 -{ -T 950 200 5 8 1 1 90 6 1 -pinnumber=3 -T 1050 200 5 8 0 1 90 8 1 -pinseq=3 -T 5000 350 9 8 1 1 90 0 1 -pinlabel=VSS -T 1000 350 5 8 0 1 90 2 1 -pintype=pwr +pintype=io } P 1400 0 1400 300 1 0 0 { @@ -53,15 +42,15 @@ pinlabel=E T 1400 350 5 8 0 1 90 2 1 pintype=in } -P 1800 0 1800 300 1 0 0 +P 1000 0 1000 300 1 0 0 { -T 1750 200 5 8 1 1 90 6 1 -pinnumber=5 -T 1850 200 5 8 0 1 90 8 1 -pinseq=5 +T 950 200 5 8 1 1 90 6 1 +pinnumber=3 +T 1050 200 5 8 0 1 90 8 1 +pinseq=3 T 1000 350 9 8 1 1 90 0 1 pinlabel=R/\_W\_ -T 1800 350 5 8 0 1 90 2 1 +T 1000 350 5 8 0 1 90 2 1 pintype=in } P 2200 0 2200 300 1 0 0 @@ -70,8 +59,8 @@ T 2150 200 5 8 1 1 90 6 1 pinnumber=6 T 2250 200 5 8 0 1 90 8 1 pinseq=6 -T 5400 350 9 8 1 1 90 0 1 -pinlabel=VDD +T 2200 350 9 8 1 1 90 0 1 +pinlabel=DB1 T 2200 350 5 8 0 1 90 2 1 pintype=in } @@ -81,8 +70,8 @@ T 2550 200 5 8 1 1 90 6 1 pinnumber=7 T 2650 200 5 8 0 1 90 8 1 pinseq=7 -T 1800 350 9 8 1 1 90 0 1 -pinlabel=DB0 +T 2600 350 9 8 1 1 90 0 1 +pinlabel=DB2 T 2600 350 5 8 0 1 90 2 1 pintype=io } @@ -92,8 +81,8 @@ T 2950 200 5 8 1 1 90 6 1 pinnumber=8 T 3050 200 5 8 0 1 90 8 1 pinseq=8 -T 2200 350 9 8 1 1 90 0 1 -pinlabel=DB1 +T 3000 350 9 8 1 1 90 0 1 +pinlabel=DB3 T 3000 350 5 8 0 1 90 2 1 pintype=io } @@ -103,8 +92,8 @@ T 3350 200 5 8 1 1 90 6 1 pinnumber=9 T 3450 200 5 8 0 1 90 8 1 pinseq=9 -T 2600 350 9 8 1 1 90 0 1 -pinlabel=DB2 +T 3400 350 9 8 1 1 90 0 1 +pinlabel=DB4 T 3400 350 5 8 0 1 90 2 1 pintype=io } @@ -114,8 +103,8 @@ T 3750 200 5 8 1 1 90 6 1 pinnumber=10 T 3850 200 5 8 0 1 90 8 1 pinseq=10 -T 3000 350 9 8 1 1 90 0 1 -pinlabel=DB3 +T 3800 350 9 8 1 1 90 0 1 +pinlabel=DB5 T 3800 350 5 8 0 1 90 2 1 pintype=io } @@ -125,8 +114,8 @@ T 4150 200 5 8 1 1 90 6 1 pinnumber=11 T 4250 200 5 8 0 1 90 8 1 pinseq=11 -T 3400 350 9 8 1 1 90 0 1 -pinlabel=DB4 +T 4200 350 9 8 1 1 90 0 1 +pinlabel=DB6 T 4200 350 5 8 0 1 90 2 1 pintype=io } @@ -136,8 +125,8 @@ T 4550 200 5 8 1 1 90 6 1 pinnumber=12 T 4650 200 5 8 0 1 90 8 1 pinseq=12 -T 3800 350 9 8 1 1 90 0 1 -pinlabel=DB5 +T 4600 350 9 8 1 1 90 0 1 +pinlabel=DB7 T 4600 350 5 8 0 1 90 2 1 pintype=io } @@ -147,10 +136,10 @@ T 4950 200 5 8 1 1 90 6 1 pinnumber=13 T 5050 200 5 8 0 1 90 8 1 pinseq=13 -T 4200 350 9 8 1 1 90 0 1 -pinlabel=DB6 +T 5000 350 9 8 1 1 90 0 1 +pinlabel=VSS T 5000 350 5 8 0 1 90 2 1 -pintype=io +pintype=pwr } P 5400 0 5400 300 1 0 0 { @@ -158,10 +147,10 @@ T 5350 200 5 8 1 1 90 6 1 pinnumber=14 T 5450 200 5 8 0 1 90 8 1 pinseq=14 -T 4600 350 9 8 1 1 90 0 1 -pinlabel=DB7 +T 5400 350 9 8 1 1 90 0 1 +pinlabel=VDD T 5400 350 5 8 0 1 90 2 1 -pintype=io +pintype=pwr } P 5800 0 5800 300 1 0 0 { @@ -209,3 +198,14 @@ pinlabel=CAP1N T 6600 350 5 8 0 1 90 2 1 pintype=pas } +P 1800 0 1800 300 1 0 0 +{ +T 1750 200 5 8 1 1 90 6 1 +pinnumber=5 +T 1850 200 5 8 0 1 90 8 1 +pinseq=5 +T 1800 350 9 8 1 1 90 0 1 +pinlabel=DB0 +T 1800 350 5 8 0 1 90 2 1 +pintype=io +} -- 2.30.2