summaryrefslogtreecommitdiff
path: root/www/writing-a-driver.xml
diff options
context:
space:
mode:
authorEric S. Raymond <esr@thyrsus.com>2009-03-07 15:32:23 +0000
committerEric S. Raymond <esr@thyrsus.com>2009-03-07 15:32:23 +0000
commit0f3dfccad575ac35ef0c41beb3c6340c1b2d1939 (patch)
tree3ffde35783e7d84a842f61597bca19992a551038 /www/writing-a-driver.xml
parent964fa5d02a151ed772a7eb36df0543fa98b9ab39 (diff)
downloadgpsd-0f3dfccad575ac35ef0c41beb3c6340c1b2d1939.tar.gz
.cycle_chars is gone, replaced by min_cycle.
Diffstat (limited to 'www/writing-a-driver.xml')
-rw-r--r--www/writing-a-driver.xml32
1 files changed, 8 insertions, 24 deletions
diff --git a/www/writing-a-driver.xml b/www/writing-a-driver.xml
index 6b6c673b..13834893 100644
--- a/www/writing-a-driver.xml
+++ b/www/writing-a-driver.xml
@@ -616,10 +616,9 @@ write of the data, which is provided by the default routine
<function>pass_rtcm</function>. If the device does not
accept differential data, the value is NULL.</para>
-<!-- modified by ESR, 2009 -->
<para><structfield>.speed_switcher</structfield> points to a block of
code to change baud rate, parity, and stop bits (if supported). If
-your ddevice can support some speed/parity/stopbits combinations but
+your device can support some speed/parity/stopbits combinations but
not others, it should return false on a mode-change request it can't
handle.</para>
@@ -629,7 +628,10 @@ binary mode (1).</para>
<para><structfield>.rate_switcher</structfield> points to a block of code
to change the maximum number of fixes your device can generate
-in 1 second.</para>
+in 1 second. If this method is present, you should also fill in
+<structfield>.min_cycle</structfield> tio indicate the device's
+minimum cycle time in seconds; a 0 value indicates that it is limited
+only by yjr data throughput of the reporting channel.</para>
<para><structfield>.control_send</structfield> points to a block of
code that can take a buffer full of message payload, wrap iit in
@@ -643,11 +645,12 @@ possible, assemble your packet in
<structfield>session->msgbuflen</structfield>; this will allow
gpsmon to display the control messages it sends for you.</para>
-<para><structfield>.cycle_chars</structfield> is explained in
+<!-- deleted by ESR, 2009 -->
+<!-- <para><structfield>.cycle_chars</structfield> is explained in
<quote>Throughput computation for baud rate changes</quote> in the
<quote>Hacker's Guide to GPSD</quote> in the general
documentation. It's only necessary to fill this in if you have
-<structfield>.rate_switcher</structfield> capability</para>
+<structfield>.rate_switcher</structfield> capability</para> -->
<para><structfield>.revert</structfield> points to a block of
code that is conditionally run each time the device is closed if
@@ -666,25 +669,6 @@ which is run unconditionally each time the device is to be closed.
<quote><option>-n</option> </quote> switch is not active.) This is
also where you should undo any port parameter changes you made in
<structfield>.probe_detect</structfield>above.</para>
-
-<!-- deleted by ESR, 2009 -->
-<!-- <para><structfield>.cycle</structfield> is a number giving the number of
-fixes per second you can get. Gets updated if you can rate-switch
-and user gives a <application>gpsd</application> 'C' command.</para> -->
-
-<!-- modified by ESR, 2009 -->
-<para>The connection between some of the above was confirmed with Eric
-Raymond as follows.</para> <para>The inter-relationship between
-<structfield>.speed_switcher</structfield>,
-<structfield>.rate_switcher</structfield>,
-<structfield>.cycle_chars</structfield> is:-</para> <para>If we can change
-baud rate (<structfield>.speed_switcher</structfield>) and we can
-alter the rate at which fixes are delivered
-(<structfield>.rate_switcher</structfield>), then we need to know the
-number of characters in a fix string
-(<structfield>.cycle_chars</structfield>) so that we can compute the
-minimum reporting cycle time we can ask
-for.</para>
</sect1>
<sect1><title>Details of the driver parser</title>