Loading sensors/aidl/Android.bp +0 −2 Original line number Diff line number Diff line // This is the expected build file, but it may not be right in all cases aidl_interface { name: "android.hardware.sensors", vendor_available: true, Loading sensors/aidl/aidl_api/android.hardware.sensors/current/android/hardware/sensors/Event.aidl +11 −0 Original line number Diff line number Diff line Loading @@ -51,6 +51,7 @@ parcelable Event { android.hardware.sensors.DynamicSensorInfo dynamic; android.hardware.sensors.AdditionalInfo additional; android.hardware.sensors.Event.EventPayload.Data data; android.hardware.sensors.Event.EventPayload.HeadTracker headTracker; @FixedSize @VintfStability parcelable Vec4 { float x; Loading @@ -75,6 +76,16 @@ parcelable Event { float zBias; } @FixedSize @VintfStability parcelable HeadTracker { float rx; float ry; float rz; float vx; float vy; float vz; int discontinuityCount; } @FixedSize @VintfStability parcelable HeartRate { float bpm; android.hardware.sensors.SensorStatus status; Loading sensors/aidl/aidl_api/android.hardware.sensors/current/android/hardware/sensors/SensorType.aidl +1 −0 Original line number Diff line number Diff line Loading @@ -70,5 +70,6 @@ enum SensorType { LOW_LATENCY_OFFBODY_DETECT = 34, ACCELEROMETER_UNCALIBRATED = 35, HINGE_ANGLE = 36, HEAD_TRACKER = 37, DEVICE_PRIVATE_BASE = 65536, } sensors/aidl/android/hardware/sensors/Event.aidl +45 −0 Original line number Diff line number Diff line Loading @@ -127,6 +127,11 @@ parcelable Event { */ Data data; /** * SensorType::HEAD_TRACKER */ HeadTracker headTracker; @FixedSize @VintfStability parcelable Vec4 { Loading Loading @@ -156,6 +161,46 @@ parcelable Event { float zBias; } /** * Payload of the HEAD_TRACKER sensor type. Note that the axis * definition of this sensor type differs from the rest of Android. See * SensorType::HEAD_TRACKER for more information. */ @FixedSize @VintfStability parcelable HeadTracker { /** * An Euler vector (rotation vector, i.e. a vector whose direction * indicates the axis of rotation and magnitude indicates the angle * to rotate around that axis) representing the transform from * the (arbitrary, possibly slowly drifting) reference frame to the * head frame. Expressed in radians. Magnitude of the vector must be * in the range [0, pi], while the value of individual axes are * in the range [-pi, pi]. */ float rx; float ry; float rz; /** * An Euler vector (rotation vector) representing the angular * velocity of the head (relative to itself), in radians per second. * The direction of this vector indicates the axis of rotation, and * the magnitude indicates the rate of rotation. */ float vx; float vy; float vz; /** * This value increments (or wraps around to 0) each time the * reference frame is suddenly and significantly changed, for * example if an orientation filter algorithm used for determining * the orientation has had its state reset. */ int discontinuityCount; } @FixedSize @VintfStability parcelable HeartRate { Loading sensors/aidl/android/hardware/sensors/SensorType.aidl +33 −0 Original line number Diff line number Diff line Loading @@ -142,6 +142,10 @@ enum SensorType { * The rotation vector symbolizes the orientation of the device relative to * the East-North-Up coordinates frame. * * Note that despite the name, SensorType::ROTATION_VECTOR uses * quaternion representation, rather than the rotation vector representation * (aka Euler vector) seen in SensorType::HEAD_TRACKER. * * Implement the non-wake-up version of this sensor and implement the * wake-up version if the system possesses a wake up fifo. */ Loading Loading @@ -633,6 +637,35 @@ enum SensorType { */ HINGE_ANGLE = 36, /** * HEAD_TRACKER * reporting-mode: continuous * * A sensor of this type measures the orientation of a user's head relative * to an arbitrary reference frame, and the rate of rotation. * * Events produced by this sensor follow a special head-centric coordinate * frame, where: * - The X axis crosses through the user's ears, with the positive X * direction extending out of the user's right ear * - The Y axis crosses from the back of the user's head through their * nose, with the positive direction extending out of the nose, and the * X/Y plane being nominally parallel to the ground when the user is * upright and looking straight ahead * - The Z axis crosses from the neck through the top of the user's head, * with the positive direction extending out from the top of the head * * When this sensor type is exposed as a dynamic sensor through a * communications channel that uses HID, such as Bluetooth or USB, as part * of a device with audio output capability (e.g. headphones), then the * DynamicSensorInfo::uuid field shall be set to contents of the HID * Persistent Unique ID to permit association between the sensor and audio * device. Accordingly, the HID Persistent Unique ID (Sensors Page 0x20, * Usage ID 0x302) must be populated as a UUID in binary representation, * following RFC 4122 byte order. */ HEAD_TRACKER = 37, /** * Base for device manufacturers private sensor types. * These sensor types can't be exposed in the SDK. Loading Loading
sensors/aidl/Android.bp +0 −2 Original line number Diff line number Diff line // This is the expected build file, but it may not be right in all cases aidl_interface { name: "android.hardware.sensors", vendor_available: true, Loading
sensors/aidl/aidl_api/android.hardware.sensors/current/android/hardware/sensors/Event.aidl +11 −0 Original line number Diff line number Diff line Loading @@ -51,6 +51,7 @@ parcelable Event { android.hardware.sensors.DynamicSensorInfo dynamic; android.hardware.sensors.AdditionalInfo additional; android.hardware.sensors.Event.EventPayload.Data data; android.hardware.sensors.Event.EventPayload.HeadTracker headTracker; @FixedSize @VintfStability parcelable Vec4 { float x; Loading @@ -75,6 +76,16 @@ parcelable Event { float zBias; } @FixedSize @VintfStability parcelable HeadTracker { float rx; float ry; float rz; float vx; float vy; float vz; int discontinuityCount; } @FixedSize @VintfStability parcelable HeartRate { float bpm; android.hardware.sensors.SensorStatus status; Loading
sensors/aidl/aidl_api/android.hardware.sensors/current/android/hardware/sensors/SensorType.aidl +1 −0 Original line number Diff line number Diff line Loading @@ -70,5 +70,6 @@ enum SensorType { LOW_LATENCY_OFFBODY_DETECT = 34, ACCELEROMETER_UNCALIBRATED = 35, HINGE_ANGLE = 36, HEAD_TRACKER = 37, DEVICE_PRIVATE_BASE = 65536, }
sensors/aidl/android/hardware/sensors/Event.aidl +45 −0 Original line number Diff line number Diff line Loading @@ -127,6 +127,11 @@ parcelable Event { */ Data data; /** * SensorType::HEAD_TRACKER */ HeadTracker headTracker; @FixedSize @VintfStability parcelable Vec4 { Loading Loading @@ -156,6 +161,46 @@ parcelable Event { float zBias; } /** * Payload of the HEAD_TRACKER sensor type. Note that the axis * definition of this sensor type differs from the rest of Android. See * SensorType::HEAD_TRACKER for more information. */ @FixedSize @VintfStability parcelable HeadTracker { /** * An Euler vector (rotation vector, i.e. a vector whose direction * indicates the axis of rotation and magnitude indicates the angle * to rotate around that axis) representing the transform from * the (arbitrary, possibly slowly drifting) reference frame to the * head frame. Expressed in radians. Magnitude of the vector must be * in the range [0, pi], while the value of individual axes are * in the range [-pi, pi]. */ float rx; float ry; float rz; /** * An Euler vector (rotation vector) representing the angular * velocity of the head (relative to itself), in radians per second. * The direction of this vector indicates the axis of rotation, and * the magnitude indicates the rate of rotation. */ float vx; float vy; float vz; /** * This value increments (or wraps around to 0) each time the * reference frame is suddenly and significantly changed, for * example if an orientation filter algorithm used for determining * the orientation has had its state reset. */ int discontinuityCount; } @FixedSize @VintfStability parcelable HeartRate { Loading
sensors/aidl/android/hardware/sensors/SensorType.aidl +33 −0 Original line number Diff line number Diff line Loading @@ -142,6 +142,10 @@ enum SensorType { * The rotation vector symbolizes the orientation of the device relative to * the East-North-Up coordinates frame. * * Note that despite the name, SensorType::ROTATION_VECTOR uses * quaternion representation, rather than the rotation vector representation * (aka Euler vector) seen in SensorType::HEAD_TRACKER. * * Implement the non-wake-up version of this sensor and implement the * wake-up version if the system possesses a wake up fifo. */ Loading Loading @@ -633,6 +637,35 @@ enum SensorType { */ HINGE_ANGLE = 36, /** * HEAD_TRACKER * reporting-mode: continuous * * A sensor of this type measures the orientation of a user's head relative * to an arbitrary reference frame, and the rate of rotation. * * Events produced by this sensor follow a special head-centric coordinate * frame, where: * - The X axis crosses through the user's ears, with the positive X * direction extending out of the user's right ear * - The Y axis crosses from the back of the user's head through their * nose, with the positive direction extending out of the nose, and the * X/Y plane being nominally parallel to the ground when the user is * upright and looking straight ahead * - The Z axis crosses from the neck through the top of the user's head, * with the positive direction extending out from the top of the head * * When this sensor type is exposed as a dynamic sensor through a * communications channel that uses HID, such as Bluetooth or USB, as part * of a device with audio output capability (e.g. headphones), then the * DynamicSensorInfo::uuid field shall be set to contents of the HID * Persistent Unique ID to permit association between the sensor and audio * device. Accordingly, the HID Persistent Unique ID (Sensors Page 0x20, * Usage ID 0x302) must be populated as a UUID in binary representation, * following RFC 4122 byte order. */ HEAD_TRACKER = 37, /** * Base for device manufacturers private sensor types. * These sensor types can't be exposed in the SDK. Loading