![]() |
LUFA Library
120219
|
HID Class Device Mode Configuration and State Structure. More...
#include <HIDClassDevice.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 PrevFrameNum | |
uint16_t IdleCount | |
uint16_t IdleMSRemaining | |
} | State |
Class state structure. An instance of this structure should be made for each HID interface within the user application, and passed to each of the HID class driver functions as the HIDInterfaceInfo
parameter. This stores each HID interface's configuration and state information.
struct { ... } USB_ClassInfo_HID_Device_t::Config |
Config data for the USB class interface within the device. All elements in this section must be set or the interface will fail to enumerate and operate correctly.
Report idle period, in milliseconds, set by the host.
Total number of milliseconds remaining before the idle period elapsed - this should be decremented by the user application if non-zero each millisecond.
Interface number of the HID interface within the device.
Frame number of the previous HID report packet opportunity.
Pointer to a buffer where the previously created HID input report can be stored by the driver, for comparison purposes to detect report changes that must be sent immediately to the host. This should point to a buffer big enough to hold the largest HID input report sent from the HID interface. If this is set to NULL
, it is up to the user to force transfers when needed in the CALLBACK_HID_Device_CreateHIDReport() callback function.
NULL
and the decision to send reports made by the user application instead. Size in bytes of the given input report buffer. This is used to create a second buffer of the same size within the driver so that subsequent reports can be compared. If the user app is to determine when reports are to be sent exclusively (i.e. PrevReportINBuffer is NULL
) this value must still be set to the size of the largest report the device can issue to the host.
Indicates if the HID interface's IN report endpoint should use double banking.
Endpoint number of the HID interface's IN report endpoint.
Size in bytes of the HID interface's IN report endpoint.
struct { ... } USB_ClassInfo_HID_Device_t::State |
State data for the USB class interface within the device. All elements in this section are reset to their defaults when the interface is enumerated.
Indicates if the HID interface is set to Boot or Report protocol mode.