Removed invalid dfu and flip related targets from the bootloaders - bootloaders can...
[pub/USBasp.git] / LUFA / Drivers / USB / Class / Host / HID.c
index 1e1dbcf..5d5d2ef 100644 (file)
@@ -159,7 +159,7 @@ uint8_t HID_Host_ReceiveReportByID(USB_ClassInfo_HID_Host_t* const HIDInterfaceI
        {\r
                .bmRequestType = (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE),\r
                .bRequest      = REQ_SetReport,\r
-               .wValue        = (REPORT_ITEM_TYPE_In << 8) | ReportID,\r
+               .wValue        = ((REPORT_ITEM_TYPE_In + 1) << 8) | ReportID,\r
                .wIndex        = HIDInterfaceInfo->State.InterfaceNumber,\r
                .wLength       = USB_GetHIDReportSize(HIDInterfaceInfo->Config.HIDParserData, ReportID, REPORT_ITEM_TYPE_In),\r
        };\r
@@ -181,6 +181,7 @@ uint8_t HID_Host_ReceiveReport(USB_ClassInfo_HID_Host_t* const HIDInterfaceInfo,
        Pipe_Unfreeze();\r
        \r
        uint16_t ReportSize;\r
+       uint8_t* BufferPos = Buffer;\r
 \r
 #if !defined(HID_HOST_BOOT_PROTOCOL_ONLY)\r
        if (!(HIDInterfaceInfo->State.UsingBootProtocol))\r
@@ -190,7 +191,7 @@ uint8_t HID_Host_ReceiveReport(USB_ClassInfo_HID_Host_t* const HIDInterfaceInfo,
                if (HIDInterfaceInfo->Config.HIDParserData->UsingReportIDs)\r
                {\r
                        ReportID = Pipe_Read_Byte();\r
-                       *((uint8_t*)Buffer++) = ReportID;\r
+                       *(BufferPos++) = ReportID;\r
                }\r
                \r
                ReportSize = USB_GetHIDReportSize(HIDInterfaceInfo->Config.HIDParserData, ReportID, REPORT_ITEM_TYPE_In);\r
@@ -201,7 +202,7 @@ uint8_t HID_Host_ReceiveReport(USB_ClassInfo_HID_Host_t* const HIDInterfaceInfo,
                ReportSize = Pipe_BytesInPipe();\r
        }\r
 \r
-       if ((ErrorCode = Pipe_Read_Stream_LE(Buffer, ReportSize, NO_STREAM_CALLBACK)) != PIPE_RWSTREAM_NoError)\r
+       if ((ErrorCode = Pipe_Read_Stream_LE(BufferPos, ReportSize, NO_STREAM_CALLBACK)) != PIPE_RWSTREAM_NoError)\r
          return ErrorCode;\r
         \r
        Pipe_ClearIN();         \r
@@ -246,7 +247,7 @@ uint8_t HID_Host_SendReportByID(USB_ClassInfo_HID_Host_t* const HIDInterfaceInfo
                        .bmRequestType = (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE),\r
                        .bRequest      = REQ_SetReport,\r
 #if !defined(HID_HOST_BOOT_PROTOCOL_ONLY)\r
-                       .wValue        = (REPORT_ITEM_TYPE_Out << 8) | ReportID,\r
+                       .wValue        = ((REPORT_ITEM_TYPE_Out + 1) << 8) | ReportID,\r
 #else\r
                        .wValue        = 0,\r
 #endif\r