diff options
author | Eric S. Raymond <esr@thyrsus.com> | 2009-01-20 22:23:58 +0000 |
---|---|---|
committer | Eric S. Raymond <esr@thyrsus.com> | 2009-01-20 22:23:58 +0000 |
commit | 5eae1352c7c1377dc5be679a9699663a399668fb (patch) | |
tree | 4edb061d34300e7d1ba630e9f0bff1d1cfee33e0 | |
parent | d9c7e71f75e9a88281ddd0f52f2191155b674293 (diff) | |
download | gpsd-5eae1352c7c1377dc5be679a9699663a399668fb.tar.gz |
GPSes in the hardware table now feature Michelin rating...
...and the occasional bomb :-)
-rw-r--r-- | gpscap.ini | 7 | ||||
-rw-r--r-- | gpscap.py | 33 | ||||
-rw-r--r-- | www/bomb.png | bin | 0 -> 312 bytes | |||
-rw-r--r-- | www/hardware-head.html | 35 | ||||
-rw-r--r-- | www/regression.png | bin | 0 -> 491 bytes | |||
-rw-r--r-- | www/star.png | bin | 0 -> 320 bytes |
6 files changed, 59 insertions, 16 deletions
@@ -51,10 +51,11 @@ # Further notes: # * In the packaging feld, a "GPS mouse" is a standalone sensor in a # display-less case designed be used as an outbard peripheral. An -# "OEM module" is an un-cased circuit board with edge connectors. +# "OEM module" is an un-cased circuit board with edge connectors; a +# "chipset" is what it sounds like. # 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 +# controls. A "car mount" is a hands-free 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. @@ -76,9 +76,7 @@ class GPSDictionary(ConfigParser.RawConfigParser): relevant.sort() for dev in relevant: rowcolor = "#FFFFFF" - if self.has_option(dev, "broken"): - rowcolor = "Pink" - elif self.get(dev, "packaging") == "OEM module": + if self.get(dev, "packaging") == "OEM module": rowcolor = "LimeGreen" elif self.get(dev, "packaging") == "chipset": rowcolor = "LightYellow" @@ -88,7 +86,10 @@ class GPSDictionary(ConfigParser.RawConfigParser): rowcolor = "DarkCyan" ofp.write("<tr bgcolor='%s'>\n" % rowcolor) - ofp.write("<td>%s</td>\n" % dev) + namefield = dev + if self.has_option(dev, "discontinued"): + namefield = dev + " <img title='Device discontinued' src='discontinued.png'/>" + ofp.write("<td>%s</td>\n" % namefield) ofp.write("<td>%s</td>\n" % self.get(dev, "packaging")) engine = self.get(dev, "engine") if self.has_option(engine, "reference"): @@ -100,14 +101,24 @@ class GPSDictionary(ConfigParser.RawConfigParser): if self.has_option(dev, "pps"): interfaces += ",PPS" ofp.write("<td>%s</td>\n" % interfaces) - tested = "" - if self.get(dev, "status") == "broken": - tested = "Broken" - elif self.get(dev, "tested") == "regression": - tested = "*" - else: + testfield = "" + if self.has_option(dev, "tested"): tested = self.get(dev, "tested") - ofp.write("<td>%s</td>\n" % tested) + if tested == "regression": + testfield += "<img title='Have regression test' src='regression.png'>" + else: + testfield += tested + if self.get(dev, "status") == "excellent": + testfield += "<img src='star.png'><img src='star.png'><img src='star.png'><img src='star.png'>" + elif self.get(dev, "status") == "good": + testfield += "<img src='star.png'><img src='star.png'><img src='star.png'>" + elif self.get(dev, "status") == "fair": + testfield += "<img src='star.png'><img src='star.png'>" + elif self.get(dev, "status") == "poor": + testfield += "<img src='star.png'>" + elif self.get(dev, "status") == "broken": + testfield += "<img title='Device is broken' src='bomb.png'>" + ofp.write("<td>%s</td>\n" % testfield) nmea = " " if self.has_option(dev, "nmea"): nmea = self.get(dev, "nmea") diff --git a/www/bomb.png b/www/bomb.png Binary files differnew file mode 100644 index 00000000..9b7f391c --- /dev/null +++ b/www/bomb.png diff --git a/www/hardware-head.html b/www/hardware-head.html index e0a3ea09..5aced02f 100644 --- a/www/hardware-head.html +++ b/www/hardware-head.html @@ -119,9 +119,40 @@ affected GPSes catatonic. See this <a href="upstream-bugs.html#bluetooth">bug warning</a> for a description of the problem.</p> -<p>Devices marked with a <img src="discontinued.png"/> have been -discontinued by their manufacturers.</p> +<p>Icons used in the table: +<ul> +<li><img src="star.png"><img src="star.png"><img src="star.png"><img +src="star.png"> marks devices with <b>Excellent</b> performance: gpsd +recognizes the GPS rapidly and reliably, reports are complete and +correct.</li> + +<li><img src="star.png"><img src="star.png"><img src="star.png"> marks +devices with <b>Good</b> performance: <tt>gpsd</tt> has minor problems +or lag recognizing the device, but reports are complete and +correct.</li> + +<li><img src="star.png"><img src="star.png"> marks devices with +<b>Fair</b> performance: reports have minor dropouts or problems, +including occasional transient nonsense values.</li> + +<li><img src="star.png"> marks devices with <b>Poor</b> performance: +reports frequently have values that are wrong or nonsense.</li> + +<li><img src="bomb.png"> marks devices which are <b>Broken</b>; +gpsd frequently fails to recognize the device at all.</li> + +<li><img src="discontinued.png"/> marks devices that have been +discontinued by their manufacturers.</li> + +<li><img src="regression.png"/> marks devices for which we have a +regression-test load. These are checked on every release.</li> +</ul></p> + +<p>Note that in most cases, poor ratings reflect problems not in +<tt>gpsd</tt> but rather in the device design and firmware.</p> + +<!-- Note: The CGI lives offsite because Berlios blocks outbound mail --> <p>Please help us extend this table with new devices by filling out <a href="https://www.mainframe.cx/cgi-bin/gps_report.cgi">this form</a>.</p> diff --git a/www/regression.png b/www/regression.png Binary files differnew file mode 100644 index 00000000..7dfab161 --- /dev/null +++ b/www/regression.png diff --git a/www/star.png b/www/star.png Binary files differnew file mode 100644 index 00000000..d66bfd7b --- /dev/null +++ b/www/star.png |