summaryrefslogtreecommitdiff
path: root/gnss
diff options
context:
space:
mode:
authorqctecmdr <qctecmdr@localhost>2019-06-26 21:11:12 -0700
committerGerrit - the friendly Code Review server <code-review@localhost>2019-06-26 21:11:11 -0700
commit60403cd1daedd4fb1b90d76fce8d6dfd15a1c982 (patch)
treef1251a564665039860736a0cadbbaec8dc05cc72 /gnss
parent8d4a16cef0da4ea344a844e041c2f8c96c714f67 (diff)
parentaadad658408d14d22533991cebfff2a278c94849 (diff)
downloadgps-60403cd1daedd4fb1b90d76fce8d6dfd15a1c982.tar.gz
Merge "Fix SV in use mask isn't correct for multiband SVs"
Diffstat (limited to 'gnss')
-rw-r--r--gnss/GnssAdapter.cpp17
-rw-r--r--gnss/GnssAdapter.h1
2 files changed, 7 insertions, 11 deletions
diff --git a/gnss/GnssAdapter.cpp b/gnss/GnssAdapter.cpp
index 5eb7b91..8c65c82 100644
--- a/gnss/GnssAdapter.cpp
+++ b/gnss/GnssAdapter.cpp
@@ -97,8 +97,7 @@ GnssAdapter::GnssAdapter() :
mPowerStateCb(nullptr),
mIsE911Session(NULL),
mGnssMbSvIdUsedInPosition{},
- mGnssMbSvIdUsedInPosAvail(false),
- mGnssSignalType()
+ mGnssMbSvIdUsedInPosAvail(false)
{
LOC_LOGD("%s]: Constructor %p", __func__, this);
mLocPositionMode.mode = LOC_POSITION_MODE_INVALID;
@@ -3206,9 +3205,6 @@ GnssAdapter::reportPosition(const UlpLocation& ulpLocation,
if (locationExtended.flags & GPS_LOCATION_EXTENDED_HAS_MULTIBAND) {
mGnssMbSvIdUsedInPosAvail = true;
mGnssMbSvIdUsedInPosition = locationExtended.gnss_mb_sv_used_ids;
- for (int i = 0; i < GNSS_SV_MAX; i++) {
- mGnssSignalType[i] = locationExtended.measUsageInfo[i].gnssSignalType;
- }
}
}
@@ -3277,11 +3273,12 @@ GnssAdapter::reportSv(GnssSvNotification& svNotify)
for (int i=0; i < numSv; i++) {
svUsedIdMask = 0;
gnssSvId = svNotify.gnssSvs[i].svId;
+ GnssSignalTypeMask signalTypeMask = svNotify.gnssSvs[i].gnssSignalTypeMask;
switch (svNotify.gnssSvs[i].type) {
case GNSS_SV_TYPE_GPS:
if (mGnssSvIdUsedInPosAvail) {
if (mGnssMbSvIdUsedInPosAvail) {
- switch (mGnssSignalType[i]) {
+ switch (signalTypeMask) {
case GNSS_SIGNAL_GPS_L1CA:
svUsedIdMask = mGnssMbSvIdUsedInPosition.gps_l1ca_sv_used_ids_mask;
break;
@@ -3303,7 +3300,7 @@ GnssAdapter::reportSv(GnssSvNotification& svNotify)
case GNSS_SV_TYPE_GLONASS:
if (mGnssSvIdUsedInPosAvail) {
if (mGnssMbSvIdUsedInPosAvail) {
- switch (mGnssSignalType[i]) {
+ switch (signalTypeMask) {
case GNSS_SIGNAL_GLONASS_G1:
svUsedIdMask = mGnssMbSvIdUsedInPosition.glo_g1_sv_used_ids_mask;
break;
@@ -3319,7 +3316,7 @@ GnssAdapter::reportSv(GnssSvNotification& svNotify)
case GNSS_SV_TYPE_BEIDOU:
if (mGnssSvIdUsedInPosAvail) {
if (mGnssMbSvIdUsedInPosAvail) {
- switch (mGnssSignalType[i]) {
+ switch (signalTypeMask) {
case GNSS_SIGNAL_BEIDOU_B1I:
svUsedIdMask = mGnssMbSvIdUsedInPosition.bds_b1i_sv_used_ids_mask;
break;
@@ -3344,7 +3341,7 @@ GnssAdapter::reportSv(GnssSvNotification& svNotify)
case GNSS_SV_TYPE_GALILEO:
if (mGnssSvIdUsedInPosAvail) {
if (mGnssMbSvIdUsedInPosAvail) {
- switch (mGnssSignalType[i]) {
+ switch (signalTypeMask) {
case GNSS_SIGNAL_GALILEO_E1:
svUsedIdMask = mGnssMbSvIdUsedInPosition.gal_e1_sv_used_ids_mask;
break;
@@ -3363,7 +3360,7 @@ GnssAdapter::reportSv(GnssSvNotification& svNotify)
case GNSS_SV_TYPE_QZSS:
if (mGnssSvIdUsedInPosAvail) {
if (mGnssMbSvIdUsedInPosAvail) {
- switch (mGnssSignalType[i]) {
+ switch (signalTypeMask) {
case GNSS_SIGNAL_QZSS_L1CA:
svUsedIdMask = mGnssMbSvIdUsedInPosition.qzss_l1ca_sv_used_ids_mask;
break;
diff --git a/gnss/GnssAdapter.h b/gnss/GnssAdapter.h
index 1e6d1b8..9a727a2 100644
--- a/gnss/GnssAdapter.h
+++ b/gnss/GnssAdapter.h
@@ -147,7 +147,6 @@ class GnssAdapter : public LocAdapterBase {
bool mGnssSvIdUsedInPosAvail;
GnssSvMbUsedInPosition mGnssMbSvIdUsedInPosition;
bool mGnssMbSvIdUsedInPosAvail;
- GnssSignalTypeMask mGnssSignalType[GNSS_SV_MAX];
/* ==== CONTROL ======================================================================== */
LocationControlCallbacks mControlCallbacks;