Lightweight USB stack  1.0
USB HID class

This module contains USB Human Interface Devices class definitions. More...

Modules

 HID Usage Tables for Button
 Contains USB HID Usages definitions for Button Page.
 
 HID Usage Tables for Desktop
 Contains USB HID Usages definitions for Generic Desktop Page.
 
 HID Usages for Device
 Contains USB HID Usages definitions for Generic Device Control Page.
 
 HID Usage Tables for Game
 Contains USB HID Usages definitions for Game Controls Page.
 
 HID Usages for Keyboard
 Contains USB HID Usages definitions for Keyboard/Keypad Page.
 
 HID Usages for LED's
 Contains USB HID Usages definitions for LED's Control Page.
 
 HID Usage Tables for Ordinal
 Contains USB HID Usages definitions for Ordinal Page.
 
 HID Usage Tables for Power Devices.
 Contains USB HID Usage tables definitions for HID Power Devices.
 
 HID Usage Tables for Simulation
 Contains USB HID Usages definitions for Simulation Controls Page.
 
 HID Usage Tables for Sport
 Contains USB HID Usages definitions for Sport Controls Page.
 
 HID Usage Tables for Telephony
 Contains USB HID Usages definitions for Telephony Page.
 
 HID Usage Tables for VR
 Contains USB HID Usages definitions for VR Control Page.
 

Data Structures

struct  usb_hid_descriptor
 USB HID functional descriptor. More...
 
struct  usb_hid_descriptor_header
 USB HID functional descriptor header. More...
 
struct  usb_hid_report_descriptor
 USB HID report descriptor. More...
 

Macros

#define USB_HID_REPORT_IN   0x01
 Indicates that the item is an IN report type.
 
#define USB_HID_REPORT_OUT   0x02
 Indicates that the item is an OUT report type.
 
#define USB_HID_REPORT_FEATURE   0x03
 Indicates that the item is a FEATURE report type.
 
#define DECLARE_USB_HID_DESCRIPTOR(p)
 Helper macro for the multireport hid descriptor. More...
 

USB HID class code

#define USB_CLASS_HID   0x03
 Interface belongs to the Human Interface device class.
 

USB HID subclass codes

#define USB_HID_SUBCLASS_NONBOOT   0x00
 Nonboot subclass.
 
#define USB_HID_SUBCLASS_BOOT   0x01
 Boot subclass.
 

USB HID protocol codes

#define USB_HID_PROTO_NONBOOT   0x00
 Nonboot protocol.
 
#define USB_HID_PROTO_KEYBOARD   0x01
 Keyboard boot protocol.
 
#define USB_HID_PROTO_MOUSE   0x02
 Mouse boot protocol.
 

USB HID class-specified requests

#define USB_HID_GETREPORT   0x01
 Request to get the current HID report from the device.
 
#define USB_HID_GETIDLE   0x02
 Request to get the current device idle count.
 
#define USB_HID_GETPROTOCOL   0x03
 Request to get the current HID report protocol mode.
 
#define USB_HID_SETREPORT   0x09
 Request to set the current HID report to the device.
 
#define USB_HID_SETIDLE   0x0A
 Request to set the device's idle count.
 
#define USB_HID_SETPROTOCOL   0x0B
 Request to set the current HID report protocol mode.
 

USB HID class-specified descriptor types

#define USB_DTYPE_HID   0x21
 HID class HID descriptor type.
 
#define USB_DTYPE_HID_REPORT   0x22
 HID class HID report descriptor type.
 

USB HID country codes

#define USB_HID_COUNTRY_NONE   0
 Not supported.
 
#define USB_HID_COUNTRY_AR   1
 Arabic.
 
#define USB_HID_COUNTRY_BE   2
 Belgian.
 
#define USB_HID_COUNTRY_CA_BI   3
 Canadian-Bilingual.
 
#define USB_HID_COUNTRY_CA_FR   4
 Canadian-French.
 
#define USB_HID_COUNTRY_CZ   5
 Czech Republic.
 
#define USB_HID_COUNTRY_DK   6
 Danish.
 
#define USB_HID_COUNTRY_FI   7
 Finnish.
 
#define USB_HID_COUNTRY_FR   8
 French.
 
#define USB_HID_COUNTRY_DE   9
 German.
 
#define USB_HID_COUNTRY_GR   10
 Greek.
 
#define USB_HID_COUNTRY_HEB   11
 Hebrew.
 
#define USB_HID_COUNTRY_HU   12
 Hungary.
 
#define USB_HID_COUNTRY_ISO   13
 International (ISO)
 
#define USB_HID_COUNTRY_IT   14
 Italian.
 
#define USB_HID_COUNTRY_JP   15
 Japan (Katakana)
 
#define USB_HID_COUNTRY_KR   16
 Korean.
 
#define USB_HID_COUNTRY_LAT   17
 Latin American.
 
#define USB_HID_COUNTRY_NL   18
 Netherlands/Dutch.
 
#define USB_HID_COUNTRY_NO   19
 Norwegian.
 
#define USB_HID_COUNTRY_PER   20
 Persian (Farsi)
 
#define USB_HID_COUNTRY_PL   21
 Poland.
 
#define USB_HID_COUNTRY_PO   22
 Portuguese.
 
#define USB_HID_COUNTRY_RU   23
 Russia.
 
#define USB_HID_COUNTRY_SK   24
 Slovakia.
 
#define USB_HID_COUNTRY_ES   25
 Spanish.
 
#define USB_HID_COUNTRY_SE   26
 Swedish.
 
#define USB_HID_COUNTRY_CH_FR   26
 Swiss-French.
 
#define USB_HID_COUNTRY_CH_DE   27
 Swiss-German.
 
#define USB_HID_COUNTRY_CH   29
 Switzerland.
 
#define USB_HID_COUNTRY_TW   30
 Taiwan.
 
#define USB_HID_COUNTRY_TR_Q   31
 Turkish-Q.
 
#define USB_HID_COUNTRY_UK   32
 United Kingdom.
 
#define USB_HID_COUNTRY_US   33
 United States.
 
#define USB_HID_COUNTRY_YU   34
 Yugoslavia.
 
#define USB_HID_COUNTRY_TR_F   35
 Turkish-F.
 

HID Collections types

#define HID_PHYSICAL_COLLECTION   0x00
 A physical collection of items.
 
#define HID_APPLICATION_COLLECTION   0x01
 Applies a name to a top level collection which the operating system uses to identify a device and possibly remap to a legacy API.
 
