typedef struct _USB_HID_DEVICE_RPT_INFO { uint16_t reportPollingRate; uint8_t interfaceNumber; bool haveDesignatorMax; bool haveDesignatorMin; bool haveStringMax; bool haveStringMin; bool haveUsageMax; bool haveUsageMin; uint16_t designatorMaximum; uint16_t designatorMinimum; uint16_t designatorRanges; uint16_t designators; uint16_t rangeUsagePage; uint16_t stringMaximum; uint16_t stringMinimum; uint16_t stringRanges; uint16_t usageMaximum; uint16_t usageMinimum; uint16_t usageRanges; uint8_t collectionNesting; uint8_t collections; uint8_t designatorItems; uint8_t firstUsageItem; uint8_t firstDesignatorItem; uint8_t firstStringItem; uint8_t globalsNesting; uint8_t maxCollectionNesting; uint8_t maxGlobalsNesting; uint8_t parent; uint8_t reportItems; uint8_t reports; uint8_t sibling; uint8_t stringItems; uint8_t strings; uint8_t usageItems; uint8_t usages; HID_GLOBALS globals; } USB_HID_DEVICE_RPT_INFO;
Report Descriptor Information
This structure contains top level information of the report descriptor. This information is important and is used to understand the information during th ecourse of parsing. This structure also stores temporary data needed during parsing the report descriptor. All of this information may not be of much inportance to the application.
Members |
Description |
uint16_t reportPollingRate; |
This stores the pollrate for the input report. Application can use this to decide the rate of transfer |
uint8_t interfaceNumber; |
This stores the interface number for the current report descriptor |
bool haveDesignatorMax; |
True if report descriptor has a valid Designator Max |
bool haveDesignatorMin; |
True if report descriptor has a valid Designator Min |
bool haveStringMax; |
True if report descriptor has a valid String Max |
bool haveStringMin; |
True if report descriptor has a valid String Min |
bool haveUsageMax; |
True if report descriptor has a valid Usage Max |
bool haveUsageMin; |
True if report descriptor has a valid Usage Min |
uint16_t designatorMaximum; |
Last designator max value |
uint16_t designatorMinimum; |
Last designator min value |
uint16_t designatorRanges; |
Last designator range |
uint16_t designators; |
This tells toatal number of designator items |
uint16_t rangeUsagePage; |
current usage page during parsing |
uint16_t stringMaximum; |
current string maximum |
uint16_t stringMinimum; |
current string minimum |
uint16_t stringRanges; |
current string ranges |
uint16_t usageMaximum; |
current usage maximum |
uint16_t usageMinimum; |
current usage minimum |
uint16_t usageRanges; |
current usage ranges |
uint8_t collectionNesting; |
this number tells depth of collection nesting |
uint8_t collections; |
total number of collections |
uint8_t designatorItems; |
total number of designator items |
uint8_t firstUsageItem; |
index of first usage item for the current collection |
uint8_t firstDesignatorItem; |
index of first designator item for the current collection |
uint8_t firstStringItem; |
index of first string item for the current collection |
uint8_t globalsNesting; |
On encountering every PUSH item , this is incremented , keep track of current depth of Globals |
uint8_t maxCollectionNesting; |
Maximum depth of collections |
uint8_t maxGlobalsNesting; |
Maximum depth of Globals |
uint8_t parent; |
Parent collection |
uint8_t reportItems; |
total number of report items |
uint8_t reports; |
total number of reports |
uint8_t sibling; |
current sibling collection |
uint8_t stringItems; |
total number of string items , used to index the array of strings |
uint8_t strings; |
total sumber of strings |
uint8_t usageItems; |
total number of usage items , used to index the array of usage |
uint8_t usages; |
total sumber of usages |
HID_GLOBALS globals; |
holds cuurent globals items |
MLA - USB Library Help Version : 2.16
![]() |