gpsd is a userland daemon acting as a translator between GPS, GNSS, and
AIS receivers and their clients. gpsd listens on port 2947 for clients
requesting position/time/velocity information.  The receivers are
expected to generate position information in a well-known format -- as
NMEA-0183 sentences, SiRF binary, Rockwell binary, Garmin binary
format, or other vendor binary protocols.  gpsd takes this
information from the GPS and translates it into something uniform and
easier to understand for clients.  The distribution includes sample
clients, application interface libraries, and test/profiling tools.

See README.build for some build options that might be useful.

To enable automatic startup of gpsd at boot time, or when a GPS device
is connected via USB, you need to do the following four steps:

1. Copy the file /lib/udev/rules.d/25-gpsd.rules to /etc/udev/rules.d/

2. Edit the file /etc/udev/rules.d/25-gpsd.rules and uncomment the line
(or lines) beginning '#ATTRS' that corresponds to your GPS hardware.
To avoid confusion with other USB serial devices that you might have,
do not uncomment lines that do not correspond to your GPS hardware.
But if you do not know which line to uncomment, and you do not have any
other serial devices, you can uncomment them all :-)

3. Make the file /etc/rc.d/rc.gpsd executable.
   chmod +x /etc/rc.d/rc.gpsd

4. Add the following lines to /etc/rc.d/rc.local
  if [ -x /etc/rc.d/rc.gpsd ]; then
    /etc/rc.d/rc.gpsd start
  fi

Configuration options may be set in the file /etc/rc.d/rc.gpsd.conf.
The defaults will usually be adequate.  However, if your GPS is on a
real (non-USB) serial port -- for example, /dev/ttyS0 -- you should add
/dev/ttyS0 to GPS_DEVICES in /etc/rc.d/rc.gpsd.conf.

Optional dependencies:
- python3-matplotlib-inline is required for gpsplot
- pyserial is an optional dependency for ubxtool and zerk
