From 8c1577ca9c8df3d8f72b8b4b6149d4cc5f59bd92 Mon Sep 17 00:00:00 2001 From: "Eric S. Raymond" Date: Tue, 6 Apr 2010 10:46:17 -0400 Subject: Update Mick Durkin's internals tour and make it part of the website material. --- doc/explan_pseudonmea.c.xml | 55 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 doc/explan_pseudonmea.c.xml (limited to 'doc/explan_pseudonmea.c.xml') diff --git a/doc/explan_pseudonmea.c.xml b/doc/explan_pseudonmea.c.xml new file mode 100644 index 00000000..daa7c9f0 --- /dev/null +++ b/doc/explan_pseudonmea.c.xml @@ -0,0 +1,55 @@ +<filename>libgpsd_core.c</filename> + + + + + + + + + + + Functions:-Generate pseudo-NMEA corresponding to binary packet reports + + + + + + Notes based on code as of Mon Apr 5 21:38:06 2010 -0400. + + + + + + static double degtodm(double a) + Converts a fractional degree value (like 125.3567) into an NMEA field as dddmm.xxx (like 12521.402). + + + void gpsd_position_fix_dump(struct gps_device_t *session, /char bufp[], size_t len) + If possible, create a $GPGGA message (full time, position and fix data) from the fix data, taking care about the validity of subsidiary fields like HDOP and altitude. + + + static void gpsd_transit_fix_dump(struct gps_device_t *session, char bufp[], size_t len) + Create a $GPRMC message (minimum navigation data) from the fix data. + + + static void gpsd_binary_fix_dump(struct gps_device_t *session, char bufp[], size_t len) + Make a call to gpsd_position_fix_dump() and gpsd_transit_fix_dump(). + + + static void gpsd_binary_satellite_dump(struct gps_device_t *session, char bufp[], size_t len) + Create one or more $GPGSV messages from the status data of all satellites we know about. + + + static void gpsd_binary_quality_dump(struct gps_device_t *session, char bufp[], size_t len) + Create a $GPGSA message taking care that if any xDOP is not valid, we substitute a 0.0 value.If any of the error estimates is available, generate a $PGRME message again taking care about possibly invalid values. + + + static void gpsd_binary_dump(struct gps_device_t *session, char bufp[], size_t len) + Dump such binary data as we have available; a fix, a quality value and a satellite status block. Each is enabled by the approriate status bits in the session mask variable. + + + + + + -- cgit v1.2.1