You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
90 <strong>HID</strong> <strong>Sensor</strong> <strong>Usage</strong>s<br />
};<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_LIGHT_ILLUMINANCE,<br />
<strong>HID</strong>_LOGICAL_MIN_8(0),<br />
<strong>HID</strong>_LOGICAL_MAX_16(0xFF,0xFF),<br />
<strong>HID</strong>_USAGE_SENSOR_UNITS_LUX,<br />
<strong>HID</strong>_UNIT_EXPONENT(0x0F), // scale unit to provide 1 digit past the decimal point<br />
<strong>HID</strong>_REPORT_SIZE(16),<br />
<strong>HID</strong>_REPORT_COUNT(1),<br />
<strong>HID</strong>_INPUT(Const_Var_Abs),<br />
<strong>HID</strong>_USAGE_SENSOR_DATA_LIGHT_COLOR_TEMPERATURE,<br />
<strong>HID</strong>_LOGICAL_MIN_8(0),<br />
<strong>HID</strong>_LOGICAL_MAX_16(0xFF,0xFF),<br />
<strong>HID</strong>_USAGE_SENSOR_UNITS_KELVIN,<br />
<strong>HID</strong>_UNIT_EXPONENT(0),<br />
<strong>HID</strong>_REPORT_SIZE(16),<br />
<strong>HID</strong>_REPORT_COUNT(1),<br />
<strong>HID</strong>_INPUT(Const_Var_Abs),<br />
<strong>HID</strong>_USAGE_SENSOR_DATA_LIGHT_CHROMATICITY_X,<br />
<strong>HID</strong>_LOGICAL_MIN_8(0),<br />
<strong>HID</strong>_LOGICAL_MAX_16(0xFF,0xFF),<br />
<strong>HID</strong>_USAGE_SENSOR_UNITS_NOT_SPECIFIED,<br />
<strong>HID</strong>_UNIT_EXPONENT(0x0C), // scale unit to provide 4 digits past the decimal point<br />
<strong>HID</strong>_REPORT_SIZE(16),<br />
<strong>HID</strong>_REPORT_COUNT(1),<br />
<strong>HID</strong>_INPUT(Const_Var_Abs),<br />
<strong>HID</strong>_USAGE_SENSOR_DATA_LIGHT_CHROMATICITY_Y,<br />
<strong>HID</strong>_LOGICAL_MIN_8(0),<br />
<strong>HID</strong>_LOGICAL_MAX_16(65535),<br />
<strong>HID</strong>_USAGE_SENSOR_UNITS_NOT_SPECIFIED,<br />
<strong>HID</strong>_UNIT_EXPONENT(0x0C), // scale unit to provide 4 digits past the decimal point<br />
<strong>HID</strong>_REPORT_SIZE(16),<br />
<strong>HID</strong>_REPORT_COUNT(1),<br />
<strong>HID</strong>_INPUT(Const_Var_Abs),<br />
<strong>HID</strong>_END_COLLECTION, // end of ALS nested sub-collection<br />
<strong>HID</strong>_END_COLLECTION<br />
The second example shows two Top Level Collections, one for each individual sensor:<br />
// For reference: Complete <strong>HID</strong> report descriptor<br />
// Two sensor example: 3D Accelerometer & AmbientLight<br />
const unsigned char non_nest_col_report_descriptor[] = {<br />
<strong>HID</strong>_USAGE_PAGE_SENSOR,<br />
<strong>HID</strong>_USAGE_SENSOR_TYPE_MOTION_ACCELEROMETER_3D,<br />
<strong>HID</strong>_REPORT_ID(1),<br />
<strong>HID</strong>_COLLECTION(Application), // first TLC, for accelerometer<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),<br />
<strong>HID</strong>_LOGICAL_MAX_32(0xFF,0xFF,0xFF,0xFF),<br />
<strong>HID</strong>_REPORT_SIZE(32),<br />
<strong>HID</strong>_REPORT_COUNT(1),<br />
<strong>HID</strong>_FEATURE(Data_Var_Abs), // up to VT_UI4 worth of status info<br />
<strong>HID</strong>_USAGE_SENSOR_PROPERTY_REPORT_INTERVAL,<br />
<strong>HID</strong>_LOGICAL_MIN_8(0),<br />
<strong>HID</strong>_LOGICAL_MAX_32(0xFF,0xFF,0xFF,0xFF),<br />
<strong>HID</strong>_REPORT_SIZE(32),<br />
<strong>HID</strong>_REPORT_COUNT(1),<br />
// <strong>HID</strong>_USAGE_SENSOR_UNITS_MILLISECOND,<br />
<strong>HID</strong>_UNIT_EXPONENT(0),<br />
<strong>HID</strong>_FEATURE(Data_Var_Abs),<br />
<strong>HID</strong>_USAGE_SENSOR_PROPERTY_SENSOR_CONNECTION_TYPE, // NAry<br />
<strong>HID</strong>_LOGICAL_MIN_8(0),<br />
<strong>HID</strong>_LOGICAL_MAX_8(2),<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_CONNECTION_TYPE_PC_INTEGRATED,