Add information on the new MouseHostDevice dual role demo to the library documentatio...
[pub/USBasp.git] / LUFA / Drivers / USB / Class / Host / HID.c
index 87d3793..a8e761d 100644 (file)
@@ -101,6 +101,7 @@ uint8_t HID_Host_ConfigurePipes(USB_ClassInfo_HID_Host_t* const HIDInterfaceInfo
                }\r
        }\r
 \r
                }\r
        }\r
 \r
+       HIDInterfaceInfo->State.LargestReportSize = 8;\r
        HIDInterfaceInfo->State.IsActive = true;\r
        return HID_ENUMERROR_NoError;\r
 }\r
        HIDInterfaceInfo->State.IsActive = true;\r
        return HID_ENUMERROR_NoError;\r
 }\r
@@ -264,7 +265,7 @@ bool HID_Host_IsReportReceived(USB_ClassInfo_HID_Host_t* const HIDInterfaceInfo)
        return ReportReceived;\r
 }\r
 \r
        return ReportReceived;\r
 }\r
 \r
-uint8_t USB_HID_Host_SetBootProtocol(USB_ClassInfo_HID_Host_t* const HIDInterfaceInfo)\r
+uint8_t HID_Host_SetBootProtocol(USB_ClassInfo_HID_Host_t* const HIDInterfaceInfo)\r
 {\r
        if (HIDInterfaceInfo->State.UsingBootProtocol)\r
          return HOST_SENDCONTROL_Successful;\r
 {\r
        if (HIDInterfaceInfo->State.UsingBootProtocol)\r
          return HOST_SENDCONTROL_Successful;\r
@@ -288,12 +289,13 @@ uint8_t USB_HID_Host_SetBootProtocol(USB_ClassInfo_HID_Host_t* const HIDInterfac
        if ((ErrorCode = USB_Host_SendControlRequest(NULL)) != HOST_SENDCONTROL_Successful)\r
          return ErrorCode;\r
 \r
        if ((ErrorCode = USB_Host_SendControlRequest(NULL)) != HOST_SENDCONTROL_Successful)\r
          return ErrorCode;\r
 \r
+       HIDInterfaceInfo->State.LargestReportSize = 8;\r
        HIDInterfaceInfo->State.UsingBootProtocol = true;\r
        \r
        return HOST_SENDCONTROL_Successful;\r
 }\r
 \r
        HIDInterfaceInfo->State.UsingBootProtocol = true;\r
        \r
        return HOST_SENDCONTROL_Successful;\r
 }\r
 \r
-uint8_t USB_HID_Host_SetReportProtocol(USB_ClassInfo_HID_Host_t* const HIDInterfaceInfo)\r
+uint8_t HID_Host_SetReportProtocol(USB_ClassInfo_HID_Host_t* const HIDInterfaceInfo)\r
 {\r
        uint8_t ErrorCode;\r
 \r
 {\r
        uint8_t ErrorCode;\r
 \r
@@ -339,6 +341,9 @@ uint8_t USB_HID_Host_SetReportProtocol(USB_ClassInfo_HID_Host_t* const HIDInterf
                return HID_ERROR_LOGICAL | ErrorCode;\r
        }\r
 \r
                return HID_ERROR_LOGICAL | ErrorCode;\r
        }\r
 \r
+       uint8_t LargestReportSizeBits = HIDInterfaceInfo->Config.HIDParserData->LargestReportSizeBits;\r
+       HIDInterfaceInfo->State.LargestReportSize = (LargestReportSizeBits >> 3) + ((LargestReportSizeBits & 0x07) != 0);\r
+\r
        return 0;\r
 }\r
 \r
        return 0;\r
 }\r
 \r