Transcription of Template
1 1 HID Sensor Usages Request Submission Template Request #: HUTRR39. Title: HID Sensor Usage Tables Spec Release: HID Received: 05 May, 2011. Requester: Jim Trethewey Company: Intel Corporation Phone: +1 503 264 4636. Fax: +1 503 264 4230. Email: Current Status: Approved Priority: Normal Submitted: 05 May, 2011. Voting Starts: 23 June 2011. Voting Ends: 30 June 2011. Required Voter: HID Chair Nathan Sherman Required Voter: Intel Corporation Steve McGowan Required Voter: ST Microelectronics Bo Kang Response: Original submission modified due to feedback, replaced with this version, received 17 June 2011. Approved by voting companies 3 Yes votes1 No vote Notes on Approval Procedure HID WG On Line Voting Procedures: 1. Votes are on a per company basis. 2. Each Review Request shall have attached a Required Voter List that is the result of recruiting by the HID Chair and submitter of members of the USB IF. Required Voter List must include the HID Chair plus 2 companies (other than the submitter) plus any others designated by the HID.
2 Chair at the Chair's discretion. The Required Voter List ensures that a quorum is available to approve the Request. 3. Impose a 7-calendar-day posting time limit for new Review Requests. HID Chair or designate must post the RR within 7 calendar days. HID Chair or designate must work with the submitter to make sure the request is valid prior to posting. Valid review request must include all fields marked as required in the Template . A new Template will be adopted that requires at least the following fields: Change Text, Required Voter List, Review Period End Date and Voting End Date, Submittal Date, Submitter, Review Request Title and RR Number. 4. If a RR approval process stalls, the HID Chair may call a face-to-face meeting or conference call to decide the issue. Submitter may request that this take place. 5. Impose a minimum 15-calendar-day review period on a posted RR prior to the voting period. At HID Chair discretion, changes to the RR may require this review period to restart.
3 6. The Chair will accept votes via documentable means such as mail or e-mail during the 7 calendar days after the close of the review period. If a Required Voter does not vote during the period, then there is no quorum and the Chair may pursue the absent required voter and extend the voting 2 HID Sensor Usages period. The Chair may designate a substitute for the absent voter and extend the voting period if necessary. Summary A new HID Usage Page for various types of sensors is proposed. Background Computing devices are increasingly incorporating one or more sensors to enhance end-user usage models. These include, but are not limited to: accelerometer, gyrometer, compass, and ambient light sensor. Operating systems are beginning to support standardized APIs (application programming interfaces) to sensors, as examples: the Microsoft* Windows* 7 Sensor Framework, the MeeGo* Sensor Framework, and the Android* Sensor Framework. [* indicates may be trademarks or registered trademarks of their respective companies.]
4 ]. Standardization of HID usages for sensors would allow (but not require) sensor hardware vendors to provide a consistent Plug And Play interface at the USB boundary, thereby enabling some operating systems to incorporate common device drivers that could be reused between vendors, alleviating any need for the vendors to provide the drivers themselves. Approach Because the Microsoft Windows 7 Sensor Framework has the most comprehensive set of defined sensors to date; the approach of this proposal is to begin with an equivalent set and add some reasonable extensions. 3 HID Sensor Usages Table of Contents 1. SENSOR PAGE (0X20) .. 7 SENSOR DEVICE USAGES .. 20 SENSOR FIELD USAGES: MODIFIERS .. 24 SENSOR FIELD USAGES: STATES .. 25 SENSOR FIELD USAGES: EVENTS .. 26 SENSOR FIELD USAGES: PROPERTIES .. 27 BIOMETRIC SENSOR FIELD USAGES .. 30 ELECTRICAL SENSOR FIELD USAGES .. 30 ENVIRONMENTAL SENSOR FIELD USAGES .. 31 LIGHT SENSOR FIELD USAGES .. 31 LOCATION SENSOR FIELD USAGES.
5 32 MECHANICAL SENSOR FIELD USAGES .. 35 MOTION SENSOR FIELD USAGES .. 35 ORIENTATION SENSOR FIELD USAGES .. 36 SCANNER SENSOR FIELD USAGES .. 38 TIME SENSOR FIELD USAGES .. 39 CUSTOM SENSOR FIELD USAGES .. 40 GENERIC SENSOR FIELD USAGES .. 40 2. SENSOR BACKGROUNDER .. 45 GLOSSARY .. 45 SENSOR TAXONOMY AND OBJECT MODEL .. 50 3. SENSOR INTERACTION VIA HID .. 57 RELATED DOCUMENTS .. 57 FUNCTIONAL OVERVIEW .. 57 HID LOGICAL DEVICES .. 58 HID REPORTS .. 60 HID REPORT IDS .. 60 HID REPORT ITEMS .. 61 HID Report Item packing options .. 62 HID USAGES .. 64 HID Usage Types .. 64 HID Selectors .. 65 HID USAGE PAGE .. 66 HID UNITS .. 66 HID UNIT EXPONENTS .. 68 3D COORDINATES AND COMPASS POINTS .. 69 4. ILLUSTRATIVE EXAMPLES .. 71 INCLUDE FILE DEFINITIONS .. 71 SPECIAL CONSTRUCTIONS .. 78 Values, Types, and Unit Exponents .. 78 Extended Properties .. 80 Modifiers: Per datafield Properties .. 83 Event Thresholds .. 85 Sensor Collections .. 87 Custom Sensor .. 93 Generic Sensor.
6 97 ILLUSTRATIVE SENSOR REPORT DESCRIPTORS .. 104 4 HID Sensor Usages Biometric: Human Presence .. 104 Biometric: Human Proximity .. 106 Biometric: Touch .. 107 Electrical: Current .. 108 Electrical: Power .. 110 Electrical: Voltage .. 111 Electrical: Potentiometer .. 112 Electrical: Frequency .. 114 Environmental: Atmospheric Pressure .. 115 Environmental: Humidity .. 116 Environmental: Temperature .. 118 Light: Ambient 119 Location: GPS .. 121 Mechanical: Switches .. 124 Motion: Accelerometer .. 127 Motion: Gyrometer .. 132 Motion: Motion Detector .. 136 Orientation: Compass .. 137 Orientation: Inclinometer .. 140 Orientation: Distance .. 145 Orientation: Device Orientation .. 149 5 HID Sensor Usages Table of Tables Table 1. HID Usages for Sensors, Properties, Data Fields, and Selection 20 Table 2. Modifiers composed as the top 4 bits of Data Field Usage .. 24 Table 3. Selection Values for Sensor State Usage .. 26 Table 4. Selection Values for Sensor Event Usage.
7 27 Table 5. Other Common Usages for Orientation 38 Table 6. HID Transfer and Report Types .. 60 Table 7. A Report ID allocation scheme example .. 61 Table 8. Common Data Types expressed as Report Size and Report Count .. 62 Table 9. Input Report with a single scalar Data Field of Report Size 32, Report Count 1 .. 62 Table 10. Input Report with 2 separate scalar Data Fields of Report Size 16, Report Count 1 .. 63 Table 11. Input Report with a single array Data Field of Report Size 8, Report Count 6 (narrow character string Hello ) .. 63 Table 12. Feature Report with single scalar Property of Report Size 64, Report Count 1 .. 63 Table 13. Feature Report with 2 Properties, one a scalar of Report Size 8, Report Count 1 and one an array of Report Size 32, Report Count 63 Table 14. Usages applied to Collections and Report Items .. 64 Table 15. HID Usage Types .. 65 Table 16. Common Units of Measure and HID expressions .. 67 Table 17. HID Unit Exponent encoding and meanings.
8 68 Table 18. HID Unit Exponent encoding and meanings .. 79 Table 19. Modifier Usage example .. 86 6 HID Sensor Usages Table of Figures Figure 1. Sensor Categories .. 51 Figure 2. Sensor Types .. 51 Figure 3. Sensor Properties, Data Fields, and Selection Values .. 56 Figure 5. One TLC, 3 sub-Collections .. 59 Figure 6. Three TLCs .. 59 Figure 7. The 3D coordinate system used by computer graphics is ESD .. 69 Figure 8. The preferred 3D coordinate system used by airplanes is NED .. 70 Figure 9. Rotation Matrix translation from "ESD" to "NED" .. 70 7 HID Sensor Usages 1. Sensor Page (0x20). This page provides usages for sensors. This section is Normative, meaning that it is the formal description of HID Usages for Sensors. See Also For background information about Sensors, including a Glossary and conceptual object model, please see Section 2. For a discussion of how communication with Sensors is mapped onto HID mechanisms, please see Section 3. For illustrative examples of HID Report Descriptors for various types of Sensors that incorporate these Usages, please see Section 4.
9 The Usage IDs are numerically segregated into sections for convenience. The lowest-numbered IDs from 0x00 to 0xFF are Usages applied to Collections and represent sensor objects (may equate to sensor Categories or Types). The IDs from 0x0100 to 0x07FF are Usages applied to Properties and Data Fields. These are grouped by the sensor Category where the Usages are commonly employed, but this arrangement is arbitrary. Usages may be reported by any sensor (or more than one sensor) if it makes sense to do so. The IDs from 0x0800 to 0x0 FFF are Selector Usages used with Properties or Data Fields that are Named Array enumerations. The IDs from 0x1000 to 0xEFFF are Properties or Data Fields from the 0x0100 0x0 FFF range with Modifiers OR-ed in to the top 4 bits. The IDs from 0xF000 upward are reserved for proprietary use by vendors. Usage Usage ID Usage Name Section Type 00 Undefined 01 Sensor CA,CP 02-0F Sensor: Reserved (for Properties commonly used with all Sensors, please look at Usage range 0300 03ff).
10 (Data Field Timestamp is also commonly used with all Sensors, and its Usage is 0529). 10 Biometric CA,CP , 11 Biometric: Human Presence CA,CP , 12 Biometric: Human Proximity CA,CP , 13 Biometric: Human Touch CA,CP , 14-1F Biometric: Reserved (for Data Fields commonly used with Biometric sensors, please look at Usage range 04b0 04cf). 20 Electrical CA,CP , 8 HID Sensor Usages 21 Electrical: Capacitance CA,CP , 22 Electrical: Current CA,CP , 23 Electrical: Power CA,CP , 24 Electrical: Inductance CA,CP , 25 Electrical: Resistance CA,CP , 26 Electrical: Voltage CA,CP , 27 Electrical: Potentiometer CA,CP , 28 Electrical: Frequency CA,CP , 29 Electrical: Period CA,CP , 2A-2F Electrical: Reserved (for Data Fields commonly used with Electrical sensors, please look at Usage range 0500 051f). 30 Environmental CA,CP , 31 Environmental: Atmospheric Pressure CA,CP , 32 Environmental: Humidity CA,CP , 33 Environmental: Temperature CA,CP , 34 Environmental: Wind Direction CA,CP , 35 Environmental: Wind Speed CA,CP , 36-3F Environmental: Reserved (for Data Fields commonly used with Environmental sensors, please look at Usage range 0430 043f).