** About
This document was created by Steven Baltakatei Sandoval on
~2020-06-29T12:14Z~ under a [[https://creativecommons.org/licenses/by-sa/4.0/][Creative Commons BY-SA 4.0 license]]. It
-was updated by Steven Baltakatei Sandoval on ~2020-10-08T00:18Z~
+was updated by Steven Baltakatei Sandoval on ~2020-10-16T23:32Z~
** Narrative
Ninfacyzga-01 records (logs) its position in time and space using a
executable file contained within this repository at ~exec/bklog~. It
should be copied to ~$HOME/.local/bin~.
-~bkgpslog~ : A legacy bash script similar to ~bklog~ but narrower in
-scope in that it only records output from ~gpspipe~.
-
-~gpsd~ : A background daemon app capable of interfacing with the
-Ozzmaker BerryGPS-IMU's GPS submodule. Installed and initialized by
-~apt~.
+[[https://tracker.debian.org/pkg/gpsd][~gpsd~]] : A background daemon app capable of interfacing with the
+[[https://ozzmaker.com/berrygps-berrygps-imu-quick-start-guide/][Ozzmaker BerryGPS-IMU]]'s GPS submodule. Installed and initialized by
+~apt~. Should be installed along with the ~gpsd-clients~ package.
~gpspipe~ : A command line app that polls ~gpsd~ and produces a stream
stdout consisting of GPS data lines in NMEA format. Installed via
Follow the [[file:../setup/README.org][Main Setup]] procedures to obtain required files from this
repository.
-Install ~gpsd~, ~gpsd-clients~.
+Install ~gpsd~, ~gpsd-clients~, and ~gpsbabel~.
+
+: $ sudo apt install gpsd gpsd-clients gpsbabel
+
+***** Setup Serial for BerryGPS
+The Ozzmaker BerryGPS-IMU unit requires that the serial console be
+disabled and the serial port enabled. (see [[https://ozzmaker.com/berrygps-setup-guide-raspberry-pi/][ref]]).
+
+: $ sudo raspi-config
+
+Navigate to ~5 Interfacing Options~, then ~P6 Serial~.
+
+When prompted "Would you like a login shell to be accessible over
+serial?", answer ~No~.
+
+When prompted "Would you like the serial port hardware to be
+enabled?", answer ~Yes~.
+
+***** Setup ~gpsd~
+~gpsd~ needs to know which serial port to look at for NMEA location
+data generated by the GPS unit. This can be done by modifying the
+~gpsd~ configuration file at ~/etc/default/gpsd~.
+
+: sudo nano /etc/default/gpsd
+
+Make sure the following lines are present:
+
+#+BEGIN_EXAMPLE
+START_DAEMON="true"
+USBAUTO="false"
+DEVICES="/dev/ttyAMA0"
+GPSD_OPTIONS="-n"
+#+END_EXAMPLE
+
+NOTE: The ~DEVICES=~ line must be adjusted if the the ~ninfacyzga~
+device is configured to also track time.
+
+NOTE: The ~-n~ option causes ~gpsd~ to begin polling GPS devices
+without waiting for a client to connect. This is important if ~gpsd~
+provides data to other applications (ex: ~gpspipe~, ~chrony~).
+
+Restart ~gpsd~ via:
+
+: $ sudo systemctl restart gpsd.service
+
+Run ~gpsmon~ to verify that location data is being recorded.
-: $ sudo apt install gpsd gpsd-clients
+: $ gpsmon
***** Automatic Start Configuration
It is recommended to create a daily ~cron~ job that executes a bash