SENSOR_CATEGORY_ORIENTATION

The SENSOR_CATEGORY_ORIENTATION category contains sensors that provide information about physical orientation. Compasses provide navigational orientation. Inclinometers measure slope or elevation. Distance sensors measure the proximity of some object to the sensor.

Platform-defined sensor types

This category includes the following platform-defined sensor types.

Sensor type Description
SENSOR_TYPE_AGGREGATED_DEVICE_ORIENTATION Specifies the current device orientation by returning a Quaternion and, in some cases, a rotation matrix. (The rotation matrix is optional.)
SENSOR_TYPE_AGGREGATED_QUADRANT_ORIENTATION Specifies the current device orientation in degrees.
SENSOR_TYPE_AGGREGATED_SIMPLE_DEVICE_ORIENTATION Specifies the device orientation as an enumeration. (This type specifies the device orientation using one of four general quadrants: 0 degrees, 90 degrees counter clockwise, 180-counter clockwise, and 270 degrees counter clockwise.)
SENSOR_TYPE_COMPASS_1D
{A415F6C5-CB50-49D0-8E62-A8270BD7A26C}
One-axis compasses.
SENSOR_TYPE_COMPASS_2D
{15655CC0-997A-4D30-84DB-57CABA3648BB}
Two-axis compasses.
SENSOR_TYPE_COMPASS_3D
{76B5CE0D-17DD-414D-93A1-E127F40BDF6E}
Three-axis compasses.
SENSOR_TYPE_DISTANCE_1D
{5F14AB2F-1407-4306-A93F-B1DBABE4F9C0}
One-axis distance sensors.
SENSOR_TYPE_DISTANCE_2D
{5CF9A46C-A9A2-4E55-B6A1-A04AAFA95A92}
Two-axis distance sensors.
SENSOR_TYPE_DISTANCE_3D
{A20CAE31-0E25-4772-9FE5-96608A1354B2}
Three-axis distance sensors.
SENSOR_TYPE_INCLINOMETER_1D
{B96F98C5-7A75-4BA7-94E9-AC868C966DD8}
One-axis inclinometers.
SENSOR_TYPE_INCLINOMETER_2D
{AB140F6D-83EB-4264-B70B-B16A5B256A01}
Two-axis inclinometers.
SENSOR_TYPE_INCLINOMETER_3D
{B84919FB-EA85-4976-8444-6F6F5C6D31DB}
Three-axis inclinometers.

Platform-defined data fields

Platform-defined property keys for this category are based on SENSOR_DATA_TYPE_ORIENTATION_GUID: {1637D8A2-4248-4275-865D-558DE84AEDFD}

This category includes the following platform-defined data fields.

