add new sensor types for handling gyro data and device orientation more efficiently.
Change-Id: I453b7a2e84b885ca207d9d938b923e1624554644
This commit is contained in:
@@ -59,6 +59,9 @@ __BEGIN_DECLS
|
|||||||
#define SENSOR_TYPE_PRESSURE 6
|
#define SENSOR_TYPE_PRESSURE 6
|
||||||
#define SENSOR_TYPE_TEMPERATURE 7
|
#define SENSOR_TYPE_TEMPERATURE 7
|
||||||
#define SENSOR_TYPE_PROXIMITY 8
|
#define SENSOR_TYPE_PROXIMITY 8
|
||||||
|
#define SENSOR_TYPE_GRAVITY 9
|
||||||
|
#define SENSOR_TYPE_LINEAR_ACCELERATION 10
|
||||||
|
#define SENSOR_TYPE_ROTATION_VECTOR 11
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Values returned by the accelerometer in various locations in the universe.
|
* Values returned by the accelerometer in various locations in the universe.
|
||||||
@@ -189,6 +192,17 @@ __BEGIN_DECLS
|
|||||||
* All values are in micro-Tesla (uT) and measure the ambient magnetic
|
* All values are in micro-Tesla (uT) and measure the ambient magnetic
|
||||||
* field in the X, Y and Z axis.
|
* field in the X, Y and Z axis.
|
||||||
*
|
*
|
||||||
|
* Gyroscope
|
||||||
|
* ---------
|
||||||
|
* All values are in radians/second and measure the rate of rotation
|
||||||
|
* around the X, Y and Z axis. The coordinate system is the same as is
|
||||||
|
* used for the acceleration sensor. Rotation is positive in the counter-clockwise
|
||||||
|
* direction. That is, an observer looking from some positive location on the x, y.
|
||||||
|
* or z axis at a device positioned on the origin would report positive rotation
|
||||||
|
* if the device appeared to be rotating counter clockwise. Note that this is the
|
||||||
|
* standard mathematical definition of positive rotation and does not agree with the
|
||||||
|
* definition of roll given earlier.
|
||||||
|
*
|
||||||
* Proximity
|
* Proximity
|
||||||
* ---------
|
* ---------
|
||||||
*
|
*
|
||||||
@@ -202,7 +216,32 @@ __BEGIN_DECLS
|
|||||||
*
|
*
|
||||||
* The light sensor value is returned in SI lux units.
|
* The light sensor value is returned in SI lux units.
|
||||||
*
|
*
|
||||||
|
* Gravity
|
||||||
|
* -------
|
||||||
|
* A gravity output indicates the direction of and magnitude of gravity in the devices's
|
||||||
|
* coordinates. On Earth, the magnitude is 9.8. Units are m/s^2. The coordinate system
|
||||||
|
* is the same as is used for the acceleration sensor.
|
||||||
|
*
|
||||||
|
* Linear Acceleration
|
||||||
|
* -------------------
|
||||||
|
* Indicates the linear acceleration of the device in device coordinates, not including gravity.
|
||||||
|
* This output is essentially Acceleration - Gravity. Units are m/s^2. The coordinate system is
|
||||||
|
* the same as is used for the acceleration sensor.
|
||||||
|
*
|
||||||
|
* Rotation Vector
|
||||||
|
* ---------------
|
||||||
|
* A rotation vector represents the orientation of the device as a combination
|
||||||
|
* of an angle and an axis, in which the device has rotated through an angle
|
||||||
|
* theta around an axis <x, y, z>. The three elements of the rotation vector
|
||||||
|
* are <x*sin(theta/2), y*sin(theta/2), z*sin(theta/2)>, such that the magnitude
|
||||||
|
* of the rotation vector is equal to sin(theta/2), and the direction of the
|
||||||
|
* rotation vector is equal to the direction of the axis of rotation. The three
|
||||||
|
* elements of the rotation vector are equal to the last three components of a
|
||||||
|
* unit quaternion <cos(theta/2), x*sin(theta/2), y*sin(theta/2), z*sin(theta/2)>.
|
||||||
|
* Elements of the rotation vector are unitless. The x, y, and z axis are defined
|
||||||
|
* in the same was as for the acceleration sensor.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
union {
|
union {
|
||||||
float v[3];
|
float v[3];
|
||||||
|
|||||||
Reference in New Issue
Block a user