Fixed HID host Class driver report send/receive report broken when issued through the control pipe.
Make Mass Storage device Class driver accept resets at any time, rather than just after a command block has been processed. Remove the HID device parser from the boot protocol Keyboard/Mouse demos.
This commit is contained in:
parent
4dde844e9f
commit
8bb007f80b
9 changed files with 32 additions and 32 deletions
|
|
@ -162,7 +162,7 @@ uint8_t HID_Host_ReceiveReportByID(USB_ClassInfo_HID_Host_t* const HIDInterfaceI
|
|||
{
|
||||
.bmRequestType = (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE),
|
||||
.bRequest = REQ_SetReport,
|
||||
.wValue = ReportID,
|
||||
.wValue = (REPORT_ITEM_TYPE_In << 8) | ReportID,
|
||||
.wIndex = HIDInterfaceInfo->State.InterfaceNumber,
|
||||
.wLength = USB_GetHIDReportSize(HIDInterfaceInfo->Config.HIDParserData, ReportID, REPORT_ITEM_TYPE_In),
|
||||
};
|
||||
|
|
@ -249,7 +249,7 @@ uint8_t HID_Host_SendReportByID(USB_ClassInfo_HID_Host_t* const HIDInterfaceInfo
|
|||
.bmRequestType = (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE),
|
||||
.bRequest = REQ_SetReport,
|
||||
#if !defined(HID_HOST_BOOT_PROTOCOL_ONLY)
|
||||
.wValue = ReportID,
|
||||
.wValue = (REPORT_ITEM_TYPE_Out << 8) | ReportID,
|
||||
#else
|
||||
.wValue = 0,
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -158,6 +158,9 @@
|
|||
|
||||
|
||||
/** Receives a HID IN report from the attached HID device, when a report has been received on the HID IN Data pipe.
|
||||
*
|
||||
* \note The destination buffer should be large enough to accomodate the largest report that the attached device
|
||||
* can generate.
|
||||
*
|
||||
* \param[in,out] HIDInterfaceInfo Pointer to a structure containing a HID Class host configuration and state
|
||||
* \param[in] Buffer Buffer to store the received report into
|
||||
|
|
@ -167,7 +170,7 @@
|
|||
uint8_t HID_Host_ReceiveReport(USB_ClassInfo_HID_Host_t* const HIDInterfaceInfo, void* Buffer) ATTR_NON_NULL_PTR_ARG(1, 2);
|
||||
|
||||
#if !defined(HID_HOST_BOOT_PROTOCOL_ONLY)
|
||||
/** Received a HID IN report from the attached device, by the report ID.
|
||||
/** Receives a HID IN report from the attached device, by the report ID.
|
||||
*
|
||||
* \note When the HID_HOST_BOOT_PROTOCOL_ONLY compile time token is defined, this method is unavailable.
|
||||
*
|
||||
|
|
|
|||
|
|
@ -62,6 +62,7 @@
|
|||
#include <stdbool.h>
|
||||
|
||||
#include "HIDReportData.h"
|
||||
#include "../Common/HID.h"
|
||||
|
||||
#include "../../../../Common/Common.h"
|
||||
|
||||
|
|
@ -124,15 +125,7 @@
|
|||
#endif
|
||||
|
||||
/* Public Interface - May be used in end-application: */
|
||||
/* Enums: */
|
||||
/** Enum for indicating what type of report item an entry in a \ref HID_ReportInfo_t ReportItem array is */
|
||||
enum HID_ReportItemTypes_t
|
||||
{
|
||||
REPORT_ITEM_TYPE_In = 0, /**< Indicates that the item is an IN report type. */
|
||||
REPORT_ITEM_TYPE_Out = 1, /**< Indicates that the item is an OUT report type. */
|
||||
REPORT_ITEM_TYPE_Feature = 2, /**< Indicates that the item is a FEATURE report type. */
|
||||
};
|
||||
|
||||
/* Enums: */
|
||||
/** Enum for the possible error codes in the return value of the \ref USB_ProcessHIDReport() function */
|
||||
enum HID_Parse_ErrorCodes_t
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue