USB Human Interface Device (HID) Class report descriptor parser. More...
Data Structures | |
struct | HID_CollectionPath_t |
HID Parser Report Item Collection Path Structure. More... | |
struct | HID_MinMax_t |
HID Parser Report Item Min/Max Structure. More... | |
struct | HID_ReportInfo_t |
HID Parser State Structure. More... | |
struct | HID_ReportItem_Attributes_t |
HID Parser Report Item Attributes Structure. More... | |
struct | HID_ReportItem_t |
HID Parser Report Item Details Structure. More... | |
struct | HID_ReportSizeInfo_t |
HID Parser Report Size Structure. More... | |
struct | HID_Unit_t |
HID Parser Report Item Unit Structure. More... | |
struct | HID_Usage_t |
HID Parser Report Item Usage Structure. More... | |
Macros | |
#define | HID_ALIGN_DATA(ReportItem, Type) ((Type)(ReportItem->Value << ((8 * sizeof(Type)) - ReportItem->Attributes.BitSize))) |
#define | HID_MAX_COLLECTIONS 10 |
#define | HID_MAX_REPORT_IDS 10 |
#define | HID_MAX_REPORTITEMS 20 |
#define | HID_STATETABLE_STACK_DEPTH 2 |
#define | HID_USAGE_STACK_DEPTH 8 |
Enumerations | |
enum | HID_Parse_ErrorCodes_t { HID_PARSE_Successful = 0, HID_PARSE_HIDStackOverflow = 1, HID_PARSE_HIDStackUnderflow = 2, HID_PARSE_InsufficientReportItems = 3, HID_PARSE_UnexpectedEndCollection = 4, HID_PARSE_InsufficientCollectionPaths = 5, HID_PARSE_UsageListOverflow = 6, HID_PARSE_InsufficientReportIDItems = 7, HID_PARSE_NoUnfilteredReportItems = 8 } |
Functions | |
bool | CALLBACK_HIDParser_FilterHIDReportItem (HID_ReportItem_t *const CurrentItem) |
bool | USB_GetHIDReportItemInfo (const uint8_t *ReportData, HID_ReportItem_t *const ReportItem) ATTR_NON_NULL_PTR_ARG(1) |
uint16_t | USB_GetHIDReportSize (HID_ReportInfo_t *const ParserData, const uint8_t ReportID, const uint8_t ReportType) ATTR_CONST ATTR_NON_NULL_PTR_ARG(1) |
uint8_t | USB_ProcessHIDReport (const uint8_t *ReportData, uint16_t ReportSize, HID_ReportInfo_t *const ParserData) ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(3) |
void | USB_SetHIDReportItemInfo (uint8_t *ReportData, HID_ReportItem_t *const ReportItem) ATTR_NON_NULL_PTR_ARG(1) |
This file allows for the easy parsing of complex HID report descriptors, which describes the data that a HID device transmits to the host. It also provides an easy API for extracting and processing the data elements inside a HID report sent from an attached HID device.