diff options
author | Gregory Fong <gregory.fong@virginorbit.com> | 2018-07-29 17:21:24 -0700 |
---|---|---|
committer | Gary E. Miller <gem@rellim.com> | 2018-07-29 17:21:24 -0700 |
commit | f41d577b6352e80919469ee1724a0b9ad4359e67 (patch) | |
tree | 7a96d9194937855ebaecc14bb254236d3ccc5940 /gpsd.h | |
parent | d1f79455a50f92b3dbf68c2ad5196423d80ed78a (diff) | |
download | gpsd-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.h | 40 |
1 files changed, 33 insertions, 7 deletions
@@ -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 */ |