HIDParser.h File Reference
#include <string.h>
#include <stdbool.h>
#include "HIDReportData.h"
#include "../../../../Common/Common.h"
Data Structures |
struct | HID_MinMax_t |
struct | HID_Unit_t |
struct | HID_Usage_t |
struct | HID_CollectionPath_t |
struct | HID_ReportItem_Attributes_t |
struct | HID_ReportItem_t |
struct | HID_ReportSizeInfo_t |
struct | HID_ReportInfo_t |
Defines |
#define | HID_STATETABLE_STACK_DEPTH 2 |
#define | HID_USAGE_STACK_DEPTH 8 |
#define | HID_MAX_COLLECTIONS 5 |
#define | HID_MAX_REPORTITEMS 20 |
#define | HID_MAX_REPORT_IDS 10 |
Enumerations |
enum | HID_ReportItemTypes_t {
REPORT_ITEM_TYPE_In = 0,
REPORT_ITEM_TYPE_Out = 1,
REPORT_ITEM_TYPE_Feature = 2
} |
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_UsageStackOverflow = 6,
HID_PARSE_InsufficientReportIDItems = 7,
HID_PARSE_NoUnfilteredReportItems = 8
} |
Functions |
uint8_t | USB_ProcessHIDReport (const uint8_t *ReportData, uint16_t ReportSize, HID_ReportInfo_t *const ParserData) ATTR_NON_NULL_PTR_ARG(1 |
uint8_t bool | USB_GetHIDReportItemInfo (const uint8_t *ReportData, HID_ReportItem_t *const ReportItem) ATTR_NON_NULL_PTR_ARG(1 |
uint8_t bool void | USB_SetHIDReportItemInfo (uint8_t *ReportData, const HID_ReportItem_t *ReportItem) ATTR_NON_NULL_PTR_ARG(1 |
uint8_t bool void uint16_t | USB_GetHIDReportSize (HID_ReportInfo_t *const ParserData, const uint8_t ReportID, const uint8_t ReportType) ATTR_NON_NULL_PTR_ARG(1) ATTR_CONST |
bool | CALLBACK_HIDParser_FilterHIDReportItem (HID_ReportItem_Attributes_t *CurrentItemAttributes) |
Detailed Description
USB Human Interface Device (HID) Class report descriptor processing routines. This file allows for the easy parsing of the complex HID report descriptor, which describes the data that the device transmits to the host.