summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric S. Raymond <esr@thyrsus.com>2009-01-20 18:46:56 +0000
committerEric S. Raymond <esr@thyrsus.com>2009-01-20 18:46:56 +0000
commit607f804cd1a681c720a6620061e2d280d9d9a2a6 (patch)
tree2000192311069c2842ebeba606499378b5a5939f
parent8f128f7d5738ea11014ead948e0274768f91b1ac (diff)
downloadgpsd-607f804cd1a681c720a6620061e2d280d9d9a2a6.tar.gz
Reintroduce the status field. Factor out more engine entries.
-rw-r--r--Makefile.am2
-rw-r--r--gpscap.ini153
-rw-r--r--gpscap.py9
3 files changed, 114 insertions, 50 deletions
diff --git a/Makefile.am b/Makefile.am
index da3b00d5..1f1d576e 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -34,7 +34,7 @@ sbin_PROGRAMS = gpsd
check_PROGRAMS = bits_test gpsmm_test packet_test mkgmtime_test geoid_test
if HAVE_PYTHON
dist_bin_SCRIPTS = gpsprof gpsfake gpscat
-python_PYTHON = gps.py gpsfake.py
+python_PYTHON = gps.py gpsfake.py gpscap.py
nodist_python_PYTHON = gpspacket.so gpslib.so
PYTHONPAGES = gpsprof.1 gpsfake.1 gpscat.1
endif
diff --git a/gpscap.ini b/gpscap.ini
index 7f0fb147..710d3403 100644
--- a/gpscap.ini
+++ b/gpscap.ini
@@ -21,7 +21,7 @@
# tested = last gpsd tested, or "regression" if we have a test load
# nmea = NMEA version this emits, if known
# notes = Miscellaneous notes on this item. To be interpreted as HTML.
-# broken = Boolean capability, True if incompatible with GPSD.
+# status = excellent, good, fair, poor, broken, other
# discontinued = If predsent, producy has been discontinued
#
# Capability strings:
@@ -55,6 +55,16 @@
# A "handset" is a standalone GPS with a display and human-usable
# controls. A "car mount: is a unit with display designed for
# mounting on a car windshield
+# * In the status field:
+# "excellent" - gpsd recognizes the GPS rapidly and reliably,
+# reports are complete and correct.
+# "good" -- gpsd has minor problems or lag recognizing the device,
+# but reports are complete and correct.
+# "fair" -- Reports have minor dropouts or problems, including occasional
+# transient nonsense values.
+# "poor" -- Reports frequently have values that are wrong or nonsense.
+# "broken" -- gpsd frequently fails to recognize the device at all.
+# "other -- See Technical Notes.
#
# Chipsets
@@ -74,6 +84,7 @@ engine = SiRF-1
nmea = 2.2
uses = GenericSiRF
tested = 2.34
+status = good
[SiRF-2]
type = engine
@@ -83,6 +94,7 @@ engine = SiRF-2
nmea = 2.2
uses = GenericSiRF
tested = 2.37
+status = good
[SiRF-3]
type = engine
@@ -91,34 +103,65 @@ engine = SiRF-3
nmea = 3.01
uses = GenericSiRF
tested = 2.37
+status = good
+
+[ANTARIS]
+type = engine
+engine = ANTARIS
+nmea = 2.3
+status = good
+notes = The ANTARIS chipset has been end-of-lifed.
+
+[ANTARIS4]
+type = engine
+engine = ANTARIS4
+reference = http://www.u-blox.com/products/a4products.html
+nmea = 2.3
+status = good
+notes = Sends 'E' in second field of GSA record, not an NMEA value.
+ Actually sends '6' in the GGA status record for dead-reckoning fixes.
+ (This behavior reported on the 4H chipset.)
[Garmin]
type = engine
engine = Garmin
description = There are several versions; the differences are not clear.
reference = http://www.garmin.com/support/commProtocol.html
+status = good
+
+[MTK]
+type = engine
+nmea = 3.01
+engine = MTK
+status = good
[Nemerix]
type = engine
-description = GPS engine chip
engine = Nemerix
nmea = 3.01
+status = good
+
+[Sony CXD2951]
+type = engine
+engine = Sony CXD2951
+status = good
[uNav]
type = engine
-description = GPS engine chip
engine = uN3010
nmea = 3.01
notes = uNav was acqired by Atheros in 2007. They have inherited
one GPS product, now designated uN3010.
+status = good
[Zodiac]
type = engine
-description = GPS engine chip
engine = Zodiac
nmea = 2.2
tested = 2.0
-notes = This chip was made by Rockwell International. It has been EOLed.
+notes = This chip was made by Rockwell International. It weas
+ also known as the Jupiter. It has been EOLed.
+status = good
#
# Vendors (alphabetical by vendor)
@@ -197,7 +240,7 @@ vendor_site = http://www.navilock.de
[NavMan]
type = vendor
-vendor_site = http://www.navman.com/
+vendor_site = http://www.navmanwirelessoem.com/
[Parrot]
type = vendor
@@ -437,6 +480,7 @@ reference = https://buy.garmin.com/shop/shop.do?cID=158&pID=8630
engine = Unknown
interfaces = RS232
tested = 2.37
+status = good
nmea = 2.0 or 3.0
notes = Reported by Ulrich Voigt
@@ -488,6 +532,7 @@ packaging = handset
reference = http://au.geocities.com/glennbaddeley/gps/data/GPS38_OwnersManualAndReference_June1997_RevB.pdf
uses = Garmin
interfaces = RS232
+status = excellent
tested = regression
nmea = 2.0
discontinued = True
@@ -501,6 +546,7 @@ reference = https://buy.garmin.com/shop/shop.do?pID=85
uses = Garmin
interfaces = RS232
nmea = 2.0
+status = excellent
tested = regression
notes = The 48 has been discontinued. The Garmin 12XL and 45 are
nearly identical and should work as well. Details on the Garmin
@@ -525,7 +571,7 @@ type = device
vendor = Garmin
packaging = handset
reference = http://www.garmin.com/manuals/GPS76_OwnersManual.pdf
-engine = Garmin
+uses = Garmin
interfaces = USB
usbchip = pl2303
tested = 2.13
@@ -538,7 +584,7 @@ type = device
vendor = Garmin
packaging = handset
reference = http://www.garmin.com/manuals/Geko201_OwnersManual.pdf
-engine = Garmin
+uses = Garmin
interfaces = RS232
tested = regression
nmea = 3.0
@@ -550,7 +596,7 @@ type = device
vendor = Garmin
packaging = handset
reference = http://www.garmin.com/manuals/eTrexVista_OwnersManual.pdf
-engine = Garmin
+uses = Garmin
interfaces = RS232
tested = 2.32
nmea = 3.0
@@ -565,7 +611,7 @@ uses = SiRF-3
interfaces = USB
tested = *
nmea = 3.0
-broken = True
+status = broken
notes = This device does not have real-time data output, and is incompatible with GPSD.
#% GlobalSat
@@ -612,6 +658,7 @@ uses = SiRF-2
interfaces = USB
usbchip = pl2303
tested = regression
+status = excellent
eval_unit = esr
nmea = 2.2
notes = Older versions of the BU-303 had a
@@ -644,6 +691,7 @@ uses = SiRF-2
interfaces = USB
usbchip = FTDI FT232
tested = regression
+status = excellent
nmea = 2.2
notes = We tested a version with SiRF Firmware level 231ES. The <a
href='http://ftdi-usb-sio.sourceforge.net/'>FTDI USB-to-serial
@@ -664,6 +712,7 @@ uses = SiRF-2
interfaces = USB
usbchip = pl2303
tested = 2.24
+status = excellent
eval_unit = esr
nmea = 2.2
notes = SiRF firmware level 231ES (XTrac). Haicom provided a test unit. Manual
@@ -677,6 +726,7 @@ reference = http://www.haicom.com.tw/gps204E.shtml
engine = Evermore BBP1202
interfaces = USB
tested = 2.6
+status = excellent
nmea = 2.2
notes = Probably uses PL2303 but we have not verified this.
@@ -730,7 +780,7 @@ packaging = GPS mouse
reference = http://www.holux.com.tw/Temp%20web/GR-230.html
uses = SiRF-2
interfaces = Bluetooth
-btglitch = False
+btglitch = True
tested = 2.19
nmea = 2.2
discontinued = True
@@ -748,6 +798,7 @@ reference = http://en.holux.com.cn/product/search.htm?filename=gpsreceiver_bluet
uses = SiRF-3
interfaces = Bluetooth
tested = regression
+status = poor
nmea = 2.2
notes = Does not report altitude reliably.
Optional interfaces:
@@ -769,8 +820,9 @@ uses = SiRF-3
interfaces = Bluetooth, USB
btglitch = True
tested = 2.36
+status = poor
nmea = 2.2
-notes = Bluetooth operation requires -b option. Powered fro a care
+notes = Bluetooth operation requires -b option. Powered from a car
cigarette-lighter.
[M-241]
@@ -778,12 +830,11 @@ type = device
vendor = Holux
packaging = GPS mouse
reference = http://www.holux.com/JCore/en/products/products_content.jsp?pno=341
-engine = MTK
+uses = MTK
interfaces = Bluetooth, USB
usbchip = CP2101
btglitch = True
tested = 2.37
-nmea = 3.01
notes = gpsd crashes the device when autoprobing @ baud rate 9600 (unless
'-b'/broken-device-safety is enabled - need to unplug/reset the device).
'stty -F /dev/ttyUSB1 ispeed 38400' helps avoiding too much autoprobing -
@@ -815,7 +866,7 @@ type = device
vendor = Magellan
packaging = handset
reference = http://www.herman-nelson.com/itemInfo.cfm?itemID=205
-engine = Old Rockwell (Jupiter?)
+uses = Zodiac
interfaces = RS232
pps = True
tested = regression
@@ -833,6 +884,7 @@ reference = http://www.amazon.com/Magellan-Meridian-Platinum-Handheld-GPS/dp/B00
engine = Motorola
interfaces = RS232
tested = 2.21
+status = excellent
nmea = v1.5 APA, v1.5 XTE, v2.1 GSA
discontinued = true
notes = Reported by Chris S. Newell &lt;chris&#x40;newellfamily.net&gt;
@@ -845,6 +897,7 @@ reference = http://www.magellangps.com/assets/manuals/newprod/eXplorist%20210_US
engine = Unknown
interfaces = USB
tested = regression
+status = good
nmea = 2.1
notes = USB has 3 modes &mdash; NMEA data comm (3 submodes): outputs GPS data
(creates /dev/ttyACM0), USB file transfer: transfer files (creates
@@ -862,6 +915,7 @@ engine = Unknown
interfaces = TTL
nmea = 3.0
tested = regression
+status = good
notes = Receiver comes up in silent mode, you may need to use ashctl to turn
on a default set of messages. Tested with firmware BQ00 and BQ04.
Reported by Chris Kuethe
@@ -878,6 +932,7 @@ engine = Motorola
interfaces = RS232 or TTL
tested = 2.20
nmea = 2.2
+status = good
notes = The Motorola Oncore product family has been discontinued.
RTCM input, no WAAS. In binary mode can deliver differential
correction for another Oncore GT+. Similar Motorola Oncore UT
@@ -906,6 +961,7 @@ reference = http://www.navcomtech.com/Products/GPS/sf2040g.cfm
engine = <a href='http://www.navcomtech.com/Products/GPS/Touchstone.cfm'>Touchstone&#8482; ASIC</a>
interfaces = RS232, Bluetooth, Radio (untested)
tested = 2.35
+status = good
nmea = 3.0
notes = Reported by Diego Berge (<a
href="http://www.nippur.net/survey/xuc/contact" title="Contact page
@@ -922,6 +978,7 @@ uses = SiRF-2
interfaces = USB
usbchip = pl2303
tested = 2.24
+status = excellent
notes = Included with the horrible Windows navigation software from
Rand McNally. Reported by Jeff Francis &lt;jeff&#x40;gritch.org&gt;
@@ -932,7 +989,7 @@ type = device
vendor = NaviLock
packaging = GPS mouse
reference = http://www.navilock.de/produkte/gruppen/3/Kabel_Empfaenger/61371_NL-209PU.html?show=spec
-engine = Sony CXD2951
+uses = Sony CXD2951
interfaces = USB, RS232, Bluetooth
btglitch = True
usbchip = pl2303
@@ -968,11 +1025,13 @@ notes = <code>gpsprof</code> output can be found
type = device
vendor = NavMan
packaging = chipset
-reference = http://www.navman.com/Navman/Templates/productinformation____15665.aspx
-engine = Jupiter 20 (SiRFstarII), Jupiter 21DR Firmware
+reference =
+uses = SiRF-2
+subtype = Jupiter 21DR Firmware
interfaces = RS232
tested = 2.32
nmea = 2.2
+discontinued = True
notes = Not a complete GPS, but a chipset. It is running with an external
gyro on a our self-developed board. Reported by Andreas Stricker
&lt;andreas.stricker&#x40;fela.ch&gt;
@@ -988,6 +1047,7 @@ reference = http://www.parrot.biz/uk/products/ck3300gps
engine = Unknown
interfaces = Bluetooth
tested = 2.35
+status = good
nmea = 2.?
notes = Reported by Andy Brown &lt;andy&#x40;thebmwz3.co.uk&gt;<br/>
In-car hands-free bluetooth phone and GPS device. Outputs NMEA
@@ -1112,6 +1172,7 @@ reference = http://www.sanav.com/gps_engine_board/fv-18.htm
engine = FV-18
interfaces = UART
tested = 2.0
+status = good
nmea = 2.3
notes = Special gpsd support uses 8N2 and requests sentences that gpsd requires.
OEM module only, not a retail product.
@@ -1121,10 +1182,10 @@ type = device
vendor = San Jose Navigation
packaging = OEM module
reference = http://www.tri-m.com/products/systems/fv25.html
-engine = <a href='http://www.u-blox.com/products/tim_lp.html'>ANTARIS TIM-LP</a>
+uses = ANTARIS
+subtype = TIM-LP
interfaces = UART
tested = 2.34
-nmea = 2.3
notes = OEM module, available in small quantities from Tri-M
systems. The ANTARIS chipset is End-of-Life. This module works
in NMEA mode; gpsd also supports the UBX binary
@@ -1142,7 +1203,7 @@ interfaces = RS232
tested = 2.21
nmea = 2.x
discontinued = True
-broken = True
+status = broken
notes = Ships bad packet checksums when it does not have a fix.
#% Techway
@@ -1152,7 +1213,7 @@ type = device
vendor = Techway
packaging = GPS mouse
reference = http://www.techwayinc.com.tw/TP-051.htm
-engine = SiRFstarII
+uses = SiRF-2
interfaces = USB
usbchip = pl2303
tested = 2.3
@@ -1174,6 +1235,20 @@ tested = 2.28
notes = Formerly sold under the corporate name "Bona CompuTech".
Reported by Romain Goyet &lt;r.goyet&#x40;gmail.com&gt;
+#% TomTom
+
+[TomTom Go910]
+type = device
+vendor = TomTom
+packaging = car mount
+reference = http://www.tomtom.com/products/product.php?ID=475&Category=0&Lid=4
+engine = SiRF-3
+interfaces = USB
+nmea = None
+status = broken
+notes = This device does not have real-time data output, and is incompatible
+ with GPSD.
+
#% Trimble
[Trimble Lassen SK]
@@ -1184,6 +1259,7 @@ reference = http://www.trimble.com/lassensk2.shtml
engine = Colossus RF ASIC, Scorpion DSP
interfaces = UART
tested = 2.26
+status = good
nmea = 2.1
notes = Reported by Rob Janssen.
@@ -1196,23 +1272,10 @@ engine = Colossus RF ASIC, IO-C33 (Epson C33 RISC)
interfaces = USB
usbchip = Silicon Labs CP2102
tested = regression
+status = good
nmea = 3.0
notes = Reported by Chris Kuethe &lt;chris.kuethe&#x40;gmail.com&gt;
-#% TomTom
-
-[TomTom Go910]
-type = device
-vendor = TomTom
-packaging = car mount
-reference = http://www.tomtom.com/products/product.php?ID=475&Category=0&Lid=4
-engine = SiRF-3
-interfaces = USB
-nmea = None
-broken = True
-notes = This device does not have real-time data output, and is incompatible
- with GPSD.
-
#% uBlox
[ANTARIS LEA-4H]
@@ -1220,23 +1283,19 @@ type = device
vendor = uBlox
packaging = OEM module
reference = http://www.u-blox.com/products/lea_4h.html
-engine = ANTARIS
-interfaces = RS232
+uses = ANTARIS4
tested = regression
-nmea = 2.3
-notes = Sends 'E' in second field of GSA record, not an NMEA value.
- Actually sends '6' in the GGA status record for dead-reckoning fixes.
- Reported by Andreas Stricker &lt;andreas.stricker@fela.ch&gt;
+interfaces = RS232
+notes = Reported by Andreas Stricker &lt;andreas.stricker@fela.ch&gt;
[ANTARIS LEA-4S]
type = device
vendor = uBlox
packaging = OEM module
reference = http://www.u-blox.com/products/lea_4s.html
-engine = ANTARIS
+uses = ANTARIS4
interfaces = USB,UART
tested = regression
-nmea = 2.3
notes = Reported by Ali Utku Selen &lt;selenau&#x40;kentkart.com.tr&gt;
#% UniTraq
@@ -1251,6 +1310,7 @@ interfaces = Bluetooth, USB
usbchip = Silicon Laboratories CP2101
tested = regression
nmea = 3.0
+status = good
notes = This receiver operates correctly as a generic NMEA device,
iTalk support is also functional, though switching between NMEA
and iTalk does not yet work, nor does any device configuration.
@@ -1262,11 +1322,10 @@ type = device
vendor = UniTraq
packaging = GPS mouse
reference = http://www.wintec.com.tw/en/product_detail.php?pro_id=65
-engine = ANTARIS4
+uses = ANTARIS4
interfaces = Bluetooth, USB
usbchip = Silicon Laboratories CP2101
tested = 2.33
-nmea = 2.3
notes = This receiver operates correctly as a generic NMEA device, UBX support
is also functional, though switching between NMEA and UBX does not yet
work, nor does any device configuration.
@@ -1278,7 +1337,7 @@ type = device
vendor = UniTraq
packaging = GPS mouse
reference = http://www.wintec.com.tw/en/support_detail.php?cate_id=11&support_id=14
-engine = Sony CXD2951
+uses = Sony CXD2951
interfaces = USB
usbchip = Silicon Laboratories CP2101
tested = 2.35
diff --git a/gpscap.py b/gpscap.py
index cd6603b7..d7632649 100644
--- a/gpscap.py
+++ b/gpscap.py
@@ -90,10 +90,15 @@ class GPSDictionary(ConfigParser.RawConfigParser):
ofp.write("<tr bgcolor='%s'>\n" % rowcolor)
ofp.write("<td>%s</td>\n" % dev)
ofp.write("<td>%s</td>\n" % self.get(dev, "packaging"))
- ofp.write("<td>%s</td>\n" % self.get(dev, "engine"))
+ engine = self.get(dev, "engine")
+ if self.has_option(engine, "reference"):
+ engine = "<a href='%s'>%s</a>" % (self.get(engine, "reference"), engine)
+ if self.has_option(dev, "subtype"):
+ engine += " (" + self.get(dev, "subtype") + ")"
+ ofp.write("<td>%s</td>\n" % engine)
ofp.write("<td>%s</td>\n" % self.get(dev, "interfaces"))
tested = ""
- if self.has_option(dev, "broken"):
+ if self.get(dev, "status") == "broken":
tested = "Broken"
elif self.get(dev, "tested") == "regression":
tested = "*"