summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gpscap.ini7
-rw-r--r--gpscap.py33
-rw-r--r--www/bomb.pngbin0 -> 312 bytes
-rw-r--r--www/hardware-head.html35
-rw-r--r--www/regression.pngbin0 -> 491 bytes
-rw-r--r--www/star.pngbin0 -> 320 bytes
6 files changed, 59 insertions, 16 deletions
diff --git a/gpscap.ini b/gpscap.ini
index 0013588e..2de477e2 100644
--- a/gpscap.ini
+++ b/gpscap.ini
@@ -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.
diff --git a/gpscap.py b/gpscap.py
index ade51afb..e3de8d6b 100644
--- a/gpscap.py
+++ b/gpscap.py
@@ -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 + "&nbsp;<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 = "&nbsp;"
if self.has_option(dev, "nmea"):
nmea = self.get(dev, "nmea")
diff --git a/www/bomb.png b/www/bomb.png
new file mode 100644
index 00000000..9b7f391c
--- /dev/null
+++ b/www/bomb.png
Binary files differ
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
new file mode 100644
index 00000000..7dfab161
--- /dev/null
+++ b/www/regression.png
Binary files differ
diff --git a/www/star.png b/www/star.png
new file mode 100644
index 00000000..d66bfd7b
--- /dev/null
+++ b/www/star.png
Binary files differ