summaryrefslogtreecommitdiff
path: root/driver_sirf.c
diff options
context:
space:
mode:
Diffstat (limited to 'driver_sirf.c')
-rw-r--r--driver_sirf.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/driver_sirf.c b/driver_sirf.c
index 8400ddcc..ff495f66 100644
--- a/driver_sirf.c
+++ b/driver_sirf.c
@@ -790,14 +790,12 @@ gps_mask_t sirf_parse(struct gps_device_t *session, unsigned char *buf, size_t l
/* could change if the set of messages we enable does */
session->cycle_end_reliable = true;
- if (buf[0] == (unsigned char)0x02 || buf[0] == (unsigned char)0x62)
- session->cycle_state |= (CYCLE_START | CYCLE_END);
switch (buf[0])
{
case 0x02: /* Measure Navigation Data Out */
if ((session->driver.sirf.driverstate & UBLOX)==0)
- return sirf_msg_navsol(session, buf, len);
+ return sirf_msg_navsol(session, buf, len) | (CLEAR_SET | REPORT_SET);
else {
gpsd_report(LOG_PROG, "MND 0x02 skipped, uBlox flag is on.\n");
return 0;
@@ -936,7 +934,7 @@ gps_mask_t sirf_parse(struct gps_device_t *session, unsigned char *buf, size_t l
case 0x62: /* uBlox Extended Measured Navigation Data */
gpsd_report(LOG_PROG, "uBlox EMND 0x62: %s.\n",
gpsd_hexdump_wrapper(buf, len, LOG_PROG));
- return sirf_msg_ublox(session, buf, len);
+ return sirf_msg_ublox(session, buf, len) | (CLEAR_SET | REPORT_SET);
case 0x80: /* Initialize Data Source */
gpsd_report(LOG_PROG, "INIT 0x80: %s\n",