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.

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

4. Illustrative Examples<br />

This section is Informative, meaning that they provide unofficial guidelines for how to use the <strong>Usage</strong>s in<br />

Section 1, above. It is offered to resolve potential ambiguities and to foster compatibility between separate<br />

implementations from multiple vendors.<br />

Section 4.1 provides a sample “C” language “include file” which can be used by application developers.<br />

Section 4.2 provides descriptions of some special constructions such as: Modifiers, Thresholds, Custom<br />

<strong>Sensor</strong>s, and Generic <strong>Sensor</strong>s.<br />

Section 4.3 provides illustrative examples of <strong>HID</strong> Report Descriptors for various common sensor types.<br />

All of these examples employ use of the “include file” described in Section 4.1. Some of them employ use<br />

of the special constructions described in Section 4.2.<br />

4.1 Include File Definitions<br />

These definitions are used in common by all report descriptors in these Appendices. These #defines are<br />

intended to be compiled by an ANSI “C” compiler pre-processor.<br />

////////////////////////////////////////////////////////////////////////////////////<br />

//<br />

// Hid<strong>Sensor</strong>Spec.h : Defines compliant with <strong>HID</strong> <strong>Sensor</strong> Spec.<br />

//<br />

////////////////////////////////////////////////////////////////////////////////////<br />

#ifndef _<strong>HID</strong>SENSORSPEC_H_<br />

#define _<strong>HID</strong>SENSORSPEC_H_<br />

#define <strong>HID</strong>_USAGE_PAGE_SENSOR 0x05,0x20<br />

//sensor category usages<br />

#define <strong>HID</strong>_USAGE_SENSOR_TYPE_COLLECTION 0x09,0x01<br />

//sensor category biometric<br />

#define <strong>HID</strong>_USAGE_SENSOR_CATEGORY_BIOMETRIC 0x09,0x10<br />

#define <strong>HID</strong>_USAGE_SENSOR_TYPE_BIOMETRIC_PRESENCE 0x09,0x11<br />

#define <strong>HID</strong>_USAGE_SENSOR_TYPE_BIOMETRIC_PROXIMITY 0x09,0x12<br />

#define <strong>HID</strong>_USAGE_SENSOR_TYPE_BIOMETRIC_TOUCH 0x09,0x13<br />

//sensor category electrical<br />

#define <strong>HID</strong>_USAGE_SENSOR_CATEGORY_ELECTRICAL 0x09,0x20<br />

#define <strong>HID</strong>_USAGE_SENSOR_TYPE_ELECTRICAL_CAPACITANCE 0x09,0x21<br />

#define <strong>HID</strong>_USAGE_SENSOR_TYPE_ELECTRICAL_CURRENT 0x09,0x22<br />

#define <strong>HID</strong>_USAGE_SENSOR_TYPE_ELECTRICAL_POWER 0x09,0x23<br />

#define <strong>HID</strong>_USAGE_SENSOR_TYPE_ELECTRICAL_INDUCTANCE 0x09,0x24<br />

#define <strong>HID</strong>_USAGE_SENSOR_TYPE_ELECTRICAL_RESISTANCE 0x09,0x25<br />

#define <strong>HID</strong>_USAGE_SENSOR_TYPE_ELECTRICAL_VOLTAGE 0x09,0x26<br />

#define <strong>HID</strong>_USAGE_SENSOR_TYPE_ELECTRICAL_POTENTIOMETER 0x09,0x27<br />

#define <strong>HID</strong>_USAGE_SENSOR_TYPE_ELECTRICAL_FREQUENCY 0x09,0x28<br />

#define <strong>HID</strong>_USAGE_SENSOR_TYPE_ELECTRICAL_PERIOD 0x09,0x29<br />

//sensor category environmental<br />

#define <strong>HID</strong>_USAGE_SENSOR_CATEGORY_ENVIRONMENTAL 0x09,0x30<br />

#define <strong>HID</strong>_USAGE_SENSOR_TYPE_ENVIRONMENTAL_ATMOSPHERIC_PRESSURE 0x09,0x31<br />

#define <strong>HID</strong>_USAGE_SENSOR_TYPE_ENVIRONMENTAL_HUMIDITY 0x09,0x32<br />

#define <strong>HID</strong>_USAGE_SENSOR_TYPE_ENVIRONMENTAL_TEMPERATURE 0x09,0x33<br />

#define <strong>HID</strong>_USAGE_SENSOR_TYPE_ENVIRONMENTAL_WIND_DIRECTION 0x09,0x34<br />

#define <strong>HID</strong>_USAGE_SENSOR_TYPE_ENVIRONMENTAL_WIND_SPEED 0x09,0x35<br />

//sensor category light<br />

#define <strong>HID</strong>_USAGE_SENSOR_CATEGORY_LIGHT 0x09,0x40<br />

#define <strong>HID</strong>_USAGE_SENSOR_TYPE_LIGHT_AMBIENTLIGHT 0x09,0x41<br />

#define <strong>HID</strong>_USAGE_SENSOR_TYPE_LIGHT_CONSUMER_INFRARED 0x09,0x42<br />

//sensor category location<br />

#define <strong>HID</strong>_USAGE_SENSOR_CATEGORY_LOCATION 0x09,0x50<br />

#define <strong>HID</strong>_USAGE_SENSOR_TYPE_LOCATION_BROADCAST 0x09,0x51<br />

#define <strong>HID</strong>_USAGE_SENSOR_TYPE_LOCATION_DEAD_RECKONING 0x09,0x52<br />

#define <strong>HID</strong>_USAGE_SENSOR_TYPE_LOCATION_GPS 0x09,0x53<br />

#define <strong>HID</strong>_USAGE_SENSOR_TYPE_LOCATION_LOOKUP 0x09,0x54<br />

#define <strong>HID</strong>_USAGE_SENSOR_TYPE_LOCATION_OTHER 0x09,0x55<br />

#define <strong>HID</strong>_USAGE_SENSOR_TYPE_LOCATION_STATIC 0x09,0x56<br />

#define <strong>HID</strong>_USAGE_SENSOR_TYPE_LOCATION_TRIANGULATION 0x09,0x57<br />

//sensor category mechanical<br />

#define <strong>HID</strong>_USAGE_SENSOR_CATEGORY_MECHANICAL 0x09,0x60<br />

#define <strong>HID</strong>_USAGE_SENSOR_TYPE_MECHANICAL_BOOLEAN_SWITCH 0x09,0x61<br />

#define <strong>HID</strong>_USAGE_SENSOR_TYPE_MECHANICAL_BOOLEAN_SWITCH_ARRAY 0x09,0x62<br />

#define <strong>HID</strong>_USAGE_SENSOR_TYPE_MECHANICAL_MULTIVALUE_SWITCH 0x09,0x63<br />

#define <strong>HID</strong>_USAGE_SENSOR_TYPE_MECHANICAL_FORCE 0x09,0x64<br />

#define <strong>HID</strong>_USAGE_SENSOR_TYPE_MECHANICAL_PRESSURE 0x09,0x65<br />

#define <strong>HID</strong>_USAGE_SENSOR_TYPE_MECHANICAL_STRAIN 0x09,0x66

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

Saved successfully!

Ooh no, something went wrong!