HIDParser.h File Reference
#include <string.h>
#include <stdbool.h>
#include "HIDReportData.h"
#include "../Common/HID.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 10 |
#define | HID_MAX_REPORTITEMS 20 |
#define | HID_MAX_REPORT_IDS 10 |
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 |
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) |
bool | USB_GetHIDReportItemInfo (const uint8_t *ReportData, HID_ReportItem_t *const ReportItem) ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(2) |
void | USB_SetHIDReportItemInfo (uint8_t *ReportData, const HID_ReportItem_t *ReportItem) ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(2) |
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) |
bool | CALLBACK_HIDParser_FilterHIDReportItem (HID_ReportItem_t *CurrentItem) |
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.