#define HID_LOGICAL_COLLECTION   0x02
 A logical collection of items.
 
#define HID_REPORT_COLLECTION   0x03
 
#define HID_NARY_COLLECTION   0x04
 A collection that encompasses an array definition, naming the array set or the field created by the array.
 
#define HID_USAGE_SWITCH_COLLECTION   0x05
 Modifies the purpose or function of the usages (controls) that it contains.
 
#define HID_USAGE_MODIFIER_COLLECTION   0x06
 Modifies the purpose or function of the usages (controls) that contains it.
 

HID Input, Output and Feature Report Descriptor Item Flags

#define HID_IOF_CONSTANT   (1 << 0)
 
#define HID_IOF_DATA   (0 << 0)
 
#define HID_IOF_VARIABLE   (1 << 1)
 
#define HID_IOF_ARRAY   (0 << 1)
 
#define HID_IOF_RELATIVE   (1 << 2)
 
#define HID_IOF_ABSOLUTE   (0 << 2)
 
#define HID_IOF_WRAP   (1 << 3)
 
#define HID_IOF_NO_WRAP   (0 << 3)
 
#define HID_IOF_NON_LINEAR   (1 << 4)
 
#define HID_IOF_LINEAR   (0 << 4)
 
#define HID_IOF_NO_PREFERRED_STATE   (1 << 5)
 
#define HID_IOF_PREFERRED_STATE   (0 << 5)
 
#define HID_IOF_NULLSTATE   (1 << 6)
 
#define HID_IOF_NO_NULL_POSITION   (0 << 6)
 
#define HID_IOF_VOLATILE   (1 << 7)
 
#define HID_IOF_NON_VOLATILE   (0 << 7)
 
#define HID_IOF_BUFFERED_BYTES   (1 << 8)
 
#define HID_IOF_BITFIELD   (0 << 8)
 

HID Report Descriptor Main items

#define HID_RI_INPUT(DataBits, ...)   _HID_RI_ENTRY(HID_RI_TYPE_MAIN , 0x80, DataBits, __VA_ARGS__)
 
#define HID_RI_OUTPUT(DataBits, ...)   _HID_RI_ENTRY(HID_RI_TYPE_MAIN , 0x90, DataBits, __VA_ARGS__)
 
#define HID_RI_COLLECTION(DataBits, ...)   _HID_RI_ENTRY(HID_RI_TYPE_MAIN , 0xA0, DataBits, __VA_ARGS__)
 
#define HID_RI_FEATURE(DataBits, ...)   _HID_RI_ENTRY(HID_RI_TYPE_MAIN , 0xB0, DataBits, __VA_ARGS__)
 
#define HID_RI_END_COLLECTION(DataBits, ...)   _HID_RI_ENTRY(HID_RI_TYPE_MAIN , 0xC0, DataBits, __VA_ARGS__)
 

HID Report Descriptor Global items

#define HID_RI_USAGE_PAGE(DataBits, ...)   _HID_RI_ENTRY(HID_RI_TYPE_GLOBAL, 0x00, DataBits, __VA_ARGS__)
 
#define HID_RI_LOGICAL_MINIMUM(DataBits, ...)   _HID_RI_ENTRY(HID_RI_TYPE_GLOBAL, 0x10, DataBits, __VA_ARGS__)
 
#define HID_RI_LOGICAL_MAXIMUM(DataBits, ...)   _HID_RI_ENTRY(HID_RI_TYPE_GLOBAL, 0x20, DataBits, __VA_ARGS__)
 
#define HID_RI_PHYSICAL_MINIMUM(DataBits, ...)   _HID_RI_ENTRY(HID_RI_TYPE_GLOBAL, 0x30, DataBits, __VA_ARGS__)
 
#define HID_RI_PHYSICAL_MAXIMUM(DataBits, ...)   _HID_RI_ENTRY(HID_RI_TYPE_GLOBAL, 0x40, DataBits, __VA_ARGS__)
 
#define HID_RI_UNIT_EXPONENT(DataBits, ...)   _HID_RI_ENTRY(HID_RI_TYPE_GLOBAL, 0x50, DataBits, __VA_ARGS__)
 
#define HID_RI_UNIT(DataBits, ...)   _HID_RI_ENTRY(HID_RI_TYPE_GLOBAL, 0x60, DataBits, __VA_ARGS__)
 
#define HID_RI_REPORT_SIZE(DataBits, ...)   _HID_RI_ENTRY(HID_RI_TYPE_GLOBAL, 0x70, DataBits, __VA_ARGS__)
 
#define HID_RI_REPORT_ID(DataBits, ...)   _HID_RI_ENTRY(HID_RI_TYPE_GLOBAL, 0x80, DataBits, __VA_ARGS__)
 
#define HID_RI_REPORT_COUNT(DataBits, ...)   _HID_RI_ENTRY(HID_RI_TYPE_GLOBAL, 0x90, DataBits, __VA_ARGS__)
 
#define HID_RI_PUSH(DataBits, ...)   _HID_RI_ENTRY(HID_RI_TYPE_GLOBAL, 0xA0, DataBits, __VA_ARGS__)
 
#define HID_RI_POP(DataBits, ...)   _HID_RI_ENTRY(HID_RI_TYPE_GLOBAL, 0xB0, DataBits, __VA_ARGS__)
 

HID Report Descriptor Local items

#define HID_RI_USAGE(DataBits, ...)   _HID_RI_ENTRY(HID_RI_TYPE_LOCAL , 0x00, DataBits, __VA_ARGS__)
 
#define HID_RI_USAGE_MINIMUM(DataBits, ...)   _HID_RI_ENTRY(HID_RI_TYPE_LOCAL , 0x10, DataBits, __VA_ARGS__)
 
#define HID_RI_USAGE_MAXIMUM(DataBits, ...)   _HID_RI_ENTRY(HID_RI_TYPE_LOCAL , 0x20, DataBits, __VA_ARGS__)
 
#define HID_RI_DESIGNATOR_INDEX(DataBits, ...)   _HID_RI_ENTRY(HID_RI_TYPE_LOCAL , 0x30, DataBits, __VA_ARGS__)
 
#define HID_RI_DESIGNATOR_MIN(DataBits, ...)   _HID_RI_ENTRY(HID_RI_TYPE_LOCAL , 0x40, DataBits, __VA_ARGS__)
 
#define HID_RI_DESIGNATOR_MAX(DataBits, ...)   _HID_RI_ENTRY(HID_RI_TYPE_LOCAL , 0x50, DataBits, __VA_ARGS__)
 
