summaryrefslogtreecommitdiff
path: root/man/gpspipe.xml
blob: e522bba6e1f35be44ae22c012c14f000df406fc7 (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
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
This file is Copyright (c) 2010 by the GPSD project
SPDX-License-Identifier: BSD-2-clause
-->
<!DOCTYPE refentry PUBLIC
   "-//OASIS//DTD DocBook XML V4.1.2//EN"
   "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
<refentry id='gpspipe.1'>
 <refentryinfo>
  <date>14 Dec 2018</date>
 </refentryinfo>
 <refmeta>
  <refentrytitle>gpspipe</refentrytitle>
  <manvolnum>1</manvolnum>
  <refmiscinfo class="source">The GPSD Project</refmiscinfo>
  <refmiscinfo class="manual">GPSD Documentation</refmiscinfo>
 </refmeta>
 <refnamediv id='name'>
  <refname>gpspipe</refname>
  <refpurpose>tool to connect to gpsd and retrieve sentences</refpurpose>
 </refnamediv>
 <refsynopsisdiv id='synopsis'>
  <cmdsynopsis>
   <command>gpspipe</command>
   <arg choice='opt'>-2</arg>
   <arg choice='opt'>-?</arg>
   <arg choice='opt'>-d</arg>
   <arg choice='opt'>-D <replaceable>debug-level</replaceable></arg>
   <arg choice='opt'>-h</arg>
   <arg choice='opt'>-l</arg>
   <arg choice='opt'>-n <replaceable>count</replaceable></arg>
   <arg choice='opt'>-o <replaceable>filename</replaceable></arg>
   <arg choice='opt'>-p</arg>
   <arg choice='opt'>-P</arg>
   <arg choice='opt'>-r</arg>
   <arg choice='opt'>-R</arg>
   <arg choice='opt'>-S</arg>
   <arg choice='opt'>-s <replaceable>serial-device</replaceable></arg>
   <arg choice='opt'>-t</arg>
   <arg choice='opt'>-T <replaceable>timestamp-format</replaceable></arg>
   <arg choice='opt'>-u</arg>
   <arg choice='opt'>-v</arg>
   <arg choice='opt'>-V</arg>
   <arg choice='opt'>-w</arg>
   <arg choice='opt'>-x <replaceable>seconds</replaceable></arg>
   <arg choice='opt'>-Z</arg>
   <group>
    <replaceable>server</replaceable>
    <group>
     <replaceable>:port</replaceable>
     <group>
      <replaceable>:device</replaceable>
     </group>
    </group>
   </group>
  </cmdsynopsis>
 </refsynopsisdiv>
 <refsect1 id='description'>
  <title>DESCRIPTION</title>
  <para>
   <application>gpspipe</application> is a tool to connect
to <application>gpsd</application> and output the received
sentences to stdout.  This makes the program useful as a pipe from
<application>gpsd</application> to another program or file. </para>
  <para>
   <application>gpspipe</application> does not require root
privileges, and can be run concurrently with other tools connecting
to the local <application>gpsd</application> without causing problems.</para>
  <para>The output will consist of one or both of the raw NMEA or native
<application>gpsd</application> sentences.  Each line can be optionally
time stamped.  There is also an option to exit gracefully after a
given count of packets.</para>
  <para>Optionally a server, TCP/IP port number and remote device can be given.
If omitted, <application>gpspipe</application> connects to localhost on
the default port (2947) and watches all devices opened by
<application>gpsd</application>.</para>
  <para>
   <application>gpspipe</application> may be run as a daemon, but
requires the -o flag for writing the output to a file.</para>
 </refsect1>
 <refsect1 id='options'>
  <title>OPTIONS</title>
  <para>-2 sets the split24 flag on AIS reports. Note: this option
is experimental and may be changed or removed in a future release.</para>
  <para>-? makes <application>gpspipe</application> print
a usage message and exit.</para>
  <para>-d causes <application>gpspipe</application> to run as a daemon.</para>
  <para>-D [debug-level] set debug level..</para>
  <para>-h makes <application>gpspipe</application> print
a usage message and exit.</para>
  <para>-l causes <application>gpspipe</application> to sleep for ten
seconds before attempting to connect to gpsd.  This is very useful
when running as a daemon, giving gpsd time to start before
attempting a connection.</para>
  <para>-n [count] causes [count] sentences to be output.
<application>gpspipe</application> will then exit gracefully.</para>
  <para>-o [filename] option causes the collected data to be written to the
specified file.  Use of this option is mandatory
if <application>gpspipe</application> is run as a daemon.</para>
  <para>-p enables dumping of profiling information in JSON.</para>
  <para>-P enables dumping of PPS drift JSON in NMEA and raw modes.</para>
  <para>-r causes raw NMEA sentences to be output.</para>
  <para>-R causes super-raw (gps binary) data to be output.  This overrides
NMEA and gpsd output modes.</para>
  <para>-s option causes the collected data to be written to the
specified serial device with settings 4800 8N1.  Thus
<application>gpspipe</application> can be used with -s and -r options
to emulate a serial port hardwired to a GPS that
<application>gpsd</application> is managing.</para>
  <para>-S sets the scaled flag.  This is for AIS and subframe data, but
currently appears to do nothing.</para>
  <para>-t adds a UTC timestamp to each sentence output.</para>
  <para>-T sets the format of the timestamp. See
<citerefentry>
    <refentrytitle>strftime</refentrytitle>
    <manvolnum>3</manvolnum>
   </citerefentry>
for the available placeholders. Setting this option implies -t.
Default setting is "%F %T"</para>
  <para>-u usec resolution time stamp, implies -t. Use -uu to output
 sec.usec.</para>
  <para>-v causes <application>gpspipe</application> to show a spinning
activity indicator on stderr. This is useful if stdout is redirected
into a file or a pipe. By default the spinner is advanced with every
messages written; specifying -v more than once will double the number
of messages required to rotate the spinner.</para>
  <para>-V prints the version, then exits.</para>
  <para>-w causes native <application>gpsd</application> sentences to be
output.</para>
  <para>-x [seconds] Exit after delay of [seconds].</para>
  <para>-Z sets the timestamp format iso8601: implies '-t'</para>
  <para>At least one of -R, -r or -w must be specified.</para>
  <para>You must use -o if you use -d.</para>
 </refsect1>
 <refsect1 id='exampletitle'>
  <title>EXAMPLES</title>
  <para>When <application>gpsd</application> is running,
   <command>gpspipe
-r -n 100</command> will send one hundred raw NMEA sentences to
standard output, then exit.</para>
  <para>When <application>gpsd</application> is running, <command>gpspipe
-x 5 -w|sed -n '/TPV/{p;q}'</command> will wait at most 5 seconds for a
TPV message, print it to stdout, then exit.</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>libgpsmm</refentrytitle>
    <manvolnum>3</manvolnum>
   </citerefentry>,
<citerefentry>
    <refentrytitle>gpsprof</refentrytitle>
    <manvolnum>1</manvolnum>
   </citerefentry>,
<citerefentry>
    <refentrytitle>gpsfake</refentrytitle>
    <manvolnum>1</manvolnum>
   </citerefentry>,
<citerefentry>
    <refentrytitle>gpsctl</refentrytitle>
    <manvolnum>1</manvolnum>
   </citerefentry>,
<citerefentry>
    <refentrytitle>gpscat</refentrytitle>
    <manvolnum>1</manvolnum>
   </citerefentry>.
<citerefentry>
    <refentrytitle>gpsmon</refentrytitle>
    <manvolnum>1</manvolnum>
   </citerefentry>.
</para>
 </refsect1>
 <refsect1 id='maintainer'>
  <title>AUTHOR</title>
  <para>Gary E. Miller <email>gem@rellim.com</email>.</para>
 </refsect1>
</refentry>