summaryrefslogtreecommitdiff
path: root/sirf.c
diff options
context:
space:
mode:
authorEric S. Raymond <esr@thyrsus.com>2005-07-26 18:23:34 +0000
committerEric S. Raymond <esr@thyrsus.com>2005-07-26 18:23:34 +0000
commit048413d1813d21c41b256a4e0b94f74d4f4fb4e9 (patch)
tree4a852a30a6ea47a2f6e297179265a4e11393708f /sirf.c
parent34179b414748c7665b8173a9fcad5e843e8ffd9d (diff)
downloadgpsd-048413d1813d21c41b256a4e0b94f74d4f4fb4e9.tar.gz
Support compilers that can't do anonymous unions.
Diffstat (limited to 'sirf.c')
-rw-r--r--sirf.c58
1 files changed, 29 insertions, 29 deletions
diff --git a/sirf.c b/sirf.c
index fc2bd335..9c8a96ef 100644
--- a/sirf.c
+++ b/sirf.c
@@ -166,7 +166,7 @@ gps_mask_t sirf_parse(struct gps_device_t *session, unsigned char *buf, size_t l
memset(session->gpsdata.used,0,sizeof(session->gpsdata.used));
for (i = 0; i < SIRF_CHANNELS; i++)
session->gpsdata.used[i] = (int)getub(buf, 29+i);
- if ((session->sirf.driverstate & (SIRF_GE_232 | UBLOX))==0) {
+ if ((session->driver.sirf.driverstate & (SIRF_GE_232 | UBLOX))==0) {
/* position/velocity is bytes 1-18 */
ecef_to_wgs84fix(&session->gpsdata,
getsl(buf, 1)*1.0, getsl(buf, 5)*1.0, getsl(buf, 9)*1.0,
@@ -193,11 +193,11 @@ gps_mask_t sirf_parse(struct gps_device_t *session, unsigned char *buf, size_t l
= gpstime_to_unix(getsw(buf, 22), getul(buf, 24)*1e-2) - session->context->leap_seconds;
#ifdef NTPSHM_ENABLE
if (session->gpsdata.newdata.mode > MODE_NO_FIX) {
- if ((session->sirf.time_seen & TIME_SEEN_GPS_2) == 0)
+ if ((session->driver.sirf.time_seen & TIME_SEEN_GPS_2) == 0)
gpsd_report(4, "valid time in message 0x02, seen=0x%02x\n",
- session->sirf.time_seen);
- session->sirf.time_seen |= TIME_SEEN_GPS_2;
- if (IS_HIGHEST_BIT(session->sirf.time_seen,TIME_SEEN_GPS_2))
+ session->driver.sirf.time_seen);
+ session->driver.sirf.time_seen |= TIME_SEEN_GPS_2;
+ if (IS_HIGHEST_BIT(session->driver.sirf.time_seen,TIME_SEEN_GPS_2))
(void)ntpshm_put(session, session->gpsdata.newdata.time + 0.8);
}
#endif /* NTPSHM_ENABLE */
@@ -239,11 +239,11 @@ gps_mask_t sirf_parse(struct gps_device_t *session, unsigned char *buf, size_t l
session->gpsdata.satellites = st;
#ifdef NTPSHM_ENABLE
if (st > 3) {
- if ((session->sirf.time_seen & TIME_SEEN_GPS_1)==0)
+ if ((session->driver.sirf.time_seen & TIME_SEEN_GPS_1)==0)
gpsd_report(4, "valid time in message 0x04, seen=0x%02x\n",
- session->sirf.time_seen);
- session->sirf.time_seen |= TIME_SEEN_GPS_1;
- if (IS_HIGHEST_BIT(session->sirf.time_seen,TIME_SEEN_GPS_1))
+ session->driver.sirf.time_seen);
+ session->driver.sirf.time_seen |= TIME_SEEN_GPS_1;
+ if (IS_HIGHEST_BIT(session->driver.sirf.time_seen,TIME_SEEN_GPS_1))
(void)ntpshm_put(session,session->gpsdata.sentence_time+0.8);
}
#endif /* NTPSHM_ENABLE */
@@ -252,7 +252,7 @@ gps_mask_t sirf_parse(struct gps_device_t *session, unsigned char *buf, size_t l
* rate-control command for 04, at least at firmware rev. 231,
* so we have to do our own rate-limiting here...
*/
- if ((session->sirf.satcounter++ % 5) != 0)
+ if ((session->driver.sirf.satcounter++ % 5) != 0)
break;
gpsd_report(4, "MTD 0x04: %d satellites\n", st);
return TIME_SET | SATELLITE_SET;
@@ -264,11 +264,11 @@ gps_mask_t sirf_parse(struct gps_device_t *session, unsigned char *buf, size_t l
gpsd_report(4, "FV 0x06: Firmware version: %s\n", buf+1);
fv = atof((char *)(buf+1));
if (fv < 231) {
- session->sirf.driverstate |= SIRF_LT_231;
+ session->driver.sirf.driverstate |= SIRF_LT_231;
if (fv > 200)
sirfbin_mode(session, 0);
} else if (fv < 232)
- session->sirf.driverstate |= SIRF_EQ_231;
+ session->driver.sirf.driverstate |= SIRF_EQ_231;
else {
/*@ +charint @*/
unsigned char enablemid52[] = {
@@ -278,13 +278,13 @@ gps_mask_t sirf_parse(struct gps_device_t *session, unsigned char *buf, size_t l
/*@ -charint @*/
gpsd_report(4, "Enabling PPS message...\n");
(void)sirf_write(session->gpsdata.gps_fd, enablemid52);
- session->sirf.driverstate |= SIRF_GE_232;
+ session->driver.sirf.driverstate |= SIRF_GE_232;
session->context->valid |= LEAP_SECOND_VALID;
}
if (strstr((char *)(buf+1), "ES"))
gpsd_report(4, "Firmware has XTrac capability\n");
- gpsd_report(4, "Driver state flags are: %0x\n", session->sirf.driverstate);
- session->sirf.time_seen = 0;
+ gpsd_report(4, "Driver state flags are: %0x\n", session->driver.sirf.driverstate);
+ session->driver.sirf.time_seen = 0;
if ((session->context->valid & LEAP_SECOND_VALID)==0) {
gpsd_report(4, "Enabling subframe transmission...\n");
(void)sirf_write(session->gpsdata.gps_fd, enablesubframe);
@@ -368,7 +368,7 @@ gps_mask_t sirf_parse(struct gps_device_t *session, unsigned char *buf, size_t l
case 0x29: /* Geodetic Navigation Information */
mask = 0;
- if (session->sirf.driverstate & SIRF_GE_232) {
+ if (session->driver.sirf.driverstate & SIRF_GE_232) {
struct tm unpacked_date;
double subseconds;
/*
@@ -429,11 +429,11 @@ gps_mask_t sirf_parse(struct gps_device_t *session, unsigned char *buf, size_t l
gpsd_report(5, "MID 41 UTC: %lf\n", session->gpsdata.newdata.time);
#ifdef NTPSHM_ENABLE
if (session->gpsdata.newdata.mode > MODE_NO_FIX && unpacked_date.tm_year != 0) {
- if ((session->sirf.time_seen & TIME_SEEN_UTC_1) == 0)
+ if ((session->driver.sirf.time_seen & TIME_SEEN_UTC_1) == 0)
gpsd_report(4, "valid time in message 0x29, seen=0x%02x\n",
- session->sirf.time_seen);
- session->sirf.time_seen |= TIME_SEEN_UTC_1;
- if (IS_HIGHEST_BIT(session->sirf.time_seen,TIME_SEEN_UTC_1))
+ session->driver.sirf.time_seen);
+ session->driver.sirf.time_seen |= TIME_SEEN_UTC_1;
+ if (IS_HIGHEST_BIT(session->driver.sirf.time_seen,TIME_SEEN_UTC_1))
(void)ntpshm_put(session, session->gpsdata.newdata.time + 0.8);
}
#endif /* NTPSHM_ENABLE */
@@ -497,11 +497,11 @@ gps_mask_t sirf_parse(struct gps_device_t *session, unsigned char *buf, size_t l
session->context->leap_seconds = (int)getuw(buf, 8);
session->context->valid |= LEAP_SECOND_VALID;
#ifdef NTPSHM_ENABLE
- if ((session->sirf.time_seen & TIME_SEEN_UTC_2) == 0)
+ if ((session->driver.sirf.time_seen & TIME_SEEN_UTC_2) == 0)
gpsd_report(4, "valid time in message 0x34, seen=0x%02x\n",
- session->sirf.time_seen);
- session->sirf.time_seen |= TIME_SEEN_UTC_2;
- if (IS_HIGHEST_BIT(session->sirf.time_seen,TIME_SEEN_UTC_2))
+ session->driver.sirf.time_seen);
+ session->driver.sirf.time_seen |= TIME_SEEN_UTC_2;
+ if (IS_HIGHEST_BIT(session->driver.sirf.time_seen,TIME_SEEN_UTC_2))
(void)ntpshm_put(session, session->gpsdata.newdata.time + 0.3);
#endif /* NTPSHM_ENABLE */
mask |= TIME_SET;
@@ -550,11 +550,11 @@ gps_mask_t sirf_parse(struct gps_device_t *session, unsigned char *buf, size_t l
= (double)mkgmtime(&unpacked_date)+subseconds;
/*@ +compdef */
#ifdef NTPSHM_ENABLE
- if ((session->sirf.time_seen & TIME_SEEN_UTC_2) == 0)
+ if ((session->driver.sirf.time_seen & TIME_SEEN_UTC_2) == 0)
gpsd_report(4, "valid time in message 0x62, seen=0x%02x\n",
- session->sirf.time_seen);
- session->sirf.time_seen |= TIME_SEEN_UTC_2;
- if (IS_HIGHEST_BIT(session->sirf.time_seen,TIME_SEEN_UTC_2))
+ session->driver.sirf.time_seen);
+ session->driver.sirf.time_seen |= TIME_SEEN_UTC_2;
+ if (IS_HIGHEST_BIT(session->driver.sirf.time_seen,TIME_SEEN_UTC_2))
(void)ntpshm_put(session, session->gpsdata.newdata.time + 0.8);
#endif /* NTPSHM_ENABLE */
session->context->valid |= LEAP_SECOND_VALID;
@@ -565,7 +565,7 @@ gps_mask_t sirf_parse(struct gps_device_t *session, unsigned char *buf, size_t l
session->gpsdata.hdop = (int)getub(buf, 36) / 5.0;
session->gpsdata.vdop = (int)getub(buf, 37) / 5.0;
session->gpsdata.tdop = (int)getub(buf, 38) / 5.0;
- session->sirf.driverstate |= UBLOX;
+ session->driver.sirf.driverstate |= UBLOX;
return mask;
case 0xff: /* Debug messages */