UK High Altitude Society

User Tools

Site Tools


Table of Contents


gpstrack is a small c programme designed to listen to a port with a GPS receiver connected to it generating NMEA 0183 strings. gpstrack will parse these strings and generated a track string suitable for email or url passing to the AJAX tracker.


 * Robert Harrison
 * rharrison (email at sign)
 * August 2008
 * Version 0.1 Beta
 * This is a small C program to pass NMEA 0183 output on the GPS serial port
 * and produce sentences used by the tracker on the UKHAS wiki.
 * NMEA Protocol
 * NMEA data is sent in 8-bit ASCII where the MSB is set to zero (0).
 * The specification also has a set of reserved characters. These characters
 * assist in the formatting of the NMEA data string.
 * The specification also states valid characters and gives a table of
 * these characters ranging from HEX 20 to HEX 7E.
 * As stated in the NMEA 0183 specification version 3.01 the maximum number
 * of characters shall be 82, consisting of a maximum of 79 characters between
 * start of message $ and terminating delimiter <CR><LF>
 * (HEX 0D and 0A). The minimum number of fields is one (1).
 * Basic sentence format:
 * $aaccc,c--c*hh<CR><LF>
 * $             Start of sentence
 * aaccc         Address field/Command
 * “,”           Field delimiter (Hex 2C)
 * c--c          Data sentence block
 * *             Checksum delimiter (HEX 2A)
 * hh            Checksum field (the hexadecimal value represented in ASCII)
 * <CR><LF>      End of sentence (HEX OD OA)
 * Usage : gpstrack -i <ID> -P <PASSWORD> -p /dev/????
 * -i --id              The identification tag to attach to the track string.
 *                      This is used to uniquely identify gps tracking data
 *                      to an individual unit.
 *                      eg icarus, chase1, chase2 etc...
 * -P --password        The mysql access password to attach to the track
 *                      string.
 * -p --port            Set the port to monitor usually /dev/ttySx
 *                      or /dev/ttyUSBx where x is a number
 * -f --freqency        NOT IMPLEMENTED Frequency of track_string output in
 *                      seconds. Requires gps to be working and providing
 *                      NMEA strings to work.
 * -e --email           Produce email subject format instead of url
 *                      format.
 * -d --decimal         NOT IMPLEMENTED Use decimal notation for Lat. and Long. rather than
 *                      the default of hhmm.ssss (hours, minutes and seconds)
 * -r --repeat          By default gpstrack generates only one track string
 *                      this option will cause gpstrack to continually
 *                      generate track strings.


projects/gpstrack.txt · Last modified: 2008/09/09 22:17 by rharrison1971