#define HID_RI_STRING_INDEX(DataBits, ...)   _HID_RI_ENTRY(HID_RI_TYPE_LOCAL , 0x70, DataBits, __VA_ARGS__)
 
#define HID_RI_STRING_MINIMUM(DataBits, ...)   _HID_RI_ENTRY(HID_RI_TYPE_LOCAL , 0x80, DataBits, __VA_ARGS__)
 
#define HID_RI_STRING_MAXIMUM(DataBits, ...)   _HID_RI_ENTRY(HID_RI_TYPE_LOCAL , 0x90, DataBits, __VA_ARGS__)
 
#define HID_RI_DELIMITER(DataBits, ...)   _HID_RI_ENTRY(HID_RI_TYPE_LOCAL , 0xA0, DataBits, __VA_ARGS__)
 

HID Report Descriptor for most common cases

#define HID_INPUT(data)   HID_RI_INPUT(8, data)
 
#define HID_OUTPUT(data)   HID_RI_OUTPUT(8, data)
 
#define HID_COLLECTION(data)   HID_RI_COLLECTION(8, data)
 
#define HID_FEATURE(data)   HID_RI_FEATURE(8, data)
 
#define HID_END_COLLECTION   HID_RI_END_COLLECTION(0)
 
#define HID_USAGE_PAGE(data)   HID_RI_USAGE_PAGE(8, data)
 
#define HID_LOGICAL_MINIMUM(data)   HID_RI_LOGICAL_MINIMUM(8, data)
 
#define HID_LOGICAL_MAXIMUM(data)   HID_RI_LOGICAL_MAXIMUM(8, data)
 
#define HID_PHYSICAL_MINIMUM(data)   HID_RI_PHYSICAL_MINIMUM(16, data)
 
#define HID_PHYSICAL_MAXIMUM(data)   HID_RI_PHYSICAL_MAXIMUM(16, data)
 
#define HID_UNIT_EXPONENT(data)   HID_RI_UNIT_EXPONENT(8, data)
 
#define HID_UNIT(bits, data)   HID_RI_UNIT(bits, data)
 
#define HID_REPORT_SIZE(data)   HID_RI_REPORT_SIZE(8, data)
 
#define HID_REPORT_ID(data)   HID_RI_REPORT_ID(8, data)
 
#define HID_REPORT_COUNT(data)   HID_RI_REPORT_COUNT(8, data)
 
#define HID_PUSH   HID_RI_PUSH(0)
 
#define HID_POP   HID_RI_POP(0)
 
#define HID_USAGE(data)   HID_RI_USAGE(8, data)
 
#define HID_USAGE_MINIMUM(data)   HID_RI_USAGE_MINIMUM(8, data)
 
#define HID_USAGE_MAXIMUM(data)   HID_RI_USAGE_MAXIMUM(8, data)
 

Macros for the units encoding

#define HID_UNIT_NONE   0x00
 
#define HID_UNIT_CGS_LINEAR   0x01
 
#define HID_UNIT_CGS_ROTATION   0x02
 
#define HID_UNIT_IMPERIAL_LINEAR   0x03
 
#define HID_UNIT_IMPERIAL_ROTATION   0x04
 
#define HID_UNIT_LENGTH(exp)   ((exp & 0x0F) << 4)
 
#define HID_UNIT_ANGLE(exp)   ((exp & 0x0F) << 4)
 
#define HID_UNIT_MASS(exp)   ((exp & 0x0F) << 8)
 
#define HID_UNIT_TIME(exp)   ((exp & 0x0F) << 12)
 
#define HID_UNIT_TEMPERATURE(exp)   ((exp & 0x0F) << 16)
 
#define HID_UNIT_CURRENT(exp)   ((exp & 0x0F) << 20)
 
#define HID_UNIT_LUMINOUS(exp)   ((exp & 0x0F) << 24)
 

Macros for the some SI named units

#define HID_UNIT_METER(exp)
 
#define HID_UNIT_KG(exp)
 
#define HID_UNIT_SECOND(exp)
 
#define HID_UNIT_MPS(exp)
 
#define HID_UNIT_MPS2(exp)
 
#define HID_UNIT_NEWTON(exp)
 
#define HID_UNIT_JOULE(exp)
 
#define HID_UNIT_WATT(exp)
 
#define HID_UNIT_PASCAL(exp)
 
#define HID_UNIT_HERTZ(exp)
 
#define HID_UNIT_AMPERE(exp)
 
#define HID_UNIT_VOLT(exp)
 
#define HID_UNIT_OHM(exp)
 
#define HID_UNIT_HENRY(exp)
 
#define HID_UNIT_FARAD(exp)
 
#define HID_UNIT_COULOMB(exp)
 
#define HID_UNIT_TESLA(exp)
 
#define HID_UNIT_LUX(exp)
 

Detailed Description

This module contains USB Human Interface Devices class definitions.

This module based on

Control usage types
Type Logical min Logical max Flags Signal Operation
[LC] Linear control -1 1 Relative, Preferred state Edge Inc / Dec value
-Min Max Relative, Preferred state Level Inc / Dec value by n
Min Max Absolute, Preferred state N/A Absolute value
[OOC] ON/OFF control -1 1 Relative, No preferred Edge 1 asserts ON; -1 assertsOFF
0 1 Relative, Preferred state Edge 0->1 toggles ON/OFF
0 1 Absolute, No preferred Level 0 asserts ON; 1 asserts OFF
[MC] Momentary control 0 1 Absolute, Preferred state Level 0 asserts, 1 deasserts condition
[OSC] One shot control 0 1 Relative, Preferred state Edge 0->1 triggers an event
[RTC] Re-trigger control 0 1 Absolute, Preferred state Level 1 trigger an event
Data usage types
Type Flgs Description
[SEL] Selector Array Contained a Named Array
[SV] Static value Constant, Variable, Absolute Read-only multiple-bit value
[SF] Static flag Constant, Variable, Absolute Read-only single-bit value
[DV] Dynamic value Data, Variable, Absolute Read-write multiple-bit value
[DF] Dynamic flag Data, Variable, Absolute Read-write single-bit value

Macro Definition Documentation

◆ DECLARE_USB_HID_DESCRIPTOR

#define DECLARE_USB_HID_DESCRIPTOR (   p)
Value:
struct usb_hid_descriptor_##p { \
uint8_t bLength; \
uint8_t bDescriptorType; \
uint16_t bcdHID; \
uint8_t bCountryCode; \
uint8_t bNumDescriptors; \
struct usb_hid_report_descriptor report[p]; \
} __attribute__((packed));
USB HID report descriptor.
Definition: usb_hid.h:167

