<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
This file is Copyright 2004 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='gps.1'>
 <refentryinfo>
  <date>6 December 2020</date>
 </refentryinfo>
 <refmeta>
  <refentrytitle>gps</refentrytitle>
  <manvolnum>1</manvolnum>
  <refmiscinfo class="source">The GPSD Project</refmiscinfo>
  <refmiscinfo class="manual">GPSD Documentation</refmiscinfo>
 </refmeta>
 <refnamediv id='name'>
  <refname>cgps</refname>
  <refname>gegps</refname>
  <refname>gps</refname>
  <refname>lcdgps</refname>
  <refpurpose>simple clients for gpsd</refpurpose>
 </refnamediv>
 <refsynopsisdiv id='synopsis'>
  <cmdsynopsis>
   <command>cgps</command>
   <arg choice='opt'>-?</arg>
   <arg choice='opt'>--debug <replaceable>LVL</replaceable>
   </arg>
   <arg choice='opt'>--help </arg>
   <arg choice='opt'>--llfmt <group>
     <arg>d</arg>
     <arg>m</arg>
     <arg>s</arg>
    </group>
   </arg>
   <arg choice='opt'>--magtrack </arg>
   <arg choice='opt'>--silent </arg>
   <arg choice='opt'>--units <group>
     <arg>i</arg>
     <arg>n</arg>
     <arg>m</arg>
    </group>
   </arg>
   <arg choice='opt'>--version </arg>
   <arg choice='opt'>-D <replaceable>LVL</replaceable>
   </arg>
   <arg choice='opt'>-h </arg>
   <arg choice='opt'>-l <group>
     <arg>d</arg>
     <arg>m</arg>
     <arg>s</arg>
    </group>
   </arg>
   <arg choice='opt'>-m </arg>
   <arg choice='opt'>-s </arg>
   <arg choice='opt'>-u <group>
     <arg>i</arg>
     <arg>n</arg>
     <arg>m</arg>
    </group>
   </arg>
   <arg choice='opt'>-V </arg>
   <group>
    <replaceable>server</replaceable>
    <group>
     <replaceable>:port</replaceable>
     <group>
      <replaceable>:device</replaceable>
     </group>
    </group>
   </group>
  </cmdsynopsis>
  <cmdsynopsis>
   <command>gegps</command>
   <arg choice='opt'>-?</arg>
   <arg choice='opt'>--debug <replaceable>LVL</replaceable>
   </arg>
   <arg choice='opt'>--device <replaceable>DEVICE</replaceable>
   </arg>
   <arg choice='opt'>--help </arg>
   <arg choice='opt'>--host <replaceable>HOST</replaceable>
   </arg>
   <arg choice='opt'>--initialize </arg>
   <arg choice='opt'>--kmldir <replaceable>DIRECTORY</replaceable>
   </arg>
   <arg choice='opt'>--port <replaceable>PORT</replaceable>
   </arg>
   <arg choice='opt'>--version</arg>
   <arg choice='opt'>-D <replaceable>DEBUG</replaceable>
   </arg>
   <arg choice='opt'>-d <replaceable>DIRECTORY</replaceable>
   </arg>
   <arg choice='opt'>-h </arg>
   <arg choice='opt'>-i </arg>
   <arg choice='opt'>-V </arg>
   <group>
    <replaceable>server</replaceable>
    <group>
     <replaceable>:port</replaceable>
     <group>
      <replaceable>:device</replaceable>
     </group>
    </group>
   </group>
  </cmdsynopsis>
  <cmdsynopsis>
   <command>lcdgps</command>
   <arg choice='opt'>-?</arg>
   <arg choice='opt'>--help </arg>
   <arg choice='opt'>--sleep </arg>
   <arg choice='opt'>--version </arg>
   <arg choice='opt'>-h </arg>
   <arg choice='opt'>-j </arg>
   <arg choice='opt'>-l <group>
     <arg>d</arg>
     <arg>m</arg>
     <arg>s</arg>
    </group>
   </arg>
   <arg choice='opt'>-s </arg>
   <arg choice='opt'>-u <group>
     <arg>i</arg>
     <arg>n</arg>
     <arg>m</arg>
    </group>
   </arg>
   <arg choice='opt'>-V </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>These are some simple clients shipped with
<application>gpsd</application>. They have some common options:</para>
  <variablelist>
   <varlistentry>
    <term>
     <option>-?</option>
    </term>
    <term>
     <option>-h</option>
    </term>
    <term>
     <option>--help</option>
    </term>
    <listitem>
     <para>Print a summary of options and then exit.</para>
    </listitem>
   </varlistentry>
   <varlistentry>
    <term>
     <option>-V</option>
    </term>
    <term>
     <option>--version</option>
    </term>
    <listitem>
     <para>Print the package version and exit.</para>
    </listitem>
   </varlistentry>
  </variablelist>
  <para>By default, clients collect data from all compatible devices on
