summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cgps.c6
-rw-r--r--driver_evermore.c15
-rw-r--r--driver_garmin.c4
-rw-r--r--driver_italk.c4
-rw-r--r--driver_navcom.c4
-rw-r--r--driver_nmea.c26
-rw-r--r--driver_oncore.c6
-rw-r--r--driver_sirf.c2
-rw-r--r--driver_superstar2.c2
-rw-r--r--driver_tsip.c6
-rw-r--r--driver_ubx.c2
-rw-r--r--driver_zodiac.c4
-rw-r--r--gps.h2
-rw-r--r--gpsd.c10
-rw-r--r--gpsd_json.c6
-rw-r--r--libgps.c12
-rw-r--r--libgps_json.c2
-rw-r--r--libgpsd_core.c4
-rw-r--r--monitor_nmea.c2
-rw-r--r--pseudonmea.c10
-rw-r--r--www/protocol-transition.txt4
-rw-r--r--xgps.c8
22 files changed, 73 insertions, 68 deletions
diff --git a/cgps.c b/cgps.c
index 011ce149..40014235 100644
--- a/cgps.c
+++ b/cgps.c
@@ -470,10 +470,10 @@ static void update_gps_panel(struct gps_data_t *gpsdata,
xgps.c. Note that the satellite list may be truncated based on
available screen size, or may only show satellites used for the
fix. */
- if (gpsdata->satellites!=0) {
+ if (gpsdata->satellites_visible!=0) {
if (display_sats >= MAX_POSSIBLE_SATS) {
for (i = 0; i < MAX_POSSIBLE_SATS; i++) {
- if (i < gpsdata->satellites) {
+ if (i < gpsdata->satellites_visible) {
(void)snprintf(scr, sizeof(scr),
" %3d %02d %03d %02d %c",
gpsdata->PRN[i],
@@ -488,7 +488,7 @@ static void update_gps_panel(struct gps_data_t *gpsdata,
n=0;
for (i = 0; i < MAX_POSSIBLE_SATS; i++) {
if (n < display_sats) {
- if ((i < gpsdata->satellites) && ((gpsdata->used[i]!=0) || (gpsdata->satellites <= display_sats))) {
+ if ((i < gpsdata->satellites_visible) && ((gpsdata->used[i]!=0) || (gpsdata->satellites_visible <= display_sats))) {
(void)snprintf(scr, sizeof(scr),
" %3d %02d %03d %02d %c",
gpsdata->PRN[i],
diff --git a/driver_evermore.c b/driver_evermore.c
index 240e2050..79fb4e64 100644
--- a/driver_evermore.c
+++ b/driver_evermore.c
@@ -267,16 +267,17 @@ gps_mask_t evermore_parse(struct gps_device_t *session, unsigned char *buf, size
case 0x06: /* Channel Status Output */
session->gpsdata.fix.time = session->gpsdata.sentence_time
= gpstime_to_unix((int)getleuw(buf2, 2), getleul(buf2, 4)*0.01) - session->context->leap_seconds;
- session->gpsdata.satellites = (int)getub(buf2, 8);
+ session->gpsdata.satellites_visible = (int)getub(buf2, 8);
session->gpsdata.satellites_used = 0;
memset(session->gpsdata.used, 0, sizeof(session->gpsdata.used));
- if (session->gpsdata.satellites > 12) {
+ if (session->gpsdata.satellites_visible > 12) {
gpsd_report(LOG_WARN, "Warning: EverMore packet has information about %d satellites!\n",
- session->gpsdata.satellites);
+ session->gpsdata.satellites_visible);
}
- if (session->gpsdata.satellites > EVERMORE_CHANNELS) session->gpsdata.satellites = EVERMORE_CHANNELS;
+ if (session->gpsdata.satellites_visible > EVERMORE_CHANNELS)
+ session->gpsdata.satellites_visible = EVERMORE_CHANNELS;
satcnt = 0;
- for (i = 0; i < (size_t)session->gpsdata.satellites; i++) {
+ for (i = 0; i < (size_t)session->gpsdata.satellites_visible; i++) {
int prn;
// channel = getub(buf2, 7*i+7+2)
prn = (int)getub(buf2, 7*i+7+3);
@@ -301,13 +302,13 @@ gps_mask_t evermore_parse(struct gps_device_t *session, unsigned char *buf, size
satcnt++;
}
- session->gpsdata.satellites = (int)satcnt;
+ session->gpsdata.satellites_visible = (int)satcnt;
/* that's all the information in this packet */
mask = TIME_SET | SATELLITE_SET | USED_SET;
gpsd_report(LOG_DATA, "CSO 0x06: time=%.2f used=%d reported=%d mask=TIME|SATELLITE|USED\n",
session->gpsdata.fix.time,
session->gpsdata.satellites_used,
- session->gpsdata.satellites);
+ session->gpsdata.satellites_visible);
return mask;
case 0x08: /* Measurement Data Output */
diff --git a/driver_garmin.c b/driver_garmin.c
index de5dfe34..6259100e 100644
--- a/driver_garmin.c
+++ b/driver_garmin.c
@@ -552,7 +552,7 @@ gps_mask_t PrintSERPacket(struct gps_device_t *session, unsigned char pkt_id
session->gpsdata.used[session->gpsdata.satellites_used++]
= (int)sats->svid;
}
- session->gpsdata.satellites++;
+ session->gpsdata.satellites_visible++;
j++;
}
@@ -560,7 +560,7 @@ gps_mask_t PrintSERPacket(struct gps_device_t *session, unsigned char pkt_id
// FIXME: should dump skyview here as well
gpsd_report(LOG_DATA,
"SAT_DATA: reported=%d used=%d mask=%s\n",
- session->gpsdata.satellites,
+ session->gpsdata.satellites_visible,
session->gpsdata.satellites_used,
gpsd_maskdump(mask));
break;
diff --git a/driver_italk.c b/driver_italk.c
index 2ade35a1..919037ee 100644
--- a/driver_italk.c
+++ b/driver_italk.c
@@ -158,7 +158,7 @@ static gps_mask_t decode_itk_prnstatus(struct gps_device_t *session, unsigned ch
session->gpsdata.used[nsv++] = session->gpsdata.PRN[i];
}
}
- session->gpsdata.satellites = (int)st;
+ session->gpsdata.satellites_visible = (int)st;
session->gpsdata.satellites_used = (int)nsv;
mask = USED_SET | SATELLITE_SET | TIME_SET;;
@@ -166,7 +166,7 @@ static gps_mask_t decode_itk_prnstatus(struct gps_device_t *session, unsigned ch
gpsd_report(LOG_DATA,
"PRN_STATUS: time=%.2f reported%d used=%d mask=USED|SATELLITE|TIME\n",
session->gpsdata.fix.time,
- session->gpsdata.satellites,
+ session->gpsdata.satellites_visible,
session->gpsdata.satellites_used);
}
diff --git a/driver_navcom.c b/driver_navcom.c
index a2880719..8a0ebba9 100644
--- a/driver_navcom.c
+++ b/driver_navcom.c
@@ -723,7 +723,7 @@ static gps_mask_t handle_0x86(struct gps_device_t *session)
//session->gpsdata.dop.pdop = (int)pdop / 10.0;
/* Satellite count */
- session->gpsdata.satellites = (int)sats_visible;
+ session->gpsdata.satellites_visible = (int)sats_visible;
session->gpsdata.satellites_used = (int)sats_used;
/* Fix mode */
@@ -793,7 +793,7 @@ static gps_mask_t handle_0x86(struct gps_device_t *session)
gpsd_report(LOG_DATA,
"CS 0x86: reported=%d, used=%d, mask=SATELLITE|STATUS\n",
- session->gpsdata.satellites, session->gpsdata.satellites_used);
+ session->gpsdata.satellites_visible, session->gpsdata.satellites_used);
return SATELLITE_SET | STATUS_SET;
}
diff --git a/driver_nmea.c b/driver_nmea.c
index 370258fc..286ac2a6 100644
--- a/driver_nmea.c
+++ b/driver_nmea.c
@@ -446,13 +446,13 @@ static gps_mask_t processGPGSV(int count, char *field[], struct gps_device_t *se
int n, fldnum;
if (count <= 3) {
gpsd_zero_satellites(&session->gpsdata);
- session->gpsdata.satellites = 0;
+ session->gpsdata.satellites_visible = 0;
return ERROR_SET;
}
if (count % 4 != 0){
gpsd_report(LOG_WARN, "malformed GPGSV - fieldcount %d %% 4 != 0\n", count);
gpsd_zero_satellites(&session->gpsdata);
- session->gpsdata.satellites = 0;
+ session->gpsdata.satellites_visible = 0;
return ERROR_SET;
}
@@ -464,27 +464,27 @@ static gps_mask_t processGPGSV(int count, char *field[], struct gps_device_t *se
gpsd_zero_satellites(&session->gpsdata);
for (fldnum = 4; fldnum < count; ) {
- if (session->gpsdata.satellites >= MAXCHANNELS) {
+ if (session->gpsdata.satellites_visible >= MAXCHANNELS) {
gpsd_report(LOG_ERROR, "internal error - too many satellites!\n");
gpsd_zero_satellites(&session->gpsdata);
break;
}
- session->gpsdata.PRN[session->gpsdata.satellites] = atoi(field[fldnum++]);
- session->gpsdata.elevation[session->gpsdata.satellites] = atoi(field[fldnum++]);
- session->gpsdata.azimuth[session->gpsdata.satellites] = atoi(field[fldnum++]);
- session->gpsdata.ss[session->gpsdata.satellites] = (float)atoi(field[fldnum++]);
+ session->gpsdata.PRN[session->gpsdata.satellites_visible] = atoi(field[fldnum++]);
+ session->gpsdata.elevation[session->gpsdata.satellites_visible] = atoi(field[fldnum++]);
+ session->gpsdata.azimuth[session->gpsdata.satellites_visible] = atoi(field[fldnum++]);
+ session->gpsdata.ss[session->gpsdata.satellites_visible] = (float)atoi(field[fldnum++]);
/*
* Incrementing this unconditionally falls afoul of chipsets like
* the Motorola Oncore GT+ that emit empty fields at the end of the
* last sentence in a GPGSV set if the number of satellites is not
* a multiple of 4.
*/
- if (session->gpsdata.PRN[session->gpsdata.satellites] != 0)
- session->gpsdata.satellites++;
+ if (session->gpsdata.PRN[session->gpsdata.satellites_visible] != 0)
+ session->gpsdata.satellites_visible++;
}
- if (session->driver.nmea.part == session->driver.nmea.await && atoi(field[3]) != session->gpsdata.satellites)
+ if (session->driver.nmea.part == session->driver.nmea.await && atoi(field[3]) != session->gpsdata.satellites_visible)
gpsd_report(LOG_WARN, "GPGSV field 3 value of %d != actual count %d\n",
- atoi(field[3]), session->gpsdata.satellites);
+ atoi(field[3]), session->gpsdata.satellites_visible);
/* not valid data until we've seen a complete set of parts */
if (session->driver.nmea.part < session->driver.nmea.await) {
@@ -500,7 +500,7 @@ static gps_mask_t processGPGSV(int count, char *field[], struct gps_device_t *se
* elevations). This behavior was observed under SiRF firmware
* revision 231.000.000_A2.
*/
- for (n = 0; n < session->gpsdata.satellites; n++)
+ for (n = 0; n < session->gpsdata.satellites_visible; n++)
if (session->gpsdata.azimuth[n] != 0)
goto sane;
gpsd_report(LOG_WARN, "Satellite data no good (%d of %d).\n",
@@ -801,7 +801,7 @@ static gps_mask_t processPASHR(int c UNUSED, char *field[], struct gps_device_t
}
} else if (0 == strcmp("SAT", field[1])){ /* Satellite Status */
int i, n, p, u;
- n = session->gpsdata.satellites = atoi(field[2]);
+ n = session->gpsdata.satellites_visible = atoi(field[2]);
u = 0;
for (i = 0; i < n; i++){
session->gpsdata.PRN[i] = p = atoi(field[3+i*5+0]);
diff --git a/driver_oncore.c b/driver_oncore.c
index f9d00acf..dd7577cc 100644
--- a/driver_oncore.c
+++ b/driver_oncore.c
@@ -185,7 +185,7 @@ oncore_msg_navsol(struct gps_device_t *session, unsigned char *buf, size_t data_
}
/*@ +boolops @*/
session->gpsdata.satellites_used = (int)nsv;
- session->gpsdata.satellites = (int)st;
+ session->gpsdata.satellites_visible = (int)st;
mask |= SATELLITE_SET | USED_SET;
@@ -206,7 +206,7 @@ oncore_msg_navsol(struct gps_device_t *session, unsigned char *buf, size_t data_
session->gpsdata.fix.mode,
session->gpsdata.status,
session->gpsdata.satellites_used,
- session->gpsdata.satellites,
+ session->gpsdata.satellites_visible,
gpsd_maskdump(mask));
return mask;
}
@@ -268,7 +268,7 @@ oncore_msg_svinfo(struct gps_device_t *session, unsigned char *buf, size_t data_
session->driver.oncore.elevation[i] = el;
session->driver.oncore.azimuth[i] = az;
/* If it has an entry in the satellite list, update it! */
- for (j = 0; j < session->gpsdata.satellites; j++)
+ for (j = 0; j < session->gpsdata.satellites_visible; j++)
if (session->gpsdata.PRN[j] == sv) {
session->gpsdata.elevation[j] = el;
session->gpsdata.azimuth[j] = az;
diff --git a/driver_sirf.c b/driver_sirf.c
index 3bf356d1..af2df68e 100644
--- a/driver_sirf.c
+++ b/driver_sirf.c
@@ -395,7 +395,7 @@ static gps_mask_t sirf_msg_svinfo(struct gps_device_t *session, unsigned char *b
if (good!=0)
st += 1;
}
- session->gpsdata.satellites = st;
+ session->gpsdata.satellites_visible = st;
#ifdef NTPSHM_ENABLE
if (st > 3) {
if ((session->driver.sirf.time_seen & TIME_SEEN_GPS_1)==0)
diff --git a/driver_superstar2.c b/driver_superstar2.c
index 1cc7d638..1dadde13 100644
--- a/driver_superstar2.c
+++ b/driver_superstar2.c
@@ -272,7 +272,7 @@ superstar2_msg_svinfo(struct gps_device_t *session,
st++;
}
session->gpsdata.satellites_used = nsv;
- session->gpsdata.satellites = st;
+ session->gpsdata.satellites_visible = st;
return SATELLITE_SET | USED_SET | ONLINE_SET;
}
diff --git a/driver_tsip.c b/driver_tsip.c
index 41220963..8544e02b 100644
--- a/driver_tsip.c
+++ b/driver_tsip.c
@@ -341,10 +341,10 @@ static gps_mask_t tsip_analyze(struct gps_device_t *session)
= session->gpsdata.azimuth[i] = 0;
session->gpsdata.ss[i] = 0.0;
}
- if (++i == session->gpsdata.satellites)
+ if (++i == session->gpsdata.satellites_visible)
mask |= SATELLITE_SET; /* last of the series */
- if (i > session->gpsdata.satellites)
- session->gpsdata.satellites = i;
+ if (i > session->gpsdata.satellites_visible)
+ session->gpsdata.satellites_visible = i;
}
break;
case 0x6d: /* All-In-View Satellite Selection */
diff --git a/driver_ubx.c b/driver_ubx.c
index c5b808d2..19f9559b 100644
--- a/driver_ubx.c
+++ b/driver_ubx.c
@@ -209,7 +209,7 @@ ubx_msg_nav_svinfo(struct gps_device_t *session, unsigned char *buf, size_t data
/*@ +predboolothers */
j++;
}
- session->gpsdata.satellites = (int)st;
+ session->gpsdata.satellites_visible = (int)st;
session->gpsdata.satellites_used = (int)nsv;
return SATELLITE_SET | USED_SET;
}
diff --git a/driver_zodiac.c b/driver_zodiac.c
index f7c45b99..20d14df0 100644
--- a/driver_zodiac.c
+++ b/driver_zodiac.c
@@ -283,10 +283,10 @@ static gps_mask_t handle1003(struct gps_device_t *session)
session->gpsdata.dop.hdop = (unsigned int)getzword(11) * 1e-2;
session->gpsdata.dop.vdop = (unsigned int)getzword(12) * 1e-2;
session->gpsdata.dop.tdop = (unsigned int)getzword(13) * 1e-2;
- session->gpsdata.satellites = n;
+ session->gpsdata.satellites_visible = n;
for (i = 0; i < ZODIAC_CHANNELS; i++) {
- if (i < session->gpsdata.satellites) {
+ if (i < session->gpsdata.satellites_visible) {
session->gpsdata.PRN[i] = (int)getzword(15 + (3 * i));
session->gpsdata.azimuth[i] = (int)(((short)getzword(16 + (3 * i))) * RAD_2_DEG * 1e-4);
if (session->gpsdata.azimuth[i] < 0)
diff --git a/gps.h b/gps.h
index 47d10048..e8d457bc 100644
--- a/gps.h
+++ b/gps.h
@@ -936,7 +936,7 @@ struct gps_data_t {
double epe; /* spherical position error, 95% confidence (meters) */
/* satellite status -- valid when satellites > 0 */
- int satellites; /* # of satellites in view */
+ int satellites_visible; /* # of satellites in view */
int PRN[MAXCHANNELS]; /* PRNs of satellite */
int elevation[MAXCHANNELS]; /* elevation of satellite */
int azimuth[MAXCHANNELS]; /* azimuth */
diff --git a/gpsd.c b/gpsd.c
index f5f76f43..6effaab6 100644
--- a/gpsd.c
+++ b/gpsd.c
@@ -1470,7 +1470,7 @@ static bool handle_oldstyle(struct subscriber_t *sub, char *buf,
(void)strlcpy(phrase, ",X=?", sizeof(phrase));
break;
case 'Y':
- if ((channel=mandatory_assign_channel(sub, GPS, NULL))!= NULL && channel->device->gpsdata.satellites > 0) {
+ if ((channel=mandatory_assign_channel(sub, GPS, NULL))!= NULL && channel->device->gpsdata.satellites_visible > 0) {
int used, reported = 0;
(void)strlcpy(phrase, ",Y=", sizeof(phrase));
if (channel->device->gpsdata.tag[0] != '\0')
@@ -1485,13 +1485,13 @@ static bool handle_oldstyle(struct subscriber_t *sub, char *buf,
else
(void)strlcat(phrase, " ? ", sizeof(phrase));
/* insurance against flaky drivers */
- for (i = 0; i < channel->device->gpsdata.satellites; i++)
+ for (i = 0; i < channel->device->gpsdata.satellites_visible; i++)
if (channel->device->gpsdata.PRN[i])
reported++;
(void)snprintf(phrase+strlen(phrase),
sizeof(phrase)-strlen(phrase),
"%d:", reported);
- for (i = 0; i < channel->device->gpsdata.satellites; i++) {
+ for (i = 0; i < channel->device->gpsdata.satellites_visible; i++) {
used = 0;
for (j = 0; j < channel->device->gpsdata.satellites_used; j++)
if (channel->device->gpsdata.used[j] == channel->device->gpsdata.PRN[i]) {
@@ -1508,9 +1508,9 @@ static bool handle_oldstyle(struct subscriber_t *sub, char *buf,
used);
}
}
- if (channel->device->gpsdata.satellites != reported)
+ if (channel->device->gpsdata.satellites_visible != reported)
gpsd_report(LOG_WARN,"Satellite count %d != PRN count %d\n",
- channel->device->gpsdata.satellites, reported);
+ channel->device->gpsdata.satellites_visible, reported);
} else
(void)strlcpy(phrase, ",Y=?", sizeof(phrase));
break;
diff --git a/gpsd_json.c b/gpsd_json.c
index e2945edb..a1cadb19 100644
--- a/gpsd_json.c
+++ b/gpsd_json.c
@@ -213,7 +213,7 @@ void json_sky_dump(const struct gps_data_t *datap,
replylen-strlen(reply),
"\"pdop\":%.2f,", datap->dop.pdop);
/* insurance against flaky drivers */
- for (i = 0; i < datap->satellites; i++)
+ for (i = 0; i < datap->satellites_visible; i++)
if (datap->PRN[i])
reported++;
(void)snprintf(reply+strlen(reply),
@@ -245,9 +245,9 @@ void json_sky_dump(const struct gps_data_t *datap,
if (reply[strlen(reply)-1] == ',')
reply[strlen(reply)-1] = '\0'; /* trim trailing comma */
(void)strlcat(reply, "}\r\n", replylen-strlen(reply));
- if (datap->satellites != reported)
+ if (datap->satellites_visible != reported)
gpsd_report(LOG_WARN,"Satellite count %d != PRN count %d\n",
- datap->satellites, reported);
+ datap->satellites_visible, reported);
}
void json_device_dump(const struct gps_device_t *device,
diff --git a/libgps.c b/libgps.c
index 14d46084..b1fbfe40 100644
--- a/libgps.c
+++ b/libgps.c
@@ -369,7 +369,7 @@ int gps_unpack(char *buf, struct gps_data_t *gpsdata)
break;
case 'Y':
if (sp[2] == '?') {
- gpsdata->satellites = 0;
+ gpsdata->satellites_visible = 0;
} else {
int j, i1, i2, i3, i5;
int PRN[MAXCHANNELS];
@@ -379,17 +379,17 @@ int gps_unpack(char *buf, struct gps_data_t *gpsdata)
char tag[MAXTAGLEN+1], timestamp[21];
(void)sscanf(sp, "Y=%8s %20s %d ",
- tag, timestamp, &gpsdata->satellites);
+ tag, timestamp, &gpsdata->satellites_visible);
(void)strncpy(gpsdata->tag, tag, MAXTAGLEN);
if (timestamp[0] != '?') {
gpsdata->sentence_time = atof(timestamp);
gpsdata->set |= TIME_SET;
}
- for (j = 0; j < gpsdata->satellites; j++) {
+ for (j = 0; j < gpsdata->satellites_visible; j++) {
PRN[j]=elevation[j]=azimuth[j]=used[j]=0;
ss[j]=0.0;
}
- for (j = 0, gpsdata->satellites_used = 0; j < gpsdata->satellites; j++) {
+ for (j = 0, gpsdata->satellites_used = 0; j < gpsdata->satellites_visible; j++) {
if ((sp != NULL) && ((sp = strchr(sp, ':')) != NULL)) {
sp++;
(void)sscanf(sp, "%d %d %d %lf %d", &i1, &i2, &i3, &f4, &i5);
@@ -627,8 +627,8 @@ static void data_dump(struct gps_data_t *collect, time_t now)
if (collect->set & SATELLITE_SET) {
int i;
- printf("Y: satellites in view: %d\n", collect->satellites);
- for (i = 0; i < collect->satellites; i++) {
+ printf("Y: satellites in view: %d\n", collect->satellites_visible);
+ for (i = 0; i < collect->satellites_visible; i++) {
printf(" %2.2d: %2.2d %3.3d %3.0f %c\n", collect->PRN[i], collect->elevation[i], collect->azimuth[i], collect->ss[i], collect->used[i]? 'Y' : 'N');
}
}
diff --git a/libgps_json.c b/libgps_json.c
index 31c00fc6..90ae9f6d 100644
--- a/libgps_json.c
+++ b/libgps_json.c
@@ -149,7 +149,7 @@ static int json_sky_read(const char *buf,
{"satellites", array, .addr.array.element_type = object,
.addr.array.arr.objects.subtype=json_attrs_2_1,
.addr.array.maxlen = MAXCHANNELS,
- .addr.array.count = &gpsdata->satellites},
+ .addr.array.count = &gpsdata->satellites_visible},
{NULL},
};
/*@ +fullinitblock @*/
diff --git a/libgpsd_core.c b/libgpsd_core.c
index ae58ea84..8b961a97 100644
--- a/libgpsd_core.c
+++ b/libgpsd_core.c
@@ -569,7 +569,7 @@ gps_mask_t gpsd_poll(struct gps_device_t *session)
*/
if (session->gpsdata.fix.mode > MODE_NO_FIX
&& (session->gpsdata.set & SATELLITE_SET) != 0
- && session->gpsdata.satellites > 0) {
+ && session->gpsdata.satellites_visible > 0) {
dopmask = fill_dop(&session->gpsdata, &session->gpsdata.dop);
session->gpsdata.epe = NAN;
}
@@ -611,6 +611,6 @@ void gpsd_zero_satellites(/*@out@*/struct gps_data_t *out)
(void)memset(out->elevation, 0, sizeof(out->elevation));
(void)memset(out->azimuth, 0, sizeof(out->azimuth));
(void)memset(out->ss, 0, sizeof(out->ss));
- out->satellites = 0;
+ out->satellites_visible = 0;
}
diff --git a/monitor_nmea.c b/monitor_nmea.c
index 883e2d5a..db136fbe 100644
--- a/monitor_nmea.c
+++ b/monitor_nmea.c
@@ -218,7 +218,7 @@ static void nmea_update(void)
if (strcmp(fields[0], "GPGSV") == 0) {
int i;
- int nsats = (session.gpsdata.satellites < MAXSATS) ? session.gpsdata.satellites : MAXSATS;
+ int nsats = (session.gpsdata.satellites_visible < MAXSATS) ? session.gpsdata.satellites_visible : MAXSATS;
for (i = 0; i < nsats; i++) {
(void)wmove(satwin, i+2, 3);
diff --git a/pseudonmea.c b/pseudonmea.c
index 462f3a3f..fe9b04c6 100644
--- a/pseudonmea.c
+++ b/pseudonmea.c
@@ -127,25 +127,25 @@ static void gpsd_binary_satellite_dump(struct gps_device_t *session,
char *bufp2 = bufp;
bufp[0] = '\0';
- for( i = 0 ; i < session->gpsdata.satellites; i++ ) {
+ for( i = 0 ; i < session->gpsdata.satellites_visible; i++ ) {
if (i % 4 == 0) {
bufp += strlen(bufp);
bufp2 = bufp;
len -= snprintf(bufp, len,
"$GPGSV,%d,%d,%02d",
- ((session->gpsdata.satellites-1) / 4) + 1,
+ ((session->gpsdata.satellites_visible-1) / 4) + 1,
(i / 4) + 1,
- session->gpsdata.satellites);
+ session->gpsdata.satellites_visible);
}
bufp += strlen(bufp);
- if (i < session->gpsdata.satellites)
+ if (i < session->gpsdata.satellites_visible)
len -= snprintf(bufp, len,
",%02d,%02d,%03d,%02.0f",
session->gpsdata.PRN[i],
session->gpsdata.elevation[i],
session->gpsdata.azimuth[i],
session->gpsdata.ss[i]);
- if (i % 4 == 3 || i == session->gpsdata.satellites-1) {
+ if (i % 4 == 3 || i == session->gpsdata.satellites_visible-1) {
nmea_add_checksum(bufp2);
len -= 5;
}
diff --git a/www/protocol-transition.txt b/www/protocol-transition.txt
index 6a26c63c..cf29e028 100644
--- a/www/protocol-transition.txt
+++ b/www/protocol-transition.txt
@@ -292,6 +292,10 @@ DEVICELIST_SET is on in the top-level set member. Storage for
pathnames is no longer dynamically allocated, but static; to save
space, it lives in a union with several other substructures.
+The top-level member "satellites" has been changed to
+"satellites_visible". The ambiguity in that name had actually induced
+a bug or two.
+
There is a new substructure, dop, which holds the
dilution-of-precision factors that were previously individual members
of the gpsdata structure. Two new DOPs, xdop and ydop, are available;
diff --git a/xgps.c b/xgps.c
index 24c2e167..9d33858c 100644
--- a/xgps.c
+++ b/xgps.c
@@ -161,7 +161,7 @@ draw_graphics(struct gps_data_t *gpsdata)
int i, x, y;
char buf[20];
- if (gpsdata->satellites != 0) {
+ if (gpsdata->satellites_visible != 0) {
i = (int)min(width, height);
set_color("White");
@@ -197,7 +197,7 @@ draw_graphics(struct gps_data_t *gpsdata)
(void)XDrawString(dpy, pixmap, drawGC, x - 5, y, "W", 1);
/* Now draw the satellites... */
- for (i = 0; i < gpsdata->satellites; i++) {
+ for (i = 0; i < gpsdata->satellites_visible; i++) {
pol2cart((double)gpsdata->azimuth[i],
(double)gpsdata->elevation[i], &x, &y);
if (gpsdata->ss[i] < 10)
@@ -889,11 +889,11 @@ update_panel(struct gps_data_t *gpsdata, char *message, size_t len UNUSED)
XmTextFieldSetString(status, message);
/* This is for the satellite status display */
- if (gpsdata->satellites) {
+ if (gpsdata->satellites_visible) {
string[0] = XmStringCreateSimple(
"PRN: Elev: Azim: SNR: Used:");
for (i = 0; i < MAXCHANNELS; i++) {
- if (i < (unsigned int)gpsdata->satellites) {
+ if (i < (unsigned int)gpsdata->satellites_visible) {
(void)snprintf(s, sizeof(s),
" %3d %2d %3d %2.0f %c",
gpsdata->PRN[i], gpsdata->elevation[i],