uint8_t ReportINEndpointNumber; /**< Endpoint number of the HID interface's IN report endpoint */\r
uint16_t ReportINEndpointSize; /**< Size in bytes of the HID interface's IN report endpoint */\r
\r
- uint8_t ReportINBufferSize;\r
+ uint8_t ReportINBufferSize; /**< Size of the largest possible report to send to the host, for buffer allocation purposes */\r
\r
bool UsingReportProtocol; /**< Indicates if the HID interface is set to Boot or Report protocol mode */\r
uint16_t IdleCount; /**< Report idle period, in ms, set by the host */\r
} USB_ClassInfo_HID_t;\r
\r
/* Function Prototypes: */\r
+ /** Configures the endpoints of a given HID interface, ready for use. This should be linked to the library\r
+ * \ref EVENT_USB_ConfigurationChanged() event so that the endpoints are configured when the configuration\r
+ * containing the given HID interface is selected.\r
+ *\r
+ * \param HIDInterfaceInfo Pointer to a structure containing a HID Class configuration and state.\r
+ *\r
+ * \return Boolean true if the endpoints were sucessfully configured, false otherwise\r
+ */\r
bool USB_HID_ConfigureEndpoints(USB_ClassInfo_HID_t* HIDInterfaceInfo);\r
+ \r
+ /** Processes incomming control requests from the host, that are directed to the given HID class interface. This should be\r
+ * linked to the library \ref EVENT_USB_UnhandledControlPacket() event.\r
+ *\r
+ * \param HIDInterfaceInfo Pointer to a structure containing a HID Class configuration and state.\r
+ */ \r
void USB_HID_ProcessControlPacket(USB_ClassInfo_HID_t* HIDInterfaceInfo);\r
+\r
+ /** General management task for a given HID class interface, required for the correct operation of the interface. This should\r
+ * be called frequently in the main program loop, before the master USB management task \ref USB_USBTask().\r
+ *\r
+ * \param HIDInterfaceInfo Pointer to a structure containing a HID Class configuration and state.\r
+ */\r
void USB_HID_USBTask(USB_ClassInfo_HID_t* HIDInterfaceInfo);\r
\r
/** HID class driver callback for the user creation of a HID input report. This callback may fire in response to either\r
* \param ReportID Report ID of the received output report. If multiple reports are not received via the given HID\r
* interface, this parameter should be ignored.\r
* \param ReportData Pointer to a buffer where the received HID report is stored.\r
+ * \param ReportSize Size in bytes of the received report from the host.\r
*/\r
- void CALLBACK_USB_HID_ProcessReceivedHIDReport(USB_ClassInfo_HID_t* HIDInterfaceInfo, uint8_t ReportID, void* ReportData, uint16_t ReportSize);\r
+ void CALLBACK_USB_HID_ProcessReceivedHIDReport(USB_ClassInfo_HID_t* HIDInterfaceInfo, uint8_t ReportID, void* ReportData, uint16_t ReportSize);\r
\r
/* Disable C linkage for C++ Compilers: */\r
#if defined(__cplusplus)\r