Библиотека LUFA (раннее название MyUSB) версия 101122
HIDParser.h File Reference

Парсер дескриптора репорта класса USB Human Interface Device (HID). More...

#include <string.h>
#include <stdbool.h>
#include "HIDReportData.h"
#include "../Common/HID.h"
#include "../../../../Common/Common.h"

Data Structures

struct  HID_MinMax_t
 Структура элемента репорта парсера HID для минимума и максимума. More...
struct  HID_Unit_t
 Структура элемента репорта юнита для парсера HID. More...
struct  HID_Usage_t
 Структура элемента использования для парсера репорта HID. More...
struct  HID_CollectionPath_t
 Структура элемента пути коллекции парсера репорта HID. More...
struct  HID_ReportItem_Attributes_t
 Структура элемента атрибутов парсера репорта HID. More...
struct  HID_ReportItem_t
 Структура элемента подробной информации парсера репорта HID. More...
struct  HID_ReportSizeInfo_t
 Структура размера парсера репорта HID. More...
struct  HID_ReportInfo_t
 Структура состояния парсера HID. More...

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
#define HID_ALIGN_DATA(ReportItem, Type)   ((Type)(ReportItem->Value << ((8 * sizeof(Type)) - ReportItem->Attributes.BitSize)))

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, HID_ReportItem_t *const 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 *const CurrentItem)

Detailed Description

Этот файл позволяет просто делать парсинг сложных дескрипторов репорта HID, которые описывают данные, которые устройство HID передает хосту. Это также предоставляет простое API для распаковки и обработки элементов данных внутри репорта HID, отправляемого от подключенного устройства HID.

 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines