Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

nmea(n) [suse man page]

nmea(n) 						   NMEA protocol implementation 						   nmea(n)

__________________________________________________________________________________________________________________________________________________

NAME
nmea - Process NMEA data SYNOPSIS
package require Tcl 8.2 package require nmea ?0.1.1? ::nmea::open_port port ?speed? ::nmea::open_file file rate ::nmea::input sentence ::nmea::configure_port settings ::nmea::close_port ::nmea::close_file ::nmea::do_line ::nmea::log file ::nmea::checksum data ::nmea::write sentence data _________________________________________________________________ DESCRIPTION
This package provides a standard interface for writing software which recieves NMEA standard input data. It allows for reading data from COM ports, files, or programmatic input. It also supports the checksumming and logging of incoming data. After parsing, input is dis- patched to user defined handler commands for processing. To define a handler, create a proc with the NMEA sentence name in the ::nmea namespace. For example, to process GPS fix data use "proc ::nmea::GPGSA". The proc must take one argument, which is a list of the data val- ues. COMMANDS
::nmea::open_port port ?speed? Open the specified COM port and read NMEA sentences when available. Port speed is set to 4800bps by default or to speed. ::nmea::open_file file rate Open file file and read NMEA sentences, one per line, at the rate by rate in milliseconds. The file format may omit the leading $ and/or the checksum. If rate is <= 0 then lines will only be processed when a call to do_line is made. The rate may be adjusted by setting ::nmea::nmea(rate). ::nmea::input sentence Processes and dispatches the supplied sentence. If sentence contains no commas it is treated as a Tcl list, otherwise it must be standard comma delimited NMEA data, with an optional checksum and leading $. ::nmea::configure_port settings Changes the current port settings. settings has the same format as fconfigure -mode. ::nmea::close_port Close the open port ::nmea::close_file Close the open file ::nmea::do_line If there is a currently open file, this command will read and process a single line from it. Returns the number of lines read. ::nmea::log file Starts or stops file logging. If a file name is specified then all NMEA output will be logged to the file in append mode. If file is an empty string then any logging will be stopped. ::nmea::checksum data Returns the checksum of the supplied data ::nmea::write sentence data If there is a currently open port, this command will write the specified sentence and data in proper NMEA checksummed format. VARIABLES
::nmea::checksum A boolean value which determines whether incoming sentences are validated or not. ::nmea::rate When reading from a file this sets the rate that lines are processed in milliseconds. BUGS, IDEAS, FEEDBACK This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category nmea of the Tcllib SF Trackers [http://sourceforge.net/tracker/?group_id=12883]. Please also report any ideas for enhancements you may have for either package and/or documentation. KEYWORDS
gps, nmea COPYRIGHT
Copyright (c) 2006-2007, Aaron Faupell <afaupell@users.sourceforge.net> nmea 0.1 nmea(n)

Check Out this Related Man Page

GPSFAKE(1)							GPSD Documentation							GPSFAKE(1)

NAME
gpsfake - test harness for gpsd, simulating a GPS SYNOPSIS
gpsfake [-1] [-h] [-b] [-f] [-c interval] [-i] [-D debuglevel] [-l] [-m monitor] [-n] [-o options] [-p] [-P port] [-r initcmd] [-s speed] [-u] [-v] [logfile...] DESCRIPTION
gpsfake is a test harness for gpsd and its clients. It opens a pty (pseudo-TTY), launches a gpsd instance that thinks the slave side of the pty is its GPS device, and repeatedly feeds the contents of one or more test logfiles through the master side to the GPS. If there are multiple logfiles, sentences from them are interleaved in the order the files are specified. gpsfake does not require root privileges, and can be run concurrently with a production gpsd instance without causing problems. The logfiles may contain packets in any supported format, including in particular NMEA, SiRF, TSIP, or Zodiac. Leading lines beginning with # will be treated as comments and ignored, except in the following special cases: o a comment of the form #Date: yyyy-mm-dd (ISO8601 date format) may be used to set the initial date for the log. o a comment of the form #Serial: [0-9]* [78][NOE][12] may be used to set serial parameters for the log - baud rate, word length, stop bits. o a comment of the form #Transport: UDP may be used to fake a UDP source rather than the normal pty. The gpsd instance is run in foreground. The thread sending fake GPS data to the daemon is run in background. OPTIONS
With the -1 option, the logfile is interpreted once only rather than repeatedly. This option is intended to facilitate regression testing. The -b enables a twirling-baton progress indicator on standard error. At termination, it reports elapsed time. The -c sets the delay between sentences in seconds. Fractional values of seconds are legal. The default is zero (no delay). The -l makes the program dump a line or packet number just before each sentence is fed to the daemon. If the sentence is textual (e.g. NMEA), the text is dumped as well. If not, the packet will be dumped in hexadecimal (except for RTCM packets, which aren't dumped at all). This option is useful for checking that gpsfake is getting packet boundaries right. The -i is for single-stepping through logfiles. It dumps the line or packet number (and the sentence if the protocol is textual) followed by "? ". Only when the user keys Enter is the line actually fed to gpsd. The -m specifies a monitor program inside which the daemon should be run. This option is intended to be used with valgrind(1), gdb(1) and similar programs. The -g uses the monitor facility to run the gpsd instance within gpsfake under control of gdb. The -f configures gpsd to bind to a random dynamic/private port (range 49152 - 65535). Its main use is within regression-test scripts so they won't collide with a production instance. The -o specifies options to pass to the daemon. The -n option passes -n to start the daemon reading the GPS without waiting for a client (equivalent to -o "-n"). The -D passes a -D option to the daemon: thus -D 4 is shorthand for -o "-D 4". The -p ("pipe") option sets watcher mode and dumps the NMEA and GPSD notifications generated by the log to standard output. This is useful for regression-testing. The -P ("port") option sets the daemon's listening port. The -r specifies an initialization command to use in pipe mode. The default is ?WATCH={"enable":true,"json":true}. The -s sets the baud rate for the slave tty. The default is 4800. The -u forces the test framework to use UDP rather than pty devices. This may be useful for testing from within chroot jails where access to pty devices is locked out. The -v enables verbose progress reports to stderr. It is mainly useful for debugging gpsfake itself. The -x dumps packets as gpsfake gathers them. It is mainly useful for debugging gpsfake itself. The -h makes gpsfake print a usage message and exit. The argument must be the name of a file containing the data to be cycled at the device. gpsfake will print a notification each time it cycles. Normally, gpsfake creates a pty for each logfile and passes the slave side of the device to the daemon. If the header comment in the logfile contains the string "UDP", packets are instead shipped via UDP port 5000 to the address 192.168.0.1.255. You can monitor them with this: tcpdump -s0 -n -A -i lo udp and port 5000. CUSTOM TESTS
gpsfake is a trivial wrapper around a Python module, also named gpsfake, that can be used to fully script sessions involving a gpsd instance, any number of client sessions, and any number of fake GPSes feeding the daemon instance with data from specified sentence logs. Source and embedded documentation for this module is shipped with the gpsd development tools. You can use it to torture-test either gpsd itself or any gpsd-aware client application. Logfiles for the use with gpsfake can be retrieved using gpspipe, gpscat, or gpsmon from the gpsd distribution, or any other application which is able to create a compatible output. If gpsfake exits with "Cannot execute gpsd: executable not found." the environment variable GPSD_HOME can be set to the path where gpsd can be found. (instead of adding that folder to the PATH environment variable SEE ALSO
gpsd(8), gps(1), libgps(3), libgpsd(3), gpsctl(1), gpspipe(1), gpsprof(1) gpsmon(1). AUTHOR
Eric S. Raymond esr@thyrsus.com. The GPSD Project 12 Feb 2005 GPSFAKE(1)
Man Page