summaryrefslogtreecommitdiff
path: root/driver_sirf.c
diff options
context:
space:
mode:
authorGary E. Miller <gem@rellim.com>2019-01-24 16:07:04 -0800
committerGary E. Miller <gem@rellim.com>2019-01-24 16:07:04 -0800
commitaa40e12a01de0d558e85254f5467fd546185ff3c (patch)
tree11398dfebb9bd7de76707016f0453ab5baf2911b /driver_sirf.c
parent77b3d4f09d7f51d6a22868a87ce5774fea5fccb4 (diff)
downloadgpsd-aa40e12a01de0d558e85254f5467fd546185ff3c.tar.gz
driver_sirf: Reformat bin<->nmea code. Note it is broken.
Diffstat (limited to 'driver_sirf.c')
-rw-r--r--driver_sirf.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/driver_sirf.c b/driver_sirf.c
index 7d343bed..1c9f65e9 100644
--- a/driver_sirf.c
+++ b/driver_sirf.c
@@ -353,8 +353,9 @@ static bool sirfbin_speed(struct gps_device_t *session, speed_t speed, char pari
return (sirf_write(session, msg));
}
-static bool sirf_to_nmea(struct gps_device_t *session, speed_t speed)
/* switch from binary to NMEA at specified baud */
+/* FIXME: does not seem to work... */
+static bool sirf_to_nmea(struct gps_device_t *session, speed_t speed)
{
static unsigned char msg[] = { 0xa0, 0xa2, 0x00, 0x18,
0x81, 0x02,
@@ -375,14 +376,15 @@ static bool sirf_to_nmea(struct gps_device_t *session, speed_t speed)
if (speed >= 0xffff) {
gpsd_log(&session->context->errout, LOG_ERROR,
- "SiRF: can't switch from SiRF to NMEA because current speed %u is big.",
- (unsigned int)speed);
+ "SiRF: can't switch from SiRF to NMEA because "
+ " current speed %u is big.",
+ (unsigned int)speed);
return false;
}
msg[26] = (unsigned char)HI(speed);
msg[27] = (unsigned char)LO(speed);
- return (sirf_write(session, msg));
+ return sirf_write(session, msg);
}
static void sirfbin_mode(struct gps_device_t *session, int mode)
@@ -411,6 +413,8 @@ static void sirfbin_mode(struct gps_device_t *session, int mode)
session->gpsdata.dev.baudrate,
9 - session->gpsdata.dev.stopbits,
session->gpsdata.dev.stopbits, parity);
+ /* reset binary init steps */
+ session->driver.sirf.cfg_stage = 0;
}
session->back_to_nmea = false;
}