Helper macro for the multireport hid descriptor.

Definition at line 173 of file usb_hid.h.

◆ HID_IOF_CONSTANT

#define HID_IOF_CONSTANT   (1 << 0)

Item is a static read-only field in a report and cannot be modified.

Definition at line 211 of file usb_hid.h.

◆ HID_IOF_DATA

#define HID_IOF_DATA   (0 << 0)

Item contains a modifiable device data.

Definition at line 212 of file usb_hid.h.

◆ HID_IOF_VARIABLE

#define HID_IOF_VARIABLE   (1 << 1)

Each field represents data from a physical control.

Definition at line 213 of file usb_hid.h.

◆ HID_IOF_ARRAY

#define HID_IOF_ARRAY   (0 << 1)

Array returns an index in each field that corresponds to the pressed button.

Definition at line 214 of file usb_hid.h.

◆ HID_IOF_RELATIVE

#define HID_IOF_RELATIVE   (1 << 2)

Data is relative (indicating the change in value from the last report).

Definition at line 215 of file usb_hid.h.

◆ HID_IOF_ABSOLUTE

#define HID_IOF_ABSOLUTE   (0 << 2)

Data is absolute (based on a fixed origin).

Definition at line 216 of file usb_hid.h.

◆ HID_IOF_WRAP

#define HID_IOF_WRAP   (1 << 3)

Data “rolls over” when reaching either the extreme high or low value.

Definition at line 217 of file usb_hid.h.

◆ HID_IOF_NO_WRAP

#define HID_IOF_NO_WRAP   (0 << 3)

Data not “rolls over” when reaching either the extreme high or low value.

Definition at line 218 of file usb_hid.h.

◆ HID_IOF_NON_LINEAR

#define HID_IOF_NON_LINEAR   (1 << 4)

Noninear relationship between logical and physical units.

Definition at line 219 of file usb_hid.h.

◆ HID_IOF_LINEAR

#define HID_IOF_LINEAR   (0 << 4)

Linear relationship between logical and physical units.

Definition at line 220 of file usb_hid.h.

◆ HID_IOF_NO_PREFERRED_STATE

#define HID_IOF_NO_PREFERRED_STATE   (1 << 5)

Control has no preferred state.

Definition at line 221 of file usb_hid.h.

◆ HID_IOF_PREFERRED_STATE

#define HID_IOF_PREFERRED_STATE   (0 << 5)

Control has a preferred state to which it will return when the user is not physically interacting with the control.

Definition at line 222 of file usb_hid.h.

◆ HID_IOF_NULLSTATE

#define HID_IOF_NULLSTATE   (1 << 6)

Control has a state in which it is not sending meaningful data.

Definition at line 225 of file usb_hid.h.

◆ HID_IOF_NO_NULL_POSITION

#define HID_IOF_NO_NULL_POSITION   (0 << 6)

Control has no nullstate.

Definition at line 226 of file usb_hid.h.

◆ HID_IOF_VOLATILE

#define HID_IOF_VOLATILE   (1 << 7)

Data may be changed by device itself. (Output and Feature)

Definition at line 227 of file usb_hid.h.

◆ HID_IOF_NON_VOLATILE

#define HID_IOF_NON_VOLATILE   (0 << 7)

Data can be changed by host only. (Output and Feature)

Definition at line 228 of file usb_hid.h.

◆ HID_IOF_BUFFERED_BYTES

#define HID_IOF_BUFFERED_BYTES   (1 << 8)

Indicates that the control emits a fixed-size stream of bytes.

Definition at line 229 of file usb_hid.h.

◆ HID_IOF_BITFIELD

#define HID_IOF_BITFIELD   (0 << 8)

Data is a fixed bitfield.

Definition at line 230 of file usb_hid.h.

◆ HID_RI_INPUT

#define HID_RI_INPUT (   DataBits,
  ... 
)    _HID_RI_ENTRY(HID_RI_TYPE_MAIN , 0x80, DataBits, __VA_ARGS__)

Describes information about the data provided by one or more physical controls.

Definition at line 236 of file usb_hid.h.

◆ HID_RI_OUTPUT

#define HID_RI_OUTPUT (   DataBits,
  ... 
)    _HID_RI_ENTRY(HID_RI_TYPE_MAIN , 0x90, DataBits, __VA_ARGS__)

similar to an Input item except it describes data sent to the device—for example, LED states.

Definition at line 238 of file usb_hid.h.

◆ HID_RI_COLLECTION

#define HID_RI_COLLECTION (   DataBits,
  ... 
)    _HID_RI_ENTRY(HID_RI_TYPE_MAIN , 0xA0, DataBits, __VA_ARGS__)

identifies a relationship between two or more data (Input, Output, or Feature.)

Definition at line 240 of file usb_hid.h.

◆ HID_RI_FEATURE

#define HID_RI_FEATURE (   DataBits,
  ... 
)    _HID_RI_ENTRY(HID_RI_TYPE_MAIN , 0xB0, DataBits, __VA_ARGS__)

describe device configuration information that can be sent to the device.

Definition at line 242 of file usb_hid.h.

◆ HID_RI_END_COLLECTION

#define HID_RI_END_COLLECTION (   DataBits,
  ... 
)    _HID_RI_ENTRY(HID_RI_TYPE_MAIN , 0xC0, DataBits, __VA_ARGS__)

closes a collection

Definition at line 244 of file usb_hid.h.

◆ HID_RI_USAGE_PAGE

#define HID_RI_USAGE_PAGE (   DataBits,
  ... 
)    _HID_RI_ENTRY(HID_RI_TYPE_GLOBAL, 0x00, DataBits, __VA_ARGS__)

Unsigned integer specifying the current Usage Page.

Definition at line 249 of file usb_hid.h.

◆ HID_RI_LOGICAL_MINIMUM

#define HID_RI_LOGICAL_MINIMUM (   DataBits,
  ... 
)    _HID_RI_ENTRY(HID_RI_TYPE_GLOBAL, 0x10, DataBits, __VA_ARGS__)

Defines a minimum value that a variable or array item will report.

Definition at line 251 of file usb_hid.h.

◆ HID_RI_LOGICAL_MAXIMUM

#define HID_RI_LOGICAL_MAXIMUM (   DataBits,
  ... 
)    _HID_RI_ENTRY(HID_RI_TYPE_GLOBAL, 0x20, DataBits, __VA_ARGS__)

