From f48758a922b82cadc2fad8deed8a5a652a5daa36 Mon Sep 17 00:00:00 2001 From: Hoss Zhou Date: Wed, 17 Jul 2019 12:30:17 +0800 Subject: modify QZSS SVID according to NMEA spec 4.11 Change-Id: I7c82c210174076f9620b52cfb749a4c73824ffdf CRs-Fixed: 2473699 --- utils/loc_nmea.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'utils') 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 #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) -- cgit v1.2.3