Fix SV in use mask isn't correct for multiband SVs
Fix the issue that SV in use mask isn't set correct in reportSv function in GnssAdapter.cpp. Change-Id: Ie90fc4b938875817b105745cf531ee8dc31e74bc CRs-Fixed: 2473868
This commit is contained in:
parent
16c0367c5b
commit
aadad65840
2 changed files with 7 additions and 11 deletions
|
@ -97,8 +97,7 @@ GnssAdapter::GnssAdapter() :
|
||||||
mPowerStateCb(nullptr),
|
mPowerStateCb(nullptr),
|
||||||
mIsE911Session(NULL),
|
mIsE911Session(NULL),
|
||||||
mGnssMbSvIdUsedInPosition{},
|
mGnssMbSvIdUsedInPosition{},
|
||||||
mGnssMbSvIdUsedInPosAvail(false),
|
mGnssMbSvIdUsedInPosAvail(false)
|
||||||
mGnssSignalType()
|
|
||||||
{
|
{
|
||||||
LOC_LOGD("%s]: Constructor %p", __func__, this);
|
LOC_LOGD("%s]: Constructor %p", __func__, this);
|
||||||
mLocPositionMode.mode = LOC_POSITION_MODE_INVALID;
|
mLocPositionMode.mode = LOC_POSITION_MODE_INVALID;
|
||||||
|
@ -3196,9 +3195,6 @@ GnssAdapter::reportPosition(const UlpLocation& ulpLocation,
|
||||||
if (locationExtended.flags & GPS_LOCATION_EXTENDED_HAS_MULTIBAND) {
|
if (locationExtended.flags & GPS_LOCATION_EXTENDED_HAS_MULTIBAND) {
|
||||||
mGnssMbSvIdUsedInPosAvail = true;
|
mGnssMbSvIdUsedInPosAvail = true;
|
||||||
mGnssMbSvIdUsedInPosition = locationExtended.gnss_mb_sv_used_ids;
|
mGnssMbSvIdUsedInPosition = locationExtended.gnss_mb_sv_used_ids;
|
||||||
for (int i = 0; i < GNSS_SV_MAX; i++) {
|
|
||||||
mGnssSignalType[i] = locationExtended.measUsageInfo[i].gnssSignalType;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3267,11 +3263,12 @@ GnssAdapter::reportSv(GnssSvNotification& svNotify)
|
||||||
for (int i=0; i < numSv; i++) {
|
for (int i=0; i < numSv; i++) {
|
||||||
svUsedIdMask = 0;
|
svUsedIdMask = 0;
|
||||||
gnssSvId = svNotify.gnssSvs[i].svId;
|
gnssSvId = svNotify.gnssSvs[i].svId;
|
||||||
|
GnssSignalTypeMask signalTypeMask = svNotify.gnssSvs[i].gnssSignalTypeMask;
|
||||||
switch (svNotify.gnssSvs[i].type) {
|
switch (svNotify.gnssSvs[i].type) {
|
||||||
case GNSS_SV_TYPE_GPS:
|
case GNSS_SV_TYPE_GPS:
|
||||||
if (mGnssSvIdUsedInPosAvail) {
|
if (mGnssSvIdUsedInPosAvail) {
|
||||||
if (mGnssMbSvIdUsedInPosAvail) {
|
if (mGnssMbSvIdUsedInPosAvail) {
|
||||||
switch (mGnssSignalType[i]) {
|
switch (signalTypeMask) {
|
||||||
case GNSS_SIGNAL_GPS_L1CA:
|
case GNSS_SIGNAL_GPS_L1CA:
|
||||||
svUsedIdMask = mGnssMbSvIdUsedInPosition.gps_l1ca_sv_used_ids_mask;
|
svUsedIdMask = mGnssMbSvIdUsedInPosition.gps_l1ca_sv_used_ids_mask;
|
||||||
break;
|
break;
|
||||||
|
@ -3293,7 +3290,7 @@ GnssAdapter::reportSv(GnssSvNotification& svNotify)
|
||||||
case GNSS_SV_TYPE_GLONASS:
|
case GNSS_SV_TYPE_GLONASS:
|
||||||
if (mGnssSvIdUsedInPosAvail) {
|
if (mGnssSvIdUsedInPosAvail) {
|
||||||
if (mGnssMbSvIdUsedInPosAvail) {
|
if (mGnssMbSvIdUsedInPosAvail) {
|
||||||
switch (mGnssSignalType[i]) {
|
switch (signalTypeMask) {
|
||||||
case GNSS_SIGNAL_GLONASS_G1:
|
case GNSS_SIGNAL_GLONASS_G1:
|
||||||
svUsedIdMask = mGnssMbSvIdUsedInPosition.glo_g1_sv_used_ids_mask;
|
svUsedIdMask = mGnssMbSvIdUsedInPosition.glo_g1_sv_used_ids_mask;
|
||||||
break;
|
break;
|
||||||
|
@ -3309,7 +3306,7 @@ GnssAdapter::reportSv(GnssSvNotification& svNotify)
|
||||||
case GNSS_SV_TYPE_BEIDOU:
|
case GNSS_SV_TYPE_BEIDOU:
|
||||||
if (mGnssSvIdUsedInPosAvail) {
|
if (mGnssSvIdUsedInPosAvail) {
|
||||||
if (mGnssMbSvIdUsedInPosAvail) {
|
if (mGnssMbSvIdUsedInPosAvail) {
|
||||||
switch (mGnssSignalType[i]) {
|
switch (signalTypeMask) {
|
||||||
case GNSS_SIGNAL_BEIDOU_B1I:
|
case GNSS_SIGNAL_BEIDOU_B1I:
|
||||||
svUsedIdMask = mGnssMbSvIdUsedInPosition.bds_b1i_sv_used_ids_mask;
|
svUsedIdMask = mGnssMbSvIdUsedInPosition.bds_b1i_sv_used_ids_mask;
|
||||||
break;
|
break;
|
||||||
|
@ -3334,7 +3331,7 @@ GnssAdapter::reportSv(GnssSvNotification& svNotify)
|
||||||
case GNSS_SV_TYPE_GALILEO:
|
case GNSS_SV_TYPE_GALILEO:
|
||||||
if (mGnssSvIdUsedInPosAvail) {
|
if (mGnssSvIdUsedInPosAvail) {
|
||||||
if (mGnssMbSvIdUsedInPosAvail) {
|
if (mGnssMbSvIdUsedInPosAvail) {
|
||||||
switch (mGnssSignalType[i]) {
|
switch (signalTypeMask) {
|
||||||
case GNSS_SIGNAL_GALILEO_E1:
|
case GNSS_SIGNAL_GALILEO_E1:
|
||||||
svUsedIdMask = mGnssMbSvIdUsedInPosition.gal_e1_sv_used_ids_mask;
|
svUsedIdMask = mGnssMbSvIdUsedInPosition.gal_e1_sv_used_ids_mask;
|
||||||
break;
|
break;
|
||||||
|
@ -3353,7 +3350,7 @@ GnssAdapter::reportSv(GnssSvNotification& svNotify)
|
||||||
case GNSS_SV_TYPE_QZSS:
|
case GNSS_SV_TYPE_QZSS:
|
||||||
if (mGnssSvIdUsedInPosAvail) {
|
if (mGnssSvIdUsedInPosAvail) {
|
||||||
if (mGnssMbSvIdUsedInPosAvail) {
|
if (mGnssMbSvIdUsedInPosAvail) {
|
||||||
switch (mGnssSignalType[i]) {
|
switch (signalTypeMask) {
|
||||||
case GNSS_SIGNAL_QZSS_L1CA:
|
case GNSS_SIGNAL_QZSS_L1CA:
|
||||||
svUsedIdMask = mGnssMbSvIdUsedInPosition.qzss_l1ca_sv_used_ids_mask;
|
svUsedIdMask = mGnssMbSvIdUsedInPosition.qzss_l1ca_sv_used_ids_mask;
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -147,7 +147,6 @@ class GnssAdapter : public LocAdapterBase {
|
||||||
bool mGnssSvIdUsedInPosAvail;
|
bool mGnssSvIdUsedInPosAvail;
|
||||||
GnssSvMbUsedInPosition mGnssMbSvIdUsedInPosition;
|
GnssSvMbUsedInPosition mGnssMbSvIdUsedInPosition;
|
||||||
bool mGnssMbSvIdUsedInPosAvail;
|
bool mGnssMbSvIdUsedInPosAvail;
|
||||||
GnssSignalTypeMask mGnssSignalType[GNSS_SV_MAX];
|
|
||||||
|
|
||||||
/* ==== CONTROL ======================================================================== */
|
/* ==== CONTROL ======================================================================== */
|
||||||
LocationControlCallbacks mControlCallbacks;
|
LocationControlCallbacks mControlCallbacks;
|
||||||
|
|
Loading…
Reference in a new issue