summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2022-02-18 06:18:43 -0800
committerLinux Build Service Account <lnxbuild@localhost>2022-02-18 06:18:43 -0800
commit0f362f16f7e5a2fa51d86b8f8ab509c2316cda66 (patch)
treedf12a6dbfc67fe318474ed081864c2f8d8e59860
parent42065cba5f58cffa1ca15943d333e458908ae810 (diff)
parent52b4c56c503cf960a1cfafff6c1eddd28617ddc2 (diff)
Merge 52b4c56c503cf960a1cfafff6c1eddd28617ddc2 on remote branch
Change-Id: I148710b70579139366661c3c9706b7e485c7519e
-rw-r--r--core/LocApiBase.cpp3
-rw-r--r--utils/gps_extended_c.h36
-rw-r--r--utils/loc_nmea.cpp3
3 files changed, 39 insertions, 3 deletions
diff --git a/core/LocApiBase.cpp b/core/LocApiBase.cpp
index 9d92810..1931b7b 100644
--- a/core/LocApiBase.cpp
+++ b/core/LocApiBase.cpp
@@ -208,7 +208,8 @@ bool LocApiBase::needReport(const UlpLocation& ulpLocation,
if (LOC_SESS_SUCCESS == status) {
// this is a final fix
LocPosTechMask mask =
- LOC_POS_TECH_MASK_SATELLITE | LOC_POS_TECH_MASK_SENSORS | LOC_POS_TECH_MASK_HYBRID;
+ LOC_POS_TECH_MASK_SATELLITE | LOC_POS_TECH_MASK_SENSORS | LOC_POS_TECH_MASK_HYBRID |
+ LOC_POS_TECH_MASK_PROPAGATED;
// it is a Satellite fix or a sensor fix
reported = (mask & techMask);
}
diff --git a/utils/gps_extended_c.h b/utils/gps_extended_c.h
index 5400720..8217a80 100644
--- a/utils/gps_extended_c.h
+++ b/utils/gps_extended_c.h
@@ -25,7 +25,39 @@
* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
* IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-
+/*
+Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted (subject to the limitations in the
+disclaimer below) provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ * Redistributions in binary form must reproduce the above
+ copyright notice, this list of conditions and the following
+ disclaimer in the documentation and/or other materials provided
+ with the distribution.
+
+ * Neither the name of Qualcomm Innovation Center, Inc. nor the names of its
+ contributors may be used to endorse or promote products derived
+ from this software without specific prior written permission.
+
+NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
+GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
+HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
+WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
+IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
+IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
#ifndef GPS_EXTENDED_C_H
#define GPS_EXTENDED_C_H
@@ -105,6 +137,8 @@ typedef uint32_t LocPosTechMask;
#define LOC_POS_TECH_MASK_VIS ((LocPosTechMask)0x00000400)
#define LOC_POS_TECH_MASK_INS ((LocPosTechMask)0x00000800)
#define LOC_POS_TECH_MASK_PDR ((LocPosTechMask)0x00001000)
+#define LOC_POS_TECH_MASK_PROPAGATED ((LocPosTechMask)0x00002000)
+
enum loc_registration_mask_status {
LOC_REGISTRATION_MASK_ENABLED,
diff --git a/utils/loc_nmea.cpp b/utils/loc_nmea.cpp
index 0adfb86..deebf91 100644
--- a/utils/loc_nmea.cpp
+++ b/utils/loc_nmea.cpp
@@ -1239,7 +1239,8 @@ static void loc_nmea_get_fix_quality(const UlpLocation & location,
if (locationExtended.gnss_sv_used_ids.navic_sv_used_ids_mask ? 1 : 0)
gnsModeIndicator[5] = 'A'; // A means autonomous
break;
- } else if (LOC_POS_TECH_MASK_SENSORS & locationExtended.tech_mask){
+ } else if ((LOC_POS_TECH_MASK_SENSORS & locationExtended.tech_mask) ||
+ (LOC_POS_TECH_MASK_PROPAGATED & locationExtended.tech_mask)){
ggaGpsQuality[0] = '6'; // 6 means estimated (dead reckoning)
rmcModeIndicator = 'E'; // E means estimated (dead reckoning)
vtgModeIndicator = 'E'; // E means estimated (dead reckoning)