Defines a maximum value that a variable or array item will report.

Definition at line 253 of file usb_hid.h.

◆ HID_RI_PHYSICAL_MINIMUM

#define HID_RI_PHYSICAL_MINIMUM (   DataBits,
  ... 
)    _HID_RI_ENTRY(HID_RI_TYPE_GLOBAL, 0x30, DataBits, __VA_ARGS__)

Defines a minimum value for the physical extent of a variable item

Definition at line 255 of file usb_hid.h.

◆ HID_RI_PHYSICAL_MAXIMUM

#define HID_RI_PHYSICAL_MAXIMUM (   DataBits,
  ... 
)    _HID_RI_ENTRY(HID_RI_TYPE_GLOBAL, 0x40, DataBits, __VA_ARGS__)

Defines a maximum value for the physical extent of a variable item

Definition at line 257 of file usb_hid.h.

◆ HID_RI_UNIT_EXPONENT

#define HID_RI_UNIT_EXPONENT (   DataBits,
  ... 
)    _HID_RI_ENTRY(HID_RI_TYPE_GLOBAL, 0x50, DataBits, __VA_ARGS__)

Value of the unit exponent in base 10.

Note
The USB-HID specification is unclear about Unit exponent usage. Practically it's limited by 1 nibble.

Definition at line 261 of file usb_hid.h.

◆ HID_RI_UNIT

#define HID_RI_UNIT (   DataBits,
  ... 
)    _HID_RI_ENTRY(HID_RI_TYPE_GLOBAL, 0x60, DataBits, __VA_ARGS__)

Encoded unit value

See also
HID_UNITS_ENCODE

Definition at line 263 of file usb_hid.h.

◆ HID_RI_REPORT_SIZE

#define HID_RI_REPORT_SIZE (   DataBits,
  ... 
)    _HID_RI_ENTRY(HID_RI_TYPE_GLOBAL, 0x70, DataBits, __VA_ARGS__)

Unsigned integer specifying the size of the report fields in bits.

Definition at line 265 of file usb_hid.h.

◆ HID_RI_REPORT_ID

#define HID_RI_REPORT_ID (   DataBits,
  ... 
)    _HID_RI_ENTRY(HID_RI_TYPE_GLOBAL, 0x80, DataBits, __VA_ARGS__)

Unsigned value that specifies the Report ID.

Definition at line 267 of file usb_hid.h.

◆ HID_RI_REPORT_COUNT

#define HID_RI_REPORT_COUNT (   DataBits,
  ... 
)    _HID_RI_ENTRY(HID_RI_TYPE_GLOBAL, 0x90, DataBits, __VA_ARGS__)

Unsigned integer specifying the number of data fields for the item

Definition at line 269 of file usb_hid.h.

◆ HID_RI_PUSH

#define HID_RI_PUSH (   DataBits,
  ... 
)    _HID_RI_ENTRY(HID_RI_TYPE_GLOBAL, 0xA0, DataBits, __VA_ARGS__)

Places a copy of the global item state table on the stack.

Definition at line 271 of file usb_hid.h.

◆ HID_RI_POP

#define HID_RI_POP (   DataBits,
  ... 
)    _HID_RI_ENTRY(HID_RI_TYPE_GLOBAL, 0xB0, DataBits, __VA_ARGS__)

Replaces the item state table with the top structure from the stack.

Definition at line 273 of file usb_hid.h.

◆ HID_RI_USAGE

#define HID_RI_USAGE (   DataBits,
  ... 
)    _HID_RI_ENTRY(HID_RI_TYPE_LOCAL , 0x00, DataBits, __VA_ARGS__)

Represents a suggested usage for the item or collection.

Definition at line 278 of file usb_hid.h.

◆ HID_RI_USAGE_MINIMUM

#define HID_RI_USAGE_MINIMUM (   DataBits,
  ... 
)    _HID_RI_ENTRY(HID_RI_TYPE_LOCAL , 0x10, DataBits, __VA_ARGS__)

Defines the starting usage associated with an array or bitmap

Definition at line 280 of file usb_hid.h.

◆ HID_RI_USAGE_MAXIMUM

#define HID_RI_USAGE_MAXIMUM (   DataBits,
  ... 
)    _HID_RI_ENTRY(HID_RI_TYPE_LOCAL , 0x20, DataBits, __VA_ARGS__)

Defines the ending usage associated with an array or bitmap.

Definition at line 282 of file usb_hid.h.

◆ HID_RI_DESIGNATOR_INDEX

#define HID_RI_DESIGNATOR_INDEX (   DataBits,
  ... 
)    _HID_RI_ENTRY(HID_RI_TYPE_LOCAL , 0x30, DataBits, __VA_ARGS__)

Determines the body part used for a control.

Definition at line 284 of file usb_hid.h.

◆ HID_RI_DESIGNATOR_MIN

#define HID_RI_DESIGNATOR_MIN (   DataBits,
  ... 
)    _HID_RI_ENTRY(HID_RI_TYPE_LOCAL , 0x40, DataBits, __VA_ARGS__)

Defines the index of the starting designator associated with an array or bitmap.

Definition at line 286 of file usb_hid.h.

◆ HID_RI_DESIGNATOR_MAX

#define HID_RI_DESIGNATOR_MAX (   DataBits,
  ... 
)    _HID_RI_ENTRY(HID_RI_TYPE_LOCAL , 0x50, DataBits, __VA_ARGS__)

Defines the index of the ending designator associated with an array or bitmap.

Definition at line 288 of file usb_hid.h.

◆ HID_RI_STRING_INDEX

#define HID_RI_STRING_INDEX (   DataBits,
  ... 
)    _HID_RI_ENTRY(HID_RI_TYPE_LOCAL , 0x70, DataBits, __VA_ARGS__)

String index for a String descriptor; allows a string to be associated with a particular item or control.

Definition at line 290 of file usb_hid.h.

◆ HID_RI_STRING_MINIMUM

#define HID_RI_STRING_MINIMUM (   DataBits,
  ... 
)    _HID_RI_ENTRY(HID_RI_TYPE_LOCAL , 0x80, DataBits, __VA_ARGS__)

Specifies the first string index when assigning a group of sequential strings to controls in an array or bitmap.

Definition at line 292 of file usb_hid.h.

◆ HID_RI_STRING_MAXIMUM

