31.08.2013 Views

HID Sensor Usage Tables - USB.org

HID Sensor Usage Tables - USB.org

HID Sensor Usage Tables - USB.org

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

84 <strong>HID</strong> <strong>Sensor</strong> <strong>Usage</strong>s<br />

Any of these Modifiers can be applied to any Data Field. Below is an example extracted from a <strong>HID</strong><br />

Report Descriptor that again uses the single Data Field thermometer example:<br />

.<br />

.<br />

.<br />

<strong>HID</strong>_USAGE_SENSOR_DATA(<strong>HID</strong>_USAGE_SENSOR_DATA_ENVIRONMENTAL_TEMPERATURE,<br />

<strong>HID</strong>_USAGE_SENSOR_DATA_MOD_CHANGE_SENSITIVITY_ABS),<br />

<strong>HID</strong>_USAGE_SENSOR_DATA(<strong>HID</strong>_USAGE_SENSOR_DATA_ENVIRONMENTAL_TEMPERATURE,<strong>HID</strong>_USAGE_SENSOR_DATA_MOD_MAX),<br />

<strong>HID</strong>_USAGE_SENSOR_DATA(<strong>HID</strong>_USAGE_SENSOR_DATA_ENVIRONMENTAL_TEMPERATURE,<strong>HID</strong>_USAGE_SENSOR_DATA_MOD_MIN),<br />

<strong>HID</strong>_USAGE_SENSOR_DATA(<strong>HID</strong>_USAGE_SENSOR_DATA_ENVIRONMENTAL_TEMPERATURE,<strong>HID</strong>_USAGE_SENSOR_DATA_MOD_ACCURACY),<br />

<strong>HID</strong>_USAGE_SENSOR_DATA(<strong>HID</strong>_USAGE_SENSOR_DATA_ENVIRONMENTAL_TEMPERATURE,<strong>HID</strong>_USAGE_SENSOR_DATA_MOD_PRECISION),<br />

.<br />

.<br />

.<br />

Provision has been made for this sytax to apply to those cases where there are multiple Data Fields defined<br />

for the sensor. In each case where multiple Data Fields are defines, a definition has been created that refers<br />

to all of them collectively. Using again the accelerometer as an example, the collective and individual Data<br />

Field defintions are below:<br />

#define <strong>HID</strong>_USAGE_SENSOR_DATA_MOTION_ACCELERATION 0x0A,0x52,0x04<br />

#define <strong>HID</strong>_USAGE_SENSOR_DATA_MOTION_ACCELERATION_X_AXIS 0x0A,0x53,0x04<br />

#define <strong>HID</strong>_USAGE_SENSOR_DATA_MOTION_ACCELERATION_Y_AXIS 0x0A,0x54,0x04<br />

#define <strong>HID</strong>_USAGE_SENSOR_DATA_MOTION_ACCELERATION_Z_AXIS 0x0A,0x55,0x04<br />

Applying the list of Properties to the collective version of the Data Field would be done as follows:<br />

.<br />

.<br />

.<br />

<strong>HID</strong>_USAGE_SENSOR_DATA(<strong>HID</strong>_USAGE_SENSOR_DATA_MOTION_ACCELERATION,<strong>HID</strong>_USAGE_SENSOR_DATA_MOD_CHANGE_SENSITIVITY_ABS),<br />

<strong>HID</strong>_USAGE_SENSOR_DATA(<strong>HID</strong>_USAGE_SENSOR_DATA_MOTION_ACCELERATION,<strong>HID</strong>_USAGE_SENSOR_DATA_MOD_MAX),<br />

<strong>HID</strong>_USAGE_SENSOR_DATA(<strong>HID</strong>_USAGE_SENSOR_DATA_MOTION_ACCELERATION,<strong>HID</strong>_USAGE_SENSOR_DATA_MOD_MIN),<br />

<strong>HID</strong>_USAGE_SENSOR_DATA(<strong>HID</strong>_USAGE_SENSOR_DATA_MOTION_ACCELERATION,<strong>HID</strong>_USAGE_SENSOR_DATA_MOD_ACCURACY),<br />

<strong>HID</strong>_USAGE_SENSOR_DATA(<strong>HID</strong>_USAGE_SENSOR_DATA_MOTION_ACCELERATION,<strong>HID</strong>_USAGE_SENSOR_DATA_MOD_PRECISION),<br />

.<br />

.<br />

.<br />

Note that in each case the Data Field to which the Modifier applies is specified, and that in each case the<br />

Data Field specified is for the collective version of the Data Field. This is mostly equivalent to the<br />

following definitions presented previously and repeated here for convenience:<br />

.<br />

.<br />

.<br />

<strong>HID</strong>_USAGE_SENSOR_PROPERTY_CHANGE_SENSITIVITY_ABS,<br />

<strong>HID</strong>_USAGE_SENSOR_PROPERTY_MAXIMUM,<br />

<strong>HID</strong>_USAGE_SENSOR_PROPERTY_MINIMUM,<br />

<strong>HID</strong>_USAGE_SENSOR_PROPERTY_ACCURACY,<br />

<strong>HID</strong>_USAGE_SENSOR_PROPERTY_RESOLUTION,<br />

.<br />

.<br />

.<br />

In the case of the collective Data Field specification, this will only apply to Data Fields of that type. In the<br />

case of the <strong>HID</strong>_USAGE_SENSOR_PROPERTY_xxx construction, this would apply to all Data Fields<br />

even if they are not of the same type.<br />

In the case of specifying Properties that are applied per-datafield with the expectation that the Property may<br />

change depending on the Data Field, the following homogenous constructing again using the accelerometer<br />

follows:<br />

.<br />

.<br />

.<br />

<strong>HID</strong>_USAGE_SENSOR_DATA(<strong>HID</strong>_USAGE_SENSOR_DATA_MOTION_ACCELERATION_X_AXIS,<br />

<strong>HID</strong>_USAGE_SENSOR_DATA_MOD_CHANGE_SENSITIVITY_ABS),<br />

<strong>HID</strong>_USAGE_SENSOR_DATA(<strong>HID</strong>_USAGE_SENSOR_DATA_MOTION_ACCELERATION_Y_AXIS,<br />

<strong>HID</strong>_USAGE_SENSOR_DATA_MOD_CHANGE_SENSITIVITY_ABS),<br />

<strong>HID</strong>_USAGE_SENSOR_DATA(<strong>HID</strong>_USAGE_SENSOR_DATA_MOTION_ACCELERATION_Z_AXIS,<br />

<strong>HID</strong>_USAGE_SENSOR_DATA_MOD_CHANGE_SENSITIVITY_ABS),

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!