summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHoss Zhou <zhouh@codeaurora.org>2019-07-17 12:30:17 +0800
committerHoss Zhou <zhouh@codeaurora.org>2019-07-17 12:30:24 +0800
commitf48758a922b82cadc2fad8deed8a5a652a5daa36 (patch)
tree5d827bf09c98ae354bf2d82c3023290879b76d3d
parentdadd76fd3322be435481c379c6787a0d3b041ace (diff)
downloadgps-f48758a922b82cadc2fad8deed8a5a652a5daa36.tar.gz
modify QZSS SVID according to NMEA spec 4.11
Change-Id: I7c82c210174076f9620b52cfb749a4c73824ffdf CRs-Fixed: 2473699
-rw-r--r--utils/loc_nmea.cpp8
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)