#define HID_RI_STRING_MAXIMUM (   DataBits,
  ... 
)    _HID_RI_ENTRY(HID_RI_TYPE_LOCAL , 0x90, DataBits, __VA_ARGS__)

Specifies the last string index when assigning a group of sequential strings to controls in an array or bitmap.

Definition at line 294 of file usb_hid.h.

◆ HID_RI_DELIMITER

#define HID_RI_DELIMITER (   DataBits,
  ... 
)    _HID_RI_ENTRY(HID_RI_TYPE_LOCAL , 0xA0, DataBits, __VA_ARGS__)

Defines the beginning or end of a set of local items (1 = open set, 0 = close set).

Definition at line 296 of file usb_hid.h.

◆ HID_INPUT

#define HID_INPUT (   data)    HID_RI_INPUT(8, data)

Describes information about the data provided by one or more physical controls.

Definition at line 300 of file usb_hid.h.

◆ HID_OUTPUT

#define HID_OUTPUT (   data)    HID_RI_OUTPUT(8, data)

similar to an Input item except it describes data sent to the device—for example, LED states.

Definition at line 301 of file usb_hid.h.

◆ HID_COLLECTION

#define HID_COLLECTION (   data)    HID_RI_COLLECTION(8, data)

identifies a relationship between two or more data (Input, Output, or Feature.)

Definition at line 302 of file usb_hid.h.

◆ HID_FEATURE

#define HID_FEATURE (   data)    HID_RI_FEATURE(8, data)

describe device configuration information that can be sent to the device.

Definition at line 303 of file usb_hid.h.

◆ HID_END_COLLECTION

#define HID_END_COLLECTION   HID_RI_END_COLLECTION(0)

closes a collection

Definition at line 304 of file usb_hid.h.

◆ HID_USAGE_PAGE

#define HID_USAGE_PAGE (   data)    HID_RI_USAGE_PAGE(8, data)

Range [0; 0xFF];Unsigned integer specifying the current Usage Page.

Definition at line 305 of file usb_hid.h.

◆ HID_LOGICAL_MINIMUM

#define HID_LOGICAL_MINIMUM (   data)    HID_RI_LOGICAL_MINIMUM(8, data)

Range [-127; 127];Defines a minimum value that a variable or array item will report.

Definition at line 306 of file usb_hid.h.

◆ HID_LOGICAL_MAXIMUM

#define HID_LOGICAL_MAXIMUM (   data)    HID_RI_LOGICAL_MAXIMUM(8, data)

Range [-127; 127];Defines a maximum value that a variable or array item will report.

Definition at line 307 of file usb_hid.h.

◆ HID_PHYSICAL_MINIMUM

#define HID_PHYSICAL_MINIMUM (   data)    HID_RI_PHYSICAL_MINIMUM(16, data)

Range [-32767; 32767];Defines a minimum value for the physical extent of a variable item

Definition at line 308 of file usb_hid.h.

◆ HID_PHYSICAL_MAXIMUM

#define HID_PHYSICAL_MAXIMUM (   data)    HID_RI_PHYSICAL_MAXIMUM(16, data)

Range [-32767; 32767];Defines a maximum value for the physical extent of a variable item

Definition at line 309 of file usb_hid.h.

◆ HID_UNIT_EXPONENT

#define HID_UNIT_EXPONENT (   data)    HID_RI_UNIT_EXPONENT(8, data)

Range [-127; 127]; Value of the unit exponent in base 10.

Note
The USB-HID specification is unclear about Unit exponent usage. Practically it's limited by 1 nibble.

Definition at line 310 of file usb_hid.h.

◆ HID_UNIT

#define HID_UNIT (   bits,
  data 
)    HID_RI_UNIT(bits, data)

Encoded unit value

See also
HID_UNITS_ENCODE

Definition at line 311 of file usb_hid.h.

◆ HID_REPORT_SIZE

#define HID_REPORT_SIZE (   data)    HID_RI_REPORT_SIZE(8, data)

Range [0; 0xFF];Unsigned integer specifying the size of the report fields in bits.

Definition at line 312 of file usb_hid.h.

◆ HID_REPORT_ID

#define HID_REPORT_ID (   data)    HID_RI_REPORT_ID(8, data)

Range [0; 0xFF];Unsigned value that specifies the Report ID.

Definition at line 313 of file usb_hid.h.

◆ HID_REPORT_COUNT

#define HID_REPORT_COUNT (   data)    HID_RI_REPORT_COUNT(8, data)

Range [0; 0xFF];Unsigned integer specifying the number of data fields for the item

Definition at line 314 of file usb_hid.h.

◆ HID_PUSH

#define HID_PUSH   HID_RI_PUSH(0)

Places a copy of the global item state table on the stack.

Definition at line 315 of file usb_hid.h.

◆ HID_POP

#define HID_POP   HID_RI_POP(0)

Replaces the item state table with the top structure from the stack.

Definition at line 316 of file usb_hid.h.

◆ HID_USAGE

#define HID_USAGE (   data)    HID_RI_USAGE(8, data)

Range [0; 0xFF];Represents a suggested usage for the item or collection.

Definition at line 317 of file usb_hid.h.

◆ HID_USAGE_MINIMUM

#define HID_USAGE_MINIMUM (   data)    HID_RI_USAGE_MINIMUM(8, data)

Range [0; 0xFF];Defines the starting usage associated with an array or bitmap

Definition at line 318 of file usb_hid.h.

◆ HID_USAGE_MAXIMUM

#define HID_USAGE_MAXIMUM (   data)    HID_RI_USAGE_MAXIMUM(8, data)

Range [0; 0xFF];Defines the ending usage associated with an array or bitmap.

Definition at line 319 of file usb_hid.h.

◆ HID_UNIT_NONE

#define HID_UNIT_NONE   0x00

No system.

Definition at line 325 of file usb_hid.h.

◆ HID_UNIT_CGS_LINEAR

#define HID_UNIT_CGS_LINEAR   0x01

Centimeter-Gram-Second metric linear system.

Note
USB-HID defines this as SI linear.

Definition at line 326 of file usb_hid.h.

◆ HID_UNIT_CGS_ROTATION

#define HID_UNIT_CGS_ROTATION   0x02

Centimeter-Gram-Second metric rotation system.

Note
USB-HID defines this as SI rotation.

Definition at line 327 of file usb_hid.h.

◆ HID_UNIT_IMPERIAL_LINEAR

#define HID_UNIT_IMPERIAL_LINEAR   0x03

Imperial linear system.

Definition at line 328 of file usb_hid.h.

