Библиотека LUFA (раннее название MyUSB) версия 101122
|
Структура для хранения конфигурации и состояния устройства класса USB HID. More...
#include <HID.h>
Data Fields | |
struct { | |
uint8_t InterfaceNumber | |
uint8_t ReportINEndpointNumber | |
uint16_t ReportINEndpointSize | |
bool ReportINEndpointDoubleBank | |
void * PrevReportINBuffer | |
uint8_t PrevReportINBufferSize | |
} | Config |
struct { | |
bool UsingReportProtocol | |
uint16_t IdleCount | |
uint16_t IdleMSRemaining | |
} | State |
Структура состояния класса. Экземпляр этой структуры должен быть создан для каждого интерфейса HID в приложении пользователя, и передан каждой функции драйвера класса HID в параметре HIDInterfaceInfo. Это сохраняет информацию о конфигурации и состоянии для каждого интерфейса HID.
struct { ... } USB_ClassInfo_HID_Device_t::Config |
Данные конфигурации интерфейса класса USB в пределах устройства. Все элементы в этой секции ДОЛЖНЫ быть установлены или интерфейс не сможет пройти энумерацию и корректно работать.
Период ожидания между репортами в милисекундах, устанавливается хостом.
Общее количество милисекунд, оставшихся до истечения периода ожидания - эта переменная должна декрементироваться каждую милисекунду приложением поьзователя, если она не ноль.
номер интерфейса HID в пределах устройства.
указатель на буфер, где может быть сохранен драйвером ранее созданный входной репорт HID - для детектирования, что репорт изменился и должен быть немедленно отправлен хосту. Должен указывать на буфер достаточно большой, чтобы сохранить самый большой входной репорт HID, отправленный от интерфейса HID. Если этот параметр NULL, то на пользователя возложено запускать передачу, когда это нужно, вызовом функции CALLBACK_HID_Device_CreateHIDReport().
Размер в байтах указанного буфера входного репорта. Это значение исопльзуется для создания внутри драйвера второго буфера с тем же размером - чтобы можно было сравнивать последовательные репорты. Если приложение пользователя определяет, когда репорты отправляются эксклюзивно (например PrevReportINBuffer равен NULL) это значение все равно устанавливается в размер наибольшего репорта, который устройство может выдать в хост.
показывает, что конечная точка IN репорта интерфейса HID использует двойной банк.
номер конечной точки IN репорта интерфейса HID.
размер в байтах конечной точки IN репорта интерфейса HID.
struct { ... } USB_ClassInfo_HID_Device_t::State |
Данные состояния интерфейса класса USB в пределах устройства. Все элементы в этой секции сбрасываются в свое состояние по умолчанию, когда интерфейс проходит энумерацию.
Показывает, что интерфейс HID установлен в режим притокола загрузки (Boot) или в режим протокола репортов.