diff options
author | qctecmdr <qctecmdr@localhost> | 2019-07-22 15:36:14 -0700 |
---|---|---|
committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2019-07-22 15:36:14 -0700 |
commit | a803a67ad70d99183cfdd16f8fbf9b1fd36f6a9c (patch) | |
tree | fd428ac1f39eef329126f4d1d987308aaf68e476 | |
parent | 3e3390bbd52ea063b92abf116c0f3ecce7c0d5a4 (diff) | |
parent | f48758a922b82cadc2fad8deed8a5a652a5daa36 (diff) | |
download | gps-a803a67ad70d99183cfdd16f8fbf9b1fd36f6a9c.tar.gz |
Merge "modify QZSS SVID according to NMEA spec 4.11"
-rw-r--r-- | utils/loc_nmea.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/utils/loc_nmea.cpp b/utils/loc_nmea.cpp index f5090d0..2074e3e 100644 --- a/utils/loc_nmea.cpp +++ b/utils/loc_nmea.cpp @@ -36,6 +36,7 @@ #include <loc_cfg.h> #define GLONASS_SV_ID_OFFSET 64 +#define QZSS_SV_ID_OFFSET (-192) #define MAX_SV_COUNT_SUPPORTED_IN_ONE_CONSTELLATION 64 #define MAX_SATELLITES_IN_USE 12 #define MSEC_IN_ONE_WEEK 604800000ULL @@ -439,7 +440,8 @@ static loc_nmea_sv_meta* loc_nmea_sv_meta_init(loc_nmea_sv_meta& sv_meta, sv_meta.talker[0] = 'G'; sv_meta.talker[1] = 'Q'; sv_meta.mask = sv_cache_info.qzss_used_mask; - // QZSS SV ids are from 193-197. So keep svIdOffset 0 + // QZSS SV ids are from 193-199. So keep svIdOffset -192 + sv_meta.svIdOffset = QZSS_SV_ID_OFFSET; sv_meta.systemId = SYSTEM_ID_QZSS; if (GNSS_SIGNAL_QZSS_L1CA == signalType) { sv_meta.svCount = sv_cache_info.qzss_l1_count; @@ -589,6 +591,10 @@ static uint32_t loc_nmea_generate_GSA(const GpsLocationExtended &locationExtende uint32_t svIdOffset = sv_meta_p->svIdOffset; uint64_t mask = sv_meta_p->mask; + if(sv_meta_p->svType != GNSS_SV_TYPE_GLONASS) { + svIdOffset = 0; + } + for (uint8_t i = 1; mask > 0 && svUsedCount < 64; i++) { if (mask & 1) |