diff options
author | Eric S. Raymond <esr@thyrsus.com> | 2012-05-30 05:12:54 -0400 |
---|---|---|
committer | Eric S. Raymond <esr@thyrsus.com> | 2012-05-30 05:12:54 -0400 |
commit | 0d6150e6343c51dbf24937fdc7809ecb620da7f1 (patch) | |
tree | ba8327c5a2d8e27721a861b01f51b3b76f0561f3 | |
parent | c6d6871c6db02ca631876fd9464715df733b7500 (diff) | |
download | gpsd-0d6150e6343c51dbf24937fdc7809ecb620da7f1.tar.gz |
Better recording of configuration sanity.
-rw-r--r-- | gpscap.ini | 20 | ||||
-rw-r--r-- | gpscap.py | 5 | ||||
-rw-r--r-- | www/gps_report.cgi.in | 35 |
3 files changed, 33 insertions, 27 deletions
@@ -22,7 +22,7 @@ # interfaces = interface types: USB, RS232, Bluetooth, CF, TTL. May be a list. # usbchip = USB I/O chipset # pps = supports pulse-per-second precision time reporting -# noconfigure = can be bricked by baud-rate changes (requires -b option) +# configurable = can the device be bricked by speed changes? # 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. @@ -501,7 +501,7 @@ vendor = Altina packaging = handset techdoc = http://www.altina.com/produkty.php?destCatId=&mainCatId=13&subCatId=&prId=19 interfaces = Bluetooth -noconfigure = True +configurable = insane tested = 2.35 uses = SiRF-3 submitter = Benoit Panizzon <panizzon@woody.ch> @@ -611,7 +611,7 @@ techdoc = http://www.cpit.com/en/GP-27.html uses = Nemerix interfaces = Bluetooth tested = 2.28 -noconfigure = True +configurable = insane submitter = Tobias Minich <belgabor@gmx.de> notes = <ul> <li>There are proprietary PNMRX{30[0124],603} sentences that are only sent @@ -697,7 +697,7 @@ packaging = mouse techdoc = http://www.eurotronic.net/products/produktdetails/gps_receiver.html uses = SiRF-3 interfaces = Bluetooth -noconfigure = True +configurable = insane tested = regression submitter = Hartmut Holzgraefe <hartmut@php.net> notes = Requires "-b" ... I had to totally drain the battery of the device @@ -1270,7 +1270,7 @@ packaging = mouse techdoc = http://www.holux.com.tw/Temp%20web/GR-230.html uses = SiRF-2 interfaces = Bluetooth -noconfigure = True +configurable = insane tested = 2.19 nmea = 2.2 discontinued = True @@ -1306,7 +1306,7 @@ packaging = mouse techdoc = http://www.holux.com/JCore/en/support/DLF.jsp?DLU=http://www1.holux.com.tw:8080/JCore/UploadFile/79754.pdf uses = SiRF-3 interfaces = Bluetooth, USB -noconfigure = True +configurable = insane tested = 2.36 rating = poor nmea = 2.2 @@ -1321,7 +1321,7 @@ techdoc = http://www.holux.com/JCore/en/products/products_content.jsp?pno=341 uses = MTK interfaces = Bluetooth, USB usbchip = CP2101 -noconfigure = True +configurable = insane tested = 2.37 btglitch = yes submitter = Roland Ager <roland.ager@gmx.de> @@ -1587,7 +1587,7 @@ packaging = mouse techdoc = http://www.navilock.de/produkte/gruppen/3/Kabel_Empfaenger/61371_NL-209PU.html?show=spec uses = Sony CXD2951 interfaces = USB, RS232, Bluetooth -noconfigure = True +configurable = insane usbchip = pl2303 tested = 2.35 nmea = 2.2 @@ -1807,7 +1807,7 @@ packaging = mouse techdoc = http://www.phonix.it/html/catalogo_dettaglio.cfm?idProducts=E09B5AB7-BCDF-DF66-24853E2B4680AB2C uses = SiRF-2 interfaces = Bluetooth -noconfigure = True +configurable = insane tested = 2.34 nmea = 2.2 notes = As this is a Bluetooth device, gpsd must either be run with "-b" or must @@ -2251,7 +2251,7 @@ vendor = UniTraq packaging = mouse techdoc = http://www.wintec.com.tw/en/support_detail.php?cate_id=11&support_id=14 uses = Sony CXD2951 -noconfigure = True +configurable = insane interfaces = USB usbchip = CP2101 tested = 2.35 @@ -118,7 +118,7 @@ class GPSDictionary(ConfigParser.RawConfigParser): testfield += "<img title='Have regression test' src='regression.png' alt='Regression-test icon'>" else: testfield += tested - if self.has_option(dev, "noconfigure"): + if self.has_option(dev, "configurable") and self.get(dev, "configurable") == 'insane': testfield += "<img title='Requires -b option' src='noconfigure.png' alt='No-configure icon'>" if self.get(dev, "rating") == "excellent": testfield += "<img src='star.png' alt='Star icon'><img src='star.png' alt='Star icon'><img src='star.png' alt='Star icon'><img src='star.png' alt='Star icon'>" @@ -142,8 +142,7 @@ class GPSDictionary(ConfigParser.RawConfigParser): else: notes = "" if self.has_option(dev, "submitter"): - notes += " Reported by %s." % self.get(dev, "submitter") - notes = notes.replace("@", "@").replace("<", "<").replace(">", ">") + notes += " Reported by %s." % self.get(dev, "submitter").replace("@", "@").replace("<", "<").replace(">", ">") ofp.write("<td>%s</td>\n" % notes) ofp.write("</tr>\n") ofp.write("</table>\n") diff --git a/www/gps_report.cgi.in b/www/gps_report.cgi.in index 484b0e6a..fdbc02a0 100644 --- a/www/gps_report.cgi.in +++ b/www/gps_report.cgi.in @@ -58,7 +58,7 @@ formfields = ("submitter", "usbchip", "tested", "rating", - "noconfigure", + "configurable", "output_sample_file", "output_sample_content", "location", @@ -80,12 +80,12 @@ if hasRequiredElements(form) and form.getvalue("action") == "Send Report": report.attach(MIMEText(msg)) # Decorate the log data with some canned headers. - # Omitted: nmea, notes, techdoc, tested, usbchip + # Omitted: nmea, notes, techdoc, tested, usbchip, configurable, header = '' header += "# Name: %s %s\n" \ % (form.getvalue('vendor'), form.getvalue('model')) for fld in ("chipset", "firmware", 'date', 'submitter', 'location'): - if form.has_key(fld): + if form.has_key(fld) and form.getvalue(fld): header += "# %s = %s\n" % (fld.capitalize(), form.getvalue(fld)) if form.has_key('sample_notes') and form.getvalue('sample_notes'): header += "# Notes: %s\n" % form.getvalue('sample_notes') @@ -203,10 +203,12 @@ if form.getvalue("rating"): print "GPSD compatibility is <code>"+cgi.escape(form.getvalue("rating"))+"</code><br>\n"; else: print "No GPSD compatiblity specified.<br>\n"; -if form.getvalue("noconfigure"): - print "Device can be sent catatonic by baud-rate changes<br>\n"; +if form.getvalue("noconfigure") == 'yes': + print "Device can be sent catatonic by baud-rate changes.<br>\n"; +elif form.getvalue("noconfigure") == 'no': + print "Device handles baud-rate changes correctly.<br>\n"; else: - print "Device handles baud-rate changes correctly<br>\n"; + print "How baud-rate changes are handled is unspecified.<br>\n"; print "</td><td align='center'>"; @@ -243,11 +245,11 @@ support for it more reliable.</p> <hr> <h2>Contact information</h2> -<p><em style="color: #ff0000;">Important!</em> We prefer a valid email +<p><em style="color: #ff0000;">Important!</em> We need a valid email address for you in case we need to ask you followup questions about the device. While we won\'t use your address for anything other than asking you questions about your receiver, and maybe asking you to test -specific changes, this gps report will be sent to the gpsd-dev list +specific changes, this device report will be sent to the gpsd-dev list which is publicly archived.</p> <p>Example: <code>Eric Raymond <esr@thyrsus.com></code></p> @@ -424,12 +426,17 @@ for (rtype, rlegend) in ratings: else: print rateline % (rtype, "", rlegend) -print '<p>Check this box if the device ceases responding when probed or speed-switched: ' -print '<input type="checkbox" name="noconfigure" value="yes" ', -if defaults["noconfigure"] == "yes": - print "checked>" -else: - print ">" +print '<p>Device sanity when probed or speed-switched:<br/>' + +sanity = (('sane', 'Sane: accepts baud-rate changes and probes.'), + ('insane', 'Insane: goes catatonic on baud-rate changes and probes.')) + +saneline = '<input type="radio" name="sanity" value="%s"%s>%s<br/>' +for (stype, slegend) in sanity: + if defaults['configurable'] == stype: + print saneline % (stype, " checked", slegend) + else: + print saneline % (stype, "", slegend) print ''' <hr> |