From 0f3dfccad575ac35ef0c41beb3c6340c1b2d1939 Mon Sep 17 00:00:00 2001 From: "Eric S. Raymond" Date: Sat, 7 Mar 2009 15:32:23 +0000 Subject: .cycle_chars is gone, replaced by min_cycle. --- www/hacking.html | 35 ++--------------------------------- 1 file changed, 2 insertions(+), 33 deletions(-) (limited to 'www/hacking.html') diff --git a/www/hacking.html b/www/hacking.html index ffac068e..9ee7f89b 100644 --- a/www/hacking.html +++ b/www/hacking.html @@ -105,7 +105,6 @@ file in the source distribution.

  • Where to put the data you get from the GPS
  • Report errors with a 95% confidence interval
  • Log files for regression testing
  • -
  • Throughput computation for baud rate changes
  • The buffering problem
    1. @@ -995,7 +994,7 @@ the null-terminated array in drivers.c.

      it should live in its own C source file named after the driver type. Add it to the libgps_c_sources name list in Makefile.am

      -

      The easiest way write a driver is probably to copy the driver_proto.c +

      The easiest way to write a driver is probably to copy the driver_proto.c file in the source distribution, change names appropriately, and write the guts of the analyzer and writer functions. Look in gpsutils.c before you do; driver helper functions live there. Also read some @@ -1005,7 +1004,7 @@ existing drivers for clues.

      On Writing A GPSD Driver.

      There's a second kind of driver architecture for -gpsmon, the real-timr packet monitor and diagnostic tool. +gpsmon, the real-time packet monitor and diagnostic tool. It works from monitor-object definitions that include a pointer to the device driver for the GPS type you want to monitor. See monitor_proto.c for a prototype and technical details.

      @@ -1151,36 +1150,6 @@ logfile format.

      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.

      -

      Throughput computation for baud rate changes

      - -

      At low baud rates it is possible to try to push more characters of -NMEA through per cycle than the time to transmit will allow. Here -are the maxima to use for computation:

      - -
       
      - - - - - - - - - -
      ZDA 36
      GLL 47
      GGA 82
      VTG 46
      RMC 77
      GSA 67
      GSV 60 (per line, thus 180 for a set of 3)
      - -

      The transmit time for a cycle (which must be less than 1 second) -is the total character count multiplied by 10 and divided by the -baud rate.

      - -

      A typical budget is GGA, RMC, GSA, 3*GSV = 82+75+67+(3*60) = 404.

      - -

      When you write a driver that includes the capability to change -sampling rates, you must fill in the cycle_chars member with -a maximum character length so the daemon framework code will -be able to compute when a sample-rate change will work. If -you have to estimate this number, err on the high side.

      -

      The buffering problem

      Considered in the abstract, the cleanest thing for a -- cgit v1.2.1