summaryrefslogtreecommitdiff
path: root/gpsd.h
diff options
context:
space:
mode:
authorGregory Fong <gregory.fong@virginorbit.com>2018-07-29 17:21:24 -0700
committerGary E. Miller <gem@rellim.com>2018-07-29 17:21:24 -0700
commitf41d577b6352e80919469ee1724a0b9ad4359e67 (patch)
tree7a96d9194937855ebaecc14bb254236d3ccc5940 /gpsd.h
parentd1f79455a50f92b3dbf68c2ad5196423d80ed78a (diff)
downloadgpsd-f41d577b6352e80919469ee1724a0b9ad4359e67.tar.gz
Add GREIS (Javad) GPS driver.
All functional changes inside "#ifdef GREIS_ENABLE" Includes new regression tests. All regressions tests pass. Developed by Gregory Fong, with help and support from Virgin Orbit. Signed-off-by: Gary E. Miller <gem@rellim.com>
Diffstat (limited to 'gpsd.h')
-rw-r--r--gpsd.h40
1 files changed, 33 insertions, 7 deletions
diff --git a/gpsd.h b/gpsd.h
index e2d4fad5..144cafee 100644
--- a/gpsd.h
+++ b/gpsd.h
@@ -70,9 +70,23 @@ extern "C" {
#ifdef EARTHMATE_ENABLE
#define ZODIAC_ENABLE
#endif
-#if defined(ZODIAC_ENABLE) || defined(SIRF_ENABLE) || defined(GARMIN_ENABLE) || defined(TSIP_ENABLE) || defined(EVERMORE_ENABLE) || defined(ITRAX_ENABLE) || defined(UBLOX_ENABLE) || defined(SUPERSTAR2_ENABLE) || defined(ONCORE_ENABLE) || defined(GEOSTAR_ENABLE) || defined(NAVCOM_ENABLE) || defined(NMEA2000_ENABLE)
+
+#if defined(EVERMORE_ENABLE) || \
+ defined(GARMIN_ENABLE) || \
+ defined(GEOSTAR_ENABLE) || \
+ defined(GREIS_ENABLE) || \
+ defined(ITRAX_ENABLE) || \
+ defined(NAVCOM_ENABLE) || \
+ defined(NMEA2000_ENABLE) || \
+ defined(ONCORE_ENABLE) || \
+ defined(SIRF_ENABLE) || \
+ defined(SUPERSTAR2_ENABLE) || \
+ defined(TSIP_ENABLE) || \
+ defined(UBLOX_ENABLE) || \
+ defined(ZODIAC_ENABLE)
#define BINARY_ENABLE
#endif
+
#if defined(TRIPMATE_ENABLE) || defined(BINARY_ENABLE)
#define NON_NMEA0183_ENABLE
#endif
@@ -163,12 +177,13 @@ struct gps_lexer_t {
#define ONCORE_PACKET 13
#define GEOSTAR_PACKET 14
#define NMEA2000_PACKET 15
-#define MAX_GPSPACKET_TYPE 15 /* increment this as necessary */
-#define RTCM2_PACKET 16
-#define RTCM3_PACKET 17
-#define JSON_PACKET 18
-#define PACKET_TYPES 19 /* increment this as necessary */
-#define SKY_PACKET 20
+#define GREIS_PACKET 16
+#define MAX_GPSPACKET_TYPE 16 /* increment this as necessary */
+#define RTCM2_PACKET 17
+#define RTCM3_PACKET 18
+#define JSON_PACKET 19
+#define PACKET_TYPES 20 /* increment this as necessary */
+#define SKY_PACKET 21
#define TEXTUAL_PACKET_TYPE(n) ((((n)>=NMEA_PACKET) && ((n)<=MAX_TEXTUAL_TYPE)) || (n)==JSON_PACKET)
#define GPS_PACKET_TYPE(n) (((n)>=NMEA_PACKET) && ((n)<=MAX_GPSPACKET_TYPE))
#define LOSSLESS_PACKET_TYPE(n) (((n)>=RTCM2_PACKET) && ((n)<=RTCM3_PACKET))
@@ -582,6 +597,17 @@ struct gps_device_t {
unsigned int physical_port;
} geostar;
#endif /* GEOSTAR_ENABLE */
+#ifdef GREIS_ENABLE
+ struct {
+ uint32_t rt_tod; /* RT message time of day (modulo 1 day) */
+ bool seen_rt; /* true if seen RT message */
+ bool seen_uo; /* true if seen UO message */
+ bool seen_si; /* true if seen SI message */
+ bool seen_az; /* true if seen AZ message */
+ bool seen_ec; /* true if seen EC message */
+ bool seen_el; /* true if seen EL message */
+ } greis;
+#endif /* GREIS_ENABLE */
#ifdef SIRF_ENABLE
struct {
unsigned int need_ack; /* if NZ we're awaiting ACK */