localhost, using the default GPSD port 2947. An optional argument to any
client may specify a server to get data from. A colon-separated suffix
is taken as a port number. If there is a second colon-separated
suffix, that is taken as a specific device name to be
watched. However, if the server specification contains square
brackets, the part inside them is taken as an IPv6 address and
port/device suffixes are only parsed after the trailing bracket.
Possible cases look like this:</para>
  <variablelist>
   <varlistentry>
    <term>localhost:/dev/ttyS1</term>
    <listitem>
     <para>Look at the default port of localhost, trying both
IPv4 and IPv6 and watching output from serial device 1.</para>
    </listitem>
   </varlistentry>
   <varlistentry>
    <term>example.com:2317</term>
    <listitem>
     <para>Look at port 2317 on example.com, trying both
IPv4 and IPv6.</para>
    </listitem>
   </varlistentry>
   <varlistentry>
    <term>71.162.241.5:2317:/dev/ttyS3</term>
    <listitem>
     <para>Look at port 2317 at the specified IPv4
address, collecting data from attached serial device 3.</para>
    </listitem>
   </varlistentry>
   <varlistentry>
    <term>[FEDC:BA98:7654:3210:FEDC:BA98:7654:3210]:2317:/dev/ttyS5</term>
    <listitem>
     <para>Look at port 2317 at the specified IPv6
address, collecting data from attached serial device 5.</para>
    </listitem>
   </varlistentry>
  </variablelist>
  <refsect2>
   <title>cgps</title>
   <para>
    <application>cgps</application> is a client resembling
<application>xgps</application>, but without the pictorial
satellite display and able to run on a serial terminal or
terminal emulator.</para>
   <variablelist>
    <varlistentry>
     <term>
      <option>-D LVL</option>
     </term>
     <term>
      <option>--debug LVL</option>
     </term>
     <listitem>
      <para>Sets the debug
level; it is primarily for use by GPSD developers.  It enables
various progress messages to standard error.</para>
     </listitem>
    </varlistentry>
    <varlistentry>
     <term>
      <option>-l FMT</option>
     </term>
     <term>
      <option>--llfmt FMT</option>
     </term>
     <listitem>
      <para>Sets the format
of latitude and longitude reports.  The value 'd' produces decimal
degrees and is the default.  The value 'm' produces degrees and
decimal minutes.  The value 's' produces degrees, minutes, and decimal
seconds.</para>
     </listitem>
    </varlistentry>
    <varlistentry>
     <term>
      <option>-s</option>
     </term>
     <term>
      <option>--silent</option>
     </term>
     <listitem>
      <para>Prevents
<application>cgps</application> from displaying the data coming from
the daemon. This display can also be toggled with the s
command.</para>
     </listitem>
    </varlistentry>
    <varlistentry>
     <term>
      <option>-m</option>
     </term>
     <term>
      <option>--magtrack</option>
     </term>
     <listitem>
      <para>Display your magnetic
track (as opposed to your true track).  This is a calculated
value, not a measured value.  Magnetic variation is always potentially
subject to large errors, but is usually better than two degrees.</para>
     </listitem>
    </varlistentry>
    <varlistentry>
     <term>
      <option>-u UNITS</option>
     </term>
     <term>
      <option>--units UNITS</option>
     </term>
     <listitem>
      <para>Set
the system units for display; follow the keyword with 'i' for
'imperial' for American units (International Feet in altitude and error
estimates, miles per hour in speeds), 'n' for 'nautical' (feet in altitude
and error estimates, knots in speed) or 'm' for 'metric' (meters in
altitude and error estimates, kilometers per hour in speeds).</para>
      <para>Note: The USA Survey Foot is not supported.</para>
     </listitem>
    </varlistentry>
   </variablelist>
   <para>
    <application>cgps</application> terminates when you send it a
SIGHUP or SIGINT; given default terminal settings this will happen
when you type Ctrl-C at it.  It will also terminate on 'q'</para>
  </refsect2>
  <refsect2>
   <title>gegps</title>
   <para>This program collects fixes from <application>gpsd</application>
and feeds them to a running instance of Google Earth for live location
tracking.</para>
   <variablelist>
    <varlistentry>
     <term>
      <option>-d DIR</option>
     </term>
     <term>
      <option>--kmldir DIR</option>
     </term>
     <listitem>
      <para>Specify the location of the Google
