summaryrefslogtreecommitdiff
path: root/gpsdecode.xml
diff options
context:
space:
mode:
authorEric S. Raymond <esr@thyrsus.com>2009-03-13 16:40:52 +0000
committerEric S. Raymond <esr@thyrsus.com>2009-03-13 16:40:52 +0000
commitdaf596d2b37b8b19822315eea6aa34ebb0d18339 (patch)
treeec1c35400dbbe0e920380b4150ed6c888749ea1c /gpsdecode.xml
parentef53d3a73bab5c9d031ecb091d847bee1d431703 (diff)
downloadgpsd-daf596d2b37b8b19822315eea6aa34ebb0d18339.tar.gz
rtcmdecode -> gpsdecode.
Diffstat (limited to 'gpsdecode.xml')
-rw-r--r--gpsdecode.xml149
1 files changed, 149 insertions, 0 deletions
diff --git a/gpsdecode.xml b/gpsdecode.xml
new file mode 100644
index 00000000..d1cbcd7c
--- /dev/null
+++ b/gpsdecode.xml
@@ -0,0 +1,149 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE refentry PUBLIC
+ "-//OASIS//DTD DocBook XML V4.1.2//EN"
+ "docbook/docbookx.dtd">
+<refentry id='gpsdecode.1'>
+<refmeta>
+<refentrytitle>gpsdecode</refentrytitle>
+<manvolnum>1</manvolnum>
+<refmiscinfo class='date'>13 Jul 2005</refmiscinfo>
+</refmeta>
+<refnamediv id='name'>
+<refname>gpsdecode</refname>
+<refpurpose>decode RTCM or AIVDM streams into a readable format</refpurpose>
+</refnamediv>
+<refsynopsisdiv id='synopsis'>
+
+<cmdsynopsis>
+ <command>gpsdecode</command>
+ <arg choice='opt'>-d</arg>
+ <arg choice='opt'>-e</arg>
+ <arg choice='opt'>-v <replaceable>debuglevel</replaceable></arg>
+ <arg choice='opt'>-V</arg>
+</cmdsynopsis>
+</refsynopsisdiv>
+
+<refsect1 id='description'><title>DESCRIPTION</title>
+
+<para>This tool is a decoder/encoder for various binary packet formats
+associated with GPS and differential-correction services. It produces
+a text dump on standard output from binary on standard input, or
+binary packets on standard output from text on standard input, and
+aims to be 100% information-preserving in both directions. As well as
+data, the decoder also prints decoder status messages to standard
+error as necessary.</para>
+
+<para>Two of the supported formats are RTCM 2 and 3, a pair of obscure
+and complicated serial protocol used for broadcasting pseudorange
+corrections from differential-GPS reference stations. You can use this
+mode of the tool with
+<citerefentry><refentrytitle>nc</refentrytitle><manvolnum>1</manvolnum></citerefentry>
+to examine RTCM feeds from DGPSIP servers or Ntrip broadcasters. The
+decoder dump format for RTCM2 is described in
+<citerefentry><refentrytitle>rtcm</refentrytitle><manvolnum>5</manvolnum></citerefentry>;
+these lines go to standard output.</para>
+
+<para>Another supported format is AIVDM. This is the sentence format
+used by the marine Automatic Identification System. This can be
+decoded, but not yet encoded. The dump lines are unscaled integral
+values of AIS packet fields, colon-separated, in the order that they
+occur in the packet, except that the 19-bit TDMA status fields found
+at the end of message types 1-4 are are dumped as a single unsigned
+integer.</para>
+
+</refsect1>
+<refsect1 id='options'><title>OPTIONS</title>
+
+<para>The -d option tells the program to decode packets presented on
+standard input to a text dump on standard output. This is the default
+behavior.</para>
+
+<para>RTCM2 will be dumped in the format of
+<citerefentry><refentrytitle>rtcm-104</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+on standard output. </para>
+
+<para>The -e option option tells the program to encode a text dump in
+the format of
+<citerefentry><refentrytitle>rtcm-104</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+to standard output. Encoding is supported only RTCM2, not for
+RTCM3.</para>
+
+<para>The -V option directs the program to emit its version number,
+then exit.</para>
+
+<para>The -v option sets a verbosity level. It is mainly of interest
+to developers.</para>
+
+</refsect1>
+<refsect1 id='standard'><title>APPLICABLE STANDARDS</title>
+
+<para>The applicable standard for V2 is <citetitle>RTCM Recommended
+Standards for Differential NAVSTAR GPS Service</citetitle> RTCM Paper
+194-93/SC 104-STD.</para>
+
+<para>Note that <application>gpsdecode</application> presently
+recognizes only the 2.1 level of RTCM; the protocol was revised up to
+a version 2.3 including additional messages relating to GLONASS and
+real-time kinematics before being deprecated in favor of V3. It is
+now obsolete.</para>
+
+<para>The applicable standard for V3 is <citetitle>RTCM Standard
+10403.1 for Differential GNSS Services - Version 3</citetitle> RTCM
+Paper 177-2006-SC104-STD.</para>
+
+<para>Ordering instructions for the RTCM standards are accessible from
+the website of the <ulink url='http://www.rtcm.org/'>Radio Technical
+Commission for Maritime Services</ulink> under "Publications".</para>
+
+<para>The applicable standard for AIVDM is <citetitle>ITU-R M.1371:
+ITU Recommendation on the Technical Characteristics for a Universal
+Shipborne Automatic Identification System (AIS) using Time Division
+Multiple Access in the Maritime Mobile Band</citetitle>,. A more
+accessible description can be found onn the references page of the
+GPSD project website.</para>
+
+</refsect1>
+<refsect1 id='bugs'><title>BUGS AND LIMITATIONS</title>
+
+<para>AIDVM decoding presently only parses fields for the common
+sentence types 1-5; other packet payloads are dumped as raw
+hex.</para>
+
+<para>RTCM3 decoding is buggy and incomplete.</para>
+
+<para>RTCM2 represents floating-point quantities as an integer
+multiple of a fixed scale factor. Editing an RTCM2 dump can
+produce numbers that are not an integer multiple of the scale factor
+for their field. If you do this, the value actually packed into
+binary RTCM2 will be rounded down to the nearest scale unit,
+and dumping will show slightly different numbers than those you
+entered.</para>
+
+<para>The decoder logic is sufficiently convoluted to confuse some
+compiler optimizers, notably in GCC 3.x at -O2, into generating bad
+code.</para>
+
+</refsect1>
+<refsect1 id='see_also'><title>SEE ALSO</title>
+<para>
+<citerefentry><refentrytitle>gpsd</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
+<citerefentry><refentrytitle>gps</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>rtcm-104</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
+</para>
+</refsect1>
+<refsect1 id='maintainer'><title>AUTHOR</title>
+
+<para>Eric S. Raymond <email>esr@thyrsus.com</email>. This is a
+somewhat hacked version of an RTCM decoder originally written by
+Wolfgang Rupprecht. There is a project page for
+<application>gpsd</application> <ulink
+url="http://gpsd.berlios.de/">here</ulink>.</para>
+
+</refsect1>
+
+</refentry>
+