Merge "Fix config updates for some LocatoinAPI bit masks"

This commit is contained in:
Linux Build Service Account 2017-06-20 01:35:08 -07:00 committed by Gerrit - the friendly Code Review server
commit 6cd01b2a90
4 changed files with 57 additions and 58 deletions

View file

@ -95,10 +95,13 @@ Return<bool> GnssConfiguration::setSuplMode(uint8_t mode) {
config.suplModeMask = 0; // STANDALONE ONLY
break;
case 1:
config.suplModeMask = GNSS_CONFIG_SUPL_MODE_MSB;
config.suplModeMask = GNSS_CONFIG_SUPL_MODE_MSB_BIT;
break;
case 2:
config.suplModeMask = GNSS_CONFIG_SUPL_MODE_MSA;
config.suplModeMask = GNSS_CONFIG_SUPL_MODE_MSA_BIT;
break;
case 3:
config.suplModeMask = GNSS_CONFIG_SUPL_MODE_MSB_BIT | GNSS_CONFIG_SUPL_MODE_MSA_BIT;
break;
default:
LOC_LOGE("%s]: invalid mode: %d.", __FUNCTION__, mode);
@ -196,7 +199,6 @@ Return<bool> GnssConfiguration::setGpsLock(uint8_t lock) {
return false;
break;
}
config.gpsLock = static_cast<GnssConfigGpsLock>(lock);
return mGnss->updateConfiguration(config);
}

View file

