summaryrefslogtreecommitdiff
path: root/driver_ubx.c
diff options
context:
space:
mode:
authorEric S. Raymond <esr@thyrsus.com>2015-03-07 11:51:15 -0500
committerEric S. Raymond <esr@thyrsus.com>2015-03-07 11:51:15 -0500
commitdf34a3add8df382eb852a67635c6859ee8cc657f (patch)
treec52183ba41403d093ad1ac971fa45c4ba1289f0c /driver_ubx.c
parent9c49083f2afe799343a610912b0ed404b2ffad05 (diff)
downloadgpsd-df34a3add8df382eb852a67635c6859ee8cc657f.tar.gz
gpsd-report() -> gpsd_log()
This change is done so we can add a "log" hook to the pps_thread_t structure (this is not done yet) and harmonize with the name of the outer logging function. If that name had been left as gpsd_report() there would have been scope for bad confusion with the report_hook member. Also, remove two stray duplicative printf calls from the NMEA2000 driver (drivers shouldn't have printfs!) and fix one typo. This is a step towards factoring out ntplib. For that to happen, the PPS thread code needs to be decoupled from the core session structure. No logic changes. Object compatibility preserved. All regression tests pass.
Diffstat (limited to 'driver_ubx.c')
-rw-r--r--driver_ubx.c197
1 files changed, 99 insertions, 98 deletions
diff --git a/driver_ubx.c b/driver_ubx.c
index ec5876c2..350f4990 100644
--- a/driver_ubx.c
+++ b/driver_ubx.c
@@ -148,18 +148,18 @@ ubx_msg_nav_sol(struct gps_device_t *session, unsigned char *buf,
session->gpsdata.status = STATUS_FIX;
mask |= MODE_SET | STATUS_SET;
- gpsd_report(&session->context->errout, LOG_DATA,
- "NAVSOL: time=%.2f lat=%.2f lon=%.2f alt=%.2f track=%.2f speed=%.2f climb=%.2f mode=%d status=%d used=%d\n",
- session->newdata.time,
- session->newdata.latitude,
- session->newdata.longitude,
- session->newdata.altitude,
- session->newdata.track,
- session->newdata.speed,
- session->newdata.climb,
- session->newdata.mode,
- session->gpsdata.status,
- session->gpsdata.satellites_used);
+ gpsd_log(&session->context->errout, LOG_DATA,
+ "NAVSOL: time=%.2f lat=%.2f lon=%.2f alt=%.2f track=%.2f speed=%.2f climb=%.2f mode=%d status=%d used=%d\n",
+ session->newdata.time,
+ session->newdata.latitude,
+ session->newdata.longitude,
+ session->newdata.altitude,
+ session->newdata.track,
+ session->newdata.speed,
+ session->newdata.climb,
+ session->newdata.mode,
+ session->gpsdata.status,
+ session->gpsdata.satellites_used);
return mask;
}
@@ -196,13 +196,13 @@ ubx_msg_nav_dop(struct gps_device_t *session, unsigned char *buf,
session->gpsdata.dop.tdop = (double)(getleu16(buf, 8) / 100.0);
session->gpsdata.dop.vdop = (double)(getleu16(buf, 10) / 100.0);
session->gpsdata.dop.hdop = (double)(getleu16(buf, 12) / 100.0);
- gpsd_report(&session->context->errout, LOG_DATA,
- "NAVDOP: gdop=%.2f pdop=%.2f "
- "hdop=%.2f vdop=%.2f tdop=%.2f mask={DOP}\n",
- session->gpsdata.dop.gdop,
- session->gpsdata.dop.hdop,
- session->gpsdata.dop.vdop,
- session->gpsdata.dop.pdop, session->gpsdata.dop.tdop);
+ gpsd_log(&session->context->errout, LOG_DATA,
+ "NAVDOP: gdop=%.2f pdop=%.2f "
+ "hdop=%.2f vdop=%.2f tdop=%.2f mask={DOP}\n",
+ session->gpsdata.dop.gdop,
+ session->gpsdata.dop.hdop,
+ session->gpsdata.dop.vdop,
+ session->gpsdata.dop.pdop, session->gpsdata.dop.tdop);
return DOP_SET;
}
@@ -227,9 +227,9 @@ ubx_msg_nav_timegps(struct gps_device_t *session, unsigned char *buf,
(unsigned short int)gw,
(double)tow / 1000.0);
- gpsd_report(&session->context->errout, LOG_DATA,
- "TIMEGPS: time=%.2f leap=%d, mask={TIME}\n",
- session->newdata.time, session->context->leap_seconds);
+ gpsd_log(&session->context->errout, LOG_DATA,
+ "TIMEGPS: time=%.2f leap=%d, mask={TIME}\n",
+ session->newdata.time, session->context->leap_seconds);
return TIME_SET | PPSTIME_IS;
}
@@ -243,16 +243,16 @@ ubx_msg_nav_svinfo(struct gps_device_t *session, unsigned char *buf,
unsigned int i, nchan, nsv, st;
if (data_len < 152) {
- gpsd_report(&session->context->errout, LOG_PROG,
- "runt svinfo (datalen=%zd)\n", data_len);
+ gpsd_log(&session->context->errout, LOG_PROG,
+ "runt svinfo (datalen=%zd)\n", data_len);
return 0;
}
/*@ +charint @*/
nchan = (unsigned int)getub(buf, 4);
if (nchan > MAXCHANNELS) {
- gpsd_report(&session->context->errout, LOG_WARN,
- "Invalid NAV SVINFO message, >%d reported visible",
- MAXCHANNELS);
+ gpsd_log(&session->context->errout, LOG_WARN,
+ "Invalid NAV SVINFO message, >%d reported visible",
+ MAXCHANNELS);
return 0;
}
/*@ -charint @*/
@@ -282,10 +282,10 @@ ubx_msg_nav_svinfo(struct gps_device_t *session, unsigned char *buf,
session->gpsdata.skyview_time = NAN;
session->gpsdata.satellites_visible = (int)st;
session->gpsdata.satellites_used = (int)nsv;
- gpsd_report(&session->context->errout, LOG_DATA,
- "SVINFO: visible=%d used=%d mask={SATELLITE|USED}\n",
- session->gpsdata.satellites_visible,
- session->gpsdata.satellites_used);
+ gpsd_log(&session->context->errout, LOG_DATA,
+ "SVINFO: visible=%d used=%d mask={SATELLITE|USED}\n",
+ session->gpsdata.satellites_visible,
+ session->gpsdata.satellites_used);
return SATELLITE_SET | USED_IS;
}
@@ -297,15 +297,16 @@ static void ubx_msg_sbas(struct gps_device_t *session, unsigned char *buf)
#ifdef __UNUSED_DEBUG__
unsigned int i, nsv;
- gpsd_report(&session->context->errout, LOG_WARN,
- "SBAS: %d %d %d %d %d\n",
- (int)getub(buf, 4), (int)getub(buf, 5), (int)getub(buf, 6),
- (int)getub(buf, 7), (int)getub(buf, 8));
+ gpsd_log(&session->context->errout, LOG_WARN,
+ "SBAS: %d %d %d %d %d\n",
+ (int)getub(buf, 4), (int)getub(buf, 5), (int)getub(buf, 6),
+ (int)getub(buf, 7), (int)getub(buf, 8));
nsv = (int)getub(buf, 8);
for (i = 0; i < nsv; i++) {
int off = 12 + 12 * i;
- gpsd_report(&session->context->errout, LOG_WARN, "SBAS info on SV: %d\n", (int)getub(buf, off));
+ gpsd_log(&session->context->errout, LOG_WARN,
+ "SBAS info on SV: %d\n", (int)getub(buf, off));
}
#endif /* __UNUSED_DEBUG__ */
/* really 'in_use' depends on the sats info, EGNOS is still in test */
@@ -323,8 +324,8 @@ static gps_mask_t ubx_msg_sfrb(struct gps_device_t *session, unsigned char *buf)
chan = (unsigned int)getub(buf, 0);
svid = (unsigned int)getub(buf, 1);
- gpsd_report(&session->context->errout, LOG_PROG,
- "UBX_RXM_SFRB: %u %u\n", chan, svid);
+ gpsd_log(&session->context->errout, LOG_PROG,
+ "UBX_RXM_SFRB: %u %u\n", chan, svid);
/* UBX does all the parity checking, but still bad data gets through */
for (i = 0; i < 10; i++) {
@@ -347,19 +348,19 @@ static void ubx_msg_inf(struct gps_device_t *session, unsigned char *buf, size_t
txtbuf[data_len] = '\0';
switch (msgid) {
case UBX_INF_DEBUG:
- gpsd_report(&session->context->errout, LOG_PROG, "UBX_INF_DEBUG: %s\n", txtbuf);
+ gpsd_log(&session->context->errout, LOG_PROG, "UBX_INF_DEBUG: %s\n", txtbuf);
break;
case UBX_INF_TEST:
- gpsd_report(&session->context->errout, LOG_PROG, "UBX_INF_TEST: %s\n", txtbuf);
+ gpsd_log(&session->context->errout, LOG_PROG, "UBX_INF_TEST: %s\n", txtbuf);
break;
case UBX_INF_NOTICE:
- gpsd_report(&session->context->errout, LOG_INF, "UBX_INF_NOTICE: %s\n", txtbuf);
+ gpsd_log(&session->context->errout, LOG_INF, "UBX_INF_NOTICE: %s\n", txtbuf);
break;
case UBX_INF_WARNING:
- gpsd_report(&session->context->errout, LOG_WARN, "UBX_INF_WARNING: %s\n", txtbuf);
+ gpsd_log(&session->context->errout, LOG_WARN, "UBX_INF_WARNING: %s\n", txtbuf);
break;
case UBX_INF_ERROR:
- gpsd_report(&session->context->errout, LOG_WARN, "UBX_INF_ERROR: %s\n", txtbuf);
+ gpsd_log(&session->context->errout, LOG_WARN, "UBX_INF_ERROR: %s\n", txtbuf);
break;
default:
break;
@@ -386,109 +387,109 @@ gps_mask_t ubx_parse(struct gps_device_t * session, unsigned char *buf,
data_len = (size_t) getles16(buf, 4);
switch (msgid) {
case UBX_NAV_POSECEF:
- gpsd_report(&session->context->errout, LOG_DATA, "UBX_NAV_POSECEF\n");
+ gpsd_log(&session->context->errout, LOG_DATA, "UBX_NAV_POSECEF\n");
break;
case UBX_NAV_POSLLH:
- gpsd_report(&session->context->errout, LOG_DATA, "UBX_NAV_POSLLH\n");
+ gpsd_log(&session->context->errout, LOG_DATA, "UBX_NAV_POSLLH\n");
mask = ubx_msg_nav_posllh(session, &buf[UBX_PREFIX_LEN], data_len);
break;
case UBX_NAV_STATUS:
- gpsd_report(&session->context->errout, LOG_DATA, "UBX_NAV_STATUS\n");
+ gpsd_log(&session->context->errout, LOG_DATA, "UBX_NAV_STATUS\n");
break;
case UBX_NAV_DOP:
- gpsd_report(&session->context->errout, LOG_PROG, "UBX_NAV_DOP\n");
+ gpsd_log(&session->context->errout, LOG_PROG, "UBX_NAV_DOP\n");
mask = ubx_msg_nav_dop(session, &buf[UBX_PREFIX_LEN], data_len);
break;
case UBX_NAV_SOL:
- gpsd_report(&session->context->errout, LOG_PROG, "UBX_NAV_SOL\n");
+ gpsd_log(&session->context->errout, LOG_PROG, "UBX_NAV_SOL\n");
mask =
ubx_msg_nav_sol(session, &buf[UBX_PREFIX_LEN],
data_len) | (CLEAR_IS | REPORT_IS);
break;
case UBX_NAV_POSUTM:
- gpsd_report(&session->context->errout, LOG_DATA, "UBX_NAV_POSUTM\n");
+ gpsd_log(&session->context->errout, LOG_DATA, "UBX_NAV_POSUTM\n");
break;
case UBX_NAV_VELECEF:
- gpsd_report(&session->context->errout, LOG_DATA, "UBX_NAV_VELECEF\n");
+ gpsd_log(&session->context->errout, LOG_DATA, "UBX_NAV_VELECEF\n");
break;
case UBX_NAV_VELNED:
- gpsd_report(&session->context->errout, LOG_DATA, "UBX_NAV_VELNED\n");
+ gpsd_log(&session->context->errout, LOG_DATA, "UBX_NAV_VELNED\n");
break;
case UBX_NAV_TIMEGPS:
- gpsd_report(&session->context->errout, LOG_PROG, "UBX_NAV_TIMEGPS\n");
+ gpsd_log(&session->context->errout, LOG_PROG, "UBX_NAV_TIMEGPS\n");
mask = ubx_msg_nav_timegps(session, &buf[UBX_PREFIX_LEN], data_len);
break;
case UBX_NAV_TIMEUTC:
- gpsd_report(&session->context->errout, LOG_DATA, "UBX_NAV_TIMEUTC\n");
+ gpsd_log(&session->context->errout, LOG_DATA, "UBX_NAV_TIMEUTC\n");
break;
case UBX_NAV_CLOCK:
- gpsd_report(&session->context->errout, LOG_DATA, "UBX_NAV_CLOCK\n");
+ gpsd_log(&session->context->errout, LOG_DATA, "UBX_NAV_CLOCK\n");
break;
case UBX_NAV_SVINFO:
- gpsd_report(&session->context->errout, LOG_PROG, "UBX_NAV_SVINFO\n");
+ gpsd_log(&session->context->errout, LOG_PROG, "UBX_NAV_SVINFO\n");
mask = ubx_msg_nav_svinfo(session, &buf[UBX_PREFIX_LEN], data_len);
break;
case UBX_NAV_DGPS:
- gpsd_report(&session->context->errout, LOG_DATA, "UBX_NAV_DGPS\n");
+ gpsd_log(&session->context->errout, LOG_DATA, "UBX_NAV_DGPS\n");
break;
case UBX_NAV_SBAS:
- gpsd_report(&session->context->errout, LOG_DATA, "UBX_NAV_SBAS\n");
+ gpsd_log(&session->context->errout, LOG_DATA, "UBX_NAV_SBAS\n");
ubx_msg_sbas(session, &buf[6]);
break;
case UBX_NAV_EKFSTATUS:
- gpsd_report(&session->context->errout, LOG_DATA, "UBX_NAV_EKFSTATUS\n");
+ gpsd_log(&session->context->errout, LOG_DATA, "UBX_NAV_EKFSTATUS\n");
break;
case UBX_RXM_RAW:
- gpsd_report(&session->context->errout, LOG_DATA, "UBX_RXM_RAW\n");
+ gpsd_log(&session->context->errout, LOG_DATA, "UBX_RXM_RAW\n");
break;
case UBX_RXM_SFRB:
mask = ubx_msg_sfrb(session, &buf[UBX_PREFIX_LEN]);
break;
case UBX_RXM_SVSI:
- gpsd_report(&session->context->errout, LOG_PROG, "UBX_RXM_SVSI\n");
+ gpsd_log(&session->context->errout, LOG_PROG, "UBX_RXM_SVSI\n");
break;
case UBX_RXM_ALM:
- gpsd_report(&session->context->errout, LOG_DATA, "UBX_RXM_ALM\n");
+ gpsd_log(&session->context->errout, LOG_DATA, "UBX_RXM_ALM\n");
break;
case UBX_RXM_EPH:
- gpsd_report(&session->context->errout, LOG_DATA, "UBX_RXM_EPH\n");
+ gpsd_log(&session->context->errout, LOG_DATA, "UBX_RXM_EPH\n");
break;
case UBX_RXM_POSREQ:
- gpsd_report(&session->context->errout, LOG_DATA, "UBX_RXM_POSREQ\n");
+ gpsd_log(&session->context->errout, LOG_DATA, "UBX_RXM_POSREQ\n");
break;
case UBX_MON_SCHED:
- gpsd_report(&session->context->errout, LOG_DATA, "UBX_MON_SCHED\n");
+ gpsd_log(&session->context->errout, LOG_DATA, "UBX_MON_SCHED\n");
break;
case UBX_MON_IO:
- gpsd_report(&session->context->errout, LOG_DATA, "UBX_MON_IO\n");
+ gpsd_log(&session->context->errout, LOG_DATA, "UBX_MON_IO\n");
break;
case UBX_MON_IPC:
- gpsd_report(&session->context->errout, LOG_DATA, "UBX_MON_IPC\n");
+ gpsd_log(&session->context->errout, LOG_DATA, "UBX_MON_IPC\n");
break;
case UBX_MON_VER:
- gpsd_report(&session->context->errout, LOG_DATA, "UBX_MON_VER\n");
+ gpsd_log(&session->context->errout, LOG_DATA, "UBX_MON_VER\n");
(void)strlcpy(session->subtype,
(char *)&buf[UBX_MESSAGE_DATA_OFFSET + 0], 30);
break;
case UBX_MON_EXCEPT:
- gpsd_report(&session->context->errout, LOG_DATA, "UBX_MON_EXCEPT\n");
+ gpsd_log(&session->context->errout, LOG_DATA, "UBX_MON_EXCEPT\n");
break;
case UBX_MON_MSGPP:
- gpsd_report(&session->context->errout, LOG_DATA, "UBX_MON_MSGPP\n");
+ gpsd_log(&session->context->errout, LOG_DATA, "UBX_MON_MSGPP\n");
break;
case UBX_MON_RXBUF:
- gpsd_report(&session->context->errout, LOG_DATA, "UBX_MON_RXBUF\n");
+ gpsd_log(&session->context->errout, LOG_DATA, "UBX_MON_RXBUF\n");
break;
case UBX_MON_TXBUF:
- gpsd_report(&session->context->errout, LOG_DATA, "UBX_MON_TXBUF\n");
+ gpsd_log(&session->context->errout, LOG_DATA, "UBX_MON_TXBUF\n");
break;
case UBX_MON_HW:
- gpsd_report(&session->context->errout, LOG_DATA, "UBX_MON_HW\n");
+ gpsd_log(&session->context->errout, LOG_DATA, "UBX_MON_HW\n");
break;
case UBX_MON_USB:
- gpsd_report(&session->context->errout, LOG_DATA, "UBX_MON_USB\n");
+ gpsd_log(&session->context->errout, LOG_DATA, "UBX_MON_USB\n");
break;
case UBX_INF_DEBUG:
@@ -505,40 +506,40 @@ gps_mask_t ubx_parse(struct gps_device_t * session, unsigned char *buf,
case UBX_CFG_PRT:
session->driver.ubx.port_id = (unsigned char)buf[UBX_MESSAGE_DATA_OFFSET + 0];
- gpsd_report(&session->context->errout, LOG_INF, "UBX_CFG_PRT: port %d\n",
- session->driver.ubx.port_id);
+ gpsd_log(&session->context->errout, LOG_INF, "UBX_CFG_PRT: port %d\n",
+ session->driver.ubx.port_id);
break;
case UBX_TIM_TP:
- gpsd_report(&session->context->errout, LOG_DATA, "UBX_TIM_TP\n");
+ gpsd_log(&session->context->errout, LOG_DATA, "UBX_TIM_TP\n");
break;
case UBX_TIM_TM:
- gpsd_report(&session->context->errout, LOG_DATA, "UBX_TIM_TM\n");
+ gpsd_log(&session->context->errout, LOG_DATA, "UBX_TIM_TM\n");
break;
case UBX_TIM_TM2:
- gpsd_report(&session->context->errout, LOG_DATA, "UBX_TIM_TM2\n");
+ gpsd_log(&session->context->errout, LOG_DATA, "UBX_TIM_TM2\n");
break;
case UBX_TIM_SVIN:
- gpsd_report(&session->context->errout, LOG_DATA, "UBX_TIM_SVIN\n");
+ gpsd_log(&session->context->errout, LOG_DATA, "UBX_TIM_SVIN\n");
break;
case UBX_ACK_NAK:
- gpsd_report(&session->context->errout, LOG_DATA,
- "UBX_ACK_NAK, class: %02x, id: %02x\n",
- buf[UBX_CLASS_OFFSET],
- buf[UBX_TYPE_OFFSET]);
+ gpsd_log(&session->context->errout, LOG_DATA,
+ "UBX_ACK_NAK, class: %02x, id: %02x\n",
+ buf[UBX_CLASS_OFFSET],
+ buf[UBX_TYPE_OFFSET]);
break;
case UBX_ACK_ACK:
- gpsd_report(&session->context->errout, LOG_DATA,
- "UBX_ACK_ACK, class: %02x, id: %02x\n",
- buf[UBX_CLASS_OFFSET],
- buf[UBX_TYPE_OFFSET]);
+ gpsd_log(&session->context->errout, LOG_DATA,
+ "UBX_ACK_ACK, class: %02x, id: %02x\n",
+ buf[UBX_CLASS_OFFSET],
+ buf[UBX_TYPE_OFFSET]);
break;
default:
- gpsd_report(&session->context->errout, LOG_WARN,
- "UBX: unknown packet id 0x%04hx (length %zd)\n",
- msgid, len);
+ gpsd_log(&session->context->errout, LOG_WARN,
+ "UBX: unknown packet id 0x%04hx (length %zd)\n",
+ msgid, len);
}
return mask | ONLINE_SET;
@@ -600,10 +601,10 @@ bool ubx_write(struct gps_device_t * session,
/*@ +type @*/
- gpsd_report(&session->context->errout, LOG_PROG,
- "=> GPS: UBX class: %02x, id: %02x, len: %zd, crc: %02x%02x\n",
- msg_class, msg_id, data_len,
- CK_A, CK_B);
+ gpsd_log(&session->context->errout, LOG_PROG,
+ "=> GPS: UBX class: %02x, id: %02x, len: %zd, crc: %02x%02x\n",
+ msg_class, msg_id, data_len,
+ CK_A, CK_B);
count = gpsd_write(session, session->msgbuf, session->msgbuflen);
ok = (count == (ssize_t) session->msgbuflen);
/*@ +nullderef @*/
@@ -638,7 +639,7 @@ static void ubx_event_hook(struct gps_device_t *session, event_t event)
else if (event == event_identified) {
unsigned char msg[32];
- gpsd_report(&session->context->errout, LOG_DATA, "UBX configure\n");
+ gpsd_log(&session->context->errout, LOG_DATA, "UBX configure\n");
/*@ -type @*/
msg[0] = 0x03; /* SBAS mode enabled, accept testbed mode */
@@ -669,7 +670,7 @@ static void ubx_event_hook(struct gps_device_t *session, event_t event)
}; /* reserved */
/*@ +type @*/
- gpsd_report(&session->context->errout, LOG_DATA, "UBX revert\n");
+ gpsd_log(&session->context->errout, LOG_DATA, "UBX revert\n");
/* Reverting all in one fast and reliable reset */
(void)ubx_write(session, 0x06, 0x04, msg, 4); /* CFG-RST */
@@ -956,8 +957,8 @@ static bool ubx_rate(struct gps_device_t *session, double cycletime)
if (cycletime < 200.0)
cycletime = 200.0;
- gpsd_report(&session->context->errout, LOG_DATA,
- "UBX rate change, report every %f secs\n", cycletime);
+ gpsd_log(&session->context->errout, LOG_DATA,
+ "UBX rate change, report every %f secs\n", cycletime);
s = (unsigned short)cycletime;
msg[0] = (unsigned char)(s >> 8);
msg[1] = (unsigned char)(s & 0xff);