diff options
author | Eric S. Raymond <esr@thyrsus.com> | 2013-09-29 01:42:45 -0400 |
---|---|---|
committer | Eric S. Raymond <esr@thyrsus.com> | 2013-09-29 01:46:53 -0400 |
commit | 4361ec2d89bdf451602d659ddfd0fb9a79c178a2 (patch) | |
tree | af067d1d7614a9e67f449eec933ba3347cde10b0 /driver_oncore.c | |
parent | a77b95b57475c2856707e91b197f8aaa8e5eb407 (diff) | |
download | gpsd-4361ec2d89bdf451602d659ddfd0fb9a79c178a2.tar.gz |
Change gpsd_report to no longer use a global. All regression tests pass.
This is a large, ugly change. But without it we can't troubleshoot the
ICP/IP-source initialization bug properly - colliding definitions of
gpsd_report() were interfering with error reporting early in gpsd runs.
More cleanup work remains to be done, but at least this is working.
Diffstat (limited to 'driver_oncore.c')
-rw-r--r-- | driver_oncore.c | 33 |
1 files changed, 17 insertions, 16 deletions
diff --git a/driver_oncore.c b/driver_oncore.c index 1cdefa5d..cf383a72 100644 --- a/driver_oncore.c +++ b/driver_oncore.c @@ -80,7 +80,7 @@ oncore_msg_navsol(struct gps_device_t *session, unsigned char *buf, return 0; mask = ONLINE_SET; - gpsd_report(LOG_IO, "oncore NAVSOL - navigation data\n"); + gpsd_report(session->context->debug, LOG_IO, "oncore NAVSOL - navigation data\n"); flags = (unsigned char)getub(buf, 72); @@ -92,7 +92,7 @@ oncore_msg_navsol(struct gps_device_t *session, unsigned char *buf, session->gpsdata.status = STATUS_FIX; session->newdata.mode = MODE_2D; } else { - gpsd_report(LOG_WARN, "oncore NAVSOL no fix - flags 0x%02x\n", flags); + gpsd_report(session->context->debug, LOG_WARN, "oncore NAVSOL no fix - flags 0x%02x\n", flags); session->newdata.mode = MODE_NO_FIX; session->gpsdata.status = STATUS_NO_FIX; } @@ -116,7 +116,7 @@ oncore_msg_navsol(struct gps_device_t *session, unsigned char *buf, session->newdata.time = (timestamp_t)timegm(&unpacked_date) + nsec * 1e-9; /*@ +unrecog */ mask |= TIME_SET; - gpsd_report(LOG_IO, + gpsd_report(session->context->debug, LOG_IO, "oncore NAVSOL - time: %04d-%02d-%02d %02d:%02d:%02d.%09d\n", unpacked_date.tm_year + 1900, unpacked_date.tm_mon + 1, unpacked_date.tm_mday, unpacked_date.tm_hour, @@ -132,7 +132,7 @@ oncore_msg_navsol(struct gps_device_t *session, unsigned char *buf, dop = getbeu16(buf, 35) / 10.0f; /*@+type@*/ - gpsd_report(LOG_IO, + gpsd_report(session->context->debug, LOG_IO, "oncore NAVSOL - %lf %lf %.2lfm-%.2lfm | %.2fm/s %.1fdeg dop=%.1f\n", lat, lon, alt, wgs84_separation(lat, lon), speed, track, (float)dop); @@ -161,7 +161,7 @@ oncore_msg_navsol(struct gps_device_t *session, unsigned char *buf, sn = (int)getub(buf, off + 2); status = (int)getub(buf, off + 3); - gpsd_report(LOG_IO, "%2d %2d %2d %3d %02x\n", i, sv, mode, sn, + gpsd_report(session->context->debug, LOG_IO, "%2d %2d %2d %3d %02x\n", i, sv, mode, sn, status); if (sn) { @@ -216,7 +216,7 @@ oncore_msg_navsol(struct gps_device_t *session, unsigned char *buf, (void)oncore_control_send(session, (char *)pollBo, sizeof(pollBo)); (void)oncore_control_send(session, (char *)pollEn, sizeof(pollEn)); - gpsd_report(LOG_DATA, + gpsd_report(session->context->debug, LOG_DATA, "NAVSOL: time=%.2f lat=%.2f lon=%.2f alt=%.2f speed=%.2f track=%.2f mode=%d status=%d visible=%d used=%d\n", session->newdata.time, session->newdata.latitude, session->newdata.longitude, session->newdata.altitude, @@ -239,7 +239,7 @@ oncore_msg_utc_offset(struct gps_device_t *session, unsigned char *buf, if (data_len != 8) return 0; - gpsd_report(LOG_IO, "oncore UTCTIME - leap seconds\n"); + gpsd_report(session->context->debug, LOG_IO, "oncore UTCTIME - leap seconds\n"); utc_offset = (int)getub(buf, 4); if (utc_offset == 0) return 0; /* that part of almanac not received yet */ @@ -261,7 +261,7 @@ oncore_msg_pps_offset(struct gps_device_t *session, unsigned char *buf, if (data_len != 11) return 0; - gpsd_report(LOG_IO, "oncore PPS offset\n"); + gpsd_report(session->context->debug, LOG_IO, "oncore PPS offset\n"); pps_offset_ns = (int)getbes32(buf, 4); session->driver.oncore.pps_offset_ns = pps_offset_ns; @@ -283,9 +283,9 @@ oncore_msg_svinfo(struct gps_device_t *session, unsigned char *buf, if (data_len != 92) return 0; - gpsd_report(LOG_IO, "oncore SVINFO - satellite data\n"); + gpsd_report(session->context->debug, LOG_IO, "oncore SVINFO - satellite data\n"); nchan = (unsigned int)getub(buf, 4); - gpsd_report(LOG_IO, "oncore SVINFO - %d satellites:\n", nchan); + gpsd_report(session->context->debug, LOG_IO, "oncore SVINFO - %d satellites:\n", nchan); /* Then we clamp the value to not read outside the table. */ if (nchan > 12) nchan = 12; @@ -298,7 +298,7 @@ oncore_msg_svinfo(struct gps_device_t *session, unsigned char *buf, el = (int)getub(buf, off + 3); az = (int)getbeu16(buf, off + 4); - gpsd_report(LOG_IO, "%2d %2d %2d %3d\n", i, sv, el, az); + gpsd_report(session->context->debug, LOG_IO, "%2d %2d %2d %3d\n", i, sv, el, az); /* Store for use when Ea messages come. */ session->driver.oncore.PRN[i] = sv; @@ -312,7 +312,7 @@ oncore_msg_svinfo(struct gps_device_t *session, unsigned char *buf, } } - gpsd_report(LOG_DATA, "SVINFO: mask={SATELLITE}\n"); + gpsd_report(session->context->debug, LOG_DATA, "SVINFO: mask={SATELLITE}\n"); return SATELLITE_SET; } @@ -329,7 +329,7 @@ oncore_msg_time_raim(struct gps_device_t *session UNUSED, return 0; sawtooth_ns = (int)getub(buf, 25); - gpsd_report(LOG_IO, "oncore PPS sawtooth: %d\n",sawtooth_ns); + gpsd_report(session->context->debug, LOG_IO, "oncore PPS sawtooth: %d\n",sawtooth_ns); /* session->driver.oncore.traim_sawtooth_ns = sawtooth_ns; */ @@ -363,7 +363,7 @@ gps_mask_t oncore_dispatch(struct gps_device_t * session, unsigned char *buf, type = ONCTYPE(buf[2], buf[3]); /* we may need to dump the raw packet */ - gpsd_report(LOG_RAW, "raw Oncore packet type 0x%04x\n", type); + gpsd_report(session->context->debug, LOG_RAW, "raw Oncore packet type 0x%04x\n", type); (void)snprintf(session->gpsdata.tag, sizeof(session->gpsdata.tag), "MOT-%c%c", type >> 8, type & 0xff); @@ -390,7 +390,7 @@ gps_mask_t oncore_dispatch(struct gps_device_t * session, unsigned char *buf, default: /* FIX-ME: This gets noisy in a hurry. Change once your driver works */ - gpsd_report(LOG_WARN, "unknown packet id @@%c%c length %zd\n", + gpsd_report(session->context->debug, LOG_WARN, "unknown packet id @@%c%c length %zd\n", type >> 8, type & 0xff, len); return 0; } @@ -424,7 +424,8 @@ static ssize_t oncore_control_send(struct gps_device_t *session, session->msgbuf[msglen + 4] = '\n'; session->msgbuflen = msglen + 5; - gpsd_report(LOG_IO, "writing oncore control type %c%c\n", msg[0], msg[1]); + gpsd_report(session->context->debug, LOG_IO, + "writing oncore control type %c%c\n", msg[0], msg[1]); return gpsd_write(session, session->msgbuf, session->msgbuflen); } |