summaryrefslogtreecommitdiff
path: root/HACKING
diff options
context:
space:
mode:
authorEric S. Raymond <esr@thyrsus.com>2005-06-08 17:19:31 +0000
committerEric S. Raymond <esr@thyrsus.com>2005-06-08 17:19:31 +0000
commite0ba36baccc0df5a3fa521c3ceb68bb1ffa434b7 (patch)
tree38e83bc25b2bd9e79f4e501c7a4a16a83d30d75e /HACKING
parent9b8846073f9ebfc8fcff9d42cfe511a08fa14f72 (diff)
downloadgpsd-e0ba36baccc0df5a3fa521c3ceb68bb1ffa434b7.tar.gz
Ensure that we don't try to change GID or set the system clock when non-root.
Diffstat (limited to 'HACKING')
-rw-r--r--HACKING59
1 files changed, 59 insertions, 0 deletions
diff --git a/HACKING b/HACKING
index 459873bf..28fba7b9 100644
--- a/HACKING
+++ b/HACKING
@@ -394,6 +394,65 @@ structure should be UTC (with leap-second corrections) not just Unix
seconds since the epoch. The report-generator function for D
does *not* apply a timezone offset.
+** Log files for regression testing
+
+Any time you add support for a new GPS type, you should also send us a
+representative log for your GPS. This will help ensure that support
+for your device is never broken in any gpsd release, because we will
+run the full regression before we ship.
+
+A logfile should consist of an identifying header followed by a
+straight unencoded dump of GPS data, whether NMEA or binary. The
+header should consist of text lines beginning with # and ending with LF.
+Here is the beginning of one log file I already have:
+
+# Name: Holux GM-210
+# Cycle-time: 1-second
+# Start-of-cycle: ?
+# Pause-noted: ?
+# Well-behaved: N
+# Submitted-by: "Patrick L. McGillan" <pmcgillan@pateri.com>
+# Date: 4 Apr 2005
+$GPGGA,012519.563,4131.7353,N,09336.8150,W,0,00,50.0,280.2,M,-31.6,M,0.0,0000*7D
+$GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05
+$GPRMC,012519.563,V,4131.7353,N,09336.8150,W,0.00,,050405,,*14
+$GPGGA,012520.563,4131.7353,N,09336.8150,W,0,00,50.0,280.2,M,-31.6,M,0.0,0000*77
+$GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05
+$GPGSV,3,1,09,14,65,034,00,01,55,291,43,25,53,210,37,22,45,125,00*7E
+$GPGSV,3,2,09,30,29,096,00,11,25,294,32,05,20,056,00,18,14,127,00*73
+$GPGSV,3,3,09,15,08,176,00*4C
+$GPRMC,012520.563,V,4131.7353,N,09336.8150,W,0.00,,050405,,*1E
+$GPGGA,012521.563,4131.7353,N,09336.8150,W,0,00,50.0,280.2,M,-31.6,M,0.0,0000*76
+The way to fill in the Name, Cycle-Time, Submitted-by, and Date
+headers should be pretty obvious.
+
+Start-of-cycle should be the name of the NMEA sentence (or, in a
+packet protocol, the numeric type ID of the packet) that is emitted
+first in each cycle.
+
+Pause-Noted should be Y or N as there is or is not a visible pause
+between cycles.
+
+Well-behaved should by Y if all sentences in the same cycle have the
+same timestamp, N otherwise.
+
+New log files should include after Date an additional Location header
+giving the submitter's city, state/province, country code, and a rough
+latitude/longitude. A good one for the above file might look like
+this:
+
+Location: Osceola, Iowa, US, 41N93W
+
+If you have notes or comments on the logfile or the GPS, or any
+additional information you think might be helpful, add them as
+additional # comments (not containing a colon) after these headers.
+The test machinery that interprets the headers will ignore these and
+any empty comment lines.
+
+An ideal log file would include an initial portion during which the
+GPS has no fix, a portion during which it has a fix but is stationary,
+and a portion during which it is moving.
+
** Blind alleys
Things we've considered doing and rejected.