summaryrefslogtreecommitdiff
path: root/gpsprobe.xml
blob: a1971f6ba96951c548bc52527128304cce2c4045 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE refentry PUBLIC 
   "-//OASIS//DTD DocBook XML V4.1.2//EN"
   "docbook/docbookx.dtd">
<refentry id='gpsprobe.1'>
<refmeta>
<refentrytitle>gpsprobe</refentrytitle>
<manvolnum>1</manvolnum>
<refmiscinfo class='date'>8 Sep 2004</refmiscinfo>
</refmeta>
<refnamediv id='name'>
<refname>gpsprobe</refname>
<refpurpose>probe a GPS for type, send-cycle time and accuracy information</refpurpose>
</refnamediv>
<refsynopsisdiv id='synopsis'>

<cmdsynopsis>
  <command>gpsprobe</command>  
      <arg choice='opt'>-b <replaceable>speed</replaceable></arg>
      <arg choice='opt'>-h</arg>
      <arg choice='opt'>-n <replaceable>packetcount</replaceable></arg>
      <arg choice='opt'><replaceable>device</replaceable></arg>
</cmdsynopsis>
</refsynopsisdiv>

<refsect1 id='description'><title>DESCRIPTION</title>

<para><application>gpsprobe</application> samples the NMEA data stream
from a GPS and attempts to deduce various interesting pieces of
information, including:</para>

<itemizedlist>
<listitem><para>the GPS type (what chipset it uses)</para></listitem>
<listitem><para>the GPS protocol (NMEA or SiRF)</para></listitem>
<listitem><para>the inventory of NMEA sentence types it emits</para></listitem>
<listitem><para>its send cycle (frequency of updates)</para></listitem>
</itemizedlist>

<para>In addition, if the GPS is getting position fixes,
<application>gpsprobe</application> generates a scattergram from them
and plots a probable-error circle.  This data is only meaningful if
the GPS is held stationary while <application>gpsprobe</application>
is running.  Use it in combination with
<citerefentry><refentrytitle>gpsprof</refentrytitle><manvolnum>1</manvolnum></citerefentry>
to get a feel for the accuracy of your GPS.</para>

<para>The report and scattergram is generated as a
<citerefentry><refentrytitle>gnuplot</refentrytitle><manvolnum>1</manvolnum></citerefentry>
script to standard output.  View it with <command>gnuplot -persist
&lt;foo&gt;</command> where &lt;foo&gt; should be replaced with
the name of the plot script.</para>

<para>Note: <application>gpsprobe</application> needs access to the raw
GPS device. Therefore <application>gpsd</application> must not be running
when you call <application>gpsprobe</application>.  You will probably
have to run as superuser to get access to the device.</para>

</refsect1>
<refsect1 id='options'><title>OPTIONS</title>

<para>The -b option sets a baud rate at which to connect.  If no -b
option is given, <application>gpsprobe</application> will hunt through
plausible baud rates beginning with the NMEA standard 4800, looking
for one that elicits text looking like NMEA sentences.</para>

<para>The -n option sets the number of packets to sample.  The
default is 100.</para>

<para>The -h option makes <application>gpsprobe</application> print 
a usage message and exit.</para>

<para>The argument, if given, sets the name of the GPS device. The default
is <filename>/dev/gps</filename>.</para> 

</refsect1>
<refsect1 id='bugs'><title>BUGS AND LIMITAIONS</title>

<para>This program handles only straight NMEA devices.  There is code
that attempts to recognize a GPS emitting SiRF binary protocol and
switch it to NMEA, but it is not well tested and probably fragile.
This program won't handle the Garmin or Rockwell binary protocols at
all.</para>

<para>The logic for hunting the GPS's baud rate is vulnerable to
various sorts of RS323 flakiness. If it hangs for longer than a few
seconds, kill the program and restart.</para>

</refsect1>
<refsect1 id='see_also'><title>SEE ALSO</title>
<para>
<citerefentry><refentrytitle>gpsd</refentrytitle><manvolnum>1</manvolnum></citerefentry>
<citerefentry><refentrytitle>libgps</refentrytitle><manvolnum>3</manvolnum></citerefentry>
<citerefentry><refentrytitle>libgpsd</refentrytitle><manvolnum>3</manvolnum></citerefentry>
<citerefentry><refentrytitle>gpsprof</refentrytitle><manvolnum>1</manvolnum></citerefentry>
<citerefentry><refentrytitle>gpsfake</refentrytitle><manvolnum>1</manvolnum></citerefentry>
<citerefentry><refentrytitle>gnuplot</refentrytitle><manvolnum>1</manvolnum></citerefentry>
</para>
</refsect1>

<refsect1 id='maintainer'><title>AUTHOR</title> 

<para>Eric S. Raymond <email>esr@thyrsus.com</email>.  There is a
project page for <application>gpsd</application> <ulink
url="http://gpsd.berlios.de/">here</ulink>.</para>

</refsect1>

</refentry>