Accept enabled list for constellation control

Accept both enabled and disabled constellation
lists for IZAT Constellation Control API

CRs-Fixed: 2302898
Change-Id: Ia271efef619fc91a1457d1af7aeebcb8a8a0686d
This commit is contained in:
Saurabh Srivastava 2018-08-25 00:42:54 +05:30 committed by Gerrit - the friendly Code Review server
parent 033a0fa1c6
commit 12ab7e152f
2 changed files with 17 additions and 5 deletions

View file

@ -1504,17 +1504,29 @@ GnssAdapter::gnssUpdateSvTypeConfigCommand(GnssSvTypeConfig config)
void
GnssAdapter::gnssSvTypeConfigUpdate(const GnssSvTypeConfig& config)
{
// Gather bits removed from enabled mask
GnssSvTypesMask enabledRemoved = mGnssSvTypeConfig.enabledSvTypesMask &
(mGnssSvTypeConfig.enabledSvTypesMask ^ config.enabledSvTypesMask);
// Send reset if any constellation is removed from the enabled list
bool sendReset = (enabledRemoved != 0);
// Save new config and update
gnssSetSvTypeConfig(config);
gnssSvTypeConfigUpdate();
gnssSvTypeConfigUpdate(sendReset);
}
void
GnssAdapter::gnssSvTypeConfigUpdate()
GnssAdapter::gnssSvTypeConfigUpdate(bool sendReset)
{
LOC_LOGd("constellations blacklisted 0x%" PRIx64 ", enabled 0x%" PRIx64,
mGnssSvTypeConfig.blacklistedSvTypesMask, mGnssSvTypeConfig.enabledSvTypesMask);
LOC_LOGd("constellations blacklisted 0x%" PRIx64 ", enabled 0x%" PRIx64 ", sendReset %d",
mGnssSvTypeConfig.blacklistedSvTypesMask, mGnssSvTypeConfig.enabledSvTypesMask,
sendReset);
if (mGnssSvTypeConfig.size == sizeof(mGnssSvTypeConfig)) {
if (sendReset) {
mLocApi->resetConstellationControl();
}
GnssSvIdConfig blacklistConfig = {};
// Revert to previously blacklisted SVs for each enabled constellation
blacklistConfig = mGnssSvIdConfig;

View file

@ -279,7 +279,7 @@ public:
void gnssSvIdConfigUpdate(const std::vector<GnssSvIdSource>& blacklistedSvIds);
void gnssSvIdConfigUpdate();
void gnssSvTypeConfigUpdate(const GnssSvTypeConfig& config);
void gnssSvTypeConfigUpdate();
void gnssSvTypeConfigUpdate(bool sendReset = false);
inline void gnssSetSvTypeConfig(const GnssSvTypeConfig& config)
{ mGnssSvTypeConfig = config; }
inline void gnssSetSvTypeConfigCallback(GnssSvTypeConfigCallback callback)