@ -140,39 +140,39 @@ void GnssAPIClient::gnssDeleteAidingData(IGnss::GnssAidingData aidingDataFlags)
LOC_LOGD("%s]: (%02hx)", __FUNCTION__, aidingDataFlags);
GnssAidingData data;
memset(&data, 0, sizeof (GnssAidingData));
data.sv.svTypeMask = GNSS_AIDING_DATA_SV_TYPE_GPS |
GNSS_AIDING_DATA_SV_TYPE_GLONASS |
GNSS_AIDING_DATA_SV_TYPE_QZSS |
GNSS_AIDING_DATA_SV_TYPE_BEIDOU |
GNSS_AIDING_DATA_SV_TYPE_GALILEO;
data.sv.svTypeMask = GNSS_AIDING_DATA_SV_TYPE_GPS_BIT |
GNSS_AIDING_DATA_SV_TYPE_GLONASS_BIT |
GNSS_AIDING_DATA_SV_TYPE_QZSS_BIT |
GNSS_AIDING_DATA_SV_TYPE_BEIDOU_BIT |
GNSS_AIDING_DATA_SV_TYPE_GALILEO_BIT;
if (aidingDataFlags == IGnss::GnssAidingData::DELETE_ALL)
data.deleteAll = true;
else {
if (aidingDataFlags & IGnss::GnssAidingData::DELETE_EPHEMERIS)
data.sv.svMask |= GNSS_AIDING_DATA_SV_EPHEMERIS;
data.sv.svMask |= GNSS_AIDING_DATA_SV_EPHEMERIS_BIT;
if (aidingDataFlags & IGnss::GnssAidingData::DELETE_ALMANAC)
data.sv.svMask |= GNSS_AIDING_DATA_SV_ALMANAC;
data.sv.svMask |= GNSS_AIDING_DATA_SV_ALMANAC_BIT;
if (aidingDataFlags & IGnss::GnssAidingData::DELETE_POSITION)
data.common.mask |= GNSS_AIDING_DATA_COMMON_POSITION;
data.common.mask |= GNSS_AIDING_DATA_COMMON_POSITION_BIT;
if (aidingDataFlags & IGnss::GnssAidingData::DELETE_TIME)
data.common.mask |= GNSS_AIDING_DATA_COMMON_TIME;
data.common.mask |= GNSS_AIDING_DATA_COMMON_TIME_BIT;
if (aidingDataFlags & IGnss::GnssAidingData::DELETE_IONO)
data.sv.svMask |= GNSS_AIDING_DATA_SV_IONOSPHERE;
data.sv.svMask |= GNSS_AIDING_DATA_SV_IONOSPHERE_BIT;
if (aidingDataFlags & IGnss::GnssAidingData::DELETE_UTC)
data.common.mask |= GNSS_AIDING_DATA_COMMON_UTC;
data.common.mask |= GNSS_AIDING_DATA_COMMON_UTC_BIT;
if (aidingDataFlags & IGnss::GnssAidingData::DELETE_HEALTH)
data.sv.svMask |= GNSS_AIDING_DATA_SV_HEALTH;
data.sv.svMask |= GNSS_AIDING_DATA_SV_HEALTH_BIT;
if (aidingDataFlags & IGnss::GnssAidingData::DELETE_SVDIR)
data.sv.svMask |= GNSS_AIDING_DATA_SV_DIRECTION;
data.sv.svMask |= GNSS_AIDING_DATA_SV_DIRECTION_BIT;
if (aidingDataFlags & IGnss::GnssAidingData::DELETE_SVSTEER)
data.sv.svMask |= GNSS_AIDING_DATA_SV_STEER;
data.sv.svMask |= GNSS_AIDING_DATA_SV_STEER_BIT;
if (aidingDataFlags & IGnss::GnssAidingData::DELETE_SADATA)
data.sv.svMask |= GNSS_AIDING_DATA_SV_SA_DATA;
data.sv.svMask |= GNSS_AIDING_DATA_SV_SA_DATA_BIT;
if (aidingDataFlags & IGnss::GnssAidingData::DELETE_RTI)
data.common.mask |= GNSS_AIDING_DATA_COMMON_RTI;
data.common.mask |= GNSS_AIDING_DATA_COMMON_RTI_BIT;
if (aidingDataFlags & IGnss::GnssAidingData::DELETE_CELLDB_INFO)
data.common.mask |= GNSS_AIDING_DATA_COMMON_CELLDB;
data.common.mask |= GNSS_AIDING_DATA_COMMON_CELLDB_BIT;
}
locAPIGnssDeleteAidingData(data);
}
@ -307,15 +307,12 @@ void GnssAPIClient::onGnssNiCb(uint32_t id, GnssNiNotification gnssNiNotificatio
notificationGnss.niType =
static_cast<IGnssNiCallback::GnssNiType>(4/*hardcode until IGnssNiCallback adds value*/);
if (gnssNiNotification.options == GNSS_NI_OPTIONS_NOTIFICATION)
notificationGnss.notifyFlags =
static_cast<uint32_t>(IGnssNiCallback::GnssNiNotifyFlags::NEED_NOTIFY);
else if (gnssNiNotification.options == GNSS_NI_OPTIONS_VERIFICATION)
notificationGnss.notifyFlags =
static_cast<uint32_t>(IGnssNiCallback::GnssNiNotifyFlags::NEED_VERIFY);
else if (gnssNiNotification.options == GNSS_NI_OPTIONS_PRIVACY_OVERRIDE)
notificationGnss.notifyFlags =
static_cast<uint32_t>(IGnssNiCallback::GnssNiNotifyFlags::PRIVACY_OVERRIDE);
if (gnssNiNotification.options & GNSS_NI_OPTIONS_NOTIFICATION_BIT)
notificationGnss.notifyFlags |= IGnssNiCallback::GnssNiNotifyFlags::NEED_NOTIFY;
else if (gnssNiNotification.options & GNSS_NI_OPTIONS_VERIFICATION_BIT)
notificationGnss.notifyFlags |= IGnssNiCallback::GnssNiNotifyFlags::NEED_VERIFY;
else if (gnssNiNotification.options & GNSS_NI_OPTIONS_PRIVACY_OVERRIDE_BIT)
notificationGnss.notifyFlags |= IGnssNiCallback::GnssNiNotifyFlags::PRIVACY_OVERRIDE;
notificationGnss.timeoutSec = gnssNiNotification.timeout;

View file

@ -435,10 +435,10 @@ uint32_t
GnssAdapter::convertSuplMode(const GnssConfigSuplModeMask suplModeMask)
{
uint32_t mask = 0;
if (GNSS_CONFIG_SUPL_MODE_MSB & suplModeMask) {
if (GNSS_CONFIG_SUPL_MODE_MSB_BIT & suplModeMask) {
mask |= (1<<0);
}
if (GNSS_CONFIG_SUPL_MODE_MSA & suplModeMask) {
if (GNSS_CONFIG_SUPL_MODE_MSA_BIT & suplModeMask) {
mask |= (1<<1);
}
return mask;

View file

@ -202,8 +202,8 @@ typedef enum {
typedef uint16_t GnssConfigSuplModeMask;
typedef enum {
GNSS_CONFIG_SUPL_MODE_MSB = (1<<0),
GNSS_CONFIG_SUPL_MODE_MSA = (1<<1),
GNSS_CONFIG_SUPL_MODE_MSB_BIT = (1<<0),
GNSS_CONFIG_SUPL_MODE_MSA_BIT = (1<<1),
} GnssConfigSuplModeBits;
typedef uint32_t GnssConfigFlagsMask;
@ -236,9 +236,9 @@ typedef enum {
typedef uint16_t GnssNiOptionsMask;
typedef enum {
GNSS_NI_OPTIONS_NOTIFICATION = (1<<0),
GNSS_NI_OPTIONS_VERIFICATION = (1<<1),
GNSS_NI_OPTIONS_PRIVACY_OVERRIDE = (1<<2),
GNSS_NI_OPTIONS_NOTIFICATION_BIT = (1<<0),
GNSS_NI_OPTIONS_VERIFICATION_BIT = (1<<1),
GNSS_NI_OPTIONS_PRIVACY_OVERRIDE_BIT = (1<<2),
} GnssNiOptionsBits;
typedef enum {
@ -366,26 +366,26 @@ typedef enum {
typedef uint32_t GnssAidingDataSvMask;
typedef enum {
GNSS_AIDING_DATA_SV_EPHEMERIS = (1<<0), // ephemeris
GNSS_AIDING_DATA_SV_ALMANAC = (1<<1), // almanac
GNSS_AIDING_DATA_SV_HEALTH = (1<<2), // health
GNSS_AIDING_DATA_SV_DIRECTION = (1<<3), // direction
GNSS_AIDING_DATA_SV_STEER = (1<<4), // steer
GNSS_AIDING_DATA_SV_ALMANAC_CORR = (1<<5), // almanac correction
GNSS_AIDING_DATA_SV_BLACKLIST = (1<<6), // blacklist SVs
GNSS_AIDING_DATA_SV_SA_DATA = (1<<7), // sensitivity assistance data
GNSS_AIDING_DATA_SV_NO_EXIST = (1<<8), // SV does not exist
GNSS_AIDING_DATA_SV_IONOSPHERE = (1<<9), // ionosphere correction
GNSS_AIDING_DATA_SV_TIME = (1<<10),// reset satellite time
GNSS_AIDING_DATA_SV_EPHEMERIS_BIT = (1<<0), // ephemeris
GNSS_AIDING_DATA_SV_ALMANAC_BIT = (1<<1), // almanac
GNSS_AIDING_DATA_SV_HEALTH_BIT = (1<<2), // health
GNSS_AIDING_DATA_SV_DIRECTION_BIT = (1<<3), // direction
GNSS_AIDING_DATA_SV_STEER_BIT = (1<<4), // steer
GNSS_AIDING_DATA_SV_ALMANAC_CORR_BIT = (1<<5), // almanac correction
GNSS_AIDING_DATA_SV_BLACKLIST_BIT = (1<<6), // blacklist SVs
GNSS_AIDING_DATA_SV_SA_DATA_BIT = (1<<7), // sensitivity assistance data
GNSS_AIDING_DATA_SV_NO_EXIST_BIT = (1<<8), // SV does not exist
GNSS_AIDING_DATA_SV_IONOSPHERE_BIT = (1<<9), // ionosphere correction
GNSS_AIDING_DATA_SV_TIME_BIT = (1<<10),// reset satellite time
} GnssAidingDataSvBits;
typedef uint32_t GnssAidingDataSvTypeMask;
typedef enum {
GNSS_AIDING_DATA_SV_TYPE_GPS = (1<<0),
GNSS_AIDING_DATA_SV_TYPE_GLONASS = (1<<1),
GNSS_AIDING_DATA_SV_TYPE_QZSS = (1<<2),
GNSS_AIDING_DATA_SV_TYPE_BEIDOU = (1<<3),
GNSS_AIDING_DATA_SV_TYPE_GALILEO = (1<<4),
GNSS_AIDING_DATA_SV_TYPE_GPS_BIT = (1<<0),
GNSS_AIDING_DATA_SV_TYPE_GLONASS_BIT = (1<<1),
GNSS_AIDING_DATA_SV_TYPE_QZSS_BIT = (1<<2),
GNSS_AIDING_DATA_SV_TYPE_BEIDOU_BIT = (1<<3),
GNSS_AIDING_DATA_SV_TYPE_GALILEO_BIT = (1<<4),
} GnssAidingDataSvTypeBits;
typedef struct {
@ -395,12 +395,12 @@ typedef struct {
typedef uint32_t GnssAidingDataCommonMask;
typedef enum {
GNSS_AIDING_DATA_COMMON_POSITION = (1<<0), // position estimate
GNSS_AIDING_DATA_COMMON_TIME = (1<<1), // reset all clock values
GNSS_AIDING_DATA_COMMON_UTC = (1<<2), // UTC estimate
GNSS_AIDING_DATA_COMMON_RTI = (1<<3), // RTI
GNSS_AIDING_DATA_COMMON_FREQ_BIAS_EST = (1<<4), // frequency bias estimate
GNSS_AIDING_DATA_COMMON_CELLDB = (1<<5), // all celldb info
GNSS_AIDING_DATA_COMMON_POSITION_BIT = (1<<0), // position estimate
GNSS_AIDING_DATA_COMMON_TIME_BIT = (1<<1), // reset all clock values
GNSS_AIDING_DATA_COMMON_UTC_BIT = (1<<2), // UTC estimate
GNSS_AIDING_DATA_COMMON_RTI_BIT = (1<<3), // RTI
GNSS_AIDING_DATA_COMMON_FREQ_BIAS_EST_BIT = (1<<4), // frequency bias estimate
GNSS_AIDING_DATA_COMMON_CELLDB_BIT = (1<<5), // all celldb info
} GnssAidingDataCommonBits;
typedef struct {