From 7eb1dcf0c743c27dde4814ad6ce22ee50876bbec Mon Sep 17 00:00:00 2001 From: Wei Chen Date: Thu, 3 Oct 2019 13:29:47 -0700 Subject: [PATCH] GPS NMEA: generate empty GSA sentence for dead reckoning fixes For dead reckoning fixes when number of SV used in fix is 0, we need to generate an empty GSA sentence CRs-fixed: 2542163 Change-Id: Icb89981d04ecdfeb81fbdc16b2a8d3676319b18d --- utils/loc_nmea.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/utils/loc_nmea.cpp b/utils/loc_nmea.cpp index 24197ff0..64a35250 100644 --- a/utils/loc_nmea.cpp +++ b/utils/loc_nmea.cpp @@ -1327,6 +1327,14 @@ void loc_nmea_generate_pos(const UlpLocation &location, talker[1] = sv_meta.talker[1]; } + // if svUsedCount is 0, it means we do not generate any GSA sentence yet. + // in this case, generate an empty GSA sentence + if (svUsedCount == 0) { + strlcpy(sentence, "$GPGSA,A,1,,,,,,,,,,,,,,,,", sizeof(sentence)); + length = loc_nmea_put_checksum(sentence, sizeof(sentence)); + nmeaArraystr.push_back(sentence); + } + char ggaGpsQuality[3] = {'0', '\0', '\0'}; char rmcModeIndicator = 'N'; char vtgModeIndicator = 'N';