@ -56,6 +56,17 @@
# endif
# endif
/* Public Interface - May be used in end-application: */
/* Public Interface - May be used in end-application: */
/* Macros: */
# if !defined(HID_MAX_REPORT_SIZE)
/** Maximum size of an IN report which can be generated by the device and sent to the host, in bytes.
*
* \ note If larger reports than the default specified here are to be generated by the device , this
* value can be overridden by defining this token to the required value in the project makefile
* and passing it to the compiler via the - D switch .
*/
# define HID_MAX_REPORT_SIZE 16
# endif
/* Type Defines: */
/* Type Defines: */
/** Class state structure. An instance of this structure should be made for each HID interface
/** 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
* within the user application , and passed to each of the HID class driver functions as the
@ -68,19 +79,15 @@
uint8_t InterfaceNumber ; /**< Interface number of the HID interface within the device */
uint8_t InterfaceNumber ; /**< Interface number of the HID interface within the device */
uint8_t ReportINEndpointNumber ; /**< Endpoint number of the HID interface's IN report endpoint */
uint8_t ReportINEndpointNumber ; /**< Endpoint number of the HID interface's IN report endpoint */
uint16_t ReportINEndpointSize ; /**< Size in bytes of the HID interface's IN report endpoint */
uint16_t ReportINEndpointSize ; /**< Size in bytes of the HID interface's IN report endpoint */
uint8_t ReportINBufferSize ; /**< Size of the largest possible report to send to the host, for
* buffer allocation purposes
*/
} Config ; /**< Config data for the USB class interface within the device. All elements in this section
} Config ; /**< Config data for the USB class interface within the device. All elements in this section
* < b > must < / b > be set or the interface will fail to enumerate and operate correctly .
* < b > must < / b > be set or the interface will fail to enumerate and operate correctly .
*/
*/
struct
struct
{
{
bool UsingReportProtocol ; /**< Indicates if the HID interface is set to Boot or Report protocol mode */
bool UsingReportProtocol ; /**< Indicates if the HID interface is set to Boot or Report protocol mode */
uint16_t IdleCount ; /**< Report idle period, in m s , set by the host */
uint16_t IdleCount ; /**< Report idle period, in m S , set by the host */
uint16_t IdleMSRemaining ; /**< Total number of m s remaining before the idle period elapsed - this should be
uint16_t IdleMSRemaining ; /**< Total number of m S remaining before the idle period elapsed - this should be
* decremented by the user application if non - zero each millisecond */
* decremented by the user application if non - zero each millisecond */
} State ; /**< State data for the USB class interface within the device. All elements in this section
} 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 .
* are reset to their defaults when the interface is enumerated .