◆ HID_UNIT_IMPERIAL_ROTATION

#define HID_UNIT_IMPERIAL_ROTATION   0x04

Imperial rotation system.

Definition at line 329 of file usb_hid.h.

◆ HID_UNIT_LENGTH

#define HID_UNIT_LENGTH (   exp)    ((exp & 0x0F) << 4)

Length, position, distance unit. cm (CGS), inch (Imperial)

Definition at line 330 of file usb_hid.h.

◆ HID_UNIT_ANGLE

#define HID_UNIT_ANGLE (   exp)    ((exp & 0x0F) << 4)

Angle unit. radians(CGS), degree (Imperial)

Definition at line 331 of file usb_hid.h.

◆ HID_UNIT_MASS

#define HID_UNIT_MASS (   exp)    ((exp & 0x0F) << 8)

Mass unit. gram (CGS), slug (Imperial)

Definition at line 332 of file usb_hid.h.

◆ HID_UNIT_TIME

#define HID_UNIT_TIME (   exp)    ((exp & 0x0F) << 12)

Time unit. secound.

Definition at line 333 of file usb_hid.h.

◆ HID_UNIT_TEMPERATURE

#define HID_UNIT_TEMPERATURE (   exp)    ((exp & 0x0F) << 16)

Temperature unit. Kelvin (CGS), Fahrenheit (Imperial)

Definition at line 334 of file usb_hid.h.

◆ HID_UNIT_CURRENT

#define HID_UNIT_CURRENT (   exp)    ((exp & 0x0F) << 20)

Current unit. Ampere

Definition at line 335 of file usb_hid.h.

◆ HID_UNIT_LUMINOUS

#define HID_UNIT_LUMINOUS (   exp)    ((exp & 0x0F) << 24)

Luminous intensity unit. Candela

Definition at line 336 of file usb_hid.h.

◆ HID_UNIT_METER

#define HID_UNIT_METER (   exp)
Value:
HID_UNIT_EXPONENT(exp + 2)
#define HID_UNIT(bits, data)
Definition: usb_hid.h:311
#define HID_UNIT_LENGTH(exp)
Definition: usb_hid.h:330
#define HID_UNIT_CGS_LINEAR
Definition: usb_hid.h:326

SI length. m = 1E2 * cm

Definition at line 342 of file usb_hid.h.

◆ HID_UNIT_KG

#define HID_UNIT_KG (   exp)
Value:
#define HID_UNIT_MASS(exp)
Definition: usb_hid.h:332
#define HID_UNIT(bits, data)
Definition: usb_hid.h:311
#define HID_UNIT_CGS_LINEAR
Definition: usb_hid.h:326
#define HID_UNIT_EXPONENT(data)
Definition: usb_hid.h:310

SI mass. kg = 1E3 * g

Definition at line 346 of file usb_hid.h.

◆ HID_UNIT_SECOND

#define HID_UNIT_SECOND (   exp)
Value:
#define HID_UNIT(bits, data)
Definition: usb_hid.h:311
#define HID_UNIT_CGS_LINEAR
Definition: usb_hid.h:326
#define HID_UNIT_EXPONENT(data)
Definition: usb_hid.h:310
#define HID_UNIT_TIME(exp)
Definition: usb_hid.h:333

SI time. 1s

Definition at line 350 of file usb_hid.h.

◆ HID_UNIT_MPS

#define HID_UNIT_MPS (   exp)
Value:
HID_UNIT_EXPONENT(exp + 2)
#define HID_UNIT(bits, data)
Definition: usb_hid.h:311
#define HID_UNIT_LENGTH(exp)
Definition: usb_hid.h:330
#define HID_UNIT_CGS_LINEAR
Definition: usb_hid.h:326
#define HID_UNIT_TIME(exp)
Definition: usb_hid.h:333

SI velocity. m/s = 1E2 * cm/s

Definition at line 354 of file usb_hid.h.

◆ HID_UNIT_MPS2

#define HID_UNIT_MPS2 (   exp)
Value:
HID_UNIT_EXPONENT(exp + 2)
#define HID_UNIT(bits, data)
Definition: usb_hid.h:311
#define HID_UNIT_LENGTH(exp)
Definition: usb_hid.h:330
#define HID_UNIT_CGS_LINEAR
Definition: usb_hid.h:326
#define HID_UNIT_TIME(exp)
Definition: usb_hid.h:333

SI acceleration. m/s^2 = 1E2 * cm/s^2

Definition at line 358 of file usb_hid.h.

◆ HID_UNIT_NEWTON

#define HID_UNIT_NEWTON (   exp)
Value:
HID_UNIT_EXPONENT(exp + 5)
#define HID_UNIT_MASS(exp)
Definition: usb_hid.h:332
#define HID_UNIT(bits, data)
Definition: usb_hid.h:311
#define HID_UNIT_LENGTH(exp)
Definition: usb_hid.h:330
#define HID_UNIT_CGS_LINEAR
Definition: usb_hid.h:326
#define HID_UNIT_TIME(exp)
Definition: usb_hid.h:333

SI force. N = 1E5 * g * cm / s^2

Definition at line 362 of file usb_hid.h.

◆ HID_UNIT_JOULE

#define HID_UNIT_JOULE (   exp)
Value:
HID_UNIT_EXPONENT(exp + 7)
#define HID_UNIT_MASS(exp)
Definition: usb_hid.h:332
#define HID_UNIT(bits, data)
Definition: usb_hid.h:311
#define HID_UNIT_LENGTH(exp)
Definition: usb_hid.h:330
#define HID_UNIT_CGS_LINEAR
Definition: usb_hid.h:326
#define HID_UNIT_TIME(exp)
Definition: usb_hid.h:333

SI energy. J = 1E7 * g * cm^2 / s^2

Definition at line 366 of file usb_hid.h.

◆ HID_UNIT_WATT

#define HID_UNIT_WATT (   exp)
Value:
HID_UNIT_EXPONENT(exp + 7)
#define HID_UNIT_MASS(exp)
Definition: usb_hid.h:332
#define HID_UNIT(bits, data)
Definition: usb_hid.h:311
#define HID_UNIT_LENGTH(exp)
Definition: usb_hid.h:330
#define HID_UNIT_CGS_LINEAR
Definition: usb_hid.h:326
#define HID_UNIT_TIME(exp)
Definition: usb_hid.h:333

SI power. W = 1E7 * g * cm^2 / s^3

Definition at line 370 of file usb_hid.h.

◆ HID_UNIT_PASCAL

