$MirOS: src/usr.sbin/nmeadecode/nmeadecode.8,v 1.2 2007/08/11 23:18:11 tg Exp $ principal idea: # nmeadecode [-G] [-N | -n 71.80.83.32] [-p 123] [-F nmea] [-f cua00] [-s 4800] -G: disable outputting GPS positioning data -N: disable ntp -n 1.2.3.4: bind 1.2.3.4 (default: 71.80.83.32) -p 123: listen @ udp 123 (default: 123) -F: forward raw input to this FIFO, which is created as writer (to use two programmes in parallel), default is /dev/nmea, to use with e.g. CacheWolf -f cuaU0: use /dev/cuaU0 (default: cua00) -s 9600: baud rate (8N1) (default: 9600) for both -f and -F: if no absolute path (leading /) prepend /dev/ if -f argument is not a character device, -s is ignored (for dumps processing) default operation w/ no args: * read /dev/cua00,4800,8N1 * parse time data * parse GPS data (including DGPS and # of sats, etc.) * do not forward raw data * listen on 71.80.83.32:123/udp as NTP server timestamped is receival time of the first $ of the first line with a new time on it (in case they have several); on wbx@'s device, this would be GPGGA, GPGLL, and the former is first. GPRMC is not used for timestamping since it lacks hh:mm:ss.ccc GPS position data: try GPGGA for latitude and longitude and height and quality try GPGLL for latitude and longitude and part of quality try GPVTG for speed (km/h) try GPRMC for speed (convert knots) and latitude and longitude and validity GPS time data: try GPGGA, then GPGLL XXX any others? sure, openbsd 4.0 can do this with nmea(4) and gpsd, but this is cool for debugging, besides our kernel is at approx. openbsd 3.5