[sensors] Minor tuning of hal definition
* Swap GEOMAGNETIC_FIELD with MAGNETIC_FIELD for more accurate
definition.
* Remove redundunt prefixes in various enum definitions.
* Clarify that string type will be removed for well defined sensor
types. This avoid dependency on strings defined in sensors.h.
* Added SensorFlagShift enum.
* Remove unused flag parameter in batch.
* Remove legacy setDelay function.
* Change the type of sensor flag to bitfield<SensorFlagBits>, and
use uint32_t since only low 32 bits are used.
Test: all sensor works(in marlin), tested with sensorlogger.
Change-Id: I93a4d13c5d2e054857d1e400d15002aeb9a47368
diff --git a/sensors/1.0/vts/Sensors.vts b/sensors/1.0/vts/Sensors.vts
index f80fff5..9e90755 100644
--- a/sensors/1.0/vts/Sensors.vts
+++ b/sensors/1.0/vts/Sensors.vts
@@ -47,22 +47,6 @@
}
api: {
- name: "setDelay"
- return_type_hidl: {
- type: TYPE_ENUM
- predefined_type: "::android::hardware::sensors::V1_0::Result"
- }
- arg: {
- type: TYPE_SCALAR
- scalar_type: "int32_t"
- }
- arg: {
- type: TYPE_SCALAR
- scalar_type: "int64_t"
- }
- }
-
- api: {
name: "poll"
return_type_hidl: {
type: TYPE_ENUM
@@ -100,10 +84,6 @@
}
arg: {
type: TYPE_SCALAR
- scalar_type: "int32_t"
- }
- arg: {
- type: TYPE_SCALAR
scalar_type: "int64_t"
}
arg: {
@@ -136,4 +116,56 @@
}
}
+ api: {
+ name: "registerDirectChannel"
+ return_type_hidl: {
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::sensors::V1_0::Result"
+ }
+ return_type_hidl: {
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ arg: {
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::sensors::V1_0::SharedMemInfo"
+ }
+ }
+
+ api: {
+ name: "unregisterDirectChannel"
+ return_type_hidl: {
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::sensors::V1_0::Result"
+ }
+ arg: {
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ }
+
+ api: {
+ name: "configDirectReport"
+ return_type_hidl: {
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::sensors::V1_0::Result"
+ }
+ return_type_hidl: {
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ arg: {
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ arg: {
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ arg: {
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::sensors::V1_0::RateLevel"
+ }
+ }
+
}
diff --git a/sensors/1.0/vts/functional/sensors_hidl_hal_test.cpp b/sensors/1.0/vts/functional/sensors_hidl_hal_test.cpp
index 17c439e..2edc5c3 100644
--- a/sensors/1.0/vts/functional/sensors_hidl_hal_test.cpp
+++ b/sensors/1.0/vts/functional/sensors_hidl_hal_test.cpp
@@ -203,16 +203,16 @@
inline static SensorFlagBits extractReportMode(uint64_t flag) {
return (SensorFlagBits) (flag
- & ((uint64_t) SensorFlagBits::SENSOR_FLAG_CONTINUOUS_MODE
- | (uint64_t) SensorFlagBits::SENSOR_FLAG_ON_CHANGE_MODE
- | (uint64_t) SensorFlagBits::SENSOR_FLAG_ONE_SHOT_MODE
- | (uint64_t) SensorFlagBits::SENSOR_FLAG_SPECIAL_REPORTING_MODE));
+ & ((uint64_t) SensorFlagBits::CONTINUOUS_MODE
+ | (uint64_t) SensorFlagBits::ON_CHANGE_MODE
+ | (uint64_t) SensorFlagBits::ONE_SHOT_MODE
+ | (uint64_t) SensorFlagBits::SPECIAL_REPORTING_MODE));
}
inline static bool isMetaSensorType(SensorType type) {
- return (type == SensorType::SENSOR_TYPE_META_DATA
- || type == SensorType::SENSOR_TYPE_DYNAMIC_SENSOR_META
- || type == SensorType::SENSOR_TYPE_ADDITIONAL_INFO);
+ return (type == SensorType::META_DATA
+ || type == SensorType::DYNAMIC_SENSOR_META
+ || type == SensorType::ADDITIONAL_INFO);
}
inline static bool isValidType(SensorType type) {
@@ -225,14 +225,14 @@
bool SensorsHidlTest::typeMatchStringType(SensorType type, const hidl_string& stringType) {
- if (type >= SensorType::SENSOR_TYPE_DEVICE_PRIVATE_BASE) {
+ if (type >= SensorType::DEVICE_PRIVATE_BASE) {
return true;
}
bool res = true;
switch (type) {
#define CHECK_TYPE_STRING_FOR_SENSOR_TYPE(type) \
- case SensorType::SENSOR_TYPE_ ## type: res = stringType == SENSOR_STRING_TYPE_ ## type;\
+ case SensorType::type: res = stringType == SENSOR_STRING_TYPE_ ## type;\
break;\
CHECK_TYPE_STRING_FOR_SENSOR_TYPE(ACCELEROMETER);
@@ -277,7 +277,7 @@
}
bool SensorsHidlTest::typeMatchReportMode(SensorType type, SensorFlagBits reportMode) {
- if (type >= SensorType::SENSOR_TYPE_DEVICE_PRIVATE_BASE) {
+ if (type >= SensorType::DEVICE_PRIVATE_BASE) {
return true;
}
@@ -290,19 +290,21 @@
int32_t minDelay, int32_t maxDelay, SensorFlagBits reportMode) {
bool res = true;
switch(reportMode) {
- case SensorFlagBits::SENSOR_FLAG_CONTINUOUS_MODE:
+ case SensorFlagBits::CONTINUOUS_MODE:
res = (minDelay > 0) && (maxDelay >= 0);
break;
- case SensorFlagBits::SENSOR_FLAG_ON_CHANGE_MODE:
+ case SensorFlagBits::ON_CHANGE_MODE:
//TODO: current implementation does not satisfy minDelay == 0 on Proximity
res = (minDelay >= 0) && (maxDelay >= 0);
//res = (minDelay == 0) && (maxDelay >= 0);
break;
- case SensorFlagBits::SENSOR_FLAG_ONE_SHOT_MODE:
+ case SensorFlagBits::ONE_SHOT_MODE:
res = (minDelay == -1) && (maxDelay == 0);
break;
- case SensorFlagBits::SENSOR_FLAG_SPECIAL_REPORTING_MODE:
+ case SensorFlagBits::SPECIAL_REPORTING_MODE:
res = (minDelay == 0) && (maxDelay == 0);
+ default:
+ res = false;
}
return res;
@@ -310,44 +312,44 @@
SensorFlagBits SensorsHidlTest::expectedReportModeForType(SensorType type) {
switch (type) {
- case SensorType::SENSOR_TYPE_ACCELEROMETER:
- case SensorType::SENSOR_TYPE_GYROSCOPE:
- case SensorType::SENSOR_TYPE_GEOMAGNETIC_FIELD:
- case SensorType::SENSOR_TYPE_ORIENTATION:
- case SensorType::SENSOR_TYPE_PRESSURE:
- case SensorType::SENSOR_TYPE_TEMPERATURE:
- case SensorType::SENSOR_TYPE_GRAVITY:
- case SensorType::SENSOR_TYPE_LINEAR_ACCELERATION:
- case SensorType::SENSOR_TYPE_ROTATION_VECTOR:
- case SensorType::SENSOR_TYPE_MAGNETIC_FIELD_UNCALIBRATED:
- case SensorType::SENSOR_TYPE_GAME_ROTATION_VECTOR:
- case SensorType::SENSOR_TYPE_GYROSCOPE_UNCALIBRATED:
- case SensorType::SENSOR_TYPE_GEOMAGNETIC_ROTATION_VECTOR:
- case SensorType::SENSOR_TYPE_POSE_6DOF:
- case SensorType::SENSOR_TYPE_HEART_BEAT:
- return SensorFlagBits::SENSOR_FLAG_CONTINUOUS_MODE;
+ case SensorType::ACCELEROMETER:
+ case SensorType::GYROSCOPE:
+ case SensorType::MAGNETIC_FIELD:
+ case SensorType::ORIENTATION:
+ case SensorType::PRESSURE:
+ case SensorType::TEMPERATURE:
+ case SensorType::GRAVITY:
+ case SensorType::LINEAR_ACCELERATION:
+ case SensorType::ROTATION_VECTOR:
+ case SensorType::MAGNETIC_FIELD_UNCALIBRATED:
+ case SensorType::GAME_ROTATION_VECTOR:
+ case SensorType::GYROSCOPE_UNCALIBRATED:
+ case SensorType::GEOMAGNETIC_ROTATION_VECTOR:
+ case SensorType::POSE_6DOF:
+ case SensorType::HEART_BEAT:
+ return SensorFlagBits::CONTINUOUS_MODE;
- case SensorType::SENSOR_TYPE_LIGHT:
- case SensorType::SENSOR_TYPE_PROXIMITY:
- case SensorType::SENSOR_TYPE_RELATIVE_HUMIDITY:
- case SensorType::SENSOR_TYPE_AMBIENT_TEMPERATURE:
- case SensorType::SENSOR_TYPE_HEART_RATE:
- case SensorType::SENSOR_TYPE_DEVICE_ORIENTATION:
- case SensorType::SENSOR_TYPE_MOTION_DETECT:
- case SensorType::SENSOR_TYPE_STEP_COUNTER:
- return SensorFlagBits::SENSOR_FLAG_ON_CHANGE_MODE;
+ case SensorType::LIGHT:
+ case SensorType::PROXIMITY:
+ case SensorType::RELATIVE_HUMIDITY:
+ case SensorType::AMBIENT_TEMPERATURE:
+ case SensorType::HEART_RATE:
+ case SensorType::DEVICE_ORIENTATION:
+ case SensorType::MOTION_DETECT:
+ case SensorType::STEP_COUNTER:
+ return SensorFlagBits::ON_CHANGE_MODE;
- case SensorType::SENSOR_TYPE_SIGNIFICANT_MOTION:
- case SensorType::SENSOR_TYPE_WAKE_GESTURE:
- case SensorType::SENSOR_TYPE_GLANCE_GESTURE:
- case SensorType::SENSOR_TYPE_PICK_UP_GESTURE:
- return SensorFlagBits::SENSOR_FLAG_ONE_SHOT_MODE;
+ case SensorType::SIGNIFICANT_MOTION:
+ case SensorType::WAKE_GESTURE:
+ case SensorType::GLANCE_GESTURE:
+ case SensorType::PICK_UP_GESTURE:
+ return SensorFlagBits::ONE_SHOT_MODE;
- case SensorType::SENSOR_TYPE_STEP_DETECTOR:
- case SensorType::SENSOR_TYPE_TILT_DETECTOR:
- case SensorType::SENSOR_TYPE_WRIST_TILT_GESTURE:
- case SensorType::SENSOR_TYPE_DYNAMIC_SENSOR_META:
- return SensorFlagBits::SENSOR_FLAG_SPECIAL_REPORTING_MODE;
+ case SensorType::STEP_DETECTOR:
+ case SensorType::TILT_DETECTOR:
+ case SensorType::WRIST_TILT_GESTURE:
+ case SensorType::DYNAMIC_SENSOR_META:
+ return SensorFlagBits::SPECIAL_REPORTING_MODE;
default:
ALOGW("Type %d is not implemented in expectedReportModeForType", (int)type);
@@ -399,8 +401,8 @@
// Info type, should have no sensor
ASSERT_FALSE(
- s.type == SensorType::SENSOR_TYPE_ADDITIONAL_INFO
- || s.type == SensorType::SENSOR_TYPE_META_DATA);
+ s.type == SensorType::ADDITIONAL_INFO
+ || s.type == SensorType::META_DATA);
// Test fifoMax >= fifoReserved
ALOGV("max reserve = %d, %d", s.fifoMaxEventCount, s.fifoReservedEventCount);
@@ -426,7 +428,7 @@
constexpr int64_t batchingPeriodInNs = 0; // no batching
constexpr useconds_t minTimeUs = 5*1000*1000; // 5 s
constexpr size_t minNEvent = 100; // at lease 100 events
- constexpr SensorType type = SensorType::SENSOR_TYPE_ACCELEROMETER;
+ constexpr SensorType type = SensorType::ACCELEROMETER;
SensorInfo sensor = defaultSensorByType(type);
@@ -437,7 +439,7 @@
int32_t handle = sensor.sensorHandle;
- S()->batch(handle, 0, samplingPeriodInNs, batchingPeriodInNs);
+ S()->batch(handle, samplingPeriodInNs, batchingPeriodInNs);
S()->activate(handle, 1);
events = collectEvents(minTimeUs, minNEvent, true /*clearBeforeStart*/);
S()->activate(handle, 0);
@@ -480,7 +482,7 @@
constexpr int64_t batchingPeriodInNs = 0; // no batching
constexpr useconds_t minTimeUs = 5*1000*1000; // 5 s
constexpr size_t minNEvent = 200;
- constexpr SensorType type = SensorType::SENSOR_TYPE_GYROSCOPE;
+ constexpr SensorType type = SensorType::GYROSCOPE;
SensorInfo sensor = defaultSensorByType(type);
@@ -491,7 +493,7 @@
int32_t handle = sensor.sensorHandle;
- S()->batch(handle, 0, samplingPeriodInNs, batchingPeriodInNs);
+ S()->batch(handle, samplingPeriodInNs, batchingPeriodInNs);
S()->activate(handle, 1);
events = collectEvents(minTimeUs, minNEvent, true /*clearBeforeStart*/);
S()->activate(handle, 0);
@@ -533,7 +535,7 @@
constexpr int64_t batchingPeriodInNs = 0; // no batching
constexpr useconds_t minTimeUs = 5*1000*1000; // 5 s
constexpr size_t minNEvent = 50;
- constexpr SensorType type = SensorType::SENSOR_TYPE_ACCELEROMETER;
+ constexpr SensorType type = SensorType::ACCELEROMETER;
SensorInfo sensor = defaultSensorByType(type);
@@ -551,13 +553,13 @@
return;
}
- S()->batch(handle, 0, minSamplingPeriodInNs, batchingPeriodInNs);
+ S()->batch(handle, minSamplingPeriodInNs, batchingPeriodInNs);
S()->activate(handle, 1);
usleep(500000); // sleep 0.5 sec to wait for change rate to happen
events1 = collectEvents(sensor.minDelay * minNEvent, minNEvent, true /*clearBeforeStart*/);
- S()->batch(handle, 0, maxSamplingPeriodInNs, batchingPeriodInNs);
+ S()->batch(handle, maxSamplingPeriodInNs, batchingPeriodInNs);
usleep(500000); // sleep 0.5 sec to wait for change rate to happen
events2 = collectEvents(sensor.maxDelay * minNEvent, minNEvent, true /*clearBeforeStart*/);
@@ -620,7 +622,7 @@
constexpr int64_t oneSecondInNs = 1ull * 1000 * 1000 * 1000;
constexpr useconds_t minTimeUs = 5*1000*1000; // 5 s
constexpr size_t minNEvent = 50;
- constexpr SensorType type = SensorType::SENSOR_TYPE_ACCELEROMETER;
+ constexpr SensorType type = SensorType::ACCELEROMETER;
constexpr int64_t maxBatchingTestTimeNs = 30ull * 1000 * 1000 * 1000;
SensorInfo sensor = defaultSensorByType(type);
@@ -647,7 +649,7 @@
int64_t allowedBatchDeliverTimeNs =
std::max(oneSecondInNs, batchingPeriodInNs / 10);
- S()->batch(handle, 0, minSamplingPeriodInNs, INT64_MAX);
+ S()->batch(handle, minSamplingPeriodInNs, INT64_MAX);
S()->activate(handle, 1);
usleep(500000); // sleep 0.5 sec to wait for initialization
diff --git a/sensors/1.0/vts/types.vts b/sensors/1.0/vts/types.vts
index 37271fd..2980507 100644
--- a/sensors/1.0/vts/types.vts
+++ b/sensors/1.0/vts/types.vts
@@ -15,17 +15,21 @@
scalar_value: {
int32_t: 0
}
- enumerator: "BAD_VALUE"
- scalar_value: {
- int32_t: 1
- }
enumerator: "PERMISSION_DENIED"
scalar_value: {
- int32_t: 2
+ int32_t: -1
+ }
+ enumerator: "NO_MEMORY"
+ scalar_value: {
+ int32_t: -12
+ }
+ enumerator: "BAD_VALUE"
+ scalar_value: {
+ int32_t: -22
}
enumerator: "INVALID_OPERATION"
scalar_value: {
- int32_t: 3
+ int32_t: -38
}
}
}
@@ -36,11 +40,11 @@
enum_value: {
scalar_type: "int32_t"
- enumerator: "SENSOR_HAL_NORMAL_MODE"
+ enumerator: "NORMAL"
scalar_value: {
int32_t: 0
}
- enumerator: "SENSOR_HAL_DATA_INJECTION_MODE"
+ enumerator: "DATA_INJECTION"
scalar_value: {
int32_t: 1
}
@@ -53,147 +57,151 @@
enum_value: {
scalar_type: "int32_t"
- enumerator: "SENSOR_TYPE_META_DATA"
+ enumerator: "META_DATA"
scalar_value: {
int32_t: 0
}
- enumerator: "SENSOR_TYPE_ACCELEROMETER"
+ enumerator: "ACCELEROMETER"
scalar_value: {
int32_t: 1
}
- enumerator: "SENSOR_TYPE_GEOMAGNETIC_FIELD"
+ enumerator: "MAGNETIC_FIELD"
scalar_value: {
int32_t: 2
}
- enumerator: "SENSOR_TYPE_ORIENTATION"
+ enumerator: "ORIENTATION"
scalar_value: {
int32_t: 3
}
- enumerator: "SENSOR_TYPE_GYROSCOPE"
+ enumerator: "GYROSCOPE"
scalar_value: {
int32_t: 4
}
- enumerator: "SENSOR_TYPE_LIGHT"
+ enumerator: "LIGHT"
scalar_value: {
int32_t: 5
}
- enumerator: "SENSOR_TYPE_PRESSURE"
+ enumerator: "PRESSURE"
scalar_value: {
int32_t: 6
}
- enumerator: "SENSOR_TYPE_TEMPERATURE"
+ enumerator: "TEMPERATURE"
scalar_value: {
int32_t: 7
}
- enumerator: "SENSOR_TYPE_PROXIMITY"
+ enumerator: "PROXIMITY"
scalar_value: {
int32_t: 8
}
- enumerator: "SENSOR_TYPE_GRAVITY"
+ enumerator: "GRAVITY"
scalar_value: {
int32_t: 9
}
- enumerator: "SENSOR_TYPE_LINEAR_ACCELERATION"
+ enumerator: "LINEAR_ACCELERATION"
scalar_value: {
int32_t: 10
}
- enumerator: "SENSOR_TYPE_ROTATION_VECTOR"
+ enumerator: "ROTATION_VECTOR"
scalar_value: {
int32_t: 11
}
- enumerator: "SENSOR_TYPE_RELATIVE_HUMIDITY"
+ enumerator: "RELATIVE_HUMIDITY"
scalar_value: {
int32_t: 12
}
- enumerator: "SENSOR_TYPE_AMBIENT_TEMPERATURE"
+ enumerator: "AMBIENT_TEMPERATURE"
scalar_value: {
int32_t: 13
}
- enumerator: "SENSOR_TYPE_MAGNETIC_FIELD_UNCALIBRATED"
+ enumerator: "MAGNETIC_FIELD_UNCALIBRATED"
scalar_value: {
int32_t: 14
}
- enumerator: "SENSOR_TYPE_GAME_ROTATION_VECTOR"
+ enumerator: "GAME_ROTATION_VECTOR"
scalar_value: {
int32_t: 15
}
- enumerator: "SENSOR_TYPE_GYROSCOPE_UNCALIBRATED"
+ enumerator: "GYROSCOPE_UNCALIBRATED"
scalar_value: {
int32_t: 16
}
- enumerator: "SENSOR_TYPE_SIGNIFICANT_MOTION"
+ enumerator: "SIGNIFICANT_MOTION"
scalar_value: {
int32_t: 17
}
- enumerator: "SENSOR_TYPE_STEP_DETECTOR"
+ enumerator: "STEP_DETECTOR"
scalar_value: {
int32_t: 18
}
- enumerator: "SENSOR_TYPE_STEP_COUNTER"
+ enumerator: "STEP_COUNTER"
scalar_value: {
int32_t: 19
}
- enumerator: "SENSOR_TYPE_GEOMAGNETIC_ROTATION_VECTOR"
+ enumerator: "GEOMAGNETIC_ROTATION_VECTOR"
scalar_value: {
int32_t: 20
}
- enumerator: "SENSOR_TYPE_HEART_RATE"
+ enumerator: "HEART_RATE"
scalar_value: {
int32_t: 21
}
- enumerator: "SENSOR_TYPE_TILT_DETECTOR"
+ enumerator: "TILT_DETECTOR"
scalar_value: {
int32_t: 22
}
- enumerator: "SENSOR_TYPE_WAKE_GESTURE"
+ enumerator: "WAKE_GESTURE"
scalar_value: {
int32_t: 23
}
- enumerator: "SENSOR_TYPE_GLANCE_GESTURE"
+ enumerator: "GLANCE_GESTURE"
scalar_value: {
int32_t: 24
}
- enumerator: "SENSOR_TYPE_PICK_UP_GESTURE"
+ enumerator: "PICK_UP_GESTURE"
scalar_value: {
int32_t: 25
}
- enumerator: "SENSOR_TYPE_WRIST_TILT_GESTURE"
+ enumerator: "WRIST_TILT_GESTURE"
scalar_value: {
int32_t: 26
}
- enumerator: "SENSOR_TYPE_DEVICE_ORIENTATION"
+ enumerator: "DEVICE_ORIENTATION"
scalar_value: {
int32_t: 27
}
- enumerator: "SENSOR_TYPE_POSE_6DOF"
+ enumerator: "POSE_6DOF"
scalar_value: {
int32_t: 28
}
- enumerator: "SENSOR_TYPE_STATIONARY_DETECT"
+ enumerator: "STATIONARY_DETECT"
scalar_value: {
int32_t: 29
}
- enumerator: "SENSOR_TYPE_MOTION_DETECT"
+ enumerator: "MOTION_DETECT"
scalar_value: {
int32_t: 30
}
- enumerator: "SENSOR_TYPE_HEART_BEAT"
+ enumerator: "HEART_BEAT"
scalar_value: {
int32_t: 31
}
- enumerator: "SENSOR_TYPE_DYNAMIC_SENSOR_META"
+ enumerator: "DYNAMIC_SENSOR_META"
scalar_value: {
int32_t: 32
}
- enumerator: "SENSOR_TYPE_ADDITIONAL_INFO"
+ enumerator: "ADDITIONAL_INFO"
scalar_value: {
int32_t: 33
}
- enumerator: "SENSOR_TYPE_LOW_LATENCY_OFFBODY_DETECT"
+ enumerator: "LOW_LATENCY_OFFBODY_DETECT"
scalar_value: {
int32_t: 34
}
- enumerator: "SENSOR_TYPE_DEVICE_PRIVATE_BASE"
+ enumerator: "ACCELEROMETER_UNCALIBRATED"
+ scalar_value: {
+ int32_t: 35
+ }
+ enumerator: "DEVICE_PRIVATE_BASE"
scalar_value: {
int32_t: 65536
}
@@ -204,39 +212,92 @@
name: "::android::hardware::sensors::V1_0::SensorFlagBits"
type: TYPE_ENUM
enum_value: {
- scalar_type: "uint64_t"
+ scalar_type: "uint32_t"
- enumerator: "SENSOR_FLAG_WAKE_UP"
+ enumerator: "WAKE_UP"
scalar_value: {
- uint64_t: 1
+ uint32_t: 1
}
- enumerator: "SENSOR_FLAG_CONTINUOUS_MODE"
+ enumerator: "CONTINUOUS_MODE"
scalar_value: {
- uint64_t: 0
+ uint32_t: 0
}
- enumerator: "SENSOR_FLAG_ON_CHANGE_MODE"
+ enumerator: "ON_CHANGE_MODE"
scalar_value: {
- uint64_t: 2
+ uint32_t: 2
}
- enumerator: "SENSOR_FLAG_ONE_SHOT_MODE"
+ enumerator: "ONE_SHOT_MODE"
scalar_value: {
- uint64_t: 4
+ uint32_t: 4
}
- enumerator: "SENSOR_FLAG_SPECIAL_REPORTING_MODE"
+ enumerator: "SPECIAL_REPORTING_MODE"
scalar_value: {
- uint64_t: 6
+ uint32_t: 6
}
- enumerator: "SENSOR_FLAG_SUPPORTS_DATA_INJECTION"
+ enumerator: "DATA_INJECTION"
scalar_value: {
- uint64_t: 16
+ uint32_t: 16
}
- enumerator: "SENSOR_FLAG_DYNAMIC_SENSOR"
+ enumerator: "DYNAMIC_SENSOR"
scalar_value: {
- uint64_t: 32
+ uint32_t: 32
}
- enumerator: "SENSOR_FLAG_ADDITIONAL_INFO"
+ enumerator: "ADDITIONAL_INFO"
scalar_value: {
- uint64_t: 64
+ uint32_t: 64
+ }
+ enumerator: "DIRECT_CHANNEL_ASHMEM"
+ scalar_value: {
+ uint32_t: 1024
+ }
+ enumerator: "DIRECT_CHANNEL_GRALLOC"
+ scalar_value: {
+ uint32_t: 2048
+ }
+ enumerator: "MASK_REPORTING_MODE"
+ scalar_value: {
+ uint32_t: 14
+ }
+ enumerator: "MASK_DIRECT_REPORT"
+ scalar_value: {
+ uint32_t: 896
+ }
+ enumerator: "MASK_DIRECT_CHANNEL"
+ scalar_value: {
+ uint32_t: 3072
+ }
+ }
+}
+
+attribute: {
+ name: "::android::hardware::sensors::V1_0::SensorFlagShift"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint8_t"
+
+ enumerator: "REPORTING_MODE"
+ scalar_value: {
+ uint8_t: 1
+ }
+ enumerator: "DATA_INJECTION"
+ scalar_value: {
+ uint8_t: 4
+ }
+ enumerator: "DYNAMIC_SENSOR"
+ scalar_value: {
+ uint8_t: 5
+ }
+ enumerator: "ADDITIONAL_INFO"
+ scalar_value: {
+ uint8_t: 6
+ }
+ enumerator: "DIRECT_REPORT"
+ scalar_value: {
+ uint8_t: 7
+ }
+ enumerator: "DIRECT_CHANNEL"
+ scalar_value: {
+ uint8_t: 10
}
}
}
@@ -312,8 +373,11 @@
}
struct_value: {
name: "flags"
- type: TYPE_SCALAR
- scalar_type: "uint64_t"
+ type: TYPE_MASK
+ enum_value: {
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::sensors::V1_0::SensorFlagBits"
+ }
}
}
@@ -323,23 +387,23 @@
enum_value: {
scalar_type: "int8_t"
- enumerator: "SENSOR_STATUS_NO_CONTACT"
+ enumerator: "NO_CONTACT"
scalar_value: {
int8_t: -1
}
- enumerator: "SENSOR_STATUS_UNRELIABLE"
+ enumerator: "UNRELIABLE"
scalar_value: {
int8_t: 0
}
- enumerator: "SENSOR_STATUS_ACCURACY_LOW"
+ enumerator: "ACCURACY_LOW"
scalar_value: {
int8_t: 1
}
- enumerator: "SENSOR_STATUS_ACCURACY_MEDIUM"
+ enumerator: "ACCURACY_MEDIUM"
scalar_value: {
int8_t: 2
}
- enumerator: "SENSOR_STATUS_ACCURACY_HIGH"
+ enumerator: "ACCURACY_HIGH"
scalar_value: {
int8_t: 3
}
@@ -697,3 +761,82 @@
}
}
+attribute: {
+ name: "::android::hardware::sensors::V1_0::RateLevel"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "STOP"
+ scalar_value: {
+ int32_t: 0
+ }
+ enumerator: "NORMAL"
+ scalar_value: {
+ int32_t: 1
+ }
+ enumerator: "FAST"
+ scalar_value: {
+ int32_t: 2
+ }
+ enumerator: "VERY_FAST"
+ scalar_value: {
+ int32_t: 3
+ }
+ }
+}
+
+attribute: {
+ name: "::android::hardware::sensors::V1_0::SharedMemType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "ASHMEM"
+ scalar_value: {
+ int32_t: 1
+ }
+ enumerator: "GRALLOC"
+ scalar_value: {
+ int32_t: 2
+ }
+ }
+}
+
+attribute: {
+ name: "::android::hardware::sensors::V1_0::SharedMemFormat"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "SENSORS_EVENT"
+ scalar_value: {
+ int32_t: 1
+ }
+ }
+}
+
+attribute: {
+ name: "::android::hardware::sensors::V1_0::SharedMemInfo"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "type"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::sensors::V1_0::SharedMemType"
+ }
+ struct_value: {
+ name: "format"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::sensors::V1_0::SharedMemFormat"
+ }
+ struct_value: {
+ name: "size"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "memoryHandle"
+ type: TYPE_HANDLE
+ }
+}
+