Streamline measurements processing
Consolidate the translation from QMI LOC into one place in order to minimize traffic Change-Id: I73c2f25e94544a2b69d4227c63548ef11b6a4d91 CRs-fixed: 2430668
This commit is contained in:
parent
a6c61bde6a
commit
b95f05cc73
8 changed files with 19 additions and 34 deletions
|
@ -100,10 +100,6 @@ void LocAdapterBase::
|
|||
bool /*fromEngineHub*/)
|
||||
DEFAULT_IMPL()
|
||||
|
||||
void LocAdapterBase::
|
||||
reportSvMeasurementEvent(GnssSvMeasurementSet &/*svMeasurementSet*/)
|
||||
DEFAULT_IMPL()
|
||||
|
||||
void LocAdapterBase::
|
||||
reportSvPolynomialEvent(GnssSvPolynomial &/*svPolynomial*/)
|
||||
DEFAULT_IMPL()
|
||||
|
@ -162,7 +158,7 @@ bool LocAdapterBase::
|
|||
DEFAULT_IMPL(false)
|
||||
|
||||
void LocAdapterBase::
|
||||
reportGnssMeasurementDataEvent(const GnssMeasurementsNotification& /*measurements*/,
|
||||
reportGnssMeasurementsEvent(const GnssMeasurements& /*gnssMeasurements*/,
|
||||
int /*msInWeek*/)
|
||||
DEFAULT_IMPL()
|
||||
|
||||
|
|
|
@ -158,7 +158,6 @@ public:
|
|||
bool fromEngineHub=false);
|
||||
virtual void reportDataEvent(const GnssDataNotification& dataNotify, int msInWeek);
|
||||
virtual void reportNmeaEvent(const char* nmea, size_t length);
|
||||
virtual void reportSvMeasurementEvent(GnssSvMeasurementSet &svMeasurementSet);
|
||||
virtual void reportSvPolynomialEvent(GnssSvPolynomial &svPolynomial);
|
||||
virtual void reportSvEphemerisEvent(GnssSvEphemerisReport &svEphemeris);
|
||||
virtual void reportStatus(LocGpsStatusValue status);
|
||||
|
@ -175,7 +174,7 @@ public:
|
|||
virtual bool requestNiNotifyEvent(const GnssNiNotification ¬ify, const void* data);
|
||||
inline virtual bool isInSession() { return false; }
|
||||
ContextBase* getContext() const { return mContext; }
|
||||
virtual void reportGnssMeasurementDataEvent(const GnssMeasurementsNotification& measurements,
|
||||
virtual void reportGnssMeasurementsEvent(const GnssMeasurements& gnssMeasurements,
|
||||
int msInWeek);
|
||||
virtual bool reportWwanZppFix(LocGpsLocation &zppLoc);
|
||||
virtual bool reportZppBestAvailableFix(LocGpsLocation &zppLoc,
|
||||
|
|
|
@ -434,14 +434,6 @@ void LocApiBase::reportSv(GnssSvNotification& svNotify)
|
|||
);
|
||||
}
|
||||
|
||||
void LocApiBase::reportSvMeasurement(GnssSvMeasurementSet &svMeasurementSet)
|
||||
{
|
||||
// loop through adapters, and deliver to all adapters.
|
||||
TO_ALL_LOCADAPTERS(
|
||||
mLocAdapters[i]->reportSvMeasurementEvent(svMeasurementSet)
|
||||
);
|
||||
}
|
||||
|
||||
void LocApiBase::reportSvPolynomial(GnssSvPolynomial &svPolynomial)
|
||||
{
|
||||
// loop through adapters, and deliver to all adapters.
|
||||
|
@ -534,11 +526,10 @@ void* LocApiBase :: getSibling()
|
|||
LocApiProxyBase* LocApiBase :: getLocApiProxy()
|
||||
DEFAULT_IMPL(NULL)
|
||||
|
||||
void LocApiBase::reportGnssMeasurementData(GnssMeasurementsNotification& measurements,
|
||||
int msInWeek)
|
||||
void LocApiBase::reportGnssMeasurements(GnssMeasurements& gnssMeasurements, int msInWeek)
|
||||
{
|
||||
// loop through adapters, and deliver to all adapters.
|
||||
TO_ALL_LOCADAPTERS(mLocAdapters[i]->reportGnssMeasurementDataEvent(measurements, msInWeek));
|
||||
TO_ALL_LOCADAPTERS(mLocAdapters[i]->reportGnssMeasurementsEvent(gnssMeasurements, msInWeek));
|
||||
}
|
||||
|
||||
void LocApiBase::reportGnssSvIdConfig(const GnssSvIdConfig& config)
|
||||
|
|
|
@ -164,7 +164,6 @@ public:
|
|||
GnssDataNotification* pDataNotify = nullptr,
|
||||
int msInWeek = -1);
|
||||
void reportSv(GnssSvNotification& svNotify);
|
||||
void reportSvMeasurement(GnssSvMeasurementSet &svMeasurementSet);
|
||||
void reportSvPolynomial(GnssSvPolynomial &svPolynomial);
|
||||
void reportSvEphemeris(GnssSvEphemerisReport &svEphemeris);
|
||||
void reportStatus(LocGpsStatusValue status);
|
||||
|
@ -179,7 +178,7 @@ public:
|
|||
void requestATL(int connHandle, LocAGpsType agps_type, LocApnTypeMask apn_type_mask);
|
||||
void releaseATL(int connHandle);
|
||||
void requestNiNotify(GnssNiNotification ¬ify, const void* data);
|
||||
void reportGnssMeasurementData(GnssMeasurementsNotification& measurements, int msInWeek);
|
||||
void reportGnssMeasurements(GnssMeasurements& gnssMeasurements, int msInWeek);
|
||||
void reportWwanZppFix(LocGpsLocation &zppLoc);
|
||||
void reportZppBestAvailableFix(LocGpsLocation &zppLoc, GpsLocationExtended &location_extended,
|
||||
LocPosTechMask tech_mask);
|
||||
|
|
|
@ -3575,20 +3575,21 @@ GnssAdapter::requestNiNotify(const GnssNiNotification& notify, const void* data)
|
|||
}
|
||||
|
||||
void
|
||||
GnssAdapter::reportGnssMeasurementDataEvent(const GnssMeasurementsNotification& measurements,
|
||||
GnssAdapter::reportGnssMeasurementsEvent(const GnssMeasurements& gnssMeasurements,
|
||||
int msInWeek)
|
||||
{
|
||||
LOC_LOGD("%s]: msInWeek=%d", __func__, msInWeek);
|
||||
|
||||
struct MsgReportGnssMeasurementData : public LocMsg {
|
||||
GnssAdapter& mAdapter;
|
||||
GnssMeasurements mGnssMeasurements;
|
||||
GnssMeasurementsNotification mMeasurementsNotify;
|
||||
inline MsgReportGnssMeasurementData(GnssAdapter& adapter,
|
||||
const GnssMeasurementsNotification& measurements,
|
||||
const GnssMeasurements& gnssMeasurements,
|
||||
int msInWeek) :
|
||||
LocMsg(),
|
||||
mAdapter(adapter),
|
||||
mMeasurementsNotify(measurements) {
|
||||
mMeasurementsNotify(gnssMeasurements.gnssMeasNotification) {
|
||||
if (-1 != msInWeek) {
|
||||
mAdapter.getAgcInformation(mMeasurementsNotify, msInWeek);
|
||||
}
|
||||
|
@ -3598,7 +3599,8 @@ GnssAdapter::reportGnssMeasurementDataEvent(const GnssMeasurementsNotification&
|
|||
}
|
||||
};
|
||||
|
||||
sendMsg(new MsgReportGnssMeasurementData(*this, measurements, msInWeek));
|
||||
sendMsg(new MsgReportGnssMeasurementData(*this, gnssMeasurements, msInWeek));
|
||||
mEngHubProxy->gnssReportSvMeasurement(gnssMeasurements.gnssSvMeasurementSet);
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -3611,13 +3613,6 @@ GnssAdapter::reportGnssMeasurementData(const GnssMeasurementsNotification& measu
|
|||
}
|
||||
}
|
||||
|
||||
void
|
||||
GnssAdapter::reportSvMeasurementEvent(GnssSvMeasurementSet &svMeasurementSet)
|
||||
{
|
||||
LOC_LOGD("%s]: ", __func__);
|
||||
mEngHubProxy->gnssReportSvMeasurement(svMeasurementSet);
|
||||
}
|
||||
|
||||
void
|
||||
GnssAdapter::reportSvPolynomialEvent(GnssSvPolynomial &svPolynomial)
|
||||
{
|
||||
|
|
|
@ -354,9 +354,8 @@ public:
|
|||
virtual void reportNmeaEvent(const char* nmea, size_t length);
|
||||
virtual void reportDataEvent(const GnssDataNotification& dataNotify, int msInWeek);
|
||||
virtual bool requestNiNotifyEvent(const GnssNiNotification& notify, const void* data);
|
||||
virtual void reportGnssMeasurementDataEvent(const GnssMeasurementsNotification& measurements,
|
||||
virtual void reportGnssMeasurementsEvent(const GnssMeasurements& gnssMeasurements,
|
||||
int msInWeek);
|
||||
virtual void reportSvMeasurementEvent(GnssSvMeasurementSet &svMeasurementSet);
|
||||
virtual void reportSvPolynomialEvent(GnssSvPolynomial &svPolynomial);
|
||||
virtual void reportSvEphemerisEvent(GnssSvEphemerisReport & svEphemeris);
|
||||
virtual void reportGnssSvIdConfigEvent(const GnssSvIdConfig& config);
|
||||
|
|
|
@ -38,7 +38,7 @@
|
|||
#define GNSS_NI_REQUESTOR_MAX (256)
|
||||
#define GNSS_NI_MESSAGE_ID_MAX (2048)
|
||||
#define GNSS_SV_MAX (176)
|
||||
#define GNSS_MEASUREMENTS_MAX (64)
|
||||
#define GNSS_MEASUREMENTS_MAX (128)
|
||||
#define GNSS_UTC_TIME_OFFSET (3657)
|
||||
|
||||
#define GNSS_BUGREPORT_GPS_MIN (1)
|
||||
|
|
|
@ -1397,6 +1397,12 @@ typedef struct {
|
|||
|
||||
} GnssSvMeasurementSet;
|
||||
|
||||
typedef struct {
|
||||
uint32_t size; // set to sizeof(GnssMeasurements)
|
||||
GnssSvMeasurementSet gnssSvMeasurementSet;
|
||||
GnssMeasurementsNotification gnssMeasNotification;
|
||||
} GnssMeasurements;
|
||||
|
||||
typedef enum
|
||||
{
|
||||
GNSS_SV_POLY_COEFF_VALID = 0x01,
|
||||
|
|
Loading…
Reference in a new issue