Clarify documentation for AINFO_SENSOR_PLACEMENT
Specify units of location vector and define the direction of the rotation matrix translation as Android device frame to local sensor frame. Fixes: 133264933 Test: n/a, comment update only Change-Id: I76dae7a6fae3c8f44a4dcd1fcc6b790abff86420
This commit is contained in:
parent
d05b62368b
commit
26c952bf61
2 changed files with 35 additions and 4 deletions
|
@ -412,6 +412,7 @@ ed9da80ec0c96991fd03f0a46107815d0e50f764656e49dba4980fa5c31d5bc3 android.hardwar
|
|||
cd1757867a5e3a3faa362e785239515870d1a3c9ce756c6f0cf0f0fd8aac2547 android.hardware.radio@1.2::types
|
||||
722b3595548ed7f1953b6e0143dc842d4d6e290ff009a134eb518d7c17a09347 android.hardware.radio@1.2::types # b/112486807
|
||||
e78cf871f9fd1c072874e481e06e18e2681763cf2aa38c1fd777d53bab4eb69b android.hardware.sensors@1.0::types
|
||||
c28859a334c1f540dea0a7d4f0baef0551ba76a3232f53c936196543ee35bc4d android.hardware.sensors@1.0::types # b/133264933
|
||||
3d01e29e8129186f7567c4f9c8bee7480a0768e587b1be9b28adb0a6cbec6bf2 android.hardware.tv.cec@1.0::types
|
||||
1722ad002317b1fae1400de709e90f442d94ef22864e05f7a12af48c32e8edc8 android.hardware.usb@1.1::types
|
||||
29c8da7a13c40d488f569c812441d5754ee45bdcdb8ce6564f524b708d10a057 android.hardware.vibrator@1.1::types
|
||||
|
|
|
@ -1008,10 +1008,40 @@ enum AdditionalInfoType : uint32_t {
|
|||
AINFO_VEC3_CALIBRATION,
|
||||
|
||||
/**
|
||||
* Location and orientation of sensor element in the device frame: origin is
|
||||
* the geometric center of the mobile device screen surface; the axis
|
||||
* definition corresponds to Android sensor definitions.
|
||||
* float[12]: 3x4 matrix in row major order
|
||||
* Provides the orientation and location of the sensor element in terms of
|
||||
* the Android coordinate system. This data is given as a 3x4 matrix
|
||||
* consisting of a 3x3 rotation matrix (R) concatenated with a 3x1 location
|
||||
* vector (t). The rotation matrix provides the orientation of the Android
|
||||
* device coordinate frame relative to the local coordinate frame of the
|
||||
* sensor. Note that assuming the axes conventions of the sensor are the
|
||||
* same as Android, this is the inverse of the matrix applied to raw
|
||||
* samples read from the sensor to convert them into the Android
|
||||
* representation. The location vector represents the translation from the
|
||||
* origin of the Android sensor coordinate system to the geometric center
|
||||
* of the sensor, specified in millimeters (mm).
|
||||
*
|
||||
* float[12]: 3x4 matrix in row major order [R; t]
|
||||
*
|
||||
* Example:
|
||||
* This raw buffer: {0, 1, 0, 0, -1, 0, 0, 10, 0, 0, 1, -2.5}
|
||||
* Corresponds to this 3x4 matrix:
|
||||
* 0 1 0 0
|
||||
* -1 0 0 10
|
||||
* 0 0 1 -2.5
|
||||
* The sensor is oriented such that:
|
||||
* - the device X axis corresponds to the sensor's local -Y axis
|
||||
* - the device Y axis corresponds to the sensor's local X axis
|
||||
* - the device Z axis and sensor's local Z axis are equivalent
|
||||
* In other words, if viewing the origin of the Android coordinate
|
||||
* system from the positive Z direction, the device coordinate frame is
|
||||
* to be rotated 90 degrees counter-clockwise about the Z axis to align
|
||||
* with the sensor's local coordinate frame. Equivalently, a vector in
|
||||
* the Android coordinate frame may be multiplied with R to rotate it
|
||||
* 90 degrees clockwise (270 degrees counter-clockwise), yielding its
|
||||
* representation in the sensor's coordinate frame.
|
||||
* Relative to the origin of the Android coordinate system, the physical
|
||||
* center of the sensor is located 10mm in the positive Y direction, and
|
||||
* 2.5mm in the negative Z direction.
|
||||
*/
|
||||
AINFO_SENSOR_PLACEMENT,
|
||||
|
||||
|
|
Loading…
Reference in a new issue