Earth installation directory.  If not specified, it defaults to the
current directory.</para>
     </listitem>
    </varlistentry>
    <varlistentry>
     <term>
      <option>-D LVL</option>
     </term>
     <term>
      <option>--debug LVL</option>
     </term>
     <listitem>
      <para>Sets the debug
level; it is primarily for use by GPSD developers.  It enables
various progress messages to standard error.</para>
     </listitem>
    </varlistentry>
    <varlistentry>
     <term>
      <option>--device DEVICE</option>
     </term>
     <listitem>
      <para>Connect to device DEVICE on gpsd host.</para>
     </listitem>
    </varlistentry>
    <varlistentry>
     <term>
      <option>--host HOST</option>
     </term>
     <listitem>
      <para>Connect to gpsd on host HOST.</para>
     </listitem>
    </varlistentry>
    <varlistentry>
     <term>
      <option>-i</option>
     </term>
     <term>
      <option>--initialize</option>
     </term>
     <listitem>
      <para>If you have the free (non-subscription) version, start by
running with the <option>-i</option> option to drop a clue in the
Google Earth installation directory, as
'Open_in_Google_Earth_RT_GPS.kml', then open that file in Places (File
> Open...). Run <application>gegps</application> in the normal way
after that.</para>
     </listitem>
    </varlistentry>
    <varlistentry>
     <term>
      <option>--port PORT</option>
     </term>
     <listitem>
      <para>Connect to gpsd on port PORT.</para>
     </listitem>
    </varlistentry>
   </variablelist>
  </refsect2>
  <refsect2>
   <title>lcdgps</title>
   <para>A client that passes <application>gpsd</application> data to
<application>lcdproc</application>, turning your car computer into a
very expensive and nearly feature-free GPS receiver.  Currently
assumes a 4x40 LCD and writes data formatted to fit that size screen.
Also displays 4- or 6-character Maidenhead grid square output.</para>
   <variablelist>
    <varlistentry>
     <term>
      <option>-s</option>
     </term>
     <term>
      <option>--sleep</option>
     </term>
     <listitem>
      <para>Sleep for 10 seconds before starting.</para>
     </listitem>
    </varlistentry>
   </variablelist>
  </refsect2>
 </refsect1>
 <refsect1 id='environment'>
  <title>ENVIRONMENT</title>
  <para>The environment variable <envar>GPSD_UNITS</envar> is checked if
no unit system is specified on the command line. It may be set to 'i'.
'imperial', 'm', 'metric', or 'n', 'nautical'.</para>
  <para>
   <envar>LC_MEASUREMENT</envar> and then <envar>LANG</envar> are
checked if no unit system has been specified on the command line, or in
<envar>GPSD_UNITS</envar>. If the value is 'C', 'POSIX', or begins with
'en_US' the unit system is set to imperial. The default if no system has
been selected defaults to metric.</para>
 </refsect1>
 <refsect1 id='see_also'>
  <title>SEE ALSO</title>
  <para>
   <citerefentry>
    <refentrytitle>gpsd</refentrytitle>
    <manvolnum>8</manvolnum>
   </citerefentry>,
<citerefentry>
    <refentrytitle>libgps</refentrytitle>
    <manvolnum>3</manvolnum>
   </citerefentry>,
<citerefentry>
    <refentrytitle>libgpsmm</refentrytitle>
    <manvolnum>3</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>gpsprof</refentrytitle>
    <manvolnum>1</manvolnum>
   </citerefentry>.
<citerefentry>
    <refentrytitle>gpspipe</refentrytitle>
    <manvolnum>1</manvolnum>
   </citerefentry>.
<citerefentry>
    <refentrytitle>gpsmon</refentrytitle>
    <manvolnum>1</manvolnum>
   </citerefentry>.
<citerefentry>
    <refentrytitle>gpxlogger</refentrytitle>
    <manvolnum>1</manvolnum>
   </citerefentry>.
<citerefentry>
    <refentrytitle>xgps</refentrytitle>
    <manvolnum>1</manvolnum>
   </citerefentry>.
<citerefentry>
    <refentrytitle>xgpsspeed</refentrytitle>
    <manvolnum>1</manvolnum>
   </citerefentry>.
</para>
 </refsect1>
 <refsect1 id='maintainer'>
  <title>AUTHORS</title>
  <para>
Remco Treffcorn, Derrick Brashear, Russ Nelson &amp; Eric S. Raymond,
Jeff Francis (cgps), Chen Wei <email>weichen302@aol.com</email> (gegps &amp; xgpsspeed),
Robin Wittler <email>real@the-real.org</email> (xgpsspeed).
</para>
  <para>This manual page by Eric S. Raymond <email>esr@thyrsus.com</email>
  </para>
 </refsect1>
</refentry>
