summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bits.h44
-rw-r--r--driver_evermore.c28
-rw-r--r--driver_garmin.c4
-rw-r--r--driver_geostar.c114
-rw-r--r--driver_italk.c86
-rw-r--r--driver_navcom.c172
-rw-r--r--driver_oncore.c20
-rw-r--r--driver_sirf.c76
-rw-r--r--driver_superstar2.c12
-rw-r--r--driver_tsip.c54
-rw-r--r--driver_ubx.c50
-rw-r--r--driver_zodiac.c4
-rw-r--r--drivers.c6
-rw-r--r--monitor_italk.c82
-rw-r--r--monitor_oncore.c34
-rw-r--r--monitor_sirf.c94
-rw-r--r--monitor_ubx.c38
-rw-r--r--packet.c4
-rw-r--r--test_bits.c96
19 files changed, 509 insertions, 509 deletions
diff --git a/bits.h b/bits.h
index 908cca02..6a41fd79 100644
--- a/bits.h
+++ b/bits.h
@@ -46,38 +46,38 @@ union long_double {
#define putbyte(buf,off,b) do {buf[(off)-(PUT_ORIGIN)] = (unsigned char)(b);} while (0)
/* little-endian access */
-#define getlesw(buf, off) ((int16_t)(((uint16_t)getub((buf), (off)+1) << 8) | (uint16_t)getub((buf), (off))))
-#define getleuw(buf, off) ((uint16_t)(((uint16_t)getub((buf), (off)+1) << 8) | (uint16_t)getub((buf), (off))))
-#define getlesl(buf, off) ((int32_t)(((uint16_t)getleuw((buf), (off)+2) << 16) | (uint16_t)getleuw((buf), (off))))
-#define getleul(buf, off) ((uint32_t)(((uint16_t)getleuw((buf),(off)+2) << 16) | (uint16_t)getleuw((buf), (off))))
+#define getles16(buf, off) ((int16_t)(((uint16_t)getub((buf), (off)+1) << 8) | (uint16_t)getub((buf), (off))))
+#define getleu16(buf, off) ((uint16_t)(((uint16_t)getub((buf), (off)+1) << 8) | (uint16_t)getub((buf), (off))))
+#define getles32(buf, off) ((int32_t)(((uint16_t)getleu16((buf), (off)+2) << 16) | (uint16_t)getleu16((buf), (off))))
+#define getleu32(buf, off) ((uint32_t)(((uint16_t)getleu16((buf),(off)+2) << 16) | (uint16_t)getleu16((buf), (off))))
-#define putleword(buf, off, w) do {putbyte(buf, (off)+1, (uint)(w) >> 8); putbyte(buf, (off), (w));} while (0)
-#define putlelong(buf, off, l) do {putleword(buf, (off)+2, (uint)(l) >> 16); putleword(buf, (off), (l));} while (0)
-#define getlesL(buf, off) ((int64_t)(((uint64_t)getleul(buf, (off)+4) << 32) | getleul(buf, (off))))
-#define getleuL(buf, off) ((uint64_t)(((uint64_t)getleul(buf, (off)+4) << 32) | getleul(buf, (off))))
+#define putle16(buf, off, w) do {putbyte(buf, (off)+1, (uint)(w) >> 8); putbyte(buf, (off), (w));} while (0)
+#define putle32(buf, off, l) do {putle16(buf, (off)+2, (uint)(l) >> 16); putle16(buf, (off), (l));} while (0)
+#define getles64(buf, off) ((int64_t)(((uint64_t)getleu32(buf, (off)+4) << 32) | getleu32(buf, (off))))
+#define getleu64(buf, off) ((uint64_t)(((uint64_t)getleu32(buf, (off)+4) << 32) | getleu32(buf, (off))))
-#define getlef(buf, off) (i_f.i = getlesl(buf, off), i_f.f)
-#define getled(buf, off) (l_d.l = getlesL(buf, off), l_d.d)
+#define getlef(buf, off) (i_f.i = getles32(buf, off), i_f.f)
+#define getled(buf, off) (l_d.l = getles64(buf, off), l_d.d)
/* SiRF and most other GPS protocols use big-endian (network byte order) */
-#define getbesw(buf, off) ((int16_t)(((uint16_t)getub(buf, (off)) << 8) | (uint16_t)getub(buf, (off)+1)))
-#define getbeuw(buf, off) ((uint16_t)(((uint16_t)getub(buf, (off)) << 8) | (uint16_t)getub(buf, (off)+1)))
-#define getbesl(buf, off) ((int32_t)(((uint16_t)getbeuw(buf, (off)) << 16) | getbeuw(buf, (off)+2)))
-#define getbeul(buf, off) ((uint32_t)(((uint16_t)getbeuw(buf, (off)) << 16) | getbeuw(buf, (off)+2)))
-#define getbesL(buf, off) ((int64_t)(((uint64_t)getbeul(buf, (off)) << 32) | getbeul(buf, (off)+4)))
-#define getbeuL(buf, off) ((uint64_t)(((uint64_t)getbeul(buf, (off)) << 32) | getbeul(buf, (off)+4)))
+#define getbes16(buf, off) ((int16_t)(((uint16_t)getub(buf, (off)) << 8) | (uint16_t)getub(buf, (off)+1)))
+#define getbeu16(buf, off) ((uint16_t)(((uint16_t)getub(buf, (off)) << 8) | (uint16_t)getub(buf, (off)+1)))
+#define getbes32(buf, off) ((int32_t)(((uint16_t)getbeu16(buf, (off)) << 16) | getbeu16(buf, (off)+2)))
+#define getbeu32(buf, off) ((uint32_t)(((uint16_t)getbeu16(buf, (off)) << 16) | getbeu16(buf, (off)+2)))
+#define getbes64(buf, off) ((int64_t)(((uint64_t)getbeu32(buf, (off)) << 32) | getbeu32(buf, (off)+4)))
+#define getbeu64(buf, off) ((uint64_t)(((uint64_t)getbeu32(buf, (off)) << 32) | getbeu32(buf, (off)+4)))
-#define putbeword(buf,off,w) do {putbyte(buf, (off) ,(w) >> 8); putbyte(buf, (off)+1, (w));} while (0)
-#define putbelong(buf,off,l) do {putbeword(buf, (off) ,(l) >> 16); putbeword(buf, (off)+2, (l));} while (0)
+#define putbe16(buf,off,w) do {putbyte(buf, (off) ,(w) >> 8); putbyte(buf, (off)+1, (w));} while (0)
+#define putbe32(buf,off,l) do {putbe16(buf, (off) ,(l) >> 16); putbe16(buf, (off)+2, (l));} while (0)
-#define getbef(buf, off) (i_f.i = getbesl(buf, off), i_f.f)
-#define getbed(buf, off) (l_d.l = getbesL(buf, off), l_d.d)
+#define getbef(buf, off) (i_f.i = getbes32(buf, off), i_f.f)
+#define getbed(buf, off) (l_d.l = getbes64(buf, off), l_d.d)
/* Zodiac protocol description uses 1-origin indexing by little-endian word */
-#define getwordz(buf, n) ( (buf[2*(n)-2]) \
+#define get16z(buf, n) ( (buf[2*(n)-2]) \
| (buf[2*(n)-1] << 8))
-#define getlongz(buf, n) ( (buf[2*(n)-2]) \
+#define get32z(buf, n) ( (buf[2*(n)-2]) \
| (buf[2*(n)-1] << 8) \
| (buf[2*(n)+0] << 16) \
| (buf[2*(n)+1] << 24))
diff --git a/driver_evermore.c b/driver_evermore.c
index 4a321ebb..51eb0ad1 100644
--- a/driver_evermore.c
+++ b/driver_evermore.c
@@ -175,8 +175,8 @@ gps_mask_t evermore_parse(struct gps_device_t * session, unsigned char *buf,
switch (type) {
case 0x02: /* Navigation Data Output */
- session->context->gps_week = (unsigned short)getleuw(buf2, 2);
- session->context->gps_tow = (double)getleul(buf2, 4) * 0.01;
+ session->context->gps_week = (unsigned short)getleu16(buf2, 2);
+ session->context->gps_tow = (double)getleu32(buf2, 4) * 0.01;
/*@ ignore @*//*@ splint is confused @ */
session->newdata.time =
gpstime_to_unix(session->context->gps_week,
@@ -185,12 +185,12 @@ gps_mask_t evermore_parse(struct gps_device_t * session, unsigned char *buf,
gpsd_rollover_check(session, session->newdata.time);
/*@ end @*/
ecef_to_wgs84fix(&session->newdata, &session->gpsdata.separation,
- getlesl(buf2, 8) * 1.0, getlesl(buf2, 12) * 1.0,
- getlesl(buf2, 16) * 1.0, getlesw(buf2, 20) / 10.0,
- getlesw(buf2, 22) / 10.0, getlesw(buf2, 24) / 10.0);
+ getles32(buf2, 8) * 1.0, getles32(buf2, 12) * 1.0,
+ getles32(buf2, 16) * 1.0, getles16(buf2, 20) / 10.0,
+ getles16(buf2, 22) / 10.0, getles16(buf2, 24) / 10.0);
used = (unsigned char)getub(buf2, 26) & 0x0f;
//visible = (getub(buf2, 26) & 0xf0) >> 4;
- version = (uint) getleuw(buf2, 27) / 100.0;
+ version = (uint) getleu16(buf2, 27) / 100.0;
/* that's all the information in this packet */
if (used < 3)
session->newdata.mode = MODE_NO_FIX;
@@ -216,8 +216,8 @@ gps_mask_t evermore_parse(struct gps_device_t * session, unsigned char *buf,
return mask | CLEAR_IS | REPORT_IS;
case 0x04: /* DOP Data Output */
- session->context->gps_week = (unsigned short)getleuw(buf2, 2);
- session->context->gps_tow = (double)getleul(buf2, 4) * 0.01;
+ session->context->gps_week = (unsigned short)getleu16(buf2, 2);
+ session->context->gps_tow = (double)getleu32(buf2, 4) * 0.01;
/*@ ignore @*//*@ splint is confused @ */
session->newdata.time =
gpstime_to_unix(session->context->gps_week,
@@ -266,8 +266,8 @@ gps_mask_t evermore_parse(struct gps_device_t * session, unsigned char *buf,
return mask;
case 0x06: /* Channel Status Output */
- session->context->gps_week = (unsigned short)getleuw(buf2, 2);
- session->context->gps_tow = (double)getleul(buf2, 4) * 0.01;
+ session->context->gps_week = (unsigned short)getleu16(buf2, 2);
+ session->context->gps_tow = (double)getleu32(buf2, 4) * 0.01;
/*@ ignore @*//*@ splint is confused @ */
session->gpsdata.skyview_time =
gpstime_to_unix(session->context->gps_week,
@@ -294,7 +294,7 @@ gps_mask_t evermore_parse(struct gps_device_t * session, unsigned char *buf,
continue; /* satellite record is not valid */
session->gpsdata.PRN[satcnt] = prn;
session->gpsdata.azimuth[satcnt] =
- (int)getleuw(buf2, 7 * i + 7 + 4);
+ (int)getleu16(buf2, 7 * i + 7 + 4);
session->gpsdata.elevation[satcnt] =
(int)getub(buf2, 7 * i + 7 + 6);
session->gpsdata.ss[satcnt] = (float)getub(buf2, 7 * i + 7 + 7);
@@ -326,9 +326,9 @@ gps_mask_t evermore_parse(struct gps_device_t * session, unsigned char *buf,
case 0x08: /* Measurement Data Output */
/* clock offset is a manufacturer diagnostic */
- /* (int)getleuw(buf2, 8); clock offset, 29000..29850 ?? */
- session->context->gps_week = (unsigned short)getleuw(buf2, 2);
- session->context->gps_tow = (double)getleul(buf2, 4) * 0.01;
+ /* (int)getleu16(buf2, 8); clock offset, 29000..29850 ?? */
+ session->context->gps_week = (unsigned short)getleu16(buf2, 2);
+ session->context->gps_tow = (double)getleu32(buf2, 4) * 0.01;
/*@ ignore @*//*@ splint is confused @ */
session->newdata.time =
gpstime_to_unix(session->context->gps_week,
diff --git a/driver_garmin.c b/driver_garmin.c
index b4214ae0..6967fa00 100644
--- a/driver_garmin.c
+++ b/driver_garmin.c
@@ -97,8 +97,8 @@
#include "gpsd.h"
#include "bits.h"
-#define GPSD_LE16TOH(x) getlesw((char *)(&(x)), 0)
-#define GPSD_LE32TOH(x) getlesl((char *)(&(x)), 0)
+#define GPSD_LE16TOH(x) getles16((char *)(&(x)), 0)
+#define GPSD_LE32TOH(x) getles32((char *)(&(x)), 0)
#ifdef GARMIN_ENABLE
diff --git a/driver_geostar.c b/driver_geostar.c
index cf2cdbf1..7e66652f 100644
--- a/driver_geostar.c
+++ b/driver_geostar.c
@@ -45,8 +45,8 @@ static int geostar_write(struct gps_device_t *session,
putbyte(session->msgbuf, 3, 'G');
/*@-shiftimplementation +ignoresigns@*/
- putbeword(session->msgbuf, 4, id);
- putbeword(session->msgbuf, 6, len);
+ putbe16(session->msgbuf, 4, id);
+ putbe16(session->msgbuf, 6, len);
/*@+shiftimplementation -ignoresigns@*/
/* Copy content */
@@ -56,11 +56,11 @@ static int geostar_write(struct gps_device_t *session,
/* Calculate checksum */
for (i = 0; (size_t)i < len; i++) {
- cs ^= getleul(session->msgbuf, i * 4);
+ cs ^= getleu32(session->msgbuf, i * 4);
}
/*@-shiftimplementation +ignoresigns@*/
- putlelong(session->msgbuf, len * 4, cs);
+ putle32(session->msgbuf, len * 4, cs);
/*@+shiftimplementation -ignoresigns@*/
len += 1; /* Checksum */
@@ -97,7 +97,7 @@ static bool geostar_detect(struct gps_device_t *session)
/* request firmware revision and look for a valid response */
/*@-shiftimplementation +ignoresigns@*/
- putbelong(buf, 0, 0);
+ putbe32(buf, 0, 0);
/*@+shiftimplementation +ignoresigns@*/
if (geostar_write(session, 0xc1, buf, 1) == 0) {
for (n = 0; n < 3; n++) {
@@ -156,7 +156,7 @@ static gps_mask_t geostar_analyze(struct gps_device_t *session)
}
/*@ -charint @*/
- id = (unsigned int)getleuw(session->packet.outbuffer, OFFSET(0));
+ id = (unsigned int)getleu16(session->packet.outbuffer, OFFSET(0));
(void)snprintf(session->gpsdata.tag, sizeof(session->gpsdata.tag), "ID%02x", id);
@@ -190,7 +190,7 @@ static gps_mask_t geostar_analyze(struct gps_device_t *session)
session->newdata.longitude = getled(buf, OFFSET(5)) * RAD_2_DEG;
session->newdata.altitude = getled(buf, OFFSET(7));
session->gpsdata.separation = getled(buf, OFFSET(9));
- session->gpsdata.satellites_used = getlesl(buf, OFFSET(11));
+ session->gpsdata.satellites_used = getles32(buf, OFFSET(11));
session->gpsdata.dop.gdop = getled(buf, OFFSET(13));
session->gpsdata.dop.pdop = getled(buf, OFFSET(15));
session->gpsdata.dop.tdop = getled(buf, OFFSET(17));
@@ -199,7 +199,7 @@ static gps_mask_t geostar_analyze(struct gps_device_t *session)
session->newdata.speed = getled(buf, OFFSET(31));
session->newdata.track = getled(buf, OFFSET(33)) * RAD_2_DEG;
- ul1 = getleul(buf, OFFSET(29)); /* status */
+ ul1 = getleu32(buf, OFFSET(29)); /* status */
if (ul1 != (uint8_t) 0) {
session->gpsdata.status = STATUS_NO_FIX;
@@ -227,10 +227,10 @@ static gps_mask_t geostar_analyze(struct gps_device_t *session)
session->gpsdata.dop.vdop);
break;
case 0x21:
- ul1 = getleul(buf, OFFSET(1));
- ul2 = getleul(buf, OFFSET(2));
- uw1 = getleuw(buf, OFFSET(3));
- uw2 = getleuw(buf, OFFSET(3) + 2);
+ ul1 = getleu32(buf, OFFSET(1));
+ ul2 = getleu32(buf, OFFSET(2));
+ uw1 = getleu16(buf, OFFSET(3));
+ uw2 = getleu16(buf, OFFSET(3) + 2);
gpsd_report(LOG_INF, "Current receiver telemetry %x %d %d %d\n", ul1, ul2, uw1, uw2);
if(ul1 & (1<<3)) {
session->newdata.mode = MODE_2D;
@@ -249,15 +249,15 @@ static gps_mask_t geostar_analyze(struct gps_device_t *session)
mask |= MODE_IS | STATUS_IS;
break;
case 0x22:
- ul1 = getleul(buf, OFFSET(1));
+ ul1 = getleu32(buf, OFFSET(1));
gpsd_report(LOG_INF, "SVs in view %d\n", ul1);
session->gpsdata.satellites_visible = (int)ul1;
if(ul1 > GEOSTAR_CHANNELS) ul1 = GEOSTAR_CHANNELS;
for(i = 0, j = 0; (uint32_t)i < ul1; i++) {
- ul2 = getleul(buf, OFFSET(2) + i * 3 * 4);
- s1 = getlesw(buf, OFFSET(3) + i * 3 * 4);
- s2 = getlesw(buf, OFFSET(3) + 2 + i * 3 * 4);
- s3 = getlesw(buf, OFFSET(4) + 2 + i * 3 * 4);
+ ul2 = getleu32(buf, OFFSET(2) + i * 3 * 4);
+ 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(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.PRN[i] = decode_channel_id(ul2);
@@ -272,14 +272,14 @@ static gps_mask_t geostar_analyze(struct gps_device_t *session)
mask |= SATELLITE_IS | USED_IS;
break;
case 0x3e:
- ul1 = getleul(buf, OFFSET(1));
- ul2 = getleul(buf, OFFSET(2));
- ul3 = getleul(buf, OFFSET(3));
+ ul1 = getleu32(buf, OFFSET(1));
+ ul2 = getleu32(buf, OFFSET(2));
+ ul3 = getleu32(buf, OFFSET(3));
gpsd_report(LOG_INF, "Receiver power-up message %d %d %d\n", ul1, ul2, ul3);
break;
case 0x3f:
- ul1 = getleul(buf, OFFSET(1));
- ul2 = getleul(buf, OFFSET(2));
+ ul1 = getleu32(buf, OFFSET(1));
+ ul2 = getleu32(buf, OFFSET(2));
gpsd_report(LOG_WARN, "Negative acknowledge %x %d\n", ul1, ul2);
break;
case 0x40:
@@ -289,9 +289,9 @@ static gps_mask_t geostar_analyze(struct gps_device_t *session)
gpsd_report(LOG_INF, "Response to Set serial ports parameters\n");
break;
case 0x42:
- ul1 = getleul(buf, OFFSET(1));
- ul2 = getleul(buf, OFFSET(2));
- ul3 = getleul(buf, OFFSET(3));
+ ul1 = getleu32(buf, OFFSET(1));
+ ul2 = getleu32(buf, OFFSET(2));
+ ul3 = getleu32(buf, OFFSET(3));
gpsd_report(LOG_INF, "Response to Set receiver operation mode %d %d %d\n",
ul1, ul2, ul3);
break;
@@ -317,11 +317,11 @@ static gps_mask_t geostar_analyze(struct gps_device_t *session)
gpsd_report(LOG_INF, "Response to Set GLONASS ephemeris\n");
break;
case 0x4c:
- ul1 = getleul(buf, OFFSET(1));
- ul2 = getleul(buf, OFFSET(2));
- ul3 = getleul(buf, OFFSET(3));
- ul4 = getleul(buf, OFFSET(4));
- ul5 = getleul(buf, OFFSET(5));
+ ul1 = getleu32(buf, OFFSET(1));
+ ul2 = getleu32(buf, OFFSET(2));
+ ul3 = getleu32(buf, OFFSET(3));
+ ul4 = getleu32(buf, OFFSET(4));
+ ul5 = getleu32(buf, OFFSET(5));
gpsd_report(LOG_INF, "Response to Set PPS paramters %d %d %d %d %d\n",
ul1, ul2, ul3, ul4, ul5);
break;
@@ -332,8 +332,8 @@ static gps_mask_t geostar_analyze(struct gps_device_t *session)
gpsd_report(LOG_INF, "Response to Enable/disable NMEA messages\n");
break;
case 0x4f:
- ul1 = getleul(buf, OFFSET(1));
- ul2 = getleul(buf, OFFSET(2));
+ ul1 = getleu32(buf, OFFSET(1));
+ ul2 = getleu32(buf, OFFSET(2));
gpsd_report(LOG_INF, "Response to Enable/disable binary messages %x %x\n",
ul1, ul2);
break;
@@ -344,9 +344,9 @@ static gps_mask_t geostar_analyze(struct gps_device_t *session)
gpsd_report(LOG_INF, "Response to Query serial ports parameters\n");
break;
case 0x82:
- ul1 = getleul(buf, OFFSET(1));
- ul2 = getleul(buf, OFFSET(2));
- ul3 = getleul(buf, OFFSET(3));
+ ul1 = getleu32(buf, OFFSET(1));
+ ul2 = getleu32(buf, OFFSET(2));
+ ul3 = getleu32(buf, OFFSET(3));
gpsd_report(LOG_INF, "Response to Query receiver operation mode %d %d %d\n",
ul1, ul2, ul3);
break;
@@ -357,7 +357,7 @@ static gps_mask_t geostar_analyze(struct gps_device_t *session)
gpsd_report(LOG_INF, "Response to Query output data rate\n");
break;
case 0x86:
- session->driver.geostar.physical_port = (unsigned int)getleul(buf, OFFSET(1));
+ session->driver.geostar.physical_port = (unsigned int)getleu32(buf, OFFSET(1));
gpsd_report(LOG_INF, "Response to Query data protocol assignment to communication port\n");
gpsd_report(LOG_INF, "Connected to physical port %d\n",
session->driver.geostar.physical_port);
@@ -379,11 +379,11 @@ static gps_mask_t geostar_analyze(struct gps_device_t *session)
d1, d2, d3);
break;
case 0x8c:
- ul1 = getleul(buf, OFFSET(1));
- ul2 = getleul(buf, OFFSET(2));
- ul3 = getleul(buf, OFFSET(3));
- ul4 = getleul(buf, OFFSET(4));
- ul5 = getleul(buf, OFFSET(5));
+ ul1 = getleu32(buf, OFFSET(1));
+ ul2 = getleu32(buf, OFFSET(2));
+ ul3 = getleu32(buf, OFFSET(3));
+ ul4 = getleu32(buf, OFFSET(4));
+ ul5 = getleu32(buf, OFFSET(5));
gpsd_report(LOG_INF, "Response to Query PPS parameters %d %d %d %d %d\n",
ul1, ul2, ul3, ul4, ul5);
break;
@@ -394,8 +394,8 @@ static gps_mask_t geostar_analyze(struct gps_device_t *session)
gpsd_report(LOG_INF, "Response to Query enable NMEA messages\n");
break;
case 0x8f:
- ul1 = getleul(buf, OFFSET(1));
- ul2 = getleul(buf, OFFSET(2));
+ ul1 = getleu32(buf, OFFSET(1));
+ ul2 = getleu32(buf, OFFSET(2));
gpsd_report(LOG_INF, "Response to Query enable binary messages %x %x\n",
ul1, ul2);
break;
@@ -403,10 +403,10 @@ static gps_mask_t geostar_analyze(struct gps_device_t *session)
gpsd_report(LOG_INF, "Response to Change operation mode command\n");
break;
case 0xc1:
- ul4 = getleul(buf, OFFSET(1));
- ul1 = getleul(buf, OFFSET(2));
- ul2 = getleul(buf, OFFSET(3));
- ul3 = getleul(buf, OFFSET(4));
+ ul4 = getleu32(buf, OFFSET(1));
+ ul1 = getleu32(buf, OFFSET(2));
+ ul2 = getleu32(buf, OFFSET(3));
+ ul3 = getleu32(buf, OFFSET(4));
/*@ -formattype @*/
(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);
@@ -468,14 +468,14 @@ static void geostar_event_hook(struct gps_device_t *session, event_t event)
/*@-shiftimplementation +ignoresigns@*/
if (event == event_identified && event == event_reactivate) {
/* Select binary packets */
- putbelong(buf, 0, 0xffff0000);
- putbelong(buf, 4, 0);
+ putbe32(buf, 0, 0xffff0000);
+ putbe32(buf, 4, 0);
(void)geostar_write(session, 0x4f, buf, 2);
/* Poll Ports params */
- putbelong(buf, 0, 1);
+ putbe32(buf, 0, 1);
(void)geostar_write(session, 0x81, buf, 1);
- putbelong(buf, 0, 0);
+ putbe32(buf, 0, 0);
(void)geostar_write(session, 0x81, buf, 1);
/* Poll Init params */
(void)geostar_write(session, 0x80, buf, 1);
@@ -499,7 +499,7 @@ static void geostar_event_hook(struct gps_device_t *session, event_t event)
if (event == event_deactivate) {
/* Perform cold restart */
- putbelong(buf, 0, 3);
+ putbe32(buf, 0, 3);
(void)geostar_write(session, 0xc2, buf, 1);
}
/*@+shiftimplementation -ignoresigns@*/
@@ -528,10 +528,10 @@ static bool geostar_speed_switch(struct gps_device_t *session,
}
/*@-shiftimplementation@*/
- putbelong(buf, 0, session->driver.geostar.physical_port);
- putbelong(buf, 4, speed);
- putbelong(buf, 8, stopbits);
- putbelong(buf, 12, parity);
+ putbe32(buf, 0, session->driver.geostar.physical_port);
+ putbe32(buf, 4, speed);
+ putbe32(buf, 8, stopbits);
+ putbe32(buf, 12, parity);
/*@+shiftimplementation@*/
(void)geostar_write(session, 0x41, buf, 4);
@@ -545,7 +545,7 @@ static void geostar_mode(struct gps_device_t *session, int mode)
/*@-shiftimplementation@*/
if (mode == MODE_NMEA) {
/* Switch to NMEA mode */
- putbelong(buf, 0, (session->driver.geostar.physical_port == 0) ? 1 : 0);
+ putbe32(buf, 0, (session->driver.geostar.physical_port == 0) ? 1 : 0);
(void)geostar_write(session, 0x46, buf, 1);
} else if (mode == MODE_BINARY) {
/* Switch to binary mode */
diff --git a/driver_italk.c b/driver_italk.c
index aef87794..cbbdbd95 100644
--- a/driver_italk.c
+++ b/driver_italk.c
@@ -43,9 +43,9 @@ static gps_mask_t decode_itk_navfix(struct gps_device_t *session,
return -1;
}
- flags = (ushort) getleuw(buf, 7 + 4);
- cflags = (ushort) getleuw(buf, 7 + 6);
- pflags = (ushort) getleuw(buf, 7 + 8);
+ flags = (ushort) getleu16(buf, 7 + 4);
+ cflags = (ushort) getleu16(buf, 7 + 6);
+ pflags = (ushort) getleu16(buf, 7 + 8);
session->gpsdata.status = STATUS_NO_FIX;
session->newdata.mode = MODE_NO_FIX;
@@ -56,9 +56,9 @@ static gps_mask_t decode_itk_navfix(struct gps_device_t *session,
|| 0 == (flags & FIXINFO_FLAG_VALID))
return mask;
- gps_week = (ushort) getlesw(buf, 7 + 82);
+ gps_week = (ushort) getles16(buf, 7 + 82);
session->context->gps_week = gps_week;
- tow = (uint) getleul(buf, 7 + 84);
+ tow = (uint) getleu32(buf, 7 + 84);
session->context->gps_tow = tow / 1000.0;
t = gpstime_to_unix((int)gps_week, session->context->gps_tow)
- session->context->leap_seconds;
@@ -66,31 +66,31 @@ static gps_mask_t decode_itk_navfix(struct gps_device_t *session,
gpsd_rollover_check(session, session->newdata.time);
mask |= TIME_IS;
- epx = (double)(getlesl(buf, 7 + 96) / 100.0);
- epy = (double)(getlesl(buf, 7 + 100) / 100.0);
- epz = (double)(getlesl(buf, 7 + 104) / 100.0);
- evx = (double)(getlesl(buf, 7 + 186) / 1000.0);
- evy = (double)(getlesl(buf, 7 + 190) / 1000.0);
- evz = (double)(getlesl(buf, 7 + 194) / 1000.0);
+ epx = (double)(getles32(buf, 7 + 96) / 100.0);
+ epy = (double)(getles32(buf, 7 + 100) / 100.0);
+ epz = (double)(getles32(buf, 7 + 104) / 100.0);
+ evx = (double)(getles32(buf, 7 + 186) / 1000.0);
+ evy = (double)(getles32(buf, 7 + 190) / 1000.0);
+ evz = (double)(getles32(buf, 7 + 194) / 1000.0);
ecef_to_wgs84fix(&session->newdata, &session->gpsdata.separation,
epx, epy, epz, evx, evy, evz);
mask |= LATLON_IS | ALTITUDE_IS | SPEED_IS | TRACK_IS | CLIMB_IS;
- eph = (double)(getlesl(buf, 7 + 252) / 100.0);
+ eph = (double)(getles32(buf, 7 + 252) / 100.0);
/* eph is a circular error, sqrt(epx**2 + epy**2) */
session->newdata.epx = session->newdata.epy = eph / sqrt(2);
- session->newdata.eps = (double)(getlesl(buf, 7 + 254) / 100.0);
+ session->newdata.eps = (double)(getles32(buf, 7 + 254) / 100.0);
#define MAX(a,b) (((a) > (b)) ? (a) : (b))
session->gpsdata.satellites_used =
- (int)MAX(getleuw(buf, 7 + 12), getleuw(buf, 7 + 14));
+ (int)MAX(getleu16(buf, 7 + 12), getleu16(buf, 7 + 14));
mask |= USED_IS;
if (flags & FIX_CONV_DOP_VALID) {
- session->gpsdata.dop.hdop = (double)(getleuw(buf, 7 + 56) / 100.0);
- session->gpsdata.dop.gdop = (double)(getleuw(buf, 7 + 58) / 100.0);
- session->gpsdata.dop.pdop = (double)(getleuw(buf, 7 + 60) / 100.0);
- session->gpsdata.dop.vdop = (double)(getleuw(buf, 7 + 62) / 100.0);
- session->gpsdata.dop.tdop = (double)(getleuw(buf, 7 + 64) / 100.0);
+ session->gpsdata.dop.hdop = (double)(getleu16(buf, 7 + 56) / 100.0);
+ session->gpsdata.dop.gdop = (double)(getleu16(buf, 7 + 58) / 100.0);
+ session->gpsdata.dop.pdop = (double)(getleu16(buf, 7 + 60) / 100.0);
+ session->gpsdata.dop.vdop = (double)(getleu16(buf, 7 + 62) / 100.0);
+ session->gpsdata.dop.tdop = (double)(getleu16(buf, 7 + 64) / 100.0);
mask |= DOP_IS;
}
@@ -132,9 +132,9 @@ static gps_mask_t decode_itk_prnstatus(struct gps_device_t *session,
gpsd_report(LOG_PROG, "ITALK: runt PRN_STATUS (len=%zu)\n", len);
mask = 0;
} else {
- gps_week = (ushort) getleuw(buf, 7 + 4);
+ gps_week = (ushort) getleu16(buf, 7 + 4);
session->context->gps_week = gps_week;
- tow = (uint) getleul(buf, 7 + 6);
+ tow = (uint) getleu32(buf, 7 + 6);
session->context->gps_tow = tow / 1000.0;
t = gpstime_to_unix((int)gps_week, session->context->gps_tow)
- session->context->leap_seconds;
@@ -143,18 +143,18 @@ static gps_mask_t decode_itk_prnstatus(struct gps_device_t *session,
gpsd_zero_satellites(&session->gpsdata);
nsv = 0;
- nchan = (unsigned int)getleuw(buf, 7 + 50);
+ nchan = (unsigned int)getleu16(buf, 7 + 50);
if (nchan > MAX_NR_VISIBLE_PRNS)
nchan = MAX_NR_VISIBLE_PRNS;
for (i = st = 0; i < nchan; i++) {
unsigned int off = 7 + 52 + 10 * i;
unsigned short flags;
- flags = (ushort) getleuw(buf, off);
- session->gpsdata.ss[i] = (float)(getleuw(buf, off + 2) & 0xff);
- session->gpsdata.PRN[i] = (int)getleuw(buf, off + 4) & 0xff;
- session->gpsdata.elevation[i] = (int)getlesw(buf, off + 6) & 0xff;
- session->gpsdata.azimuth[i] = (int)getlesw(buf, off + 8) & 0xff;
+ flags = (ushort) getleu16(buf, off);
+ session->gpsdata.ss[i] = (float)(getleu16(buf, off + 2) & 0xff);
+ session->gpsdata.PRN[i] = (int)getleu16(buf, off + 4) & 0xff;
+ session->gpsdata.elevation[i] = (int)getles16(buf, off + 6) & 0xff;
+ session->gpsdata.azimuth[i] = (int)getles16(buf, off + 8) & 0xff;
if (session->gpsdata.PRN[i]) {
st++;
if (flags & PRN_FLAG_USE_IN_NAV)
@@ -190,17 +190,17 @@ static gps_mask_t decode_itk_utcionomodel(struct gps_device_t *session,
return 0;
}
- flags = (ushort) getleuw(buf, 7);
+ flags = (ushort) getleu16(buf, 7);
if (0 == (flags & UTC_IONO_MODEL_UTCVALID))
return 0;
- leap = (int)getleuw(buf, 7 + 24);
+ leap = (int)getleu16(buf, 7 + 24);
if (session->context->leap_seconds < leap)
session->context->leap_seconds = leap;
- gps_week = (ushort) getleuw(buf, 7 + 36);
+ gps_week = (ushort) getleu16(buf, 7 + 36);
session->context->gps_week = gps_week;
- tow = (uint) getleul(buf, 7 + 38);
+ tow = (uint) getleu32(buf, 7 + 38);
session->context->gps_tow = tow / 1000.0;
t = gpstime_to_unix((int)gps_week, session->context->gps_tow)
- session->context->leap_seconds;
@@ -226,9 +226,9 @@ static gps_mask_t decode_itk_subframe(struct gps_device_t *session,
return 0;
}
- flags = (ushort) getleuw(buf, 7 + 4);
- prn = (ushort) getleuw(buf, 7 + 6);
- sf = (ushort) getleuw(buf, 7 + 8);
+ flags = (ushort) getleu16(buf, 7 + 4);
+ prn = (ushort) getleu16(buf, 7 + 6);
+ sf = (ushort) getleu16(buf, 7 + 8);
gpsd_report(LOG_PROG, "iTalk 50B SUBFRAME prn %u sf %u - decode %s %s\n",
prn, sf,
flags & SUBFRAME_WORD_FLAG_MASK ? "error" : "ok",
@@ -241,7 +241,7 @@ static gps_mask_t decode_itk_subframe(struct gps_device_t *session,
* words with parity checking done but parity bits still present."
*/
for (i = 0; i < 10; i++)
- words[i] = (uint32_t)(getleul(buf, 7 + 14 + 4 * i) >> 6) & 0xffffff;
+ words[i] = (uint32_t)(getleu32(buf, 7 + 14 + 4 * i) >> 6) & 0xffffff;
gpsd_interpret_subframe(session, prn, words);
return ONLINE_IS;
@@ -255,7 +255,7 @@ static gps_mask_t decode_itk_pseudo(struct gps_device_t *session,
union long_double l_d;
double t;
- n = (ushort) getleuw(buf, 7 + 4);
+ n = (ushort) getleu16(buf, 7 + 4);
if ((n < 1) || (n > MAXCHANNELS)){
gpsd_report(LOG_INF, "ITALK: bad PSEUDO channel count\n");
return 0;
@@ -267,12 +267,12 @@ static gps_mask_t decode_itk_pseudo(struct gps_device_t *session,
}
gpsd_report(LOG_PROG, "iTalk PSEUDO [%u]\n", n);
- flags = (unsigned short)getleuw(buf, 7 + 6);
+ flags = (unsigned short)getleu16(buf, 7 + 6);
if ((flags & 0x3) != 0x3)
return 0; // bail if measurement time not valid.
- gps_week = (ushort) getleuw(buf, 7 + 8);
- tow = (uint) getleul(buf, 7 + 38);
+ gps_week = (ushort) getleu16(buf, 7 + 8);
+ tow = (uint) getleu32(buf, 7 + 38);
session->context->gps_week = gps_week;
session->context->gps_tow = tow / 1000.0;
t = gpstime_to_unix((int)gps_week, session->context->gps_tow)
@@ -282,12 +282,12 @@ static gps_mask_t decode_itk_pseudo(struct gps_device_t *session,
/*@-type@*/
for (i = 0; i < n; i++){
- session->gpsdata.PRN[i] = getleuw(buf, 7 + 26 + (i*36)) & 0xff;
- session->gpsdata.ss[i] = getleuw(buf, 7 + 26 + (i*36 + 2)) & 0x3f;
- session->gpsdata.raw.satstat[i] = getleul(buf, 7 + 26 + (i*36 + 4));
+ session->gpsdata.PRN[i] = getleu16(buf, 7 + 26 + (i*36)) & 0xff;
+ session->gpsdata.ss[i] = getleu16(buf, 7 + 26 + (i*36 + 2)) & 0x3f;
+ session->gpsdata.raw.satstat[i] = getleu32(buf, 7 + 26 + (i*36 + 4));
session->gpsdata.raw.pseudorange[i] = getled(buf, 7 + 26 + (i*36 + 8));
session->gpsdata.raw.doppler[i] = getled(buf, 7 + 26 + (i*36 + 16));
- session->gpsdata.raw.carrierphase[i] = getleuw(buf, 7 + 26 + (i*36 + 28));
+ session->gpsdata.raw.carrierphase[i] = getleu16(buf, 7 + 26 + (i*36 + 28));
session->gpsdata.raw.mtime[i] = t;
session->gpsdata.raw.codephase[i] = NAN;
diff --git a/driver_navcom.c b/driver_navcom.c
index ed502e79..eb73ce45 100644
--- a/driver_navcom.c
+++ b/driver_navcom.c
@@ -39,24 +39,24 @@
#include "bits.h"
/* Have data which is 24 bits long */
-#define getlesl24(buf,off) (int32_t)(((uint32_t)getub((buf), (off)+2)<<24 | (uint32_t)getub((buf), (off)+1)<<16 | (uint32_t)getub((buf), (off))<<8)>>8)
-#define getleul24(buf,off) (uint32_t)(((uint32_t)getub((buf), (off)+2)<<24 | (uint32_t)getub((buf), (off)+1)<<16 | (uint32_t)getub((buf), (off))<<8)>>8)
+#define getles3224(buf,off) (int32_t)(((uint32_t)getub((buf), (off)+2)<<24 | (uint32_t)getub((buf), (off)+1)<<16 | (uint32_t)getub((buf), (off))<<8)>>8)
+#define getleu3224(buf,off) (uint32_t)(((uint32_t)getub((buf), (off)+2)<<24 | (uint32_t)getub((buf), (off)+1)<<16 | (uint32_t)getub((buf), (off))<<8)>>8)
/* And just to be difficult, Navcom is little endian but the GPS data stream
is big endian. Some messages contain raw GPS data */
-#define getlesw_be(buf, off) (int16_t)((((uint16_t)getub(buf, (off)) << 8) \
+#define getles16_be(buf, off) (int16_t)((((uint16_t)getub(buf, (off)) << 8) \
| (uint16_t)getub(buf, (off)+1)))
-#define getleuw_be(buf, off) (uint16_t)((((uint16_t)getub(buf, (off)) << 8) \
+#define getleu16_be(buf, off) (uint16_t)((((uint16_t)getub(buf, (off)) << 8) \
| (uint16_t)getub(buf, (off)+1)))
-#define getlesl_be(buf, off) (int32_t)((((uint16_t)getleuw_be(buf, (off)) << 16) \
- | getleuw_be(buf, (off)+2)))
-#define getleul_be(buf, off) (uint32_t)((((uint16_t)getleuw_be(buf, (off)) << 16) \
- | getleuw_be(buf, (off)+2)))
-#define getlesL_be(buf, off) (int64_t)((((uint64_t)getleul_be(buf, (off)) << 32) \
- | getleul_be(buf, (off)+4)))
-#define getleuL_be(buf, off) (uint64_t)((((uint64_t)getleul_be(buf, (off)) << 32) \
- | getleul_be(buf, (off)+4)))
-#define getlesl24_be(buf,off) (int32_t)(((uint32_t)getub((buf), (off))<<24 \
+#define getles32_be(buf, off) (int32_t)((((uint16_t)getleu16_be(buf, (off)) << 16) \
+ | getleu16_be(buf, (off)+2)))
+#define getleu32_be(buf, off) (uint32_t)((((uint16_t)getleu16_be(buf, (off)) << 16) \
+ | getleu16_be(buf, (off)+2)))
+#define getles64_be(buf, off) (int64_t)((((uint64_t)getleu32_be(buf, (off)) << 32) \
+ | getleu32_be(buf, (off)+4)))
+#define getleu64_be(buf, off) (uint64_t)((((uint64_t)getleu32_be(buf, (off)) << 32) \
+ | getleu32_be(buf, (off)+4)))
+#define getles3224_be(buf,off) (int32_t)(((uint32_t)getub((buf), (off))<<24 \
| (uint32_t)getub((buf), (off)+1)<<16 \
| (uint32_t)getub((buf), (off)+2)<<8)>>8)
@@ -88,15 +88,15 @@ static void navcom_cmd_0x20(struct gps_device_t *session, uint8_t block_id,
putbyte(msg, 1, 0x99);
putbyte(msg, 2, 0x66);
putbyte(msg, 3, 0x20); /* Cmd ID */
- putleword(msg, 4, 0x000e); /* Length */
+ putle16(msg, 4, 0x000e); /* Length */
putbyte(msg, 6, 0x00); /* Action */
putbyte(msg, 7, 0x01); /* Count of blocks */
putbyte(msg, 8, block_id); /* Data Block ID */
putbyte(msg, 9, 0x02); /* Logical Ports */
- putleword(msg, 10, rate); /* Data rate */
+ putle16(msg, 10, rate); /* Data rate */
putbyte(msg, 12, 0x71);
putbyte(msg, 13, 0x00);
- putleword(msg, 14, 0x0000);
+ putle16(msg, 14, 0x0000);
putbyte(msg, 16, checksum(msg + 3, 13));
putbyte(msg, 17, 0x03);
(void)navcom_send_cmd(session, msg, 18);
@@ -114,7 +114,7 @@ static void UNUSED navcom_cmd_0x3f(struct gps_device_t *session)
putbyte(msg, 1, 0x99);
putbyte(msg, 2, 0x66);
putbyte(msg, 3, 0x3f); /* Cmd ID */
- putleword(msg, 4, 0x0008);
+ putle16(msg, 4, 0x0008);
putbyte(msg, 6, 0x01); /* Action */
putbyte(msg, 7, 0x00); /* Reserved */
putbyte(msg, 8, 0x02); /* Link LED setting */
@@ -135,7 +135,7 @@ static void navcom_cmd_0x1c(struct gps_device_t *session, uint8_t mode,
putbyte(msg, 1, 0x99);
putbyte(msg, 2, 0x66);
putbyte(msg, 3, 0x1c); /* Cmd ID */
- putleword(msg, 4, 0x0008);
+ putle16(msg, 4, 0x0008);
putbyte(msg, 6, 0x04); /* Use ACK/NAK */
putbyte(msg, 7, mode); /* 0x01 or 0x02 */
putbyte(msg, 8, length); /* Only if mode == 0x01 */
@@ -161,7 +161,7 @@ static void navcom_cmd_0x11(struct gps_device_t *session,
putbyte(msg, 1, 0x99);
putbyte(msg, 2, 0x66);
putbyte(msg, 3, 0x11); /* Cmd ID */
- putleword(msg, 4, 0x0008); /* Length */
+ putle16(msg, 4, 0x0008); /* Length */
putbyte(msg, 6, 0x04); /* Action - Use ACK/NAK) */
putbyte(msg, 7, port_selection);
putbyte(msg, 8, 0x00); /* Reserved */
@@ -245,8 +245,8 @@ static gps_mask_t handle_0x83(struct gps_device_t *session)
/* 2^16 */
#define SF_BETA3 (65536)
unsigned char *buf = session->packet.outbuffer + 3;
- uint16_t week = getleuw(buf, 3);
- uint32_t tow = getleul(buf, 5);
+ uint16_t week = getleu16(buf, 3);
+ uint32_t tow = getleu32(buf, 5);
int8_t alpha0 = getsb(buf, 9);
int8_t alpha1 = getsb(buf, 10);
int8_t alpha2 = getsb(buf, 11);
@@ -255,8 +255,8 @@ static gps_mask_t handle_0x83(struct gps_device_t *session)
int8_t beta1 = getsb(buf, 14);
int8_t beta2 = getsb(buf, 15);
int8_t beta3 = getsb(buf, 16);
- int32_t a1 = getlesl(buf, 17);
- int32_t a0 = getlesl(buf, 21);
+ int32_t a1 = getles32(buf, 17);
+ int32_t a0 = getles32(buf, 21);
uint8_t tot = getub(buf, 25);
uint8_t wnt = getub(buf, 26);
int8_t dtls = getsb(buf, 27);
@@ -337,7 +337,7 @@ static gps_mask_t handle_0x15(struct gps_device_t *session)
{
size_t n;
unsigned char *buf = session->packet.outbuffer + 3;
- size_t msg_len = (size_t) getleuw(buf, 1);
+ size_t msg_len = (size_t) getleu16(buf, 1);
/*@ -type @*/
uint8_t port, cmd_id = getub(buf, 3);
gpsd_report(LOG_PROG,
@@ -404,9 +404,9 @@ static gps_mask_t handle_0xb1(struct gps_device_t *session)
#endif /* __UNUSED__ */
/* Timestamp */
- week = (uint16_t) getleuw(buf, 3);
+ week = (uint16_t) getleu16(buf, 3);
session->context->gps_week = week;
- tow = (uint32_t) getleul(buf, 5);
+ tow = (uint32_t) getleu32(buf, 5);
session->context->gps_tow = tow / 1000.0;
session->newdata.time =
gpstime_to_unix((int)week, session->context->gps_tow)
@@ -414,7 +414,7 @@ static gps_mask_t handle_0xb1(struct gps_device_t *session)
gpsd_rollover_check(session, session->newdata.time);
/* Satellites used */
- sats_used = (uint32_t) getleul(buf, 9);
+ sats_used = (uint32_t) getleu32(buf, 9);
session->gpsdata.satellites_used = 0;
for (n = 0; n < 31; n++) {
if ((sats_used & (0x01 << n)) != 0)
@@ -423,8 +423,8 @@ static gps_mask_t handle_0xb1(struct gps_device_t *session)
}
/* Get latitude, longitude */
- lat = getlesl(buf, 13);
- lon = getlesl(buf, 17);
+ lat = getles32(buf, 13);
+ lon = getles32(buf, 17);
lat_fraction = (uint8_t) (getub(buf, 21) >> 4);
lon_fraction = (uint8_t) (getub(buf, 21) & 0x0f);
@@ -445,11 +445,11 @@ static gps_mask_t handle_0xb1(struct gps_device_t *session)
}
/* Height Data */
- ellips_height = getlesl(buf, 23);
- altitude = getlesl(buf, 27);
+ ellips_height = getles32(buf, 23);
+ altitude = getles32(buf, 27);
- ant_height_adj = getlesw(buf, 51);
- set_delta_up = getlesl(buf, 79);
+ ant_height_adj = getles16(buf, 51);
+ set_delta_up = getles32(buf, 79);
session->newdata.altitude = (double)(altitude * EL_RES)
+ (ant_height_adj * D_RES) + (set_delta_up * D_RES);
@@ -457,10 +457,10 @@ static gps_mask_t handle_0xb1(struct gps_device_t *session)
+ (ant_height_adj * D_RES) + (set_delta_up * D_RES);
/* Speed Data */
- vel_north = (double)getlesl24(buf, 31);
- vel_east = (double)getlesl24(buf, 34);
- /* vel_up = getlesl24(buf, 37); */
- vel_up = (double)getlesl24(buf, 37);
+ vel_north = (double)getles3224(buf, 31);
+ vel_east = (double)getles3224(buf, 34);
+ /* vel_up = getles3224(buf, 37); */
+ vel_up = (double)getles3224(buf, 37);
track = atan2(vel_east, vel_north);
if (track < 0)
@@ -597,13 +597,13 @@ static gps_mask_t handle_0x81(struct gps_device_t *session)
unsigned char *buf = session->packet.outbuffer + 3;
uint8_t prn = getub(buf, 3);
- uint16_t week = getleuw(buf, 4);
- uint32_t tow = getleul(buf, 6);
- uint16_t iodc = getleuw(buf, 10);
+ uint16_t week = getleu16(buf, 4);
+ uint32_t tow = getleu32(buf, 6);
+ uint16_t iodc = getleu16(buf, 10);
/* And now the fun starts... everything that follows is
* raw GPS data minus parity */
/* Subframe 1, words 3 to 10 minus parity */
- uint16_t wn = (getleuw_be(buf, 12) & 0xffc0) >> 6;
+ uint16_t wn = (getleu16_be(buf, 12) & 0xffc0) >> 6;
uint8_t cl2 = (getub(buf, 13) & 0x30) >> 4;
uint8_t ura = getub(buf, 13) & 0x0f;
uint8_t svh = (getub(buf, 14) & 0xfc) >> 2;
@@ -613,36 +613,36 @@ static gps_mask_t handle_0x81(struct gps_device_t *session)
uint8_t l2pd = (getub(buf, 15) & 0x80) >> 7;
int8_t tgd = getsb(buf, 26);
/* iodc |= getub(buf, 27);*/
- uint16_t toc = getleuw_be(buf, 28);
+ uint16_t toc = getleu16_be(buf, 28);
int8_t af2 = getsb(buf, 30);
- int16_t af1 = getlesw_be(buf, 31);
+ int16_t af1 = getles16_be(buf, 31);
/*@ -shiftimplementation @*/
- int32_t af0 = getlesl24_be(buf, 33) >> 2;
+ int32_t af0 = getles3224_be(buf, 33) >> 2;
/*@ +shiftimplementation @*/
/* Subframe 2, words 3 to 10 minus parity */
uint8_t iode = getub(buf, 36);
- int16_t crs = getlesw_be(buf, 37);
- int16_t delta_n = getlesw_be(buf, 39);
- int32_t m0 = getlesl_be(buf, 41);
- int16_t cuc = getlesw_be(buf, 45);
- uint32_t e = getleul_be(buf, 47);
- int16_t cus = getlesw_be(buf, 51);
- uint32_t sqrt_a = getleul_be(buf, 53);
- uint16_t toe = getleuw_be(buf, 57);
+ int16_t crs = getles16_be(buf, 37);
+ int16_t delta_n = getles16_be(buf, 39);
+ int32_t m0 = getles32_be(buf, 41);
+ int16_t cuc = getles16_be(buf, 45);
+ uint32_t e = getleu32_be(buf, 47);
+ int16_t cus = getles16_be(buf, 51);
+ uint32_t sqrt_a = getleu32_be(buf, 53);
+ uint16_t toe = getleu16_be(buf, 57);
/* NOTE - Fit interval & AODO not collected */
/* Subframe 3, words 3 to 10 minus parity */
- int16_t cic = getlesw_be(buf, 60);
- int32_t Omega0 = getlesl_be(buf, 62);
- int16_t cis = getlesw_be(buf, 66);
- int32_t i0 = getlesl_be(buf, 68);
- int16_t crc = getlesw_be(buf, 72);
- int32_t omega = getlesl_be(buf, 74);
- int32_t Omegadot = getlesl24_be(buf, 78);
+ int16_t cic = getles16_be(buf, 60);
+ int32_t Omega0 = getles32_be(buf, 62);
+ int16_t cis = getles16_be(buf, 66);
+ int32_t i0 = getles32_be(buf, 68);
+ int16_t crc = getles16_be(buf, 72);
+ int32_t omega = getles32_be(buf, 74);
+ int32_t Omegadot = getles3224_be(buf, 78);
/*@ -predboolothers @*/
/* Question: What is the proper way of shifting a signed int 2 bits to
* the right, preserving sign? Answer: integer division by 4. */
int16_t idot =
- (int16_t) (((getlesw_be(buf, 82) & 0xfffc) /
+ (int16_t) (((getles16_be(buf, 82) & 0xfffc) /
4) | (getub(buf, 82) & 80 ? 0xc000 : 0x0000));
/*@ +predboolothers @*/
char time_str[24];
@@ -718,11 +718,11 @@ static gps_mask_t handle_0x86(struct gps_device_t *session)
hw_channel, s;
uint16_t azm, dgps_age;
unsigned char *buf = session->packet.outbuffer + 3;
- size_t msg_len = (size_t) getleuw(buf, 1);
- uint16_t week = getleuw(buf, 3);
- uint32_t tow = getleul(buf, 5);
+ size_t msg_len = (size_t) getleu16(buf, 1);
+ uint16_t week = getleu16(buf, 3);
+ uint32_t tow = getleu32(buf, 5);
uint8_t eng_status = getub(buf, 9);
- uint16_t sol_status = getleuw(buf, 10);
+ uint16_t sol_status = getleu16(buf, 10);
uint8_t sats_visible = getub(buf, 12);
//uint8_t sats_tracked = getub(buf, 13);
uint8_t sats_used = getub(buf, 14);
@@ -776,10 +776,10 @@ static gps_mask_t handle_0x86(struct gps_device_t *session)
tracking_status = getub(buf, n + 1);
log_channel = getub(buf, n + 2);
ele = getub(buf, n + 5);
- azm = getleuw(buf, n + 6);
+ azm = getleu16(buf, n + 6);
ca_snr = getub(buf, n + 8);
p2_snr = getub(buf, n + 10);
- dgps_age = getleuw(buf, n + 11);
+ dgps_age = getleu16(buf, n + 11);
hw_channel = getub(buf, n + 13);
s = (unsigned char)0;
/*@ -predboolothers +charint @*/
@@ -826,9 +826,9 @@ static gps_mask_t handle_0xb0(struct gps_device_t *session)
#define LAMBDA_L1 (.190293672798364880476317426464)
size_t n;
unsigned char *buf = session->packet.outbuffer + 3;
- size_t msg_len = (size_t) getleuw(buf, 1);
- uint16_t week = getleuw(buf, 3);
- uint32_t tow = getleul(buf, 5);
+ size_t msg_len = (size_t) getleu16(buf, 1);
+ uint16_t week = getleu16(buf, 3);
+ uint32_t tow = getleu32(buf, 5);
uint8_t tm_slew_acc = getub(buf, 9);
uint8_t status = getub(buf, 10);
@@ -853,14 +853,14 @@ static gps_mask_t handle_0xb0(struct gps_device_t *session)
for (n = 11; n < msg_len - 1; n += 16) {
uint8_t sv_status = getub(buf, n);
uint8_t ch_status = getub(buf, n + 1);
- uint32_t ca_pseudorange = getleul(buf, n + 2);
+ uint32_t ca_pseudorange = getleu32(buf, n + 2);
/* integer division by 16 is a sign-preserving right shift of 4 bits */
- int32_t l1_phase = getlesl24(buf, n + 6) / 16;
- uint8_t l1_slips = (uint8_t) (getlesl24(buf, n + 6) & 0x0f);
- int16_t p1_ca_pseudorange = getlesw(buf, n + 9);
- int16_t p2_ca_pseudorange = getlesw(buf, n + 11);
- int32_t l2_phase = getlesl24(buf, n + 13) / 16;
- uint8_t l2_slips = (uint8_t) (getlesl24(buf, n + 13) & 0x0f);
+ int32_t l1_phase = getles3224(buf, n + 6) / 16;
+ uint8_t l1_slips = (uint8_t) (getles3224(buf, n + 6) & 0x0f);
+ int16_t p1_ca_pseudorange = getles16(buf, n + 9);
+ int16_t p2_ca_pseudorange = getles16(buf, n + 11);
+ int32_t l2_phase = getles3224(buf, n + 13) / 16;
+ uint8_t l2_slips = (uint8_t) (getles3224(buf, n + 13) & 0x0f);
/*@ -predboolothers +charint @*/
double c1 =
(sv_status & 0x80 ? (double)ca_pseudorange / 16.0 *
@@ -905,8 +905,8 @@ static gps_mask_t handle_0xb5(struct gps_device_t *session)
gps_mask_t mask = TIME_IS;
union long_double l_d;
unsigned char *buf = session->packet.outbuffer + 3;
- uint16_t week = getleuw(buf, 3);
- uint32_t tow = getleul(buf, 5);
+ uint16_t week = getleu16(buf, 3);
+ uint32_t tow = getleu32(buf, 5);
double rms = getled(buf, 9);
#ifdef __UNUSED__
/* Reason why it's unused is these figures do not agree
@@ -970,14 +970,14 @@ static gps_mask_t handle_0xae(struct gps_device_t *session)
/*@-modobserver@*/
char *engconfstr, *asicstr;
unsigned char *buf = session->packet.outbuffer + 3;
- size_t msg_len = (size_t) getleuw(buf, 1);
+ size_t msg_len = (size_t) getleu16(buf, 1);
uint8_t engconf = getub(buf, 3);
uint8_t asic = getub(buf, 4);
uint8_t swvermaj = getub(buf, 5);
uint8_t swvermin = getub(buf, 6);
- uint16_t dcser = getleuw(buf, 7);
+ uint16_t dcser = getleu16(buf, 7);
uint8_t dcclass = getub(buf, 9);
- uint16_t rfcser = getleuw(buf, 10);
+ uint16_t rfcser = getleu16(buf, 10);
uint8_t rfcclass = getub(buf, 12);
/*@ -stringliteralnoroomfinalnull -type @*/
uint8_t softtm[17] = "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0";
@@ -1098,8 +1098,8 @@ static gps_mask_t handle_0xae(struct gps_device_t *session)
static gps_mask_t handle_0xef(struct gps_device_t *session)
{
unsigned char *buf = session->packet.outbuffer + 3;
- //uint16_t week = getleuw(buf, 3);
- //uint32_t tow = getleul(buf, 5);
+ //uint16_t week = getleu16(buf, 3);
+ //uint32_t tow = getleu32(buf, 5);
int8_t osc_temp = getsb(buf, 9);
uint8_t nav_status = getub(buf, 10);
union long_double l_d;
@@ -1107,7 +1107,7 @@ static gps_mask_t handle_0xef(struct gps_device_t *session)
union int_float i_f;
float nav_clock_drift;
float osc_filter_drift_est;
- int32_t time_slew = (int32_t) getlesl(buf, 27);
+ int32_t time_slew = (int32_t) getles32(buf, 27);
if (sizeof(double) == 8) {
nav_clock_offset = getled(buf, 11);
} else {
@@ -1148,7 +1148,7 @@ gps_mask_t navcom_parse(struct gps_device_t * session, unsigned char *buf,
cmd_id = (unsigned char)getub(buf, 3);
payload = &buf[6];
- msg_len = (uint) getleuw(buf, 4);
+ msg_len = (uint) getleu16(buf, 4);
/*@ -usedef -compdef @*/
gpsd_report(LOG_RAW, "Navcom: packet type 0x%02x, length %d: %s\n",
@@ -1221,7 +1221,7 @@ static ssize_t navcom_control_send(struct gps_device_t *session,
putbyte(session->msgbuf, 1, 0x99);
putbyte(session->msgbuf, 2, 0x66);
putbyte(session->msgbuf, 3, buf[0]); /* Cmd ID */
- putleword(session->msgbuf, 4, len + 4); /* Length */
+ putle16(session->msgbuf, 4, len + 4); /* Length */
memcpy(session->msgbuf, buf + 6, len - 1);
putbyte(session->msgbuf, 6 + len,
checksum((unsigned char *)session->msgbuf + 3, len + 5));
diff --git a/driver_oncore.c b/driver_oncore.c
index 392c9ac6..80a8ad5d 100644
--- a/driver_oncore.c
+++ b/driver_oncore.c
@@ -102,11 +102,11 @@ oncore_msg_navsol(struct gps_device_t *session, unsigned char *buf,
if (session->context->leap_seconds) {
unpacked_date.tm_mon = (int)getub(buf, 4) - 1;
unpacked_date.tm_mday = (int)getub(buf, 5);
- unpacked_date.tm_year = (int)getbeuw(buf, 6) - 1900;
+ unpacked_date.tm_year = (int)getbeu16(buf, 6) - 1900;
unpacked_date.tm_hour = (int)getub(buf, 8);
unpacked_date.tm_min = (int)getub(buf, 9);
unpacked_date.tm_sec = (int)getub(buf, 10);
- nsec = (uint) getbeul(buf, 11);
+ nsec = (uint) getbeu32(buf, 11);
/*@ -unrecog */
session->newdata.time = (double)timegm(&unpacked_date) + nsec * 1e-9;
@@ -120,12 +120,12 @@ oncore_msg_navsol(struct gps_device_t *session, unsigned char *buf,
}
/*@-type@*/
- lat = getbesl(buf, 15) / 3600000.0f;
- lon = getbesl(buf, 19) / 3600000.0f;
- alt = getbesl(buf, 23) / 100.0f;
- speed = getbeuw(buf, 31) / 100.0f;
- track = getbeuw(buf, 33) / 10.0f;
- dop = getbeuw(buf, 35) / 10.0f;
+ lat = getbes32(buf, 15) / 3600000.0f;
+ lon = getbes32(buf, 19) / 3600000.0f;
+ alt = getbes32(buf, 23) / 100.0f;
+ speed = getbeu16(buf, 31) / 100.0f;
+ track = getbeu16(buf, 33) / 10.0f;
+ dop = getbeu16(buf, 35) / 10.0f;
/*@+type@*/
gpsd_report(LOG_IO,
@@ -252,7 +252,7 @@ oncore_msg_pps_offset(struct gps_device_t *session, unsigned char *buf,
return 0;
gpsd_report(LOG_IO, "oncore PPS offset\n");
- pps_offset_ns = getbesl(buf, 4);
+ pps_offset_ns = getbes32(buf, 4);
session->driver.oncore.pps_offset_ns = pps_offset_ns;
return 0;
@@ -286,7 +286,7 @@ oncore_msg_svinfo(struct gps_device_t *session, unsigned char *buf,
sv = (int)getub(buf, off);
el = (int)getub(buf, off + 3);
- az = (int)getbeuw(buf, off + 4);
+ az = (int)getbeu16(buf, off + 4);
gpsd_report(LOG_IO, "%2d %2d %2d %3d\n", i, sv, el, az);
diff --git a/driver_sirf.c b/driver_sirf.c
index a2c67eb0..bdcdee2f 100644
--- a/driver_sirf.c
+++ b/driver_sirf.c
@@ -350,11 +350,11 @@ static gps_mask_t sirf_msg_debug(unsigned char *buf, size_t len)
static gps_mask_t sirf_msg_errors(unsigned char *buf, size_t len UNUSED)
{
- switch (getbeuw(buf, 1)) {
+ switch (getbeu16(buf, 1)) {
case 2:
gpsd_report(LOG_PROG,
"SiRF: EID 0x0a type 2: Subframe %u error on PRN %u\n",
- getbeul(buf, 9), getbeul(buf, 5));
+ getbeu32(buf, 9), getbeu32(buf, 5));
break;
case 4107:
@@ -364,7 +364,7 @@ static gps_mask_t sirf_msg_errors(unsigned char *buf, size_t len UNUSED)
default:
gpsd_report(LOG_PROG, "SiRF: EID 0x0a: Error MID %d\n",
- getbeuw(buf, 1));
+ getbeu16(buf, 1));
break;
}
return 0;
@@ -445,7 +445,7 @@ static gps_mask_t sirf_msg_navdata(struct gps_device_t *session,
svid = (unsigned int)getub(buf, 2);
for (i = 0; i < 10; i++) {
- words[i] = (uint32_t)getbeul(buf, 4 * i + 3);
+ words[i] = (uint32_t)getbeu32(buf, 4 * i + 3);
}
(void)gpsd_interpret_subframe_raw(session, svid, words);
@@ -472,8 +472,8 @@ static gps_mask_t sirf_msg_svinfo(struct gps_device_t *session,
return 0;
gpsd_zero_satellites(&session->gpsdata);
- session->context->gps_week = (unsigned short)getbesw(buf, 1);
- session->context->gps_tow = (double)getbeul(buf, 3) * 1e-2;
+ session->context->gps_week = (unsigned short)getbes16(buf, 1);
+ session->context->gps_tow = (double)getbeu32(buf, 3) * 1e-2;
/*@ ignore @*//*@ splint is confused @ */
session->gpsdata.skyview_time
=
@@ -503,7 +503,7 @@ static gps_mask_t sirf_msg_svinfo(struct gps_device_t *session,
getub(buf, off),
getub(buf, off + 2) / 2.0,
(getub(buf, off + 1) * 3) / 2.0,
- cn / 10, getbeuw(buf, off + 3), good ? '*' : ' ');
+ cn / 10, getbeu16(buf, off + 3), good ? '*' : ' ');
#endif /* UNUSED */
if (good != 0)
st += 1;
@@ -609,9 +609,9 @@ static gps_mask_t sirf_msg_navsol(struct gps_device_t *session,
session->gpsdata.used[i] = (int)getub(buf, 29 + i);
/* position/velocity is bytes 1-18 */
ecef_to_wgs84fix(&session->newdata, &session->gpsdata.separation,
- getbesl(buf, 1) * 1.0, getbesl(buf, 5) * 1.0,
- getbesl(buf, 9) * 1.0, getbesw(buf, 13) / 8.0,
- getbesw(buf, 15) / 8.0, getbesw(buf, 17) / 8.0);
+ getbes32(buf, 1) * 1.0, getbes32(buf, 5) * 1.0,
+ getbes32(buf, 9) * 1.0, getbes16(buf, 13) / 8.0,
+ getbes16(buf, 15) / 8.0, getbes16(buf, 17) / 8.0);
/* fix status is byte 19 */
navtype = (unsigned short)getub(buf, 19);
session->gpsdata.status = STATUS_NO_FIX;
@@ -631,8 +631,8 @@ static gps_mask_t sirf_msg_navsol(struct gps_device_t *session,
navtype, session->gpsdata.status, session->newdata.mode);
/* byte 20 is HDOP, see below */
/* byte 21 is "mode 2", not clear how to interpret that */
- session->context->gps_week = (unsigned short)getbesw(buf, 22);
- session->context->gps_tow = (double)getbeul(buf, 24) * 1e-2;
+ session->context->gps_week = (unsigned short)getbes16(buf, 22);
+ session->context->gps_tow = (double)getbeu32(buf, 24) * 1e-2;
/*@ ignore @*//*@ splint is confused @ */
session->newdata.time =
gpstime_to_unix(session->context->gps_week,
@@ -709,7 +709,7 @@ static gps_mask_t sirf_msg_geodetic(struct gps_device_t *session,
session->gpsdata.sentence_length = 91;
(void)strlcpy(session->gpsdata.tag, "GND", MAXTAGLEN + 1);
- navtype = (unsigned short)getbeuw(buf, 3);
+ navtype = (unsigned short)getbeu16(buf, 3);
session->gpsdata.status = STATUS_NO_FIX;
session->newdata.mode = MODE_NO_FIX;
if (navtype & 0x80)
@@ -726,18 +726,18 @@ static gps_mask_t sirf_msg_geodetic(struct gps_device_t *session,
navtype, session->gpsdata.status, session->newdata.mode);
mask |= STATUS_IS | MODE_IS;
- session->newdata.latitude = getbesl(buf, 23) * 1e-7;
- session->newdata.longitude = getbesl(buf, 27) * 1e-7;
+ session->newdata.latitude = getbes32(buf, 23) * 1e-7;
+ session->newdata.longitude = getbes32(buf, 27) * 1e-7;
if (session->newdata.latitude != 0 && session->newdata.latitude != 0)
mask |= LATLON_IS;
- if ((eph = getbesl(buf, 50) * 1e-2) > 0) {
+ if ((eph = getbes32(buf, 50) * 1e-2) > 0) {
session->newdata.epx = session->newdata.epy = eph / sqrt(2);
mask |= HERR_IS;
}
- if ((session->newdata.epv = getbesl(buf, 54) * 1e-2) > 0)
+ if ((session->newdata.epv = getbes32(buf, 54) * 1e-2) > 0)
mask |= VERR_IS;
- if ((session->newdata.eps = getbesw(buf, 62) * 1e-2) > 0)
+ if ((session->newdata.eps = getbes16(buf, 62) * 1e-2) > 0)
mask |= SPEEDERR_IS;
/* HDOP should be available at byte 89, but in 231 it's zero. */
@@ -779,13 +779,13 @@ static gps_mask_t sirf_msg_geodetic(struct gps_device_t *session,
* Documentation of this field was corrected in the 1.6 version
* of the protocol manual.
*/
- unpacked_date.tm_year = (int)getbeuw(buf, 11) - 1900;
+ unpacked_date.tm_year = (int)getbeu16(buf, 11) - 1900;
unpacked_date.tm_mon = (int)getub(buf, 13) - 1;
unpacked_date.tm_mday = (int)getub(buf, 14);
unpacked_date.tm_hour = (int)getub(buf, 15);
unpacked_date.tm_min = (int)getub(buf, 16);
unpacked_date.tm_sec = 0;
- subseconds = getbeuw(buf, 17) * 1e-3;
+ subseconds = getbeu16(buf, 17) * 1e-3;
/*@ -compdef -unrecog */
session->newdata.time = (double)timegm(&unpacked_date) + subseconds;
/*@ +compdef +unrecog */
@@ -810,12 +810,12 @@ static gps_mask_t sirf_msg_geodetic(struct gps_device_t *session,
#endif /* NTPSHM_ENABLE */
/* skip 4 bytes of satellite map */
- session->newdata.altitude = getbesl(buf, 35) * 1e-2;
+ session->newdata.altitude = getbes32(buf, 35) * 1e-2;
/* skip 1 byte of map datum */
- session->newdata.speed = getbeuw(buf, 40) * 1e-2;
- session->newdata.track = getbeuw(buf, 42) * 1e-2;
+ session->newdata.speed = getbeu16(buf, 40) * 1e-2;
+ session->newdata.track = getbeu16(buf, 42) * 1e-2;
/* skip 2 bytes of magnetic variation */
- session->newdata.climb = getbesw(buf, 46) * 1e-2;
+ session->newdata.climb = getbes16(buf, 46) * 1e-2;
mask |= TIME_IS | SPEED_IS | TRACK_IS;
if (session->newdata.mode == MODE_3D)
mask |= ALTITUDE_IS | CLIMB_IS;
@@ -846,7 +846,7 @@ static gps_mask_t sirf_msg_sysparam(struct gps_device_t *session,
session->driver.sirf.nav_parameters_seen = true;
session->driver.sirf.altitude_hold_mode = (unsigned char)getub(buf, 5);
session->driver.sirf.altitude_hold_source = (unsigned char)getub(buf, 6);
- session->driver.sirf.altitude_source_input = getbesw(buf, 7);
+ session->driver.sirf.altitude_source_input = getbes16(buf, 7);
session->driver.sirf.degraded_mode = (unsigned char)getub(buf, 9);
session->driver.sirf.degraded_timeout = (unsigned char)getub(buf, 10);
session->driver.sirf.dr_timeout = (unsigned char)getub(buf, 11);
@@ -869,16 +869,16 @@ static gps_mask_t sirf_msg_ublox(struct gps_device_t *session,
/* this packet is only sent by uBlox firmware from version 1.32 */
mask = LATLON_IS | ALTITUDE_IS | SPEED_IS | TRACK_IS | CLIMB_IS |
STATUS_IS | MODE_IS | DOP_IS;
- session->newdata.latitude = getbesl(buf, 1) * RAD_2_DEG * 1e-8;
- session->newdata.longitude = getbesl(buf, 5) * RAD_2_DEG * 1e-8;
+ session->newdata.latitude = getbes32(buf, 1) * RAD_2_DEG * 1e-8;
+ session->newdata.longitude = getbes32(buf, 5) * RAD_2_DEG * 1e-8;
session->gpsdata.separation =
wgs84_separation(session->newdata.latitude,
session->newdata.longitude);
session->newdata.altitude =
- getbesl(buf, 9) * 1e-3 - session->gpsdata.separation;
- session->newdata.speed = getbesl(buf, 13) * 1e-3;
- session->newdata.climb = getbesl(buf, 17) * 1e-3;
- session->newdata.track = getbesl(buf, 21) * RAD_2_DEG * 1e-8;
+ getbes32(buf, 9) * 1e-3 - session->gpsdata.separation;
+ session->newdata.speed = getbes32(buf, 13) * 1e-3;
+ session->newdata.climb = getbes32(buf, 17) * 1e-3;
+ session->newdata.track = getbes32(buf, 21) * RAD_2_DEG * 1e-8;
navtype = (unsigned short)getub(buf, 25);
session->gpsdata.status = STATUS_NO_FIX;
@@ -899,13 +899,13 @@ static gps_mask_t sirf_msg_ublox(struct gps_device_t *session,
struct tm unpacked_date;
double subseconds;
mask |= TIME_IS;
- unpacked_date.tm_year = (int)getbeuw(buf, 26) - 1900;
+ unpacked_date.tm_year = (int)getbeu16(buf, 26) - 1900;
unpacked_date.tm_mon = (int)getub(buf, 28) - 1;
unpacked_date.tm_mday = (int)getub(buf, 29);
unpacked_date.tm_hour = (int)getub(buf, 30);
unpacked_date.tm_min = (int)getub(buf, 31);
unpacked_date.tm_sec = 0;
- subseconds = ((unsigned short)getbeuw(buf, 32)) * 1e-3;
+ subseconds = ((unsigned short)getbeu16(buf, 32)) * 1e-3;
/*@ -compdef */
session->newdata.time = (double)mkgmtime(&unpacked_date) + subseconds;
/*@ +compdef */
@@ -957,11 +957,11 @@ static gps_mask_t sirf_msg_ppstime(struct gps_device_t *session,
unpacked_date.tm_sec = (int)getub(buf, 3);
unpacked_date.tm_mday = (int)getub(buf, 4);
unpacked_date.tm_mon = (int)getub(buf, 5) - 1;
- unpacked_date.tm_year = (int)getbeuw(buf, 6) - 1900;
+ unpacked_date.tm_year = (int)getbeu16(buf, 6) - 1900;
/*@ -compdef */
session->newdata.time = (double)mkgmtime(&unpacked_date);
/*@ +compdef */
- session->context->leap_seconds = (int)getbeuw(buf, 8);
+ session->context->leap_seconds = (int)getbeu16(buf, 8);
if (LEAP_SECONDS > session->context->leap_seconds) {
/* something wrong */
gpsd_report(LOG_ERROR, "SiRF: Invalid leap_seconds: %d\n",
@@ -1045,9 +1045,9 @@ gps_mask_t sirf_parse(struct gps_device_t * session, unsigned char *buf,
case 0x09: /* CPU Throughput MID 9 */
gpsd_report(LOG_PROG,
"SiRF: THR 0x09: SegStatMax=%.3f, SegStatLat=%3.f, AveTrkTime=%.3f, Last MS=%u\n",
- (float)getbeuw(buf, 1) / 186, (float)getbeuw(buf,
+ (float)getbeu16(buf, 1) / 186, (float)getbeu16(buf,
3) / 186,
- (float)getbeuw(buf, 5) / 186, getbeuw(buf, 7));
+ (float)getbeu16(buf, 5) / 186, getbeu16(buf, 7));
return 0;
case 0x0a: /* Error ID Data MID 10 */
@@ -1334,7 +1334,7 @@ static void sirfbin_event_hook(struct gps_device_t *session, event_t event)
};
/*@ -charint -shiftimplementation @*/
putbyte(moderevert, 7, session->driver.sirf.degraded_mode);
- putbeword(moderevert, 10, session->driver.sirf.altitude_source_input);
+ putbe16(moderevert, 10, session->driver.sirf.altitude_source_input);
putbyte(moderevert, 12, session->driver.sirf.altitude_hold_mode);
putbyte(moderevert, 13, session->driver.sirf.altitude_hold_source);
putbyte(moderevert, 15, session->driver.sirf.degraded_timeout);
diff --git a/driver_superstar2.c b/driver_superstar2.c
index 29cbd37f..3a6da132 100644
--- a/driver_superstar2.c
+++ b/driver_superstar2.c
@@ -99,7 +99,7 @@ superstar2_msg_navsol_lla(struct gps_device_t *session,
tm.tm_sec = (int)d;
tm.tm_mday = (int)getub(buf, 14);
tm.tm_mon = (int)getub(buf, 15) - 1;
- tm.tm_year = (int)getleuw(buf, 16) - 1900;
+ tm.tm_year = (int)getleu16(buf, 16) - 1900;
session->newdata.time = timegm(&tm) + (d - tm.tm_sec);
mask |= TIME_IS;
@@ -113,8 +113,8 @@ superstar2_msg_navsol_lla(struct gps_device_t *session,
mask |= LATLON_IS | ALTITUDE_IS | SPEED_IS | TRACK_IS | CLIMB_IS;
session->gpsdata.satellites_used = (int)getub(buf, 71) & 0x0f;
- /*@i3@*/ session->gpsdata.dop.hdop = getleuw(buf, 66) * 0.1;
- /*@i3@*/ session->gpsdata.dop.vdop = getleuw(buf, 68) * 0.1;
+ /*@i3@*/ session->gpsdata.dop.hdop = getleu16(buf, 66) * 0.1;
+ /*@i3@*/ session->gpsdata.dop.vdop = getleu16(buf, 68) * 0.1;
/* other DOP if available */
mask |= DOP_IS | USED_IS;
@@ -261,7 +261,7 @@ superstar2_msg_timing(struct gps_device_t *session, unsigned char *buf,
(void)memset(&tm, '\0', sizeof(tm));
tm.tm_mday = (int)getsb(buf, 37);
tm.tm_mon = (int)getsb(buf, 38) - 1;
- tm.tm_year = (int)getlesw(buf, 39) - 1900;
+ tm.tm_year = (int)getles16(buf, 39) - 1900;
tm.tm_hour = (int)getsb(buf, 41);
tm.tm_min = (int)getsb(buf, 42);
@@ -303,8 +303,8 @@ superstar2_msg_measurement(struct gps_device_t *session, unsigned char *buf,
session->gpsdata.PRN[i] = (int)getub(buf, 11 * i + 15) & 0x1f;
session->gpsdata.ss[i] = (double)getub(buf, 11 * i * 15 + 1) / 4.0;
session->gpsdata.raw.codephase[i] =
- (double)getleul(buf, 11 * i * 15 + 2);
- ul = (unsigned long)getleul(buf, 11 * i * 15 + 6);
+ (double)getleu32(buf, 11 * i * 15 + 2);
+ ul = (unsigned long)getleu32(buf, 11 * i * 15 + 6);
session->gpsdata.raw.satstat[i] = (unsigned int)(ul & 0x03L);
session->gpsdata.raw.carrierphase[i] = (double)((ul >> 2) & 0x03ffL);
diff --git a/driver_tsip.c b/driver_tsip.c
index 56a0f6e0..aa4625f4 100644
--- a/driver_tsip.c
+++ b/driver_tsip.c
@@ -184,7 +184,7 @@ static gps_mask_t tsip_analyze(struct gps_device_t *session)
break;
session->driver.tsip.last_41 = now; /* keep timestamp for request */
f1 = getbef(buf, 0); /* gpstime */
- s1 = getbesw(buf, 4); /* week */
+ s1 = getbes16(buf, 4); /* week */
f2 = getbef(buf, 6); /* leap seconds */
if (f1 >= 0.0 && f2 > 10.0) {
session->context->gps_week = s1;
@@ -384,7 +384,7 @@ static gps_mask_t tsip_analyze(struct gps_device_t *session)
u1 = getub(buf, 0); /* Source of information */
u2 = getub(buf, 1); /* Mfg. diagnostic */
f1 = getbef(buf, 2); /* gps_time */
- s1 = getbesw(buf, 6); /* tsip.gps_week */
+ s1 = getbes16(buf, 6); /* tsip.gps_week */
/*@ +charint @*/
if (getub(buf, 0) == 0x01) /* good current fix? */
session->context->gps_week = s1;
@@ -513,7 +513,7 @@ static gps_mask_t tsip_analyze(struct gps_device_t *session)
if (len < 20 || getub(buf, 0) != 1 || getub(buf, 1) != 2)
break;
/*@ -charint @*/
- s1 = getbesw(buf, 2); /* number of bytes */
+ s1 = getbes16(buf, 2); /* number of bytes */
u1 = getub(buf, 20); /* number of SVs */
break;
case 0x70: /* Filter Report */
@@ -584,7 +584,7 @@ static gps_mask_t tsip_analyze(struct gps_device_t *session)
case 0x15: /* Current Datum Values */
if (len != 43)
break;
- s1 = getbesw(buf, 1); /* Datum Index */
+ s1 = getbes16(buf, 1); /* Datum Index */
d1 = getbed(buf, 3); /* DX */
d2 = getbed(buf, 11); /* DY */
d3 = getbed(buf, 19); /* DZ */
@@ -598,18 +598,18 @@ static gps_mask_t tsip_analyze(struct gps_device_t *session)
/* CSK sez "why does my Lassen iQ output oversize packets?" */
if ((len != 56) && (len != 64))
break;
- s1 = getbesw(buf, 2); /* east velocity */
- s2 = getbesw(buf, 4); /* north velocity */
- s3 = getbesw(buf, 6); /* up velocity */
- ul1 = getbeul(buf, 8); /* time */
- sl1 = getbesl(buf, 12); /* latitude */
- ul2 = getbeul(buf, 16); /* longitude */
- sl2 = getbesl(buf, 20); /* altitude */
+ s1 = getbes16(buf, 2); /* east velocity */
+ s2 = getbes16(buf, 4); /* north velocity */
+ s3 = getbes16(buf, 6); /* up velocity */
+ ul1 = getbeu32(buf, 8); /* time */
+ sl1 = getbes32(buf, 12); /* latitude */
+ ul2 = getbeu32(buf, 16); /* longitude */
+ sl2 = getbes32(buf, 20); /* altitude */
u1 = getub(buf, 24); /* velocity scaling */
u2 = getub(buf, 27); /* fix flags */
u3 = getub(buf, 28); /* num svs */
u4 = getub(buf, 29); /* utc offset */
- s4 = getbesw(buf, 30); /* tsip.gps_week */
+ s4 = getbes16(buf, 30); /* tsip.gps_week */
/* PRN/IODE data follows */
gpsd_report(LOG_RAW,
"LFwEI %d %d %d %u %d %u %u %x %x %u %u %d\n", s1, s2,
@@ -678,16 +678,16 @@ static gps_mask_t tsip_analyze(struct gps_device_t *session)
/* CSK sez "i don't trust this to not be oversized either." */
if (len < 29)
break;
- ul1 = getbeul(buf, 1); /* time */
- s1 = getbesw(buf, 5); /* tsip.gps_week */
+ ul1 = getbeu32(buf, 1); /* time */
+ s1 = getbes16(buf, 5); /* tsip.gps_week */
u1 = getub(buf, 7); /* utc offset */
u2 = getub(buf, 8); /* fix flags */
- sl1 = getbesl(buf, 9); /* latitude */
- ul2 = getbeul(buf, 13); /* longitude */
- sl3 = getbesl(buf, 17); /* altitude */
- s2 = getbesw(buf, 21); /* east velocity */
- s3 = getbesw(buf, 23); /* north velocity */
- s4 = getbesw(buf, 25); /* up velocity */
+ sl1 = getbes32(buf, 9); /* latitude */
+ ul2 = getbeu32(buf, 13); /* longitude */
+ sl3 = getbes32(buf, 17); /* altitude */
+ s2 = getbes16(buf, 21); /* east velocity */
+ s3 = getbes16(buf, 23); /* north velocity */
+ s4 = getbes16(buf, 25); /* up velocity */
gpsd_report(LOG_INF, "CSP %u %d %u %u %d %u %d %d %d %d\n", ul1,
s1, u1, u2, sl1, ul2, sl3, s2, s3, s4);
session->context->gps_week = s1;
@@ -757,9 +757,9 @@ static gps_mask_t tsip_analyze(struct gps_device_t *session)
break;
}
session->driver.tsip.last_41 = now; /* keep timestamp for request */
- ul1 = getbeul(buf, 1); /* gpstime */
- s1 = (short)getbeuw(buf, 5); /* week */
- s2 = getbesw(buf, 7); /* leap seconds */
+ ul1 = getbeu32(buf, 1); /* gpstime */
+ s1 = (short)getbeu16(buf, 5); /* week */
+ s2 = getbes16(buf, 7); /* leap seconds */
session->context->gps_week = s1;
if ((int)u1 > 10) {
@@ -1022,16 +1022,16 @@ static void tsip_event_hook(struct gps_device_t *session, event_t event)
putbyte(buf, 0, 0x01);
/* - elevation mask */
i_f.f = 5.0 * DEG_2_RAD;
- putbelong(buf, 1, i_f.i);
+ putbe32(buf, 1, i_f.i);
/* - signal level mask */
i_f.f = 6.0;
- putbelong(buf, 5, i_f.i);
+ putbe32(buf, 5, i_f.i);
/* - PDOP mask */
i_f.f = 8.0;
- putbelong(buf, 9, i_f.i);
+ putbe32(buf, 9, i_f.i);
/* - PDOP switch */
i_f.f = 6.0;
- putbelong(buf, 13, i_f.i);
+ putbe32(buf, 13, i_f.i);
/*@ +shiftimplementation @*/
(void)tsip_write(session, 0x2c, buf, 17);
/* Set Position Fix Mode (auto 2D/3D) */
diff --git a/driver_ubx.c b/driver_ubx.c
index 1e6eb887..ea985571 100644
--- a/driver_ubx.c
+++ b/driver_ubx.c
@@ -66,8 +66,8 @@ ubx_msg_nav_sol(struct gps_device_t *session, unsigned char *buf,
flags = (unsigned int)getub(buf, 11);
mask = 0;
if ((flags & (UBX_SOL_VALID_WEEK | UBX_SOL_VALID_TIME)) != 0) {
- tow = (unsigned int)getleul(buf, 0);
- gw = (unsigned short)getlesw(buf, 8);
+ tow = (unsigned int)getleu32(buf, 0);
+ gw = (unsigned short)getles16(buf, 8);
session->context->gps_week = gw;
session->context->gps_tow = tow / 1000.0;
@@ -79,20 +79,20 @@ ubx_msg_nav_sol(struct gps_device_t *session, unsigned char *buf,
mask |= TIME_IS;
}
- epx = (double)(getlesl(buf, 12) / 100.0);
- epy = (double)(getlesl(buf, 16) / 100.0);
- epz = (double)(getlesl(buf, 20) / 100.0);
- evx = (double)(getlesl(buf, 28) / 100.0);
- evy = (double)(getlesl(buf, 32) / 100.0);
- evz = (double)(getlesl(buf, 36) / 100.0);
+ epx = (double)(getles32(buf, 12) / 100.0);
+ epy = (double)(getles32(buf, 16) / 100.0);
+ epz = (double)(getles32(buf, 20) / 100.0);
+ evx = (double)(getles32(buf, 28) / 100.0);
+ evy = (double)(getles32(buf, 32) / 100.0);
+ evz = (double)(getles32(buf, 36) / 100.0);
ecef_to_wgs84fix(&session->newdata, &session->gpsdata.separation,
epx, epy, epz, evx, evy, evz);
mask |= LATLON_IS | ALTITUDE_IS | SPEED_IS | TRACK_IS | CLIMB_IS;
session->newdata.epx = session->newdata.epy =
- (double)(getlesl(buf, 24) / 100.0) / sqrt(2);
- session->newdata.eps = (double)(getlesl(buf, 40) / 100.0);
+ (double)(getles32(buf, 24) / 100.0) / sqrt(2);
+ session->newdata.eps = (double)(getles32(buf, 40) / 100.0);
/* Better to have a single point of truth about DOPs */
- //session->gpsdata.dop.pdop = (double)(getleuw(buf, 44)/100.0);
+ //session->gpsdata.dop.pdop = (double)(getleu16(buf, 44)/100.0);
session->gpsdata.satellites_used = (int)getub(buf, 47);
navmode = (unsigned char)getub(buf, 10);
@@ -147,11 +147,11 @@ ubx_msg_nav_dop(struct gps_device_t *session, unsigned char *buf,
* to our calculations from the visiniolity matrix, trusting
* the firmware algorithms over ours.
*/
- session->gpsdata.dop.gdop = (double)(getleuw(buf, 4) / 100.0);
- session->gpsdata.dop.pdop = (double)(getleuw(buf, 6) / 100.0);
- session->gpsdata.dop.tdop = (double)(getleuw(buf, 8) / 100.0);
- session->gpsdata.dop.vdop = (double)(getleuw(buf, 10) / 100.0);
- session->gpsdata.dop.hdop = (double)(getleuw(buf, 12) / 100.0);
+ session->gpsdata.dop.gdop = (double)(getleu16(buf, 4) / 100.0);
+ session->gpsdata.dop.pdop = (double)(getleu16(buf, 6) / 100.0);
+ session->gpsdata.dop.tdop = (double)(getleu16(buf, 8) / 100.0);
+ session->gpsdata.dop.vdop = (double)(getleu16(buf, 10) / 100.0);
+ session->gpsdata.dop.hdop = (double)(getleu16(buf, 12) / 100.0);
gpsd_report(LOG_DATA, "NAVDOP: gdop=%.2f pdop=%.2f "
"hdop=%.2f vdop=%.2f tdop=%.2f mask={DOP}\n",
session->gpsdata.dop.gdop,
@@ -174,8 +174,8 @@ ubx_msg_nav_timegps(struct gps_device_t *session, unsigned char *buf,
if (data_len != 16)
return 0;
- tow = (unsigned int)getleul(buf, 0);
- gw = (unsigned int)getlesw(buf, 8);
+ tow = (unsigned int)getleu32(buf, 0);
+ gw = (unsigned int)getles16(buf, 8);
if (gw > session->context->gps_week)
session->context->gps_week = (unsigned short)gw;
@@ -226,7 +226,7 @@ ubx_msg_nav_svinfo(struct gps_device_t *session, unsigned char *buf,
session->gpsdata.PRN[j] = (int)getub(buf, off + 1);
session->gpsdata.ss[j] = (float)getub(buf, off + 4);
session->gpsdata.elevation[j] = (int)getsb(buf, off + 5);
- session->gpsdata.azimuth[j] = (int)getlesw(buf, off + 6);
+ session->gpsdata.azimuth[j] = (int)getles16(buf, off + 6);
if (session->gpsdata.PRN[j])
st++;
/*@ -predboolothers */
@@ -284,7 +284,7 @@ static void ubx_msg_sfrb(struct gps_device_t *session, unsigned char *buf)
/* UBX does all the parity checking, but still bad data gets through */
for (i = 0; i < 10; i++) {
- words[i] = (uint32_t)getleul(buf, 4 * i + 2) & 0xffffff;
+ words[i] = (uint32_t)getleu32(buf, 4 * i + 2) & 0xffffff;
}
gpsd_interpret_subframe(session, svid, words);
@@ -339,7 +339,7 @@ gps_mask_t ubx_parse(struct gps_device_t * session, unsigned char *buf,
/* extract message id and length */
msgid = (buf[2] << 8) | buf[3];
- data_len = (size_t) getlesw(buf, 4);
+ data_len = (size_t) getles16(buf, 4);
switch (msgid) {
case UBX_NAV_POSECEF:
gpsd_report(LOG_IO, "UBX_NAV_POSECEF\n");
@@ -678,7 +678,7 @@ static void ubx_nmea_mode(struct gps_device_t *session, int mode)
i++)
buf[i] = session->driver.ubx.original_port_settings[i]; /* copy the original port settings */
if (buf[0] == 0x01) /* set baudrate on serial port only */
- putlelong(buf, 8, session->gpsdata.dev.baudrate);
+ putle32(buf, 8, session->gpsdata.dev.baudrate);
if (mode == MODE_NMEA) {
buf[14] &= ~0x01; /* turn off UBX output on this port */
@@ -705,7 +705,7 @@ static bool ubx_speed(struct gps_device_t *session,
if ((!session->driver.ubx.have_port_configuration) || (buf[0] != 0x01)) /* set baudrate on serial port only */
return false;
- usart_mode = (unsigned long)getleul(buf, 4);
+ usart_mode = (unsigned long)getleu32(buf, 4);
usart_mode &= ~0xE00; /* zero bits 11:9 */
switch (parity) {
case (int)'E':
@@ -725,8 +725,8 @@ static bool ubx_speed(struct gps_device_t *session,
usart_mode &= ~0x03000; /* zero bits 13:12 */
if (stopbits == 2)
usart_mode |= 0x2000; /* zero value means 1 stop bit */
- putlelong(buf, 4, usart_mode);
- putlelong(buf, 8, speed);
+ putle32(buf, 4, usart_mode);
+ putle32(buf, 8, speed);
(void)ubx_write(session, 0x06, 0x00, &buf[6], 20); /* send back with all other settings intact */
/*@ -charint +usedef +compdef */
return true;
diff --git a/driver_zodiac.c b/driver_zodiac.c
index 1caeeb4e..b13dd64d 100644
--- a/driver_zodiac.c
+++ b/driver_zodiac.c
@@ -127,8 +127,8 @@ static ssize_t zodiac_send_rtcm(struct gps_device_t *session,
return 1;
}
-#define getzword(n) getwordz(session->packet.outbuffer, n)
-#define getzlong(n) getlongz(session->packet.outbuffer, n)
+#define getzword(n) get16z(session->packet.outbuffer, n)
+#define getzlong(n) get32z(session->packet.outbuffer, n)
static gps_mask_t handle1000(struct gps_device_t *session)
/* time-position-velocity report */
diff --git a/drivers.c b/drivers.c
index 201af3c0..126e26c7 100644
--- a/drivers.c
+++ b/drivers.c
@@ -12,7 +12,7 @@
#endif /* S_SPLINT_S */
#include "gpsd.h"
-#include "bits.h" /* for getbeuw(), to extract big-endian words */
+#include "bits.h" /* for getbeu16(), to extract big-endian words */
extern const struct gps_type_t zodiac_binary;
extern const struct gps_type_t ubx_binary;
@@ -846,8 +846,8 @@ static const struct gps_type_t rtcm104v2 = {
static gps_mask_t rtcm104v3_analyze(struct gps_device_t *session)
{
- uint16_t length = getbeuw(session->packet.inbuffer, 1);
- uint16_t type = getbeuw(session->packet.inbuffer, 3) >> 4;
+ uint16_t length = getbeu16(session->packet.inbuffer, 1);
+ uint16_t type = getbeu16(session->packet.inbuffer, 3) >> 4;
/* *INDENT-OFF* */
gpsd_report(LOG_RAW, "RTCM 3.x packet type %d length %d words: %s\n",
diff --git a/monitor_italk.c b/monitor_italk.c
index b2f786c5..c61acca3 100644
--- a/monitor_italk.c
+++ b/monitor_italk.c
@@ -79,43 +79,43 @@ static void display_itk_navfix(unsigned char *buf, size_t len)
if (len != 296)
return;
- flags = (ushort) getleuw(buf, 7 + 4);
- cflags = (ushort) getleuw(buf, 7 + 6);
- pflags = (ushort) getleuw(buf, 7 + 8);
+ flags = (ushort) getleu16(buf, 7 + 4);
+ cflags = (ushort) getleu16(buf, 7 + 6);
+ pflags = (ushort) getleu16(buf, 7 + 8);
#define MAX(a,b) (((a) > (b)) ? (a) : (b))
- nsv = (ushort) MAX(getleuw(buf, 7 + 12), getleuw(buf, 7 + 14));
- svlist = (ushort) getleul(buf, 7 + 16) | getleul(buf, 7 + 24);
-
- hour = (ushort) getleuw(buf, 7 + 66);
- min = (ushort) getleuw(buf, 7 + 68);
- sec = (ushort) getleuw(buf, 7 + 70);
- nsec = (ushort) getleul(buf, 7 + 72);
- year = (ushort) getleuw(buf, 7 + 76);
- mon = (ushort) getleuw(buf, 7 + 78);
- day = (ushort) getleuw(buf, 7 + 80);
- gps_week = (ushort) getlesw(buf, 7 + 82);
- tow = (ushort) getleul(buf, 7 + 84);
-
- epx = (double)(getlesl(buf, 7 + 96) / 100.0);
- epy = (double)(getlesl(buf, 7 + 100) / 100.0);
- epz = (double)(getlesl(buf, 7 + 104) / 100.0);
- evx = (double)(getlesl(buf, 7 + 186) / 1000.0);
- evy = (double)(getlesl(buf, 7 + 190) / 1000.0);
- evz = (double)(getlesl(buf, 7 + 194) / 1000.0);
-
- latitude = (double)(getlesl(buf, 7 + 144) / 1e7);
- longitude = (double)(getlesl(buf, 7 + 148) / 1e7);
- altitude = (float)(getlesl(buf, 7 + 152) / 1e3);
- climb = (float)(getlesl(buf, 7 + 206) / 1e3);
- speed = (float)(getleul(buf, 7 + 210) / 1e3);
- track = (float)(getleuw(buf, 7 + 214) / 1e2);
-
- hdop = (float)(getleuw(buf, 7 + 56) / 100.0);
- gdop = (float)(getleuw(buf, 7 + 58) / 100.0);
- pdop = (float)(getleuw(buf, 7 + 60) / 100.0);
- vdop = (float)(getleuw(buf, 7 + 62) / 100.0);
- tdop = (float)(getleuw(buf, 7 + 64) / 100.0);
+ nsv = (ushort) MAX(getleu16(buf, 7 + 12), getleu16(buf, 7 + 14));
+ svlist = (ushort) getleu32(buf, 7 + 16) | getleu32(buf, 7 + 24);
+
+ hour = (ushort) getleu16(buf, 7 + 66);
+ min = (ushort) getleu16(buf, 7 + 68);
+ sec = (ushort) getleu16(buf, 7 + 70);
+ nsec = (ushort) getleu32(buf, 7 + 72);
+ year = (ushort) getleu16(buf, 7 + 76);
+ mon = (ushort) getleu16(buf, 7 + 78);
+ day = (ushort) getleu16(buf, 7 + 80);
+ gps_week = (ushort) getles16(buf, 7 + 82);
+ tow = (ushort) getleu32(buf, 7 + 84);
+
+ epx = (double)(getles32(buf, 7 + 96) / 100.0);
+ epy = (double)(getles32(buf, 7 + 100) / 100.0);
+ epz = (double)(getles32(buf, 7 + 104) / 100.0);
+ evx = (double)(getles32(buf, 7 + 186) / 1000.0);
+ evy = (double)(getles32(buf, 7 + 190) / 1000.0);
+ evz = (double)(getles32(buf, 7 + 194) / 1000.0);
+
+ latitude = (double)(getles32(buf, 7 + 144) / 1e7);
+ longitude = (double)(getles32(buf, 7 + 148) / 1e7);
+ altitude = (float)(getles32(buf, 7 + 152) / 1e3);
+ climb = (float)(getles32(buf, 7 + 206) / 1e3);
+ speed = (float)(getleu32(buf, 7 + 210) / 1e3);
+ track = (float)(getleu16(buf, 7 + 214) / 1e2);
+
+ hdop = (float)(getleu16(buf, 7 + 56) / 100.0);
+ gdop = (float)(getleu16(buf, 7 + 58) / 100.0);
+ pdop = (float)(getleu16(buf, 7 + 60) / 100.0);
+ vdop = (float)(getleu16(buf, 7 + 62) / 100.0);
+ tdop = (float)(getleu16(buf, 7 + 64) / 100.0);
(void)wmove(navfixwin, 1, 11);
(void)wprintw(navfixwin, "%12.2lf %12.2lf %12.2lfm", epx, epy, epz);
@@ -179,7 +179,7 @@ static void display_itk_prnstatus(unsigned char *buf, size_t len)
if (len < 62)
return;
- nchan = (int)getleuw(buf, 7 + 50);
+ nchan = (int)getleu16(buf, 7 + 50);
if (nchan > MAX_NR_VISIBLE_PRNS)
nchan = MAX_NR_VISIBLE_PRNS;
for (i = 0; i < nchan; i++) {
@@ -187,11 +187,11 @@ static void display_itk_prnstatus(unsigned char *buf, size_t len)
unsigned short fl;
unsigned char ss, prn, el, az;
- fl = (unsigned short)getleuw(buf, off);
- ss = (unsigned char)getleuw(buf, off + 2) & 0xff;
- prn = (unsigned char)getleuw(buf, off + 4) & 0xff;
- el = (unsigned char)getlesw(buf, off + 6) & 0xff;
- az = (unsigned char)getlesw(buf, off + 8) & 0xff;
+ fl = (unsigned short)getleu16(buf, off);
+ ss = (unsigned char)getleu16(buf, off + 2) & 0xff;
+ prn = (unsigned char)getleu16(buf, off + 4) & 0xff;
+ el = (unsigned char)getles16(buf, off + 6) & 0xff;
+ az = (unsigned char)getles16(buf, off + 8) & 0xff;
(void)wmove(satwin, i + 2, 4);
(void)wprintw(satwin, "%3d %3d %2d %02d %04x %c",
prn, az, el, ss, fl,
diff --git a/monitor_oncore.c b/monitor_oncore.c
index 6353a014..e97dadb2 100644
--- a/monitor_oncore.c
+++ b/monitor_oncore.c
@@ -194,18 +194,18 @@ static void oncore_update(void)
mon = (unsigned char)getub(buf, 4);
day = (unsigned char)getub(buf, 5);
- year = (unsigned short)getbeuw(buf, 6);
+ year = (unsigned short)getbeu16(buf, 6);
hour = (unsigned char)getub(buf, 8);
min = (unsigned char)getub(buf, 9);
sec = (unsigned char)getub(buf, 10);
- nsec = (unsigned int)getbeul(buf, 11);
-
- lat = getbesl(buf, 15) / 3600000.0;
- lon = getbesl(buf, 19) / 3600000.0;
- alt = getbesl(buf, 23) / 100.0;
- speed = (float)(getbeuw(buf, 31) / 100.0);
- track = (float)(getbeuw(buf, 33) / 10.0);
- dop = (float)(getbeuw(buf, 35) / 10.0);
+ nsec = (unsigned int)getbeu32(buf, 11);
+
+ lat = getbes32(buf, 15) / 3600000.0;
+ lon = getbes32(buf, 19) / 3600000.0;
+ alt = getbes32(buf, 23) / 100.0;
+ speed = (float)(getbeu16(buf, 31) / 100.0);
+ track = (float)(getbeu16(buf, 33) / 10.0);
+ dop = (float)(getbeu16(buf, 35) / 10.0);
dopt = (unsigned char)getub(buf, 37);
nvis = (unsigned char)getub(buf, 38);
nsat = (unsigned char)getub(buf, 39);
@@ -321,9 +321,9 @@ static void oncore_update(void)
off = 5 + 7 * i;
sv = (unsigned char)getub(buf, off);
- doppl = (int)getbesw(buf, off + 1);
+ doppl = (int)getbes16(buf, off + 1);
el = (int)getub(buf, off + 3);
- az = (int)getbeuw(buf, off + 4);
+ az = (int)getbeu16(buf, off + 4);
health = (int)getub(buf, off + 5);
(void)wmove(Bbwin, (int)Bblines[i], 1);
@@ -349,13 +349,13 @@ static void oncore_update(void)
float alarm, sigma;
traim = (unsigned char)getub(buf, 5);
- alarm = (float)(getbeuw(buf, 6) / 10.);
+ alarm = (float)(getbeu16(buf, 6) / 10.);
ctrl = (unsigned char)getub(buf, 8);
pulse = (unsigned char)getub(buf, 19);
sync = (unsigned char)getub(buf, 20);
sol_stat = (unsigned char)getub(buf, 21);
status = (unsigned char)getub(buf, 22);
- sigma = (float)(getbeuw(buf, 23));
+ sigma = (float)(getbeu16(buf, 23));
/*@ -predboolothers @*/
(void)mvwprintw(Enwin, 1, 24, "%3s", traim ? "on" : "off");
@@ -391,7 +391,7 @@ static void oncore_update(void)
{
double pps_offset;
- pps_offset = getbesl(buf, 4) / 1000000.0;
+ pps_offset = getbes32(buf, 4) / 1000000.0;
(void)mvwprintw(Aywin, 2, 2, " %7.3f ms", pps_offset);
}
@@ -415,9 +415,9 @@ static void oncore_update(void)
{
double lat, lon, alt;
- lat = getbesl(buf, 4) / 3600000.0;
- lon = getbesl(buf, 8) / 3600000.0;
- alt = getbesl(buf, 12) / 100.0;
+ lat = getbes32(buf, 4) / 3600000.0;
+ lon = getbes32(buf, 8) / 3600000.0;
+ alt = getbes32(buf, 12) / 100.0;
(void)mvwprintw(Aswin, 1, 5, "%10.6lf %c",
fabs(lat), lat < 0 ? 'S' : lat > 0 ? 'N' : ' ');
diff --git a/monitor_sirf.c b/monitor_sirf.c
index 5ffcf5fc..5944fdd0 100644
--- a/monitor_sirf.c
+++ b/monitor_sirf.c
@@ -298,18 +298,18 @@ static void sirf_update(void)
switch (buf[0]) {
case 0x02: /* Measured Navigation Data */
(void)wmove(mid2win, 1, 6); /* ECEF position */
- (void)wprintw(mid2win, "%8d %8d %8d", getbesl(buf, 1),
- getbesl(buf, 5), getbesl(buf, 9));
+ (void)wprintw(mid2win, "%8d %8d %8d", getbes32(buf, 1),
+ getbes32(buf, 5), getbes32(buf, 9));
(void)wmove(mid2win, 2, 6); /* ECEF velocity */
(void)wprintw(mid2win, "%8.1f %8.1f %8.1f",
- (double)getbesw(buf, 13) / 8, (double)getbesw(buf,
+ (double)getbes16(buf, 13) / 8, (double)getbes16(buf,
15) / 8,
- (double)getbesw(buf, 17) / 8);
- decode_ecef((double)getbesl(buf, 1), (double)getbesl(buf, 5),
- (double)getbesl(buf, 9), (double)getbesw(buf, 13) / 8,
- (double)getbesw(buf, 15) / 8, (double)getbesw(buf,
+ (double)getbes16(buf, 17) / 8);
+ decode_ecef((double)getbes32(buf, 1), (double)getbes32(buf, 5),
+ (double)getbes32(buf, 9), (double)getbes16(buf, 13) / 8,
+ (double)getbes16(buf, 15) / 8, (double)getbes16(buf,
17) / 8);
- decode_time((int)getbeuw(buf, 22), getbesl(buf, 24));
+ decode_time((int)getbeu16(buf, 22), getbes32(buf, 24));
/* line 4 */
(void)wmove(mid2win, 4, 49);
(void)wprintw(mid2win, "%4.1f", (double)getub(buf, 20) / 5); /* HDOP */
@@ -331,7 +331,7 @@ static void sirf_update(void)
break;
case 0x04: /* Measured Tracking Data */
- decode_time((int)getbeuw(buf, 1), getbesl(buf, 3));
+ decode_time((int)getbeu16(buf, 1), getbes32(buf, 3));
ch = (int)getub(buf, 7);
for (i = 0; i < ch; i++) {
int sv, st;
@@ -345,10 +345,10 @@ static void sirf_update(void)
((int)getub(buf, off + 1) * 3) / 2, (int)getub(buf,
off +
2) /
- 2, (int)getbesw(buf, off + 3));
+ 2, (int)getbes16(buf, off + 3));
st = ' ';
- if ((int)getbeuw(buf, off + 3) == 0xbf)
+ if ((int)getbeu16(buf, off + 3) == 0xbf)
st = 'T';
for (j = 0; j < nfix; j++)
if (sv == fix[j]) {
@@ -372,7 +372,7 @@ static void sirf_update(void)
#ifdef __UNUSED__
case 0x05: /* raw track data */
for (off = 1; off < len; off += 51) {
- ch = getbeul(buf, off);
+ ch = getbeu32(buf, off);
(void)wmove(mid4win, ch + 2, 19);
cn = 0;
@@ -381,10 +381,10 @@ static void sirf_update(void)
printw("%5.1f", (double)cn / 10);
- printw("%9d%3d%5d", getbeul(buf, off + 8),
- (int)getbeuw(buf, off + 12), (int)getbeuw(buf, off + 14));
- printw("%8.5f %10.5f", (double)getbeul(buf, off + 16) / 65536,
- (double)getbeul(buf, off + 20) / 1024);
+ printw("%9d%3d%5d", getbeu32(buf, off + 8),
+ (int)getbeu16(buf, off + 12), (int)getbeu16(buf, off + 14));
+ printw("%8.5f %10.5f", (double)getbeu32(buf, off + 16) / 65536,
+ (double)getbeu32(buf, off + 20) / 1024);
}
monitor_log("RTD 0x05=");
break;
@@ -396,11 +396,11 @@ static void sirf_update(void)
break;
case 0x07: /* Response - Clock Status Data */
- decode_time((int)getbeuw(buf, 1), getbesl(buf, 3));
+ decode_time((int)getbeu16(buf, 1), getbes32(buf, 3));
display(mid7win, 1, 5, "%2d", getub(buf, 7)); /* SVs */
- display(mid7win, 1, 16, "%lu", getbeul(buf, 8)); /* Clock drift */
- display(mid7win, 1, 29, "%lu", getbeul(buf, 12)); /* Clock Bias */
- display(mid7win, 2, 21, "%lu", getbeul(buf, 16)); /* Estimated Time */
+ display(mid7win, 1, 16, "%lu", getbeu32(buf, 8)); /* Clock drift */
+ display(mid7win, 1, 29, "%lu", getbeu32(buf, 12)); /* Clock Bias */
+ display(mid7win, 2, 21, "%lu", getbeu32(buf, 16)); /* Estimated Time */
monitor_log("CSD 0x07=");
break;
@@ -412,10 +412,10 @@ static void sirf_update(void)
break;
case 0x09: /* Throughput */
- display(mid9win, 1, 6, "%.3f", (double)getbeuw(buf, 1) / 186); /*SegStatMax */
- display(mid9win, 1, 18, "%.3f", (double)getbeuw(buf, 3) / 186); /*SegStatLat */
- display(mid9win, 1, 31, "%.3f", (double)getbeuw(buf, 5) / 186); /*SegStatTime */
- display(mid9win, 1, 42, "%3d", (int)getbeuw(buf, 7)); /* Last Millisecond */
+ display(mid9win, 1, 6, "%.3f", (double)getbeu16(buf, 1) / 186); /*SegStatMax */
+ display(mid9win, 1, 18, "%.3f", (double)getbeu16(buf, 3) / 186); /*SegStatLat */
+ display(mid9win, 1, 31, "%.3f", (double)getbeu16(buf, 5) / 186); /*SegStatTime */
+ display(mid9win, 1, 42, "%3d", (int)getbeu16(buf, 7)); /* Last Millisecond */
monitor_log("THR 0x09=");
break;
@@ -443,7 +443,7 @@ static void sirf_update(void)
#define YESNO(n) (((int)getub(buf, n) != 0)?'Y':'N')
display(mid19win, 1, 20, "%d", getub(buf, 5)); /* Alt. hold mode */
display(mid19win, 2, 20, "%d", getub(buf, 6)); /* Alt. hold source */
- display(mid19win, 3, 20, "%dm", (int)getbeuw(buf, 7)); /* Alt. source input */
+ display(mid19win, 3, 20, "%dm", (int)getbeu16(buf, 7)); /* Alt. source input */
if (getub(buf, 9) != (uint8_t) '\0')
display(mid19win, 4, 20, "%dsec", getub(buf, 10)); /* Degraded timeout */
else
@@ -453,22 +453,22 @@ static void sirf_update(void)
display(mid19win, 7, 20, "%c", YESNO(13)); /* Static Nav. */
display(mid19win, 8, 20, "0x%x", getub(buf, 14)); /* 3SV Least Squares */
display(mid19win, 9, 20, "0x%x", getub(buf, 19)); /* DOP Mask mode */
- display(mid19win, 10, 20, "0x%x", (int)getbeuw(buf, 20)); /* Nav. Elev. mask */
+ display(mid19win, 10, 20, "0x%x", (int)getbeu16(buf, 20)); /* Nav. Elev. mask */
display(mid19win, 11, 20, "0x%x", getub(buf, 22)); /* Nav. Power mask */
display(mid19win, 12, 20, "0x%x", getub(buf, 27)); /* DGPS Source */
display(mid19win, 13, 20, "0x%x", getub(buf, 28)); /* DGPS Mode */
display(mid19win, 14, 20, "%dsec", getub(buf, 29)); /* DGPS Timeout */
display(mid19win, 1, 42, "%c", YESNO(34)); /* LP Push-to-Fix */
- display(mid19win, 2, 42, "%dms", getbeul(buf, 35)); /* LP On Time */
- display(mid19win, 3, 42, "%d", getbeul(buf, 39)); /* LP Interval */
+ display(mid19win, 2, 42, "%dms", getbeu32(buf, 35)); /* LP On Time */
+ display(mid19win, 3, 42, "%d", getbeu32(buf, 39)); /* LP Interval */
display(mid19win, 4, 42, "%c", YESNO(43)); /* User Tasks enabled */
- display(mid19win, 5, 42, "%d", getbeul(buf, 44)); /* User Task Interval */
+ display(mid19win, 5, 42, "%d", getbeu32(buf, 44)); /* User Task Interval */
display(mid19win, 6, 42, "%c", YESNO(48)); /* LP Power Cycling Enabled */
- display(mid19win, 7, 42, "%d", getbeul(buf, 49)); /* LP Max Acq Search Time */
- display(mid19win, 8, 42, "%d", getbeul(buf, 53)); /* LP Max Off Time */
+ display(mid19win, 7, 42, "%d", getbeu32(buf, 49)); /* LP Max Acq Search Time */
+ display(mid19win, 8, 42, "%d", getbeu32(buf, 53)); /* LP Max Off Time */
display(mid19win, 9, 42, "%c", YESNO(57)); /* APM Enabled */
- display(mid19win, 10, 42, "%d", (int)getbeuw(buf, 58)); /* # of fixes */
- display(mid19win, 11, 42, "%d", (int)getbeuw(buf, 60)); /* Time Between fixes */
+ display(mid19win, 10, 42, "%d", (int)getbeu16(buf, 58)); /* # of fixes */
+ display(mid19win, 11, 42, "%d", (int)getbeu16(buf, 60)); /* Time Between fixes */
display(mid19win, 12, 42, "%d", getub(buf, 62)); /* H/V Error Max */
display(mid19win, 13, 42, "%d", getub(buf, 63)); /* Response Time Max */
display(mid19win, 14, 42, "%d", getub(buf, 64)); /* Time/Accu & Duty Cycle Priority */
@@ -524,7 +524,7 @@ static void sirf_update(void)
//(void) wmove(mid27win, 2, 0);
for (i = j = 0; i < 12; i++) {
if (getub(buf, 16 + 3 * i) != '\0') {
- //(void)wprintw(mid27win, " %d=%d", getub(buf, 16+3*i), getbesw(buf, 16+3*i+1));
+ //(void)wprintw(mid27win, " %d=%d", getub(buf, 16+3*i), getbes16(buf, 16+3*i+1));
j++;
}
}
@@ -553,18 +553,18 @@ static void sirf_update(void)
case 0x62:
attrset(A_BOLD);
move(2, 40);
- printw("%9.5f %9.5f", (double)(RAD_2_DEG * 1e8 * getbesl(buf, 1)),
- (double)(RAD_2_DEG * 1e8 * getbesl(buf, 5)));
+ printw("%9.5f %9.5f", (double)(RAD_2_DEG * 1e8 * getbes32(buf, 1)),
+ (double)(RAD_2_DEG * 1e8 * getbes32(buf, 5)));
move(2, 63);
- printw("%8d", getbesl(buf, 9) / 1000);
+ printw("%8d", getbes32(buf, 9) / 1000);
move(3, 63);
- printw("%8.1f", (double)getbesl(buf, 17) / 1000);
+ printw("%8.1f", (double)getbes32(buf, 17) / 1000);
move(4, 54);
- if (getbeul(buf, 13) > 50) {
- double heading = RAD_2_DEG * 1e8 * getbesl(buf, 21);
+ if (getbeu32(buf, 13) > 50) {
+ double heading = RAD_2_DEG * 1e8 * getbes32(buf, 21);
if (heading < 0)
heading += 360;
printw("%5.1f", heading);
@@ -572,15 +572,15 @@ static void sirf_update(void)
printw(" 0.0");
move(4, 63);
- printw("%8.1f", (double)getbesl(buf, 13) / 1000);
+ printw("%8.1f", (double)getbes32(buf, 13) / 1000);
attrset(A_NORMAL);
move(5, 13);
printw("%04d-%02d-%02d %02d:%02d:%02d.%02d",
- (int)getbeuw(buf, 26), getub(buf, 28), getub(buf, 29),
- getub(buf, 30), getub(buf, 31), (unsigned short)getbeuw(buf,
+ (int)getbeu16(buf, 26), getub(buf, 28), getub(buf, 29),
+ getub(buf, 30), getub(buf, 31), (unsigned short)getbeu16(buf,
32) /
- 1000, ((unsigned short)getbeuw(buf, 32) % 1000) / 10);
+ 1000, ((unsigned short)getbeu16(buf, 32) % 1000) / 10);
{
struct timeval clk, gps;
struct tm tm;
@@ -588,16 +588,16 @@ static void sirf_update(void)
gettimeofday(&clk, NULL);
memset(&tm, 0, sizeof(tm));
- tm.tm_sec = (unsigned short)getbeuw(buf, 32) / 1000;
+ tm.tm_sec = (unsigned short)getbeu16(buf, 32) / 1000;
tm.tm_min = (int)getub(buf, 31);
tm.tm_hour = (int)getub(buf, 30);
tm.tm_mday = (int)getub(buf, 29);
tm.tm_mon = (int)getub(buf, 28) - 1;
- tm.tm_year = (int)getbeuw(buf, 26) - 1900;
+ tm.tm_year = (int)getbeu16(buf, 26) - 1900;
gps.tv_sec = mkgmtime(&tm);
gps.tv_usec =
- (((unsigned short)getbeuw(buf, 32) % 1000) / 10) * 10000;
+ (((unsigned short)getbeu16(buf, 32) % 1000) / 10) * 10000;
move(5, 2);
printw(" ");
diff --git a/monitor_ubx.c b/monitor_ubx.c
index 7e79f306..43502449 100644
--- a/monitor_ubx.c
+++ b/monitor_ubx.c
@@ -91,10 +91,10 @@ static void display_nav_svinfo(unsigned char *buf, size_t data_len)
unsigned short fl;
prn = (unsigned char)getub(buf, off + 1);
- fl = (unsigned short)getleuw(buf, off + 2);
+ fl = (unsigned short)getleu16(buf, off + 2);
ss = (unsigned char)getub(buf, off + 4);
el = getsb(buf, off + 5);
- az = getlesw(buf, off + 6);
+ az = getles16(buf, off + 6);
(void)wmove(satwin, (int)(i + 2), 4);
(void)wprintw(satwin, "%3d %3d %3d %2d %04x %c",
prn, az, el, ss, fl, (fl & UBX_SAT_USED) ? 'Y' : ' ');
@@ -122,22 +122,22 @@ static void display_nav_sol(unsigned char *buf, size_t data_len)
flags = (unsigned int)getub(buf, 11);
if ((flags & (UBX_SOL_VALID_WEEK | UBX_SOL_VALID_TIME)) != 0) {
- tow = (unsigned int)getleul(buf, 0);
- gw = (unsigned short)getlesw(buf, 8);
+ tow = (unsigned int)getleu32(buf, 0);
+ gw = (unsigned short)getles16(buf, 8);
t = gpstime_to_unix((int)gw, tow / 1000.0);
tt = (time_t) trunc(t);
}
- epx = (double)(getlesl(buf, 12) / 100.0);
- epy = (double)(getlesl(buf, 16) / 100.0);
- epz = (double)(getlesl(buf, 20) / 100.0);
- evx = (double)(getlesl(buf, 28) / 100.0);
- evy = (double)(getlesl(buf, 32) / 100.0);
- evz = (double)(getlesl(buf, 36) / 100.0);
+ epx = (double)(getles32(buf, 12) / 100.0);
+ epy = (double)(getles32(buf, 16) / 100.0);
+ epz = (double)(getles32(buf, 20) / 100.0);
+ evx = (double)(getles32(buf, 28) / 100.0);
+ evy = (double)(getles32(buf, 32) / 100.0);
+ evz = (double)(getles32(buf, 36) / 100.0);
ecef_to_wgs84fix(&g.fix, &separation, epx, epy, epz, evx, evy, evz);
- g.fix.epx = g.fix.epy = (double)(getlesl(buf, 24) / 100.0);
- g.fix.eps = (double)(getlesl(buf, 40) / 100.0);
- g.dop.pdop = (double)(getleuw(buf, 44) / 100.0);
+ g.fix.epx = g.fix.epy = (double)(getles32(buf, 24) / 100.0);
+ g.fix.eps = (double)(getles32(buf, 40) / 100.0);
+ g.dop.pdop = (double)(getleu16(buf, 44) / 100.0);
g.satellites_used = (int)getub(buf, 47);
(void)wmove(navsolwin, 1, 11);
@@ -189,15 +189,15 @@ static void display_nav_dop(unsigned char *buf, size_t data_len)
if (data_len != 18)
return;
(void)wmove(dopwin, 1, 9);
- (void)wprintw(dopwin, "%4.1f", getleuw(buf, 12) / 100.0);
+ (void)wprintw(dopwin, "%4.1f", getleu16(buf, 12) / 100.0);
(void)wmove(dopwin, 1, 18);
- (void)wprintw(dopwin, "%4.1f", getleuw(buf, 10) / 100.0);
+ (void)wprintw(dopwin, "%4.1f", getleu16(buf, 10) / 100.0);
(void)wmove(dopwin, 1, 27);
- (void)wprintw(dopwin, "%4.1f", getleuw(buf, 6) / 100.0);
+ (void)wprintw(dopwin, "%4.1f", getleu16(buf, 6) / 100.0);
(void)wmove(dopwin, 1, 36);
- (void)wprintw(dopwin, "%4.1f", getleuw(buf, 8) / 100.0);
+ (void)wprintw(dopwin, "%4.1f", getleu16(buf, 8) / 100.0);
(void)wmove(dopwin, 1, 45);
- (void)wprintw(dopwin, "%4.1f", getleuw(buf, 4) / 100.0);
+ (void)wprintw(dopwin, "%4.1f", getleu16(buf, 4) / 100.0);
(void)wnoutrefresh(dopwin);
}
@@ -209,7 +209,7 @@ static void ubx_update(void)
buf = session.packet.outbuffer;
msgid = (unsigned short)((buf[2] << 8) | buf[3]);
- data_len = (size_t) getlesw(buf, 4);
+ data_len = (size_t) getles16(buf, 4);
switch (msgid) {
case UBX_NAV_SVINFO:
display_nav_svinfo(&buf[6], data_len);
diff --git a/packet.c b/packet.c
index e811c4a6..38b67769 100644
--- a/packet.c
+++ b/packet.c
@@ -1257,7 +1257,7 @@ void packet_parse(struct gps_packet_t *lexer)
lexer->length = 4 + (size_t) lexer->inbuffer[3] + 2;
for (n = 0; n < lexer->length - 2; n++)
a += (unsigned)lexer->inbuffer[n];
- b = (unsigned)getleuw(lexer->inbuffer, lexer->length - 2);
+ b = (unsigned)getleu16(lexer->inbuffer, lexer->length - 2);
gpsd_report(LOG_IO, "SuperStarII pkt dump: type %u len %u: %s\n",
lexer->inbuffer[1], (unsigned int)lexer->length,
gpsd_hexdump_wrapper(lexer->inbuffer, lexer->length,
@@ -1679,7 +1679,7 @@ void packet_parse(struct gps_packet_t *lexer)
/* Calculate checksum */
for (n = 0; n < len; n += 4) {
- cs ^= getleul(lexer->inbuffer, n);
+ cs ^= getleu32(lexer->inbuffer, n);
}
if (cs == 0)
diff --git a/test_bits.c b/test_bits.c
index 455c4c9c..48ffd8b6 100644
--- a/test_bits.c
+++ b/test_bits.c
@@ -52,24 +52,24 @@ static void bedumpall(void)
(void)printf("getub: %016llx %016llx %016llx %016llx\n",
(ubig) ub1, (ubig) ub2,
(ubig) getub(buf, 0), (ubig) getub(buf, 8));
- (void)printf("getbesw: %016llx %016llx %016llx %016llx\n",
+ (void)printf("getbes16: %016llx %016llx %016llx %016llx\n",
(ubig) sw1, (ubig) sw2,
- (ubig) getbesw(buf, 0), (ubig) getbesw(buf, 8));
- (void)printf("getbeuw: %016llx %016llx %016llx %016llx\n",
+ (ubig) getbes16(buf, 0), (ubig) getbes16(buf, 8));
+ (void)printf("getbeu16: %016llx %016llx %016llx %016llx\n",
(ubig) uw1, (ubig) uw2,
- (ubig) getbeuw(buf, 0), (ubig) getbeuw(buf, 8));
- (void)printf("getbesl: %016llx %016llx %016llx %016llx\n",
+ (ubig) getbeu16(buf, 0), (ubig) getbeu16(buf, 8));
+ (void)printf("getbes32: %016llx %016llx %016llx %016llx\n",
(ubig) sl1, (ubig) sl2,
- (ubig) getbesl(buf, 0), (ubig) getbesl(buf, 8));
- (void)printf("getbeul: %016llx %016llx %016llx %016llx\n",
+ (ubig) getbes32(buf, 0), (ubig) getbes32(buf, 8));
+ (void)printf("getbeu32: %016llx %016llx %016llx %016llx\n",
(ubig) ul1, (ubig) ul2,
- (ubig) getbeul(buf, 0), (ubig) getbeul(buf, 8));
- (void)printf("getbesL: %016llx %016llx %016llx %016llx\n",
+ (ubig) getbeu32(buf, 0), (ubig) getbeu32(buf, 8));
+ (void)printf("getbes64: %016llx %016llx %016llx %016llx\n",
(ubig) sL1, (ubig) sL2,
- (ubig) getbesL(buf, 0), (ubig) getbesL(buf, 8));
- (void)printf("getbeuL: %016llx %016llx %016llx %016llx\n",
+ (ubig) getbes64(buf, 0), (ubig) getbes64(buf, 8));
+ (void)printf("getbeu64: %016llx %016llx %016llx %016llx\n",
(ubig) uL1, (ubig) uL2,
- (ubig) getbeuL(buf, 0), (ubig) getbeuL(buf, 8));
+ (ubig) getbeu64(buf, 0), (ubig) getbeu64(buf, 8));
(void)printf("getbef: %f %f\n", f1, getbef(buf, 24));
(void)printf("getbed: %.16f %.16f\n", d1, getbed(buf, 16));
}
@@ -82,24 +82,24 @@ static void ledumpall(void)
(void)printf("getub: %016llx %016llx %016llx %016llx\n",
(ubig) ub1, (ubig) ub2,
(ubig) getub(buf, 0), (ubig) getub(buf, 8));
- (void)printf("getlesw: %016llx %016llx %016llx %016llx\n",
+ (void)printf("getles16: %016llx %016llx %016llx %016llx\n",
(ubig) sw1, (ubig) sw2,
- (ubig) getlesw(buf, 0), (ubig) getlesw(buf, 8));
- (void)printf("getleuw: %016llx %016llx %016llx %016llx\n",
+ (ubig) getles16(buf, 0), (ubig) getles16(buf, 8));
+ (void)printf("getleu16: %016llx %016llx %016llx %016llx\n",
(ubig) uw1, (ubig) uw2,
- (ubig) getleuw(buf, 0), (ubig) getleuw(buf, 8));
- (void)printf("getlesl: %016llx %016llx %016llx %016llx\n",
+ (ubig) getleu16(buf, 0), (ubig) getleu16(buf, 8));
+ (void)printf("getles32: %016llx %016llx %016llx %016llx\n",
(ubig) sl1, (ubig) sl2,
- (ubig) getlesl(buf, 0), (ubig) getlesl(buf, 8));
- (void)printf("getleul: %016llx %016llx %016llx %016llx\n",
+ (ubig) getles32(buf, 0), (ubig) getles32(buf, 8));
+ (void)printf("getleu32: %016llx %016llx %016llx %016llx\n",
(ubig) ul1, (ubig) ul2,
- (ubig) getleul(buf, 0), (ubig) getleul(buf, 8));
- (void)printf("getlesL: %016llx %016llx %016llx %016llx\n",
+ (ubig) getleu32(buf, 0), (ubig) getleu32(buf, 8));
+ (void)printf("getles64: %016llx %016llx %016llx %016llx\n",
(ubig) sL1, (ubig) sL2,
- (ubig) getlesL(buf, 0), (ubig) getlesL(buf, 8));
- (void)printf("getleuL: %016llx %016llx %016llx %016llx\n",
+ (ubig) getles64(buf, 0), (ubig) getles64(buf, 8));
+ (void)printf("getleu64: %016llx %016llx %016llx %016llx\n",
(ubig) uL1, (ubig) uL2,
- (ubig) getleuL(buf, 0), (ubig) getleuL(buf, 8));
+ (ubig) getleu64(buf, 0), (ubig) getleu64(buf, 8));
(void)printf("getlef: %f %f\n", f1, getlef(buf, 24));
(void)printf("getled: %.16f %.16f\n", d1, getled(buf, 16));
}
@@ -148,18 +148,18 @@ int main(void)
sb2 = getsb(buf, 8);
ub1 = getub(buf, 0);
ub2 = getub(buf, 8);
- sw1 = getbesw(buf, 0);
- sw2 = getbesw(buf, 8);
- uw1 = getbeuw(buf, 0);
- uw2 = getbeuw(buf, 8);
- sl1 = getbesl(buf, 0);
- sl2 = getbesl(buf, 8);
- ul1 = getbeul(buf, 0);
- ul2 = getbeul(buf, 8);
- sL1 = getbesL(buf, 0);
- sL2 = getbesL(buf, 8);
- uL1 = getbeuL(buf, 0);
- uL2 = getbeuL(buf, 8);
+ sw1 = getbes16(buf, 0);
+ sw2 = getbes16(buf, 8);
+ uw1 = getbeu16(buf, 0);
+ uw2 = getbeu16(buf, 8);
+ sl1 = getbes32(buf, 0);
+ sl2 = getbes32(buf, 8);
+ ul1 = getbeu32(buf, 0);
+ ul2 = getbeu32(buf, 8);
+ sL1 = getbes64(buf, 0);
+ sL2 = getbes64(buf, 8);
+ uL1 = getbeu64(buf, 0);
+ uL2 = getbeu64(buf, 8);
f1 = getbef(buf, 24);
d1 = getbed(buf, 16);
/*@+type@*/
@@ -172,18 +172,18 @@ int main(void)
sb2 = getsb(buf, 8);
ub1 = getub(buf, 0);
ub2 = getub(buf, 8);
- sw1 = getlesw(buf, 0);
- sw2 = getlesw(buf, 8);
- uw1 = getleuw(buf, 0);
- uw2 = getleuw(buf, 8);
- sl1 = getlesl(buf, 0);
- sl2 = getlesl(buf, 8);
- ul1 = getleul(buf, 0);
- ul2 = getleul(buf, 8);
- sL1 = getlesL(buf, 0);
- sL2 = getlesL(buf, 8);
- uL1 = getleuL(buf, 0);
- uL2 = getleuL(buf, 8);
+ sw1 = getles16(buf, 0);
+ sw2 = getles16(buf, 8);
+ uw1 = getleu16(buf, 0);
+ uw2 = getleu16(buf, 8);
+ sl1 = getles32(buf, 0);
+ sl2 = getles32(buf, 8);
+ ul1 = getleu32(buf, 0);
+ ul2 = getleu32(buf, 8);
+ sL1 = getles64(buf, 0);
+ sL2 = getles64(buf, 8);
+ uL1 = getleu64(buf, 0);
+ uL2 = getleu64(buf, 8);
f1 = getlef(buf, 24);
d1 = getled(buf, 16);
/*@+type@*/