![]() | ![]() | ![]() | Support for Garmin receivers |
Most Garmin receivers, including recent models using only the Garmin USB protocol in a Linux system, should connect with no problems to GPSMan. Known exceptions are the following models: GNC 250, 250 XL, 300 and 300 XL, and GPS 150.
GPSMan supports the Garmin USB
protocol in Linux
systems with a kernel having the Garmin USB driver written by Hermann
Kneissel, that is standard in kernels 2.6 after (at least) 2.6.11; see
the section on installation for information on
compiling a custom kernel. WARNING: some recent Garmin
receivers will need at least version 0.28 of this driver.
This driver also implements the Garmin serial protocol so that a
receiver connected to the USB port can also use it. The serial
protocol will be much slower than the USB protocol. GPSMan must be set
to use one of them by selecting the appropriate entry in the protocol
menus of the receiver window or the receiver menu.
The receiver must be set to use one of the
Garmin
(USB or serial) protocols in case this can be configured. In
some receivers there is a Interface
display, under
Setup
, where the Garmin/Garmin
or Garmin
option
must be selected. Alternatively, for real-time logging only, it can be
set to use the NMEA 0183 protocol, by
selecting the NMEA
option. For the use of this protocol see
above.
When using a Garmin protocol GPSMan may need to convert between bytes and floating point numbers. Tcl/Tk has no machine-independent way to do these conversions and GPSMan only implements them for little- or big-endian architectures that follow the IEEE floating point standard (this will cover most personal computers and workstations). Some Garmin receivers do not use protocols having floating point numbers and are not affected by this. In any case when connecting to the receiver GPSMan tests whether there are problems with the conversions, in which case the user is asked to confirm or cancel the operation.
GPSMan follows closely the "Garmin GPS Interface Specification",
dated 19 May 2006, 001-000063-00 Rev. C, available
from the Garmin WWW site, but not (yet) covering some new protocols
for fitness-oriented receivers.
Unfortunately this document does not describe all the protocols,
leaving out, for instance, those used for changing the connection
speed and for loading maps.
Some data fields are not directly accessible to the user but are nevertheless kept by GPSMan as hidden information as described above. This is the case with the data on proximity distance, facility name, city, state, country code, and class.
GPSMan identifies the receiver model when connecting to it for the first time in a session. If the receiver implements the Protocol Capabilities protocol the list of protocols it uses is also obtained. This will probably be the case with the more recent models. Otherwise a table of protocols is looked up. At present there are entries in it for the receiver models in the table below.
When GPSMan gets a list of protocols for a receiver not yet listed in the table a file is created in the GPSMan user directory and the user is asked to send it to the author of GPSMan. This file should not be removed until the table is updated so that GPSMan knows these steps were already taken.
A problem was detected with a Garmin GPS 12Map that sends some packets twice. This caused havoc in the count of packets and made GPSMan to reset the connection. The solution has been to implement a test for repeated packets that are discarded if a flag is set.
There was also a problem with a Garmin Forerunner 301 that generated some packets with a wrong checksum. A patch to GPSMan is available on request to avoid this.
Some Garmin protocols allow transfers only in one direction,
for instance, from the receiver to the computer. In that case, GPSMan
will do nothing and will not warn if the user asks for a unsupported
transfer.
EDGE | 205, 305 | |
eMap | ||
eTrex | _, Euro, Legend, Legend C, Legend Cx, Mariner, | |
Summit, Venture, Vista, Vista C | ||
ForeRunner | _, 205, 301 | |
ForeTrex | ||
Geko | 201, 301 | |
GPS | 5, 48, 65, 72, 75, 76, 89, 90, 125 Sounder, 126, 128 | |
GPS 12 | _ (Arabic), XL (Chinese, Japanese), CX, Map | |
GPS 18USB | ||
GPS 38 | _ (Chinese, Japanese) | |
GPS 40 | _ (Chinese, Japanese) | |
GPS 45 | _ (Chinese), XL | |
GPS 50 | ||
GPS 55 | _, AVD | |
GPS 60 | ||
GPS 85 | ||
GPS 92 | ||
GPS 96 | _, AVD, XL | |
GPS 120 | _ (Chinese), XL | |
GPS II | _, Plus | |
GPS III | _, Pilot, Plus | |
GPSCOM | 170, 190 | |
GPSMAP | 60C, 60CSX, 76, 76S, 76CSX, 135 Sounder, 175, 176, 180, | |
195, 196, 205, 210, 215, 220, 235 Sounder, 276C, 295 | ||
GPSMAP 130 | _ (Chinese) | |
GPSMAP 230 | _ (Chinese) | |
Quest | ||
Rino | 110, 120, 130 | |
StreetPilot | 3 | |
mig_at_ncc.up.pt
, DCC-FC & LIACC,
Universidade do Porto![]() | ![]() | ![]() | Support for Garmin receivers |