diff options
author | Mike Cailean <mcailean@codeaurora.org> | 2018-06-07 16:54:35 -0700 |
---|---|---|
committer | Mike Cailean <mcailean@codeaurora.org> | 2018-08-17 09:15:20 -0700 |
commit | 75cfd43bfdab4fb478e1504808a418320f5dcd95 (patch) | |
tree | 9b3456196dda309ec52ebf4186372296c4c261fb /core/LocApiBase.cpp | |
parent | 4088ca58bc1e79fa5753050c5d9a183d7e1bd7fa (diff) | |
download | gps-75cfd43bfdab4fb478e1504808a418320f5dcd95.tar.gz |
Add jammer indication
Add AGC and jammer indication
Change-Id: I93641864338beec368e7a56b3a20b158ea892202
CRs-fixed: 2239155
Diffstat (limited to 'core/LocApiBase.cpp')
-rw-r--r-- | core/LocApiBase.cpp | 38 |
1 files changed, 36 insertions, 2 deletions
diff --git a/core/LocApiBase.cpp b/core/LocApiBase.cpp index a82e30b..7a0900b 100644 --- a/core/LocApiBase.cpp +++ b/core/LocApiBase.cpp @@ -240,6 +240,30 @@ void LocApiBase::updateEvtMask() mMsgTask->sendMsg(new LocOpenMsg(this)); } +void LocApiBase::updateNmeaMask(uint32_t mask) +{ + struct LocSetNmeaMsg : public LocMsg { + LocApiBase* mLocApi; + uint32_t mMask; + inline LocSetNmeaMsg(LocApiBase* locApi, uint32_t mask) : + LocMsg(), mLocApi(locApi), mMask(mask) + { + locallog(); + } + inline virtual void proc() const { + mLocApi->setNMEATypesSync(mMask); + } + inline void locallog() const { + LOC_LOGv("LocSyncNmea NmeaMask: %" PRIx32 "\n", mMask); + } + inline virtual void log() const { + locallog(); + } + }; + + mMsgTask->sendMsg(new LocSetNmeaMsg(this, mask)); +} + void LocApiBase::handleEngineUpEvent() { LocDualContext::injectFeatureConfig(mContext); @@ -259,7 +283,9 @@ void LocApiBase::handleEngineDownEvent() void LocApiBase::reportPosition(UlpLocation& location, GpsLocationExtended& locationExtended, enum loc_sess_status status, - LocPosTechMask loc_technology_mask) + LocPosTechMask loc_technology_mask, + GnssDataNotification* pDataNotify, + int msInWeek) { // print the location info before delivering LOC_LOGD("flags: %d\n source: %d\n latitude: %f\n longitude: %f\n " @@ -281,7 +307,9 @@ void LocApiBase::reportPosition(UlpLocation& location, // loop through adapters, and deliver to all adapters. TO_ALL_LOCADAPTERS( mLocAdapters[i]->reportPositionEvent(location, locationExtended, - status, loc_technology_mask) + status, loc_technology_mask, + false, + pDataNotify, msInWeek) ); } @@ -363,6 +391,12 @@ void LocApiBase::reportStatus(LocGpsStatusValue status) TO_ALL_LOCADAPTERS(mLocAdapters[i]->reportStatus(status)); } +void LocApiBase::reportData(GnssDataNotification& dataNotify, int msInWeek) +{ + // loop through adapters, and deliver to all adapters. + TO_ALL_LOCADAPTERS(mLocAdapters[i]->reportDataEvent(dataNotify, msInWeek)); +} + void LocApiBase::reportNmea(const char* nmea, int length) { // loop through adapters, and deliver to all adapters. |