Snap for 10367700 from 796474c73c20d012093dbcf54bad360ddda9e30e to udc-release
Change-Id: I8cc6360b10bef0e47fc1addaccaadea6807f5291
diff --git a/gnss/GnssMeasurementInterface.cpp b/gnss/GnssMeasurementInterface.cpp
index c280ceb..dcb91e9 100644
--- a/gnss/GnssMeasurementInterface.cpp
+++ b/gnss/GnssMeasurementInterface.cpp
@@ -42,7 +42,8 @@
data.measurements.resize(nMeasurements);
}
-GnssMeasurement makeGnssMeasurement(const int svid,
+GnssMeasurement makeGnssMeasurement(const bool enableCorrVecOutputs,
+ const int svid,
const int state,
const int64_t receivedSvTimeInNs,
const int64_t receivedSvTimeUncertaintyInNs,
@@ -76,24 +77,28 @@
m.accumulatedDeltaRangeUncertaintyM = accumulatedDeltaRangeUncertaintyM;
m.multipathIndicator = static_cast<GnssMultipathIndicator>(multipathIndicator);
+ if (enableCorrVecOutputs) {
+ const CorrelationVector correlationVector1 = {
+ .frequencyOffsetMps = 10,
+ .samplingWidthM = 30,
+ .samplingStartM = 0,
+ .magnitude = {0, 5000, 10000, 5000, 0, 0, 3000, 0}};
+
+ const CorrelationVector correlationVector2 = {
+ .frequencyOffsetMps = 20,
+ .samplingWidthM = 30,
+ .samplingStartM = -10,
+ .magnitude = {0, 3000, 5000, 3000, 0, 0, 1000, 0}};
+
+ m.correlationVectors = {correlationVector1, correlationVector2};
+ m.flags = GnssMeasurement::HAS_CORRELATION_VECTOR;
+ }
+
return m;
}
} // namsepace
-GnssMeasurementInterface::GnssMeasurementInterface() {
- mGnssData.resize(1);
-
- initGnssData(mGnssData[0], 139287, 116834000000, -1189181444165780000, 5.26068202130163, 7);
- mGnssData[0].measurements[0] = makeGnssMeasurement(22, 47, 3927349114, 29, 29.9917297363281, 245.509362821673, 0.148940800975766, 1, 6620.74237064615, 0.00271145859733223, 0, 1);
- mGnssData[0].measurements[1] = makeGnssMeasurement(23, 47, 3920005435, 14, 36.063377380371, -731.947951627658, 0.0769754027959242, 1, -23229.096048105, 0.00142954161856323, 0, 1);
- mGnssData[0].measurements[2] = makeGnssMeasurement(25, 47, 3923720994, 56, 24.5171585083007, -329.789995021822, 0.277918601850871, 1, -15511.1976492851, 0.00509250536561012, 0, 1);
- mGnssData[0].measurements[3] = makeGnssMeasurement(31, 47, 3925772934, 11, 37.9193840026855, -380.23772244582, 0.0602980729893803, 1, -11325.9094456612, 0.00115450704470276, 0, 1);
- mGnssData[0].measurements[4] = makeGnssMeasurement(32, 47, 3919018415, 21, 32.8980560302734, 581.800347848025, 0.109060249597082, 1, 15707.8963147985, 0.00205808319151401, 0, 1);
- mGnssData[0].measurements[5] = makeGnssMeasurement(10, 227, 69142929947304, 127, 23.432445526123, 259.17838762857, 0.31591691295607, 4, 8152.78081298147, 3.40282346638528E+38, 0, 3);
- mGnssData[0].measurements[6] = makeGnssMeasurement(2, 227, 69142935176327, 41, 33.180908203125, -53.8773853795901, 0.104984458760586, 1, -1708.08166640048, 0.00196184404194355, 0, 3);
-}
-
GnssMeasurementInterface::~GnssMeasurementInterface() {
closeImpl();
}
@@ -143,14 +148,21 @@
return ndk::ScopedAStatus::fromExceptionCode(FAILURE(IGnss::ERROR_INVALID_ARGUMENT));
}
- if (enableCorrVecOutputs) {
- return ndk::ScopedAStatus::fromExceptionCode(FAILURE(IGnss::ERROR_INVALID_ARGUMENT));
- }
-
if (intervalMs <= 0) {
return ndk::ScopedAStatus::fromExceptionCode(FAILURE(IGnss::ERROR_INVALID_ARGUMENT));
}
+ mGnssData.resize(1);
+
+ initGnssData(mGnssData[0], 139287, 116834000000, -1189181444165780000, 5.26068202130163, 7);
+ mGnssData[0].measurements[0] = makeGnssMeasurement(enableCorrVecOutputs, 22, 47, 3927349114, 29, 29.9917297363281, 245.509362821673, 0.148940800975766, 1, 6620.74237064615, 0.00271145859733223, 0, 1);
+ mGnssData[0].measurements[1] = makeGnssMeasurement(enableCorrVecOutputs, 23, 47, 3920005435, 14, 36.063377380371, -731.947951627658, 0.0769754027959242, 1, -23229.096048105, 0.00142954161856323, 0, 1);
+ mGnssData[0].measurements[2] = makeGnssMeasurement(enableCorrVecOutputs, 25, 47, 3923720994, 56, 24.5171585083007, -329.789995021822, 0.277918601850871, 1, -15511.1976492851, 0.00509250536561012, 0, 1);
+ mGnssData[0].measurements[3] = makeGnssMeasurement(enableCorrVecOutputs, 31, 47, 3925772934, 11, 37.9193840026855, -380.23772244582, 0.0602980729893803, 1, -11325.9094456612, 0.00115450704470276, 0, 1);
+ mGnssData[0].measurements[4] = makeGnssMeasurement(enableCorrVecOutputs, 32, 47, 3919018415, 21, 32.8980560302734, 581.800347848025, 0.109060249597082, 1, 15707.8963147985, 0.00205808319151401, 0, 1);
+ mGnssData[0].measurements[5] = makeGnssMeasurement(enableCorrVecOutputs, 10, 227, 69142929947304, 127, 23.432445526123, 259.17838762857, 0.31591691295607, 4, 8152.78081298147, 3.40282346638528E+38, 0, 3);
+ mGnssData[0].measurements[6] = makeGnssMeasurement(enableCorrVecOutputs, 2, 227, 69142935176327, 41, 33.180908203125, -53.8773853795901, 0.104984458760586, 1, -1708.08166640048, 0.00196184404194355, 0, 3);
+
const Clock::duration interval = std::chrono::milliseconds(intervalMs);
closeImpl();
diff --git a/gnss/GnssMeasurementInterface.h b/gnss/GnssMeasurementInterface.h
index 4bdd206..7e9aff2 100644
--- a/gnss/GnssMeasurementInterface.h
+++ b/gnss/GnssMeasurementInterface.h
@@ -27,7 +27,7 @@
namespace implementation {
struct GnssMeasurementInterface : public BnGnssMeasurementInterface {
- GnssMeasurementInterface();
+ GnssMeasurementInterface() = default;
~GnssMeasurementInterface();
ndk::ScopedAStatus setCallback(const std::shared_ptr<IGnssMeasurementCallback>& callback,