* Location Logging
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-07-12T21:04Z~
+was updated by Steven Baltakatei Sandoval on ~2020-07-23T21:49Z~
#+TITLE: Ninfacyzga-01 Manual
#+AUTHOR: Steven Baltakatei Sandoval
#+EMAIL: baltakatei@gmail.com
**** File Formats
***** NMEA
-See the [[https://en.wikipedia.org/wiki/NMEA_0183][Wikipedia page]] for this. This file format is the default
-output of the ~gpspipe -r~ command.
+~NMEA~ is an acronym for National marine Electronics Association. The
+NMEA format described in this document follows the NMEA 0183
+standard. It is a newline-delimited streaming text format that encodes
+global positioning system (GPS) data such as WGS84 location, time and
+date information, satellite count, accuracy, and other
+information. Each line is an "NMEA sentence". Descriptions of various
+NMEA sentences can be found on [[http://aprs.gids.nl/nmea/][this]] webpage.
+
+See the [[https://en.wikipedia.org/wiki/NMEA_0183][Wikipedia page for NMEA 0183]] for this. This file format is the
+default output of the ~gpspipe -r~ command.
***** GPX
See the [[https://en.wikipedia.org/wiki/GPS_Exchange_Format][Wikipedia page]] for this. [[http://wiki.gis.com/wiki/index.php/WGS84][WGS84]] is the datum used. An NMEA file
may be converted to this format using ~gpsbabel~.
# Script Metadata
scriptName="bklog"; # Define basename of script file.
-scriptVersion="0.1.29"; # Define version of script.
-scriptURL="https://gitlab.com/baltakatei/ninfacyzga-01"; # Define wesite hosting this script.
+scriptVersion="0.1.30"; # Define version of script.
+scriptURL="https://gitlab.com/baltakatei/ninfacyzga-01"; # Define website hosting this script.
scriptTimeStartEpoch="$(date +%s)"; # Save start time of script in epoch seconds
scriptTimeStart="$(date +%Y%m%dT%H%M%S.%N)"; # YYYYmmddTHHMMSS.NNNNNNNNN
scriptHostname=$(hostname); # Save hostname of system running this script.
fi;
vbm "STATUS:$fn:Finished magicSetScriptTTL() function.";
} # Set scriptTTL in seconds until next (day|hour).
+magicVerboseReadout() {
+ vbm "$bufferTTL"; # Time-to-live (seconds) for each buffer round
+ vbm "$scriptTTL_TE"; # Time element at the end of which script terminates
+ vbm "$dirTmpDefault"; # Default parent of working directory
+ # Script Metadata
+ vbm "$scriptName"; # Basename of script file.
+ vbm "$scriptVersion"; # Version of script.
+ vbm "$scriptURL"; # Website hosting this script.
+ vbm "$scriptTimeStartEpoch"; # Start time of script in epoch seconds
+ vbm "$scriptTimeStart"; # YYYYmmddTHHMMSS.NNNNNNNNN
+ vbm "$scriptHostname" # Hostname of system running this script.
+ vbm "$PATH"; # PATH env. var.
+ vbm "$ageVersion"; # Version of age (encryption program)
+ vbm "$ageURL"; # Website hosting age.
+} # Display script variables
magicWriteVersion() {
# Desc: Appends time-stamped VERSION to pathout_tar
# Usage: magicWriteVersion
magicParseProcessStrings; # Sets arrays: procStrings, procFileExts
## React to "-l" (output file label) option
magicParseLabel; # sets label (ex: "_location")
+ ## React to "-v" (verbose) option
+ magicVerboseReadout; # Display various script variables
# Perform secondary setup operations
## Set script lifespan (scriptTTL from scriptTTL_TE)
done;
# Mark time for buffer
## Initial time
- if [[ ! -z "$timeBufferEndEpoch" ]]; then
+ if [[ bufferRound -gt 0 ]]; then
### Usual case
timeBufferStartEpoch="$timeBufferEndEpoch" && vbm "DEBUG :$fn:timeBufferStartEpoch:$timeBufferStartEpoch";
- else
+ elif [[ bufferRound -eq 0 ]]; then
### Edge case: initial startup
timeBufferStartEpoch="$scriptTimeStartEpoch" && vbm "DEBUG :$fn:timeBufferStartEpoch:$timeBufferStartEpoch";
+ else
+ yell "ERROR:$fn:Invalid bufferRound value."; exit 1;
fi;
## End Time
timeBufferEndEpoch="$(date +%s)" && vbm "DEBUG :$fn:timeBufferEndEpoch:$timeBufferEndEpoch";