summaryrefslogtreecommitdiff
path: root/driver_geostar.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_geostar.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_geostar.c')
-rw-r--r--driver_geostar.c247
1 files changed, 124 insertions, 123 deletions
diff --git a/driver_geostar.c b/driver_geostar.c
index 11e9ad78..03df4bc2 100644
--- a/driver_geostar.c
+++ b/driver_geostar.c
@@ -71,8 +71,8 @@ static int geostar_write(struct gps_device_t *session,
session->msgbuflen = len * 4;
- gpsd_report(&session->context->errout, LOG_PROG,
- "Sent GeoStar packet id 0x%x\n", id);
+ gpsd_log(&session->context->errout, LOG_PROG,
+ "Sent GeoStar packet id 0x%x\n", id);
if (gpsd_write(session, session->msgbuf, session->msgbuflen) !=
(ssize_t) session->msgbuflen)
return -1;
@@ -110,8 +110,8 @@ static bool geostar_detect(struct gps_device_t *session)
break;
if (generic_get(session) >= 0) {
if (session->lexer.type == GEOSTAR_PACKET) {
- gpsd_report(&session->context->errout, LOG_RAW,
- "geostar_detect found\n");
+ gpsd_log(&session->context->errout, LOG_RAW,
+ "geostar_detect found\n");
ret = true;
break;
}
@@ -134,9 +134,9 @@ static gps_mask_t geostar_analyze(struct gps_device_t *session)
char buf2[BUFSIZ];
if (session->lexer.type != GEOSTAR_PACKET) {
- gpsd_report(&session->context->errout, LOG_INF,
- "geostar_analyze packet type %d\n",
- session->lexer.type);
+ gpsd_log(&session->context->errout, LOG_INF,
+ "geostar_analyze packet type %d\n",
+ session->lexer.type);
return 0;
}
@@ -159,20 +159,20 @@ static gps_mask_t geostar_analyze(struct gps_device_t *session)
id = (unsigned int)getleu16(session->lexer.outbuffer, OFFSET(0));
- gpsd_report(&session->context->errout, LOG_DATA,
- "GeoStar packet id 0x%02x length %d: %s\n", id, len, buf2);
+ gpsd_log(&session->context->errout, LOG_DATA,
+ "GeoStar packet id 0x%02x length %d: %s\n", id, len, buf2);
session->cycle_end_reliable = true;
switch (id) {
case 0x10:
- gpsd_report(&session->context->errout, LOG_INF, "Raw measurements\n");
+ gpsd_log(&session->context->errout, LOG_INF, "Raw measurements\n");
break;
case 0x11:
- gpsd_report(&session->context->errout, LOG_INF, "GPS sub-frame data\n");
+ gpsd_log(&session->context->errout, LOG_INF, "GPS sub-frame data\n");
break;
case 0x12:
- gpsd_report(&session->context->errout, LOG_INF, "GLONASS sub-frame data\n");
+ gpsd_log(&session->context->errout, LOG_INF, "GLONASS sub-frame data\n");
break;
case 0x13:
d1 = getled64(buf, OFFSET(1));
@@ -180,8 +180,8 @@ static gps_mask_t geostar_analyze(struct gps_device_t *session)
d3 = getled64(buf, OFFSET(5));
d4 = getled64(buf, OFFSET(29)); /* GPS time */
d5 = getled64(buf, OFFSET(31)); /* GLONASS time */
- gpsd_report(&session->context->errout, LOG_INF,
- "ECEF coordinates %g %g %g %f %f\n", d1, d2, d3, d4, d5);
+ gpsd_log(&session->context->errout, LOG_INF,
+ "ECEF coordinates %g %g %g %f %f\n", d1, d2, d3, d4, d5);
break;
case 0x20:
d1 = getled64(buf, OFFSET(1)); /* time */
@@ -213,30 +213,30 @@ static gps_mask_t geostar_analyze(struct gps_device_t *session)
}
mask |= TIME_SET | PPSTIME_IS | LATLON_SET | ALTITUDE_SET | SPEED_SET | TRACK_SET | DOP_SET | USED_IS | REPORT_IS;
- gpsd_report(&session->context->errout, LOG_INF,
- "Geographic coordinates %f %g %g %g %g %g\n",
- d1,
- session->newdata.latitude,
- session->newdata.longitude,
- session->newdata.altitude,
- session->newdata.speed,
- session->newdata.track);
- gpsd_report(&session->context->errout, LOG_INF,
- "Dilution of precision %g %g %g %g %g\n",
- session->gpsdata.dop.gdop,
- session->gpsdata.dop.pdop,
- session->gpsdata.dop.tdop,
- session->gpsdata.dop.hdop,
- session->gpsdata.dop.vdop);
+ gpsd_log(&session->context->errout, LOG_INF,
+ "Geographic coordinates %f %g %g %g %g %g\n",
+ d1,
+ session->newdata.latitude,
+ session->newdata.longitude,
+ session->newdata.altitude,
+ session->newdata.speed,
+ session->newdata.track);
+ gpsd_log(&session->context->errout, LOG_INF,
+ "Dilution of precision %g %g %g %g %g\n",
+ session->gpsdata.dop.gdop,
+ session->gpsdata.dop.pdop,
+ session->gpsdata.dop.tdop,
+ session->gpsdata.dop.hdop,
+ session->gpsdata.dop.vdop);
break;
case 0x21:
ul1 = getleu32(buf, OFFSET(1));
ul2 = getleu32(buf, OFFSET(2));
uw1 = getleu16(buf, OFFSET(3));
uw2 = getleu16(buf, OFFSET(3) + 2);
- gpsd_report(&session->context->errout, LOG_INF,
- "Current receiver telemetry %x %d %d %d\n",
- ul1, ul2, uw1, uw2);
+ gpsd_log(&session->context->errout, LOG_INF,
+ "Current receiver telemetry %x %d %d %d\n",
+ ul1, ul2, uw1, uw2);
if(ul1 & (1<<3)) {
session->newdata.mode = MODE_2D;
}
@@ -255,7 +255,7 @@ static gps_mask_t geostar_analyze(struct gps_device_t *session)
break;
case 0x22:
ul1 = getleu32(buf, OFFSET(1));
- gpsd_report(&session->context->errout, LOG_INF, "SVs in view %d\n", ul1);
+ gpsd_log(&session->context->errout, LOG_INF, "SVs in view %d\n", ul1);
session->gpsdata.satellites_visible = (int)ul1;
if(ul1 > GEOSTAR_CHANNELS) ul1 = GEOSTAR_CHANNELS;
for(i = 0; (uint32_t)i < ul1; i++) {
@@ -264,8 +264,8 @@ static gps_mask_t geostar_analyze(struct gps_device_t *session)
s1 = getles16(buf, OFFSET(3) + i * 3 * 4);
s2 = getles16(buf, OFFSET(3) + 2 + i * 3 * 4);
s3 = getles16(buf, OFFSET(4) + 2 + i * 3 * 4);
- gpsd_report(&session->context->errout, LOG_INF, "ID %d Az %g El %g SNR %g\n",
- decode_channel_id(ul2), s1*0.001*RAD_2_DEG, s2*0.001*RAD_2_DEG, s3*0.1);
+ gpsd_log(&session->context->errout, LOG_INF, "ID %d Az %g El %g SNR %g\n",
+ decode_channel_id(ul2), s1*0.001*RAD_2_DEG, s2*0.001*RAD_2_DEG, s3*0.1);
session->gpsdata.skyview[i].PRN = (short)decode_channel_id(ul2);
session->gpsdata.skyview[i].azimuth = (short)round((double)s1*0.001 * RAD_2_DEG);
session->gpsdata.skyview[i].elevation = (short)round((double)s2*0.001 * RAD_2_DEG);
@@ -279,58 +279,58 @@ static gps_mask_t geostar_analyze(struct gps_device_t *session)
ul1 = getleu32(buf, OFFSET(1));
ul2 = getleu32(buf, OFFSET(2));
ul3 = getleu32(buf, OFFSET(3));
- gpsd_report(&session->context->errout, LOG_INF,
- "Receiver power-up message %d %d %d\n", ul1, ul2, ul3);
+ gpsd_log(&session->context->errout, LOG_INF,
+ "Receiver power-up message %d %d %d\n", ul1, ul2, ul3);
break;
case 0x3f:
ul1 = getleu32(buf, OFFSET(1));
ul2 = getleu32(buf, OFFSET(2));
- gpsd_report(&session->context->errout, LOG_WARN,
- "Negative acknowledge %x %d\n", ul1, ul2);
+ gpsd_log(&session->context->errout, LOG_WARN,
+ "Negative acknowledge %x %d\n", ul1, ul2);
break;
case 0x40:
- gpsd_report(&session->context->errout, LOG_INF,
- "Response to Set initial parameters\n");
+ gpsd_log(&session->context->errout, LOG_INF,
+ "Response to Set initial parameters\n");
break;
case 0x41:
- gpsd_report(&session->context->errout, LOG_INF,
- "Response to Set serial ports parameters\n");
+ gpsd_log(&session->context->errout, LOG_INF,
+ "Response to Set serial ports parameters\n");
break;
case 0x42:
ul1 = getleu32(buf, OFFSET(1));
ul2 = getleu32(buf, OFFSET(2));
ul3 = getleu32(buf, OFFSET(3));
- gpsd_report(&session->context->errout, LOG_INF,
- "Response to Set receiver operation mode %d %d %d\n",
- ul1, ul2, ul3);
+ gpsd_log(&session->context->errout, LOG_INF,
+ "Response to Set receiver operation mode %d %d %d\n",
+ ul1, ul2, ul3);
break;
case 0x43:
- gpsd_report(&session->context->errout, LOG_INF,
- "Response to Set navigation task solution parameters\n");
+ gpsd_log(&session->context->errout, LOG_INF,
+ "Response to Set navigation task solution parameters\n");
break;
case 0x44:
- gpsd_report(&session->context->errout, LOG_INF,
- "Response to Set output data rate\n");
+ gpsd_log(&session->context->errout, LOG_INF,
+ "Response to Set output data rate\n");
break;
case 0x46:
- gpsd_report(&session->context->errout, LOG_INF,
- "Response to Assign data protocol to communication port\n");
+ gpsd_log(&session->context->errout, LOG_INF,
+ "Response to Assign data protocol to communication port\n");
break;
case 0x48:
- gpsd_report(&session->context->errout, LOG_INF,
- "Response to Set GPS almanac\n");
+ gpsd_log(&session->context->errout, LOG_INF,
+ "Response to Set GPS almanac\n");
break;
case 0x49:
- gpsd_report(&session->context->errout, LOG_INF,
- "Response to Set GLONASS almanac\n");
+ gpsd_log(&session->context->errout, LOG_INF,
+ "Response to Set GLONASS almanac\n");
break;
case 0x4a:
- gpsd_report(&session->context->errout, LOG_INF,
- "Response to Set GPS ephemeris\n");
+ gpsd_log(&session->context->errout, LOG_INF,
+ "Response to Set GPS ephemeris\n");
break;
case 0x4b:
- gpsd_report(&session->context->errout, LOG_INF,
- "Response to Set GLONASS ephemeris\n");
+ gpsd_log(&session->context->errout, LOG_INF,
+ "Response to Set GLONASS ephemeris\n");
break;
case 0x4c:
ul1 = getleu32(buf, OFFSET(1));
@@ -338,76 +338,76 @@ static gps_mask_t geostar_analyze(struct gps_device_t *session)
ul3 = getleu32(buf, OFFSET(3));
ul4 = getleu32(buf, OFFSET(4));
ul5 = getleu32(buf, OFFSET(5));
- gpsd_report(&session->context->errout, LOG_INF,
- "Response to Set PPS parameters %d %d %d %d %d\n",
- ul1, ul2, ul3, ul4, ul5);
+ gpsd_log(&session->context->errout, LOG_INF,
+ "Response to Set PPS parameters %d %d %d %d %d\n",
+ ul1, ul2, ul3, ul4, ul5);
break;
case 0x4d:
- gpsd_report(&session->context->errout, LOG_INF,
- "Response to Enable/disable SV in position fix\n");
+ gpsd_log(&session->context->errout, LOG_INF,
+ "Response to Enable/disable SV in position fix\n");
break;
case 0x4e:
- gpsd_report(&session->context->errout, LOG_INF,
- "Response to Enable/disable NMEA messages\n");
+ gpsd_log(&session->context->errout, LOG_INF,
+ "Response to Enable/disable NMEA messages\n");
break;
case 0x4f:
ul1 = getleu32(buf, OFFSET(1));
ul2 = getleu32(buf, OFFSET(2));
- gpsd_report(&session->context->errout, LOG_INF,
- "Response to Enable/disable binary messages %x %x\n",
- ul1, ul2);
+ gpsd_log(&session->context->errout, LOG_INF,
+ "Response to Enable/disable binary messages %x %x\n",
+ ul1, ul2);
break;
case 0x80:
- gpsd_report(&session->context->errout, LOG_INF,
- "Response to Query initial parameters\n");
+ gpsd_log(&session->context->errout, LOG_INF,
+ "Response to Query initial parameters\n");
break;
case 0x81:
- gpsd_report(&session->context->errout, LOG_INF,
- "Response to Query serial ports parameters\n");
+ gpsd_log(&session->context->errout, LOG_INF,
+ "Response to Query serial ports parameters\n");
break;
case 0x82:
ul1 = getleu32(buf, OFFSET(1));
ul2 = getleu32(buf, OFFSET(2));
ul3 = getleu32(buf, OFFSET(3));
- gpsd_report(&session->context->errout, LOG_INF,
- "Response to Query receiver operation mode %d %d %d\n",
- ul1, ul2, ul3);
+ gpsd_log(&session->context->errout, LOG_INF,
+ "Response to Query receiver operation mode %d %d %d\n",
+ ul1, ul2, ul3);
break;
case 0x83:
- gpsd_report(&session->context->errout, LOG_INF,
- "Response to Query navigation task solution parameters\n");
+ gpsd_log(&session->context->errout, LOG_INF,
+ "Response to Query navigation task solution parameters\n");
break;
case 0x84:
- gpsd_report(&session->context->errout, LOG_INF,
- "Response to Query output data rate\n");
+ gpsd_log(&session->context->errout, LOG_INF,
+ "Response to Query output data rate\n");
break;
case 0x86:
session->driver.geostar.physical_port = (unsigned int)getleu32(buf, OFFSET(1));
- gpsd_report(&session->context->errout, LOG_INF,
- "Response to Query data protocol assignment to communication port\n");
- gpsd_report(&session->context->errout, LOG_INF,
- "Connected to physical port %d\n",
- session->driver.geostar.physical_port);
+ gpsd_log(&session->context->errout, LOG_INF,
+ "Response to Query data protocol assignment to communication port\n");
+ gpsd_log(&session->context->errout, LOG_INF,
+ "Connected to physical port %d\n",
+ session->driver.geostar.physical_port);
break;
case 0x88:
- gpsd_report(&session->context->errout, LOG_INF,
- "Response to Query GPS almanac\n");
+ gpsd_log(&session->context->errout, LOG_INF,
+ "Response to Query GPS almanac\n");
break;
case 0x89:
- gpsd_report(&session->context->errout, LOG_INF,
- "Response to Query GLONASS almanac\n");
+ gpsd_log(&session->context->errout, LOG_INF,
+ "Response to Query GLONASS almanac\n");
break;
case 0x8a:
- gpsd_report(&session->context->errout, LOG_INF,
- "Response to Query GPS ephemerides\n");
+ gpsd_log(&session->context->errout, LOG_INF,
+ "Response to Query GPS ephemerides\n");
break;
case 0x8b:
d1 = getled64(buf, OFFSET(23));
d2 = getled64(buf, OFFSET(25));
d3 = getled64(buf, OFFSET(27));
- gpsd_report(&session->context->errout, LOG_INF,
- "Response to Query GLONASS ephemerides %g %g %g\n",
- d1, d2, d3);
+ gpsd_log(&session->context->errout, LOG_INF,
+ "Response to Query GLONASS ephemerides %g %g %g\n",
+ d1, d2, d3);
break;
case 0x8c:
ul1 = getleu32(buf, OFFSET(1));
@@ -415,28 +415,28 @@ static gps_mask_t geostar_analyze(struct gps_device_t *session)
ul3 = getleu32(buf, OFFSET(3));
ul4 = getleu32(buf, OFFSET(4));
ul5 = getleu32(buf, OFFSET(5));
- gpsd_report(&session->context->errout, LOG_INF,
- "Response to Query PPS parameters %d %d %d %d %d\n",
- ul1, ul2, ul3, ul4, ul5);
+ gpsd_log(&session->context->errout, LOG_INF,
+ "Response to Query PPS parameters %d %d %d %d %d\n",
+ ul1, ul2, ul3, ul4, ul5);
break;
case 0x8d:
- gpsd_report(&session->context->errout, LOG_INF,
- "Response to Query enable/disable status of the SV in position fix\n");
+ gpsd_log(&session->context->errout, LOG_INF,
+ "Response to Query enable/disable status of the SV in position fix\n");
break;
case 0x8e:
- gpsd_report(&session->context->errout, LOG_INF,
- "Response to Query enable NMEA messages\n");
+ gpsd_log(&session->context->errout, LOG_INF,
+ "Response to Query enable NMEA messages\n");
break;
case 0x8f:
ul1 = getleu32(buf, OFFSET(1));
ul2 = getleu32(buf, OFFSET(2));
- gpsd_report(&session->context->errout, LOG_INF,
- "Response to Query enable binary messages %x %x\n",
- ul1, ul2);
+ gpsd_log(&session->context->errout, LOG_INF,
+ "Response to Query enable binary messages %x %x\n",
+ ul1, ul2);
break;
case 0xc0:
- gpsd_report(&session->context->errout, LOG_INF,
- "Response to Change operation mode command\n");
+ gpsd_log(&session->context->errout, LOG_INF,
+ "Response to Change operation mode command\n");
break;
case 0xc1:
ul4 = getleu32(buf, OFFSET(1));
@@ -447,34 +447,34 @@ static gps_mask_t geostar_analyze(struct gps_device_t *session)
(void)snprintf(session->subtype, sizeof(session->subtype), "%d.%d %d.%d.%d %x %c-%d\n",
ul4>>16, ul4&0xFFFF, ul1>>9, (ul1>>5)&0xF, ul1&0x1F, ul2, ul3>>24, ul3&0x00FFFFFF);
/*@ +formattype @*/
- gpsd_report(&session->context->errout, LOG_INF,
- "Response to Request FW version command: %s\n",
- session->subtype);
+ gpsd_log(&session->context->errout, LOG_INF,
+ "Response to Request FW version command: %s\n",
+ session->subtype);
mask |= DEVICEID_SET;
break;
case 0xc2:
- gpsd_report(&session->context->errout, LOG_INF,
- "Response to Restart receiver command\n");
+ gpsd_log(&session->context->errout, LOG_INF,
+ "Response to Restart receiver command\n");
break;
case 0xc3:
- gpsd_report(&session->context->errout, LOG_INF,
- "Response to Store parameters to Flash command\n");
+ gpsd_log(&session->context->errout, LOG_INF,
+ "Response to Store parameters to Flash command\n");
break;
case 0xd0:
- gpsd_report(&session->context->errout, LOG_INF,
- "Response to Erase Flash sector command\n");
+ gpsd_log(&session->context->errout, LOG_INF,
+ "Response to Erase Flash sector command\n");
break;
case 0xd1:
- gpsd_report(&session->context->errout, LOG_INF,
- "Response to Write data to Flash command\n");
+ gpsd_log(&session->context->errout, LOG_INF,
+ "Response to Write data to Flash command\n");
break;
case 0xd2:
- gpsd_report(&session->context->errout, LOG_INF,
- "Response to Store Serial Number command\n");
+ gpsd_log(&session->context->errout, LOG_INF,
+ "Response to Store Serial Number command\n");
break;
default:
- gpsd_report(&session->context->errout, LOG_WARN,
- "Unhandled GeoStar packet type 0x%02x\n", id);
+ gpsd_log(&session->context->errout, LOG_WARN,
+ "Unhandled GeoStar packet type 0x%02x\n", id);
break;
}
@@ -600,7 +600,8 @@ static void geostar_mode(struct gps_device_t *session, int mode)
/* Switch to binary mode */
(void)nmea_send(session, "$GPSGG,SWPROT");
} else {
- gpsd_report(&session->context->errout, LOG_ERROR, "unknown mode %i requested\n", mode);
+ gpsd_log(&session->context->errout, LOG_ERROR,
+ "unknown mode %i requested\n", mode);
}
/*@+shiftimplementation@*/
}