#define HID_UNIT_PASCAL (   exp)
Value:
HID_UNIT_EXPONENT(exp + 1)
#define HID_UNIT_MASS(exp)
Definition: usb_hid.h:332
#define HID_UNIT(bits, data)
Definition: usb_hid.h:311
#define HID_UNIT_LENGTH(exp)
Definition: usb_hid.h:330
#define HID_UNIT_CGS_LINEAR
Definition: usb_hid.h:326
#define HID_UNIT_TIME(exp)
Definition: usb_hid.h:333

SI pressure. Pa = 1E1 * g / (cm * s^2)

Definition at line 374 of file usb_hid.h.

◆ HID_UNIT_HERTZ

#define HID_UNIT_HERTZ (   exp)
Value:
HID_UNIT_EXPONENT(exp + 0)
#define HID_UNIT(bits, data)
Definition: usb_hid.h:311
#define HID_UNIT_CGS_LINEAR
Definition: usb_hid.h:326
#define HID_UNIT_TIME(exp)
Definition: usb_hid.h:333

SI frequency. Hz = 1 / s

Definition at line 378 of file usb_hid.h.

◆ HID_UNIT_AMPERE

#define HID_UNIT_AMPERE (   exp)
Value:
HID_UNIT_EXPONENT(exp)
#define HID_UNIT_CURRENT(exp)
Definition: usb_hid.h:335
#define HID_UNIT(bits, data)
Definition: usb_hid.h:311
#define HID_UNIT_CGS_LINEAR
Definition: usb_hid.h:326

SI current. A

Definition at line 382 of file usb_hid.h.

◆ HID_UNIT_VOLT

#define HID_UNIT_VOLT (   exp)
Value:
HID_UNIT_EXPONENT(exp + 7)
#define HID_UNIT_CURRENT(exp)
Definition: usb_hid.h:335
#define HID_UNIT_MASS(exp)
Definition: usb_hid.h:332
#define HID_UNIT(bits, data)
Definition: usb_hid.h:311
#define HID_UNIT_LENGTH(exp)
Definition: usb_hid.h:330
#define HID_UNIT_CGS_LINEAR
Definition: usb_hid.h:326
#define HID_UNIT_TIME(exp)
Definition: usb_hid.h:333

SI voltage. V = W / A = 1E7 * g * cm^2 / (s^3 * A)

Definition at line 386 of file usb_hid.h.

◆ HID_UNIT_OHM

#define HID_UNIT_OHM (   exp)
Value:
HID_UNIT_EXPONENT(exp + 7)
#define HID_UNIT_CURRENT(exp)
Definition: usb_hid.h:335
#define HID_UNIT_MASS(exp)
Definition: usb_hid.h:332
#define HID_UNIT(bits, data)
Definition: usb_hid.h:311
#define HID_UNIT_LENGTH(exp)
Definition: usb_hid.h:330
#define HID_UNIT_CGS_LINEAR
Definition: usb_hid.h:326
#define HID_UNIT_TIME(exp)
Definition: usb_hid.h:333

SI resistance. Ohm = 1E7 * g * cm^2 / (s^3 * A^2)

Definition at line 390 of file usb_hid.h.

◆ HID_UNIT_HENRY

#define HID_UNIT_HENRY (   exp)
Value:
HID_UNIT_EXPONENT(exp + 7)
#define HID_UNIT_CURRENT(exp)
Definition: usb_hid.h:335
#define HID_UNIT_MASS(exp)
Definition: usb_hid.h:332
#define HID_UNIT(bits, data)
Definition: usb_hid.h:311
#define HID_UNIT_LENGTH(exp)
Definition: usb_hid.h:330
#define HID_UNIT_CGS_LINEAR
Definition: usb_hid.h:326
#define HID_UNIT_TIME(exp)
Definition: usb_hid.h:333

SI inductance. H = 1E7 * g * cm^2 / (s^2 * A^2)

Definition at line 394 of file usb_hid.h.

◆ HID_UNIT_FARAD

#define HID_UNIT_FARAD (   exp)
Value:
HID_UNIT_EXPONENT(exp - 7)
#define HID_UNIT_CURRENT(exp)
Definition: usb_hid.h:335
#define HID_UNIT_MASS(exp)
Definition: usb_hid.h:332
#define HID_UNIT(bits, data)
Definition: usb_hid.h:311
#define HID_UNIT_LENGTH(exp)
Definition: usb_hid.h:330
#define HID_UNIT_CGS_LINEAR
Definition: usb_hid.h:326
#define HID_UNIT_TIME(exp)
Definition: usb_hid.h:333

SI capacitance. F = 1E-7 * s^4 * A^2 / (cm^2 * g)

Definition at line 398 of file usb_hid.h.

◆ HID_UNIT_COULOMB

#define HID_UNIT_COULOMB (   exp)
Value:
HID_UNIT_EXPONENT(exp)
#define HID_UNIT_CURRENT(exp)
Definition: usb_hid.h:335
#define HID_UNIT(bits, data)
Definition: usb_hid.h:311
#define HID_UNIT_CGS_LINEAR
Definition: usb_hid.h:326
#define HID_UNIT_TIME(exp)
Definition: usb_hid.h:333

SI electric charge. C = s * A

Definition at line 402 of file usb_hid.h.

◆ HID_UNIT_TESLA

#define HID_UNIT_TESLA (   exp)
Value:
HID_UNIT_EXPONENT(exp)
#define HID_UNIT_CURRENT(exp)
Definition: usb_hid.h:335
#define HID_UNIT_MASS(exp)
Definition: usb_hid.h:332
#define HID_UNIT(bits, data)
Definition: usb_hid.h:311
#define HID_UNIT_CGS_LINEAR
Definition: usb_hid.h:326
#define HID_UNIT_TIME(exp)
Definition: usb_hid.h:333

SI magnetic flux density. T = 1E3 * g / (s^2 * A)

Definition at line 406 of file usb_hid.h.

◆ HID_UNIT_LUX

#define HID_UNIT_LUX (   exp)
Value:
HID_UNIT_EXPONENT(exp)
#define HID_UNIT(bits, data)
Definition: usb_hid.h:311
#define HID_UNIT_LENGTH(exp)
Definition: usb_hid.h:330
#define HID_UNIT_CGS_LINEAR
Definition: usb_hid.h:326
#define HID_UNIT_LUMINOUS(exp)
Definition: usb_hid.h:336

SI illuminance. lx = 1E4 * cd / cm^2

Definition at line 410 of file usb_hid.h.