other versions
- wheezy 3.6-4+deb7u1
- wheezy-backports 3.9-3~bpo70+1
- jessie 3.11-3
- jessie-backports 3.16-1~bpo8+1
- testing 3.16-4
- unstable 3.16-4
GPSCTL(1) | GPSD Documentation | GPSCTL(1) |
NAME¶
gpsctl - control the modes of a GPSSYNOPSIS¶
gpsctl
[-h] [-b | -n] [-x control] [-e] [-f] [-l] [-s speed]
[-t devicetype] [-D debuglevel] [-V]
[serial-port]
DESCRIPTION¶
gpsctl can switch a dual-mode GPS between NMEA and vendor-binary modes. It can also be used to set the device baudrate. Note: Not all devices have these capabilities. If you have only one GPS attached to your machine, and gpsd is running, it is not necessary to specify the device; gpsctl does its work through gpsd, which will locate it for you. When gpsd is not running, the device specification is required, and you will almost certainly need to be running as root in order to have write access to the device. The program accepts the following options: -bPut the GPS into binary mode. After the GPS
resets itself, autobaud to the new speed.
-c
Change the GPS's cycle time. Units are
seconds. Note, most GPSes have a fixed cycle time of 1 second.
-e
Generate the packet from any other arguments
specified and ship it to standard output instead of the device. This switch
can be used with the -t option without specifying a device. Note: the
packet data for a binary prototype will be raw, not ASCII-ized in any
way.
-f
Force low-level access (not through the
daemon).
-l
List a table showing which option switches can
be applied to which device types, and exit.
-n
Put GPS into NMEA mode. After the GPS resets
itself autobaud to its new speed.
-s
Set the baud rate at which the GPS emits
packets.
Use this option with caution. On USB and Bluetooth GPSes it is also possible for
serial mode setting to fail either because the serial adaptor chip does not
support non-8N1 modes or because the device firmware does not properly
synchronize the serial adaptor chip with the UART on the GPS chipset when the
speed changes. These failures can hang your device, possibly requiring a GPS
power cycle or (in extreme cases) physically disconnecting the NVRAM backup
battery.
-t
Force the device type.
-x
Send a specified control string to the GPS;
gpsctl will provide packet headers and trailers and checksum as appropriate
for binary packet types, and whatever checksum and trailer is required for
text packet types. (You must include the leading $ for NMEA packets.) When
sending to a UBX device, the first two bytes of the string supplied will
become the message class and type, and the remainder the payload. When sending
to a Navcom NCT or Trimble TSIP device, the first byte is interpreted as the
command ID and the rest as payload. When sending to a Zodiac device, the first
two bytes are used as a message ID of type little-endian short, and the
remainder as payload in byte pairs interpreted as little-endian short. For all
other supported binary GPSes (notably including SiRF) the string is taken as
the entire message payload and wrapped with appropriate header, trailer and
checksum bytes. C-style backslash escapes in the string, notably \xNN for hex,
will be interpreted; additionally, \e will be replaced with ESC. This switch
implies -f.
-T
Change the sampling timeout. Defaults to 4
seconds, which should always be sufficient to get a packet from a device
emitting at the normal rate of 1 per second.
-h
Display program usage and exit.
-D
Set level of debug messages.
-V
Display program version and exit.
The argument of the forcing option. -t, should be a string which should
be contained in exactly one of the known driver names; for a list, do
gpsctl -l.
Forcing the device type behaves somewhat differently depending on whether this
tool is going through the daemon or not. In high-level mode, if the device
that daemon selects for you doesn't match the driver you specified, gpsctl
exits with a warning. (This may be useful in scripts.)
In low-level mode, if the device identifies as a Generic NMEA, use the selected
driver instead. This will be useful if you have a GPS device of known type
that is in NMEA mode and not responding to probes. (This option was originally
implemented for talking to SiRFStar I chips, which don't respond to the normal
SiRF ID probe.)
If no options are given, the program will display a message identifying the GPS
type of the selected device and exit.
Reset (-r) operations must stand alone; others can be combined. Multiple options
will be executed in tis order: mode changes (-b and -n) first, speed changes
(-s) second, and control-string sends (-c) last.
EXAMPLES¶
gpsctl /dev/ttyUSB0Attempt to identify the device on USB serial
device 0. Time out after the default number of seconds. Adding the -f
will force low-level access and suppress the normal complaint when this tool
can't find a GPSD to work through.
gpsctl -f -n -s 9600 /dev/ttyUSB0
Use low-level operations (not going through a
gpsd instance) to switch a GPS to NMEA mode at 9600bps. The tool will identify
the GPS type itself.
BUGS¶
SiRF GPSes can only be identified by the success of an attempt to flip them into SiRF binary mode. Thus, the process of probing one of these running in NMEA will change its behavior.SEE ALSO¶
AUTHOR¶
Eric S. Raymond esr@thyrsus.com.29 Oct 2006 | The GPSD Project |