1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!--
3This file is Copyright (c) 2018 by the GPSD project
4BSD terms apply: see the file COPYING in the distribution root for details.
5-->
6<!DOCTYPE refentry PUBLIC
7   "-//OASIS//DTD DocBook XML V4.1.2//EN"
8   "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
9<refentry id='zerk.1'>
10 <refentryinfo>
11  <date>18 Sep 2018</date>
12 </refentryinfo>
13 <refmeta>
14  <refentrytitle>zerk</refentrytitle>
15  <manvolnum>1</manvolnum>
16  <refmiscinfo class="source">The GPSD Project</refmiscinfo>
17  <refmiscinfo class="manual">GPSD Documentation</refmiscinfo>
18 </refmeta>
19 <refnamediv id='name'>
20  <refname>zerk</refname>
21  <refpurpose>All purpose GREIS fitting</refpurpose>
22 </refnamediv>
23 <refsynopsisdiv id='synopsis'>
24  <cmdsynopsis>
25   <command>zerk</command>
26   <arg choice='opt'>-? </arg>
27   <arg choice='opt'>-c <replaceable>command</replaceable>
28   </arg>
29   <arg choice='opt'>-d <replaceable>disable</replaceable>
30   </arg>
31   <arg choice='opt'>-e <replaceable>enable</replaceable>
32   </arg>
33   <arg choice='opt'>-f <replaceable>file/device</replaceable>
34   </arg>
35   <arg choice='opt'>-h </arg>
36   <arg choice='opt'>-O <replaceable>oaf</replaceable>
37   </arg>
38   <arg choice='opt'>-p <replaceable>preset</replaceable></arg>
39   <arg choice='opt'>-R <replaceable>rawfile</replaceable>
40   </arg>
41   <arg choice='opt'>-r </arg>
42   <arg choice='opt'>-S <replaceable>setspeed</replaceable>
43   </arg>
44   <arg choice='opt'>-s <replaceable>speed</replaceable>
45   </arg>
46   <arg choice='opt'>-V </arg>
47   <arg choice='opt'>-v <replaceable>verbosity</replaceable>
48   </arg>
49   <arg choice='opt'>-W </arg>
50   <arg choice='opt'>-w <replaceable>wait</replaceable>
51   </arg>
52   <arg choice='opt'>[server[:port[:device]]]</arg>
53  </cmdsynopsis>
54 </refsynopsisdiv>
55 <refsect1 id='description'>
56  <title>DESCRIPTION</title>
57  <para>
58   <application>zerk</application> is an all purpose GREIS fitting.
59If you do not have a Javad GPS that speaks the GREIS protocol then you
60can stop reading now.</para>
61  <para>This tool operates with your Javad GPS at a very low level.
62To understand <application>zerk</application> you must first be familiar
63with your Javad GPS and the documentation for the GREIS protocol.
64<ulink url="http://www.javad.com/downloads/javadgnss/manuals/GREIS/GREIS_Reference_Guide.pdf">GREIS (GNSS Receiver External Interface Specification) Guide</ulink>.
65</para>
66  <para>
67   <application>zerk</application> can decode common GREIS messages,
68poll the GPS status, enable and disable GPS features, and send user
69generated commands to the GPS.  It can read GREIS messages from a file.  It
70can read and write directly through a serial device, or through a
71running gpsd instance.</para>
72 </refsect1>
73 <refsect1 id='options'>
74  <title>OPTIONS</title>
75  <para>The program accepts the following options:</para>
76  <variablelist remap='TP'>
77   <varlistentry>
78    <term>-c COMMAND</term>
79    <listitem>
80     <para>Send a text string to the GPS.  Accepts one parameter, COMMAND,
81the command string to send to the GPS.  The string is sent verbatim, except
82a newline is appended.
83</para>
84    </listitem>
85   </varlistentry>
86   <varlistentry>
87    <term>-d OPTION</term>
88    <listitem>
89     <para>Disable an option in the GPS.  Accepts one parameter, OPTION,
90the option to disable.  <application>zerk</application> will exit after
91the GPS acknowledges the command, unless the -W is given.
92</para>
93     <variablelist>
94      <varlistentry>
95       <term>4HZ</term>
96       <listitem>
97        <para>Disable basic GREIS messages at 4Hz.  The messages are:
98[RT], [UO], [GT], [PV], [SG], [DP], [SI], [EL], [AZ], [EC], [SS], and
99[ET]</para>
100       </listitem>
101      </varlistentry>
102      <varlistentry>
103       <term>COMPASS</term>
104       <listitem>
105        <para>Disable use of the COMPASS (BeiDou) constellation.</para>
106       </listitem>
107      </varlistentry>
108      <varlistentry>
109       <term>CONS</term>
110       <listitem>
111        <para>Disable use of all constellations.</para>
112       </listitem>
113      </varlistentry>
114      <varlistentry>
115       <term>DEFMSG</term>
116       <listitem>
117        <para>Disable the default message set (/dev/msg) at 1Hz.</para>
118       </listitem>
119      </varlistentry>
120      <varlistentry>
121       <term>GALILEO</term>
122       <listitem>
123        <para>Disable use of the GALILEO constellation.</para>
124       </listitem>
125      </varlistentry>
126      <varlistentry>
127       <term>GLONASS</term>
128       <listitem>
129        <para>Disable use of the GLONASS constellation.</para>
130       </listitem>
131      </varlistentry>
132      <varlistentry>
133       <term>GPS</term>
134       <listitem>
135        <para>Disable use of the GPS constellation.</para>
136       </listitem>
137      </varlistentry>
138      <varlistentry>
139       <term>IPR</term>
140       <listitem>
141        <para>Disable all Integer Pseudo Range messages.  These are
142        [rx], [rc], [r1], [r2], [r3], [r5], [rl].</para>
143       </listitem>
144      </varlistentry>
145      <varlistentry>
146       <term>IRNSS</term>
147       <listitem>
148        <para>Disable use of the IRNSS constellation.</para>
149       </listitem>
150      </varlistentry>
151      <varlistentry>
152       <term>NMEA</term>
153       <listitem>
154        <para>Disable basic NMEA 4.1e messages at 4Hz.  The messages are
155GBS, GGA, GSA, GST, GSV, RMC, VTG, and ZDA.</para>
156       </listitem>
157      </varlistentry>
158      <varlistentry>
159       <term>QZSS</term>
160       <listitem>
161        <para>Disable use of the QZSS constellation.</para>
162       </listitem>
163      </varlistentry>
164      <varlistentry>
165       <term>SBAS</term>
166       <listitem>
167        <para>Disable use of the SBAS constellation.</para>
168       </listitem>
169      </varlistentry>
170      <varlistentry>
171       <term>SNR</term>
172       <listitem>
173        <para>Disable all SNR messages, except [EC].  The messages
174disabled are: [E1], [E2], [E3], [E5], [El].</para>
175       </listitem>
176      </varlistentry>
177     </variablelist>
178    </listitem>
179   </varlistentry>
180   <varlistentry>
181    <term>-e OPTION</term>
182    <listitem>
183     <para>Enable an option in the GPS.  Accepts one parameter, OPTION,
184the option to enable.  <application>zerk</application> will exit after
185the GPS acknowledges the command, unless the -W is given.  -e accepts the
186same OPTIONs as -d, except the action is to enable the option.
187</para>
188    </listitem>
189   </varlistentry>
190   <varlistentry>
191    <term>-f FILE</term>
192    <listitem>
193     <para>Connect to a file or device.  Accepts one parameter, FILE,
194the file or device to open.   Files are opened read-only.  Character
195devices are opened read/write, unless the -r parameter is given.
196Requires the pyserial module.
197</para>
198    </listitem>
199   </varlistentry>
200   <varlistentry>
201    <term>-h</term>
202    <listitem>
203     <para>Makes <application>zerk</application> print
204a usage message and exit.</para>
205    </listitem>
206   </varlistentry>
207   <varlistentry>
208    <term>-O OAF</term>
209    <listitem>
210     <para>Load an Option Authorization File (OAF) into the GPS.  Accepts
211one parameter, OAF, command file to read.  The OAF is just a special case
212of a .jpo (GREIS command file).  -O will send any valid .jpo file to
213the GPS.
214</para>
215    </listitem>
216   </varlistentry>
217   <varlistentry>
218    <term>-p PRESET</term>
219    <listitem>
220     <para>Send a preset command the GPS.  Accepts one parameter, PRESET,
221the name of the command to send.  <application>zerk</application> will exit after
222the GPS acknowledges the command, unless the -W is given.
223</para>
224     <variablelist>
225      <varlistentry>
226       <term>COLDBOOT</term>
227       <listitem>
228        <para>Coldboot the GPS.</para>
229       </listitem>
230      </varlistentry>
231      <varlistentry>
232       <term>CONS</term>
233       <listitem>
234        <para>Poll the enabled constellations.</para>
235       </listitem>
236      </varlistentry>
237      <varlistentry>
238       <term>DM</term>
239       <listitem>
240        <para>Disable all periodic GREIS messages..</para>
241       </listitem>
242      </varlistentry>
243      <varlistentry>
244       <term>ID</term>
245       <listitem>
246        <para>Poll the receiver ID.</para>
247       </listitem>
248      </varlistentry>
249      <varlistentry>
250       <term>IPR</term>
251       <listitem>
252        <para>Poll all Integer Pseudo Range messages.  These are
253        [rx], [rc], [r1], [r2], [r3], [r5], [rl].</para>
254       </listitem>
255      </varlistentry>
256      <varlistentry>
257       <term>OAF</term>
258       <listitem>
259        <para>Poll all OAF options.</para>
260       </listitem>
261      </varlistentry>
262      <varlistentry>
263       <term>RESET</term>
264       <listitem>
265        <para>Reset (reboot) the GPS.</para>
266       </listitem>
267      </varlistentry>
268      <varlistentry>
269       <term>SERIAL</term>
270       <listitem>
271        <para>Poll receiver serial number.</para>
272       </listitem>
273      </varlistentry>
274      <varlistentry>
275       <term>SNR</term>
276       <listitem>
277        <para>Poll all Signal to Noise Ratio (SNR) messages.
278[EC], [E1], [E2], [E3], [E5], [El].</para>
279       </listitem>
280      </varlistentry>
281      <varlistentry>
282       <term>VENDOR</term>
283       <listitem>
284        <para>Poll GPS vendor.</para>
285       </listitem>
286      </varlistentry>
287      <varlistentry>
288       <term>VER</term>
289       <listitem>
290        <para>Poll GPS version.</para>
291       </listitem>
292      </varlistentry>
293     </variablelist>
294    </listitem>
295   </varlistentry>
296   <varlistentry>
297    <term>-r</term>
298    <listitem>
299     <para>Read only.  Do not send anything to the GPS.</para>
300    </listitem>
301   </varlistentry>
302   <varlistentry>
303    <term>-R RAW</term>
304    <listitem>
305     <para>Save all raw data from the GPS into the file RAW.</para>
306    </listitem>
307   </varlistentry>
308   <varlistentry>
309    <term>-S SPEED</term>
310    <listitem>
311     <para>Configure the GPS serial speed to SPEED bps.</para>
312    </listitem>
313   </varlistentry>
314   <varlistentry>
315    <term>-s SPEED</term>
316    <listitem>
317     <para>Set local serial port speed to SPEED bps. Default 115,200 bps.</para>
318    </listitem>
319   </varlistentry>
320   <varlistentry>
321    <term>-V</term>
322    <listitem>
323     <para>Print <application>zerk</application> version and exit.</para>
324    </listitem>
325   </varlistentry>
326   <varlistentry>
327    <term>-v VERBOSITY</term>
328    <listitem>
329     <para>Set verbosity level to VERBOSITY.  Verbosity can be from 0
330     (very quiet), to 4 (very noisy).  Default 2.</para>
331    </listitem>
332   </varlistentry>
333   <varlistentry>
334    <term>-v VERBOSITY</term>
335    <listitem>
336     <para>Set verbosity level to VERBOSITY.  Verbosity can be from 0
337     (very quiet), 2 (decode messages), to 4 (very noisy).  Default 1.</para>
338    </listitem>
339   </varlistentry>
340   <varlistentry>
341    <term>-W</term>
342    <listitem>
343     <para>Force waiting the entire wait time.  No early exit for completion
344of -d, -e or -p command.</para>
345    </listitem>
346   </varlistentry>
347   <varlistentry>
348    <term>-w WAIT</term>
349    <listitem>
350     <para>Wait for WAIT seconds before exiting.  Will exit early on command
351completion of -d, -e or -p command, unless -W is given.  Default 2.0 second.</para>
352    </listitem>
353   </varlistentry>
354   <varlistentry>
355    <term>[server[:port[:device]]]</term>
356    <listitem>
357     <para>
358       By default, <application>zerk</application> collects data from all compatible devices on
359       localhost, using the default GPSD port 2947. An optional argument
360       may specify a server to get data from. A
361       colon-separated suffix is taken as a port number. If there is a
362       second colon-separated suffix, that is taken as a specific device
363       name to be watched. Further details on the
364<citerefentry>
365       <refentrytitle>gps</refentrytitle>
366       <manvolnum>1</manvolnum>
367      </citerefentry> man page.
368     </para>
369    </listitem>
370   </varlistentry>
371   <varlistentry>
372    <term>-?</term>
373    <listitem>
374     <para>Makes <application>zerk</application> print
375a usage message and exit.</para>
376    </listitem>
377   </varlistentry>
378  </variablelist>
379 </refsect1>
380 <refsect1 id='environment'>
381  <title>ENVIRONMENT</title>
382  <para>Options can be placed in the ZERKOPTS environment variable.
383ZERKOPTS is processed before the CLI options.</para>
384 </refsect1>
385 <refsect1 id='examples'>
386  <title>EXAMPLES</title>
387  <para>
388Print current Javad serial portC of GPS connected to local running gpsd::
389<programlisting>
390 zerk -c "print,/cur/term"
391</programlisting>
392  </para>
393  <para>
394Decode raw log file:
395<programlisting>
396zerk -r -f greis-binary.log -v 2
397</programlisting>
398  </para>
399  <para>
400Change GPS port speed of device on /dev/ttyAMA0 to 230,400 bps::
401<programlisting>
402zerk -S 230400 -f /dev/ttyAMA0
403</programlisting>
404  </para>
405  <para>
406Watch entire GPS reset cycle:
407<programlisting>
408zerk -p RESET -v 2 -w 20 -W
409</programlisting>
410  </para>
411  <para>
412Poll SVs Status:
413<programlisting>
414zerk -W -w 2 -v 2 -c "out,,jps/{CS,ES,GS,Is,WS,QS}"
415</programlisting>
416Dump gpsd data from remote server:
417<programlisting>
418zerk -v 2 -w 5 server
419</programlisting>
420  </para>
421 </refsect1>
422 <refsect1 id='see_also'>
423  <title>SEE ALSO</title>
424  <para>
425   <application>zerk</application> is written to conform to the official
426Javad documentation for the GREIS protocol.
427<ulink url="http://www.javad.com/downloads/javadgnss/manuals/GREIS/GREIS_Reference_Guide.pdf">GREIS (GNSS Receiver External Interface Specification) Guide</ulink>.
428</para>
429  <para>
430   <citerefentry>
431    <refentrytitle>gpsd</refentrytitle>
432    <manvolnum>8</manvolnum>
433   </citerefentry>,
434<citerefentry>
435    <refentrytitle>gps</refentrytitle>
436    <manvolnum>1</manvolnum>
437   </citerefentry>,
438<citerefentry>
439    <refentrytitle>cgps</refentrytitle>
440    <manvolnum>1</manvolnum>
441   </citerefentry>,
442<citerefentry>
443    <refentrytitle>xgps</refentrytitle>
444    <manvolnum>1</manvolnum>
445   </citerefentry>,
446<citerefentry>
447    <refentrytitle>gpsfake</refentrytitle>
448    <manvolnum>1</manvolnum>
449   </citerefentry>,
450<citerefentry>
451    <refentrytitle>gpsctl</refentrytitle>
452    <manvolnum>1</manvolnum>
453   </citerefentry>,
454<citerefentry>
455    <refentrytitle>gpscat</refentrytitle>
456    <manvolnum>1</manvolnum>
457   </citerefentry>,
458<citerefentry>
459    <refentrytitle>gnuplot</refentrytitle>
460    <manvolnum>1</manvolnum>
461   </citerefentry>.
462</para>
463 </refsect1>
464 <refsect1 id='maintainer'>
465  <title>AUTHOR</title>
466  <para>Gary E. Miller<email>gem@rellim.com</email>
467  </para>
468 </refsect1>
469</refentry>
470