Data field name and PID Type Description
SENSOR_DATA_TYPE_ANGULAR_VELOCITY_X_DEGREES_PER_SECOND
(PID = 10)
VT_R8 Gyrometer x-axis velocity, in degrees per second.
SENSOR_DATA_TYPE_ANGULAR_VELOCITY_Y_DEGREES_PER_SECOND
(PID = 11)
VT_R8 Gyrometer y-axis velocity, in degrees per second.
SENSOR_DATA_TYPE_ANGULAR_VELOCITY_Z_DEGREES_PER_SECOND
(PID = 12)
VT_R8 Gyrometer z-axis velocity, in degrees per second.
SENSOR_DATA_TYPE_TILT_X_DEGREES
(PID = 2)
VT_R4 Inclinometer x-axis angle, in degrees.
SENSOR_DATA_TYPE_TILT_Y_DEGREES
(PID = 3)
VT_R4 Inclinometer y-axis angle, in degrees.
SENSOR_DATA_TYPE_TILT_Z_DEGREES
(PID = 4)
VT_R4 Inclinometer z-axis angle, in degrees.
SENSOR_DATA_TYPE_DISTANCE_X_METERS
(PID = 8)
VT_R4 X-axis distance, in meters.
SENSOR_DATA_TYPE_DISTANCE_Y_METERS
(PID = 9)
VT_R4 Y-axis distance, in meters.
SENSOR_DATA_TYPE_DISTANCE_Z_METERS
(PID = 10)
VT_R4 Z-axis distance, in meters.
SENSOR_DATA_TYPE_MAGNETIC_FIELD_STRENGTH_X_MILLIGAUSS
(PID = 19)
VT_R8 Magnetometer x-axis field strength, in milligauss.
SENSOR_DATA_TYPE_MAGNETIC_FIELD_STRENGTH_Y_MILLIGAUSS
(PID = 20)
VT_R8 Magnetometer y-axis field strength, in milligauss.
SENSOR_DATA_TYPE_MAGNETIC_FIELD_STRENGTH_Z_MILLIGAUSS
(PID = 21)
VT_R8 Magnetometer z-axis field strength, in milligauss.
SENSOR_DATA_TYPE_MAGNETIC_HEADING_X_DEGREES
(PID = 5)
VT_R4 Compass x-axis heading, in degrees.
SENSOR_DATA_TYPE_MAGNETIC_HEADING_Y_DEGREES
(PID = 6)
VT_R4 Compass y-axis heading, in degrees.
SENSOR_DATA_TYPE_MAGNETIC_HEADING_Z_DEGREES
(PID = 7)
VT_R4 Compass z-axis heading, in degrees.
SENSOR_DATA_TYPE_MAGNETIC_HEADING_COMPENSATED_MAGNETIC_NORTH_DEGREES
(PID = 11)
VT_R8 Compensated compass heading relative to magnetic North in degrees. This compensation causes the measurement of the heading angle to be represented as if a compass device is laying flat on level ground where the PC is located.
SENSOR_DATA_TYPE_MAGNETIC_HEADING_COMPENSATED_TRUE_NORTH_DEGREES
(PID = 12)
VT_R8 Compensated compass heading relative to true North in degrees. This compensation causes the measurement of the heading angle to be represented as if a compass device is laying flat on level ground where the PC is located.
SENSOR_DATA_TYPE_MAGNETIC_HEADING_MAGNETIC_NORTH_DEGREES
(PID = 13)
VT_R8 Uncompensated compass heading relative to magnetic North in degrees. The measurement of the heading angle is represented as measured on the plane that the compass device is installed relative to.
SENSOR_DATA_TYPE_MAGNETIC_HEADING_TRUE_NORTH_DEGREES
(PID = 14)
VT_R8 Uncompensated compass heading relative to true North in degrees. The measurement of the heading angle is represented as measured on the plane that the compass device is installed relative to.
SENSOR_DATA_TYPE_QUADRANT_ANGLE_DEGREES
(PID = 15)
VT_R8 Aggregated quadrant-orientation, in degrees.
SENSOR_DATA_TYPE_ROTATION_MATRIX
(PID = 16)
VT_VECTOR or VT_UI1 Counted array representing the orientation of the device in 3D space as a 3x3 rotation matrix (VT_VECTOR or VT_UI1).

Data for vector types is always serialized as VT_UI1 (an array of unsigned, 1-byte characters). This data field must contain each value as a single-precision float (VT_R4).

This array is expressed as a matrix:
rotation matrix

These values are ordered in the rotation matrix data field array as follows:
M11,M12,M13,M21,M22,M23,M31,M32, M33Note that for devices implementing support for the in-box Windows 8 HID sensor class driver, this data field is optional. If only SENSOR_DATA_TYPE_QUATERNION is implemented, SENSOR_DATA_TYPE_ROTATION_MATRIX will be calculated and populated for each data report sent. Devices not using the in-box HID sensor class driver need to calculate and expose both SENSOR_DATA_TYPE_QUATERNION and SENSOR_DATA_TYPE_ROTATION_MATRIX sensor data fields.
SENSOR_DATA_TYPE_QUATERNION
(PID = 17)
VT_VECTOR or VT_UI1 The x, y, z, w values of a quaternion representing the orientation of the device in 3D space. (VT_VECTOR or VT_UI1).

Data for vector types is always serialized as VT_UI1 (an array of unsigned, 1-byte characters).

This data field must contain each value as a single-precision float (VT_R4).

The order of the values in this array is as follows: [x,y,z,w]

The W value of a quaternion is limited to [0,1] instead of the full [-1, 1].

All rotations must be stated in the forward direction (and not the reverse).

Note: The output of quaternion should be in normalized format. When quaternions are expressed in normalized format, the values will satisfy the following:
quaternion formula
SENSOR_DATA_TYPE_SIMPLE_DEVICE_ORIENTATION
(PID = 18)
VT_UI4 Aggregated device-orientation, specified as an enumeration. (The enumeration values correspond to one of four quadrants.)
SENSOR_DATA_TYPE_MAGNETOMETER_ACCURACY
(PID = 22)
VT_I4 Magnetometer accuracy reading, specified as an enumeration.

Requirements

   
Minimum supported client Windows 7
Minimum supported server None supported
Header sensors.h