Reading HID input reports

When the sensor firmware issues a new sensor reading, it sends this reading as a HID Input report to the driver. This report contains data that is specific to a particular sensor.

For example, with the accelerometer, the input report includes the current G-force values along the x-, y-, and z-axes. The driver stores this data in its data fields. If an application is registered to receive the data-update event, it forwards the new fields to the Sensor API. For the accelerometer, the method that processes the HID Input report is CAccelerometer::ProcessAccelerometerAsyncRead. A method with a similar name in the other object files performs similar work for each sensor.

The maximum size of a HID Input report is 64 bytes. This includes 63 bytes for the actual report and 1 byte for the report identifier. The report identifier, the first byte in the report, contains the value 0 if there is only one sensor. However, if there is a sensor collection, the identifier specifies the position of a given sensor in that collection. The identifiers in a collection must be sequential.

Related topics

The Sensor Diagnostic Tool
The Sensors HID Driver Sample
Writing a Sensor Device Driver



Send comments about this topic to Microsoft

Build date: 11/29/2012