--- /dev/null
+#!/usr/bin/python
+# Copyright 2007 by Bdale Garbee <bdale@gag.com>. 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 ")"
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
{
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
{
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
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
}
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
}
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
}
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
}
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
}
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
}
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
}
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
{
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
{
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
+}