{\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
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;\r
- uint8_t HIDInterfaceProtocol;\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
} 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
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
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
} 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
} 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
HID_ENUMERROR_NoError = 0, /**< Configuration Descriptor was processed successfully */\r
HID_ENUMERROR_InvalidConfigDescriptor = 1, /**< The device returned an invalid Configuration Descriptor */\r
HID_ENUMERROR_NoHIDInterfaceFound = 2, /**< A compatible HID interface was not found in the device's Configuration Descriptor */\r
HID_ENUMERROR_NoError = 0, /**< Configuration Descriptor was processed successfully */\r
HID_ENUMERROR_InvalidConfigDescriptor = 1, /**< The device returned an invalid Configuration Descriptor */\r
HID_ENUMERROR_NoHIDInterfaceFound = 2, /**< A compatible HID interface was not found in the device's Configuration Descriptor */\r
- HID_ENUMERROR_EndpointsNotFound = 3, /**< Compatible HID endpoints were not found in the device's CDC interface */\r
- } CDCHost_EnumerationFailure_ErrorCodes_t;\r
+ HID_ENUMERROR_EndpointsNotFound = 3, /**< Compatible HID endpoints were not found in the device's HID interface */\r
+ } HIDHost_EnumerationFailure_ErrorCodes_t;\r
\r
/* Function Prototypes: */\r
void HID_Host_USBTask(USB_ClassInfo_HID_Host_t* HIDInterfaceInfo);\r
uint8_t HID_Host_ConfigurePipes(USB_ClassInfo_HID_Host_t* HIDInterfaceInfo, uint16_t ConfigDescriptorLength,\r
uint8_t* DeviceConfigDescriptor);\r
\r
/* Function Prototypes: */\r
void HID_Host_USBTask(USB_ClassInfo_HID_Host_t* HIDInterfaceInfo);\r
uint8_t HID_Host_ConfigurePipes(USB_ClassInfo_HID_Host_t* HIDInterfaceInfo, uint16_t ConfigDescriptorLength,\r
uint8_t* DeviceConfigDescriptor);\r