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) hgf.com * 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. * * TODO * */