Allow setting new values for mock speed and bearing in GNSS HAL

Bug: None
Test: lshal debug android.hardware.gnss@2.1::IGnss/default location bea=30 spd=40
      on Cuttlefish instance
Change-Id: Ib954ba44720627e54e69aa29b0a744f203a65704
This commit is contained in:
Enrico Granata
2020-11-13 12:52:07 -07:00
parent 6b08578192
commit 72a47a2e5a
7 changed files with 24 additions and 11 deletions

View File

@@ -37,8 +37,8 @@ Return<void> GnssDebug::getDebugData(V1_0::IGnssDebug::getDebugData_cb _hidl_cb)
.latitudeDegrees = gMockLatitudeDegrees,
.longitudeDegrees = gMockLongitudeDegrees,
.altitudeMeters = gMockAltitudeMeters,
.speedMetersPerSec = kMockSpeedMetersPerSec,
.bearingDegrees = kMockBearingDegrees,
.speedMetersPerSec = gMockSpeedMetersPerSec,
.bearingDegrees = gMockBearingDegrees,
.horizontalAccuracyMeters = kMockHorizontalAccuracyMeters,
.verticalAccuracyMeters = kMockVerticalAccuracyMeters,
.speedAccuracyMetersPerSecond = kMockSpeedAccuracyMetersPerSecond,

View File

@@ -21,5 +21,7 @@ namespace android::hardware::gnss::common {
float gMockLatitudeDegrees{37.4219999};
float gMockLongitudeDegrees{-122.0840575};
float gMockAltitudeMeters{1.60062531};
float gMockBearingDegrees{0};
float gMockSpeedMetersPerSec{0};
} // namespace android::hardware::gnss::common

View File

@@ -145,8 +145,8 @@ V1_0::GnssLocation Utils::getMockLocationV1_0() {
.latitudeDegrees = gMockLatitudeDegrees,
.longitudeDegrees = gMockLongitudeDegrees,
.altitudeMeters = gMockAltitudeMeters,
.speedMetersPerSec = kMockSpeedMetersPerSec,
.bearingDegrees = kMockBearingDegrees,
.speedMetersPerSec = gMockSpeedMetersPerSec,
.bearingDegrees = gMockBearingDegrees,
.horizontalAccuracyMeters = kMockHorizontalAccuracyMeters,
.verticalAccuracyMeters = kMockVerticalAccuracyMeters,
.speedAccuracyMetersPerSecond = kMockSpeedAccuracyMetersPerSecond,

View File

@@ -24,8 +24,6 @@ namespace hardware {
namespace gnss {
namespace common {
const float kMockSpeedMetersPerSec = 0;
const float kMockBearingDegrees = 0;
const float kMockHorizontalAccuracyMeters = 5;
const float kMockVerticalAccuracyMeters = 5;
const float kMockSpeedAccuracyMetersPerSecond = 1;

View File

@@ -27,6 +27,8 @@ namespace common {
extern float gMockLatitudeDegrees;
extern float gMockLongitudeDegrees;
extern float gMockAltitudeMeters;
extern float gMockBearingDegrees;
extern float gMockSpeedMetersPerSec;
} // namespace common
} // namespace gnss

View File

@@ -651,6 +651,8 @@ Return<void> GnssTemplate<T_IGnss>::setLocation(const hidl_handle& fd,
auto lat = gMockLatitudeDegrees;
auto lon = gMockLongitudeDegrees;
auto ele = gMockAltitudeMeters;
auto bea = gMockBearingDegrees;
auto spd = gMockSpeedMetersPerSec;
for (size_t i = 1; i < options.size(); ++i) {
std::string option = options[i];
@@ -663,6 +665,12 @@ Return<void> GnssTemplate<T_IGnss>::setLocation(const hidl_handle& fd,
} else if (option.rfind("ele=", 0) == 0) {
option = option.substr(4);
ele = stof(option);
} else if (option.rfind("bea=", 0) == 0) {
option = option.substr(4);
bea = stof(option);
} else if (option.rfind("spd=", 0) == 0) {
option = option.substr(4);
spd = stof(option);
} else {
dprintf(fd->data[0], "unsupported location argument: %s\n", option.c_str());
}
@@ -671,9 +679,12 @@ Return<void> GnssTemplate<T_IGnss>::setLocation(const hidl_handle& fd,
gMockLatitudeDegrees = lat;
gMockLongitudeDegrees = lon;
gMockAltitudeMeters = ele;
gMockBearingDegrees = bea;
gMockSpeedMetersPerSec = spd;
dprintf(fd->data[0], "mock location updated to lat=%f lon=%f ele=%f\n", gMockLatitudeDegrees,
gMockLongitudeDegrees, gMockAltitudeMeters);
dprintf(fd->data[0], "mock location updated to lat=%f lon=%f ele=%f bea=%f spd=%f\n",
gMockLatitudeDegrees, gMockLongitudeDegrees, gMockAltitudeMeters, gMockBearingDegrees,
gMockSpeedMetersPerSec);
return Void();
}
@@ -682,7 +693,7 @@ template <class T_IGnss>
Return<void> GnssTemplate<T_IGnss>::help(const hidl_handle& fd) {
dprintf(fd->data[0],
"invalid option for Gnss HAL; valid options are:\n"
"location lat=.. lon=.. ele=..\n");
"location [lat=..] [lon=..] [ele=..] [bea=..] [spd=..]\n");
return Void();
}

View File

@@ -33,8 +33,8 @@ Return<void> GnssDebug::getDebugData(V1_0::IGnssDebug::getDebugData_cb _hidl_cb)
.latitudeDegrees = gMockLatitudeDegrees,
.longitudeDegrees = gMockLongitudeDegrees,
.altitudeMeters = gMockAltitudeMeters,
.speedMetersPerSec = kMockSpeedMetersPerSec,
.bearingDegrees = kMockBearingDegrees,
.speedMetersPerSec = gMockSpeedMetersPerSec,
.bearingDegrees = gMockBearingDegrees,
.horizontalAccuracyMeters = kMockHorizontalAccuracyMeters,
.verticalAccuracyMeters = kMockVerticalAccuracyMeters,
.speedAccuracyMetersPerSecond = kMockSpeedAccuracyMetersPerSecond,