Add VTS test for gnss.measurement_corrections@1.0
- also implemented default implementation
Bug: 120529158
Fixes: 120529158
Test: tested on cuttlefish
Change-Id: I9e63dc35284effff351eabedade05ed147d1ef17
diff --git a/gnss/common/utils/vts/Android.bp b/gnss/common/utils/vts/Android.bp
index 99d8cf9..1988171 100644
--- a/gnss/common/utils/vts/Android.bp
+++ b/gnss/common/utils/vts/Android.bp
@@ -29,6 +29,7 @@
export_include_dirs: ["include"],
shared_libs: [
"android.hardware.gnss@1.0",
+ "android.hardware.gnss.measurement_corrections@1.0",
],
static_libs: [
"libgtest",
diff --git a/gnss/common/utils/vts/Utils.cpp b/gnss/common/utils/vts/Utils.cpp
index 24d6883..51d3ea1 100644
--- a/gnss/common/utils/vts/Utils.cpp
+++ b/gnss/common/utils/vts/Utils.cpp
@@ -22,6 +22,7 @@
namespace gnss {
namespace common {
+using V1_0::GnssConstellationType;
using V1_0::GnssLocationFlags;
void Utils::checkLocation(const GnssLocation& location, bool check_speed,
@@ -91,6 +92,53 @@
EXPECT_GT(location.timestamp, 1.48e12);
}
+const MeasurementCorrections Utils::getMockMeasurementCorrections() {
+ ReflectingPlane reflectingPlane = {
+ .latitudeDegrees = 37.4220039,
+ .longitudeDegrees = -122.0840991,
+ .altitudeMeters = 250.35,
+ .azimuthDegrees = 203.0,
+ };
+
+ SingleSatCorrection singleSatCorrection1 = {
+ .singleSatCorrectionFlags = GnssSingleSatCorrectionFlags::HAS_SAT_IS_LOS_PROBABILITY |
+ GnssSingleSatCorrectionFlags::HAS_EXCESS_PATH_LENGTH |
+ GnssSingleSatCorrectionFlags::HAS_EXCESS_PATH_LENGTH_UNC |
+ GnssSingleSatCorrectionFlags::HAS_REFLECTING_PLANE,
+ .constellation = GnssConstellationType::GPS,
+ .svid = 12,
+ .carrierFrequencyHz = 1.59975e+09,
+ .probSatIsLos = 0.50001,
+ .excessPathLengthMeters = 137.4802,
+ .excessPathLengthUncertaintyMeters = 25.5,
+ .reflectingPlane = reflectingPlane,
+ };
+ SingleSatCorrection singleSatCorrection2 = {
+ .singleSatCorrectionFlags = GnssSingleSatCorrectionFlags::HAS_SAT_IS_LOS_PROBABILITY |
+ GnssSingleSatCorrectionFlags::HAS_EXCESS_PATH_LENGTH |
+ GnssSingleSatCorrectionFlags::HAS_EXCESS_PATH_LENGTH_UNC,
+ .constellation = GnssConstellationType::GPS,
+ .svid = 9,
+ .carrierFrequencyHz = 1.59975e+09,
+ .probSatIsLos = 0.873,
+ .excessPathLengthMeters = 26.294,
+ .excessPathLengthUncertaintyMeters = 10.0,
+ };
+
+ hidl_vec<SingleSatCorrection> singleSatCorrections = {singleSatCorrection1,
+ singleSatCorrection2};
+ MeasurementCorrections mockCorrections = {
+ .latitudeDegrees = 37.4219999,
+ .longitudeDegrees = -122.0840575,
+ .altitudeMeters = 30.60062531,
+ .horizontalPositionUncertaintyMeters = 9.23542,
+ .verticalPositionUncertaintyMeters = 15.02341,
+ .toaGpsNanosecondsOfWeek = 2935633453L,
+ .satCorrections = singleSatCorrections,
+ };
+ return mockCorrections;
+}
+
} // namespace common
} // namespace gnss
} // namespace hardware
diff --git a/gnss/common/utils/vts/include/Utils.h b/gnss/common/utils/vts/include/Utils.h
index f8eeff6..dce4c7b 100644
--- a/gnss/common/utils/vts/include/Utils.h
+++ b/gnss/common/utils/vts/include/Utils.h
@@ -18,8 +18,10 @@
#define android_hardware_gnss_common_vts_Utils_H_
#include <android/hardware/gnss/1.0/IGnss.h>
+#include <android/hardware/gnss/measurement_corrections/1.0/IMeasurementCorrections.h>
using GnssLocation = ::android::hardware::gnss::V1_0::GnssLocation;
+using namespace android::hardware::gnss::measurement_corrections::V1_0;
namespace android {
namespace hardware {
@@ -29,6 +31,7 @@
struct Utils {
static void checkLocation(const GnssLocation& location, bool check_speed,
bool check_more_accuracies);
+ static const MeasurementCorrections getMockMeasurementCorrections();
};
} // namespace common