sirfmon(1)

NAME

sirfmon - monitor and control a SiRF GPS in binary mode

SYNOPSIS

sirfmon [-h] [-v] [-F control-socket]
        [[ server [:port [:device]] | device]]

DESCRIPTION

sirfmon is a monitor that watches packets coming from a SiRF GPS (the
SiRF chipset is the one by far the most commonly used in GPS mice and
other consumer-grade GPSes, about 80% of them and rising in early
2005). This program is primarily useful as a diagnostic aid for
troubleshooting gpsd problems; it deliberately uses decoder logic that different from the decoder in the gpsd SiRF driver, so behaviors that
show up in both are unlikely to be due to logic bugs in either.

sirfmon accepts an -h option that displays a usage message, or a -v
option to dump the package version and exit.

This program may be run in either of two modes, as a client for the
gpsd daemon (and its associated control socket) or directly connected
to a specified serial device. When run with no argument, it attempts to connect to the daemon. If the argument looks like a server:port
specification it will also attempt to connect to the daemon. If the
argument looks like a bare server name it will attempt to connect to a daemon running on the default gpsd port on that server. Only if the
device argument contains slashes but no colons will it be treated as a serial device for direct connection. In direct-connect mode sirfmon
will hunt for a correct baud rate and lock on to it automatically.

The -F option is only valid in client mode; it specifies a control
socket to which the program should send device control strings. You
must specify a valid pathname of a Unix-domain socket on your local
filesystem.

You will probably need to be root to run this program, as the serial
devices and control socket it uses are normally privileged.

After startup, the top part of the screen reports the contents of
several especially interesting packet types. The bottom half of the
screen is a scrolling hex dump of all packets the GPS is issuing. Dump lines beginning >>> represent control packets sent to the GPS.

At SiRF firmware level 231, the "UTC" time displayed is not real UTC,
as it is not leap-second-corrected. This is due to an inadequacy in the SiRF firmware.

To interpret what you see, you will need a copy of the SiRF Binary
Protocol Reference Manual.

COMMANDS

The following comands are available while sirfmon is running:

n
Switch device to NMEA mode at current speed and exit.
b
Change baud rate.
c
Set (c1) or clear (c0) static navigation. The SiRF documentation
says "Static navigation is a position filter designed to be used
with motor vehicles. When the vehicle´s velocity falls below a
threshold, the position and heading are frozen, and velocity is set to zero. This condition will continue until the computed velocity
rises above 1.2 times the threshold or until the computed position is at least a set distance from the frozen place. The threshold
velocity and set distance may vary with software versions."
Non-static mode is designed for use with road navigation software, which often snaps the reported position to the nearest road within some uncertainty radius. You probably want to turn static
navigation off for pedestrian use, as it is likely to report speed zero and position changing in large jumps.
l
Toggle packet logging. If packet logging is on, it will be turned
off and the log closed. If it is off, logging to the filename
following the l will be enabled. Differs from simply capturing the data from the GPS device in that only whole packets are logged. The logfile is opened for append, so you can log more than one portion of the packet stream and they will be stitched together correctly.
s
Send hex bytes to device. Following the ´s´ you may type hex digit pairs; end with a newline. These will become the payload of a SiRF control packet shipped to the device.
t
Toggle navigation-parameter display mode. Toggles between normal
display and one that shows selected navigation parameters from MID 19, including the Static Navigation bit toggled by the ´c´ command.
Ctrl-S
Freeze display, suspend scrolling in debug window.
Ctrl-Q
Unfreeze display, resume normal operation.

FILES

/var/run/gpsd.sock
The default location of the control socket.

BUGS AND LIMITATIONS

The logic for hunting the GPS´s baud rate is vulnerable to various
sorts of RS232 flakiness. If it hangs for longer than a few seconds,
kill the program and restart.

SEE ALSO

gpsd(8), cgps(1), libgps(3), libgpsd(3), gpsprof(1), gpsfake(1), gpsctl(1), gpscat(1).

AUTHOR

Eric S. Raymond <esr@thyrsus.com>, based on code originally by Rob
Janssen, PE1CHL. This code is part of the gpsd toolset; there is a
project page for gpsd here[1].

NOTES

1. here
http://gpsd.berlios.de/
Copyright © 2010-2025 Platon Technologies, s.r.o.           Home | Man pages | tLDP | Documents | Utilities | About
Design by styleshout