{\r
uint8_t DataINPipeNumber; /**< Pipe number of the HID interface's IN data pipe */\r
uint8_t DataOUTPipeNumber; /**< Pipe number of the HID interface's OUT data pipe */\r
- \r
- bool MatchInterfaceProtocol; /**< Indicates whether the driver should match the device's\r
- * HID interface protocol's value to the \ref HIDInterfaceProtocol\r
- * suppled (otherwise just accept all HID class devices)\r
- */\r
- uint8_t HIDInterfaceProtocol; /**< HID interface protocol value to match against if the\r
- * \ref MatchInterfaceProtocol is set to true (ignored otherwise)\r
+\r
+ uint8_t HIDInterfaceProtocol; /**< HID interface protocol value to match against if a specific\r
+ * boot subclass protocol is required (e.g. keyboard, mouse), or\r
+ * leave as 0 to match against the first HID interface found\r
*/\r
} Config; /**< Config data for the USB class interface within the device. All elements in this section\r
* <b>must</b> be set or the interface will fail to enumerate and operate correctly.\r
*/\r
struct\r
{\r
- bool Active; /**< Indicates if the current interface instance is connected to an attached device */\r
+ bool Active; /**< Indicates if the current interface instance is connected to an attached device, valid\r
+ * after \ref HID_Host_ConfigurePipes() is called and the Host state machine is in the\r
+ * Configured state\r
+ */\r
+ uint8_t InterfaceNumber; /**< Interface index of the HID interface within the attached device */\r
\r
uint16_t DataINPipeSize; /**< Size in bytes of the HID interface's IN data pipe */\r
uint16_t DataOUTPipeSize; /**< Size in bytes of the HID interface's OUT data pipe */\r
+ \r
+ bool SupportsBootSubClass; /**< Indicates if the current interface instance supports the HID Boot\r
+ * Protocol when enabled via \ref USB_HID_Host_SetProtocol()\r
+ */\r
} State; /**< State data for the USB class interface within the device. All elements in this section\r
* <b>may</b> be set to initial values, but may also be ignored to default to sane values when\r
* the interface is enumerated.\r
uint8_t HID_Host_ConfigurePipes(USB_ClassInfo_HID_Host_t* HIDInterfaceInfo, uint16_t ConfigDescriptorLength,\r
uint8_t* DeviceConfigDescriptor);\r
\r
- bool HID_Host_IsReportReceived(USB_ClassInfo_HID_Host_t* HIDInterfaceInfo);\r
+ bool HID_Host_IsReportReceived(USB_ClassInfo_HID_Host_t* HIDInterfaceInfo);\r
+ uint8_t USB_HID_Host_SetProtocol(USB_ClassInfo_HID_Host_t* HIDInterfaceInfo, bool UseReportProtocol);\r
\r
/* Private Interface - For use in library only: */\r
#if !defined(__DOXYGEN__)\r