Update range tests for automotive sensors
Ensure that automotive sensors are capable of reporting at frequencies
and ranges within the CDD (2.5.1/[7.3.1/A-1-1], 2.5.1/[7.3.4/A-2-1],
2.5.1/[7.3.4/A-2-3])
Updates the automotive max frequency for accelerometer and gyroscope
and the automotive max range for gyroscope.
Bug: 147469359
Test: run cts -m CtsSensorTestCases -t android.hardware.cts.SensorParameterRangeTest#testGyroscopeRange
run cts -m CtsSensorTestCases -t android.hardware.cts.SensorParameterRangeTest#testAccelerometerRange
Tested with an automotive device
Signed-off-by: Goran Davidsson <goran.davidsson@aptiv.corp-partner.google.com>
Change-Id: I57c6ef499102bb3d2190b79c904c9695baa256f7
Merged-In: I57c6ef499102bb3d2190b79c904c9695baa256f7
(cherry picked from commit 8b93116aabcc64d0922541078eebafb1abc0b008)
diff --git a/tests/sensor/src/android/hardware/cts/SensorParameterRangeTest.java b/tests/sensor/src/android/hardware/cts/SensorParameterRangeTest.java
index f604dbe..1dbf0b4 100644
--- a/tests/sensor/src/android/hardware/cts/SensorParameterRangeTest.java
+++ b/tests/sensor/src/android/hardware/cts/SensorParameterRangeTest.java
@@ -43,6 +43,7 @@
private static final double ACCELEROMETER_MAX_RANGE = 4 * 9.80; // 4g - ε
private static final double ACCELEROMETER_MAX_FREQUENCY = 50.0;
+ private static final double ACCELEROMETER_AUTOMOTIVE_MAX_FREQUENCY = 100.0;
private static final double ACCELEROMETER_HIFI_MAX_RANGE = 8 * 9.80; // 8g - ε
private static final double ACCELEROMETER_HIFI_MIN_FREQUENCY = 12.50;
private static final double ACCELEROMETER_HIFI_MAX_FREQUENCY = 400.0;
@@ -50,6 +51,8 @@
private static final double GYRO_MAX_RANGE = 1000 / 57.295 - 1.0; // 1000 degrees/sec - ε
private static final double GYRO_MAX_FREQUENCY = 50.0;
+ private static final double GYRO_AUTOMOTIVE_MAX_RANGE = 250 / 57.295 - 1.0; // 250 degrees/sec - ε
+ private static final double GYRO_AUTOMOTIVE_MAX_FREQUENCY = 100.0;
private static final double GYRO_HIFI_MAX_RANGE = 1000 / 57.295 - 1.0; // 1000 degrees/sec - ε
private static final double GYRO_HIFI_MIN_FREQUENCY = 12.50;
private static final double GYRO_HIFI_MAX_FREQUENCY = 400.0;
@@ -75,6 +78,7 @@
private static final int PROXIMITY_SENSOR_MIN_FIFO_LENGTH = 100;
private static final int STEP_DETECTOR_MIN_FIFO_LENGTH = 100;
+ private boolean mIsAutomotive;
private boolean mHasHifiSensors;
private boolean mHasProximitySensor;
private boolean mVrModeHighPerformance;
@@ -84,6 +88,7 @@
public void setUp() {
PackageManager pm = getContext().getPackageManager();
mSensorManager = (SensorManager) getContext().getSystemService(Context.SENSOR_SERVICE);
+ mIsAutomotive = pm.hasSystemFeature(PackageManager.FEATURE_AUTOMOTIVE);
mHasHifiSensors = pm.hasSystemFeature(PackageManager.FEATURE_HIFI_SENSORS);
mHasProximitySensor = pm.hasSystemFeature(PackageManager.FEATURE_SENSOR_PROXIMITY);
mVrModeHighPerformance = pm.hasSystemFeature(PackageManager.FEATURE_VR_MODE_HIGH_PERFORMANCE);
@@ -94,10 +99,14 @@
ACCELEROMETER_HIFI_MAX_FREQUENCY :
ACCELEROMETER_HIFI_MAX_FREQUENCY_BEFORE_N;
+ double accelerometerMaxFrequency = mIsAutomotive ?
+ ACCELEROMETER_AUTOMOTIVE_MAX_FREQUENCY :
+ ACCELEROMETER_MAX_FREQUENCY;
+
checkSensorRangeAndFrequency(
Sensor.TYPE_ACCELEROMETER,
ACCELEROMETER_MAX_RANGE,
- ACCELEROMETER_MAX_FREQUENCY,
+ accelerometerMaxFrequency,
ACCELEROMETER_HIFI_MAX_RANGE,
ACCELEROMETER_HIFI_MIN_FREQUENCY,
hifiMaxFrequency);
@@ -108,10 +117,19 @@
GYRO_HIFI_MAX_FREQUENCY :
GYRO_HIFI_MAX_FREQUENCY_BEFORE_N;
+ double gyroMaxRange = mIsAutomotive &&
+ ApiLevelUtil.isAtLeast(Build.VERSION_CODES.Q) ?
+ GYRO_AUTOMOTIVE_MAX_RANGE :
+ GYRO_MAX_RANGE;
+
+ double gyroMaxFrequency = mIsAutomotive ?
+ GYRO_AUTOMOTIVE_MAX_FREQUENCY :
+ GYRO_MAX_FREQUENCY;
+
checkSensorRangeAndFrequency(
Sensor.TYPE_GYROSCOPE,
- GYRO_MAX_RANGE,
- GYRO_MAX_FREQUENCY,
+ gyroMaxRange,
+ gyroMaxFrequency,
GYRO_HIFI_MAX_RANGE,
GYRO_HIFI_MIN_FREQUENCY,
hifiMaxFrequency);