You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
95 <strong>HID</strong> <strong>Sensor</strong> <strong>Usage</strong>s<br />
};<br />
<strong>HID</strong>_REPORT_COUNT(1),<br />
<strong>HID</strong>_USAGE_SENSOR_UNITS_NOT_SPECIFIED,<br />
<strong>HID</strong>_UNIT_EXPONENT(0x0E), // scale unit to provide 2 digits past the decimal point<br />
<strong>HID</strong>_FEATURE(Data_Var_Abs),<br />
//input reports (transmit)<br />
<strong>HID</strong>_USAGE_PAGE_SENSOR,<br />
<strong>HID</strong>_USAGE_SENSOR_STATE,<br />
<strong>HID</strong>_LOGICAL_MIN_8(0),<br />
<strong>HID</strong>_LOGICAL_MAX_8(6),<br />
<strong>HID</strong>_REPORT_SIZE(8),<br />
<strong>HID</strong>_REPORT_COUNT(1),<br />
<strong>HID</strong>_COLLECTION(Logical),<br />
<strong>HID</strong>_USAGE_SENSOR_STATE_UNKNOWN,<br />
<strong>HID</strong>_USAGE_SENSOR_STATE_READY,<br />
<strong>HID</strong>_USAGE_SENSOR_STATE_NOT_AVAILABLE,<br />
<strong>HID</strong>_USAGE_SENSOR_STATE_NO_DATA,<br />
<strong>HID</strong>_USAGE_SENSOR_STATE_INITIALIZING,<br />
<strong>HID</strong>_USAGE_SENSOR_STATE_ACCESS_DENIED,<br />
<strong>HID</strong>_USAGE_SENSOR_STATE_ERROR,<br />
<strong>HID</strong>_INPUT(Const_Arr_Abs),<br />
<strong>HID</strong>_END_COLLECTION,<br />
<strong>HID</strong>_USAGE_SENSOR_EVENT,<br />
<strong>HID</strong>_LOGICAL_MIN_8(0),<br />
<strong>HID</strong>_LOGICAL_MAX_8(16),<br />
<strong>HID</strong>_REPORT_SIZE(8),<br />
<strong>HID</strong>_REPORT_COUNT(1),<br />
<strong>HID</strong>_COLLECTION(Logical),<br />
<strong>HID</strong>_USAGE_SENSOR_EVENT_UNKNOWN,<br />
<strong>HID</strong>_USAGE_SENSOR_EVENT_STATE_CHANGED,<br />
<strong>HID</strong>_USAGE_SENSOR_EVENT_PROPERTY_CHANGED,<br />
<strong>HID</strong>_USAGE_SENSOR_EVENT_DATA_UPDATED,<br />
<strong>HID</strong>_USAGE_SENSOR_EVENT_POLL_RESPONSE,<br />
<strong>HID</strong>_USAGE_SENSOR_EVENT_CHANGE_SENSITIVITY,<br />
<strong>HID</strong>_USAGE_SENSOR_EVENT_MAX_REACHED,<br />
<strong>HID</strong>_USAGE_SENSOR_EVENT_MIN_REACHED,<br />
<strong>HID</strong>_USAGE_SENSOR_EVENT_HIGH_THRESHOLD_CROSS_UPWARD,<br />
<strong>HID</strong>_USAGE_SENSOR_EVENT_HIGH_THRESHOLD_CROSS_DOWNWARD,<br />
<strong>HID</strong>_USAGE_SENSOR_EVENT_LOW_THRESHOLD_CROSS_UPWARD,<br />
<strong>HID</strong>_USAGE_SENSOR_EVENT_LOW_THRESHOLD_CROSS_DOWNWARD,<br />
<strong>HID</strong>_USAGE_SENSOR_EVENT_ZERO_THRESHOLD_CROSS_UPWARD,<br />
<strong>HID</strong>_USAGE_SENSOR_EVENT_ZERO_THRESHOLD_CROSS_DOWNWARD,<br />
<strong>HID</strong>_USAGE_SENSOR_EVENT_PERIOD_EXCEEDED,<br />
<strong>HID</strong>_USAGE_SENSOR_EVENT_FREQUENCY_EXCEEDED,<br />
<strong>HID</strong>_USAGE_SENSOR_EVENT_COMPLEX_TRIGGER,<br />
<strong>HID</strong>_INPUT(Const_Arr_Abs),<br />
<strong>HID</strong>_END_COLLECTION,<br />
<strong>HID</strong>_USAGE_SENSOR_DATA_CUSTOM_USAGE,<br />
<strong>HID</strong>_LOGICAL_MIN_8(0),<br />
<strong>HID</strong>_LOGICAL_MAX_16(0xFF,0xFF),<br />
<strong>HID</strong>_REPORT_SIZE(16),<br />
<strong>HID</strong>_REPORT_COUNT(1),<br />
<strong>HID</strong>_INPUT(Const_Var_Abs), // = <strong>HID</strong>_USAGE_SENSOR_TYPE_MOTION_SPEEDOMETER<br />
<strong>HID</strong>_USAGE_SENSOR_DATA_CUSTOM_VALUE_1,<br />
<strong>HID</strong>_LOGICAL_MIN_16(0x01,0x80), // LOGICAL_MINIMUM (-32767)<br />
<strong>HID</strong>_LOGICAL_MAX_16(0xFF,0x7F), // LOGICAL_MAXIMUM (32767)<br />
<strong>HID</strong>_REPORT_SIZE(16),<br />
<strong>HID</strong>_REPORT_COUNT(1),<br />
<strong>HID</strong>_USAGE_SENSOR_UNITS_NOT_SPECIFIED,<br />
<strong>HID</strong>_UNIT_EXPONENT(0x0E), // scale unit to provide 2 digits past the decimal point<br />
<strong>HID</strong>_INPUT(Const_Var_Abs), // = <strong>HID</strong>_USAGE_SENSOR_DATA_MOTION_SPEED value<br />
<strong>HID</strong>_END_COLLECTION<br />
Following is a complete report descriptor that illustrates fields not used in the above example:<br />
// Complete <strong>HID</strong> report descriptor<br />
const unsigned char cus_report_descriptor[] = {<br />
<strong>HID</strong>_USAGE_PAGE_SENSOR, // USAGE_PAGE (<strong>Sensor</strong>)<br />
<strong>HID</strong>_USAGE_SENSOR_TYPE_SIMPLE_CUSTOM, // USAGE (Simple Custom)<br />
<strong>HID</strong>_COLLECTION(Physical),<br />
//feature reports (xmit/receive)<br />
<strong>HID</strong>_USAGE_PAGE_SENSOR,<br />
<strong>HID</strong>_USAGE_SENSOR_PROPERTY_REPORTING_STATE,<br />
<strong>HID</strong>_LOGICAL_MIN_8(0),<br />
<strong>HID</strong>_LOGICAL_MAX_8(5),<br />
<strong>HID</strong>_REPORT_SIZE(8),<br />
<strong>HID</strong>_REPORT_COUNT(1),<br />
<strong>HID</strong>_COLLECTION(Logical),<br />
<strong>HID</strong>_USAGE_SENSOR_PROPERTY_REPORTING_STATE_NO_EVENTS,<br />
<strong>HID</strong>_USAGE_SENSOR_PROPERTY_REPORTING_STATE_ALL_EVENTS,<br />
<strong>HID</strong>_USAGE_SENSOR_PROPERTY_REPORTING_STATE_THRESHOLD_EVENTS,<br />
<strong>HID</strong>_USAGE_SENSOR_PROPERTY_REPORTING_STATE_NO_EVENTS_WAKE,<br />
<strong>HID</strong>_USAGE_SENSOR_PROPERTY_REPORTING_STATE_ALL_EVENTS_WAKE,<br />
<strong>HID</strong>_USAGE_SENSOR_PROPERTY_REPORTING_STATE_THRESHOLD_EVENTS_WAKE,<br />
<strong>HID</strong>_FEATURE(Data_Arr_Abs),<br />
<strong>HID</strong>_END_COLLECTION,<br />
<strong>HID</strong>_USAGE_SENSOR_PROPERTY_SENSOR_STATUS,<br />
<strong>HID</strong>_LOGICAL_MIN_8(0),