Minor cleanups to DualCDC ClassDriver device demo for clarity.
[pub/USBasp.git] / LUFA / Drivers / USB / Class / Device / HID.c
index bad934a..43f11ee 100644 (file)
@@ -39,7 +39,7 @@ void HID_Device_ProcessControlPacket(USB_ClassInfo_HID_Device_t* const HIDInterf
          return;\r
          \r
        if ((USB_ControlRequest.wIndex   != HIDInterfaceInfo->Config.InterfaceNumber) &&\r
-           (USB_ControlRequest.bRequest != SetIdle))\r
+           (USB_ControlRequest.bRequest != REQ_SetIdle))\r
        {\r
                return;\r
        }\r
@@ -88,8 +88,7 @@ void HID_Device_ProcessControlPacket(USB_ClassInfo_HID_Device_t* const HIDInterf
                                Endpoint_Write_Byte(HIDInterfaceInfo->State.UsingReportProtocol);\r
                                Endpoint_ClearIN();\r
 \r
-                               while (!(Endpoint_IsOUTReceived()));\r
-                               Endpoint_ClearOUT();\r
+                               Endpoint_ClearStatusStage();\r
                        }\r
                        \r
                        break;\r
@@ -100,8 +99,7 @@ void HID_Device_ProcessControlPacket(USB_ClassInfo_HID_Device_t* const HIDInterf
 \r
                                HIDInterfaceInfo->State.UsingReportProtocol = (USB_ControlRequest.wValue != 0x0000);\r
                                \r
-                               while (!(Endpoint_IsINReady()));\r
-                               Endpoint_ClearIN();\r
+                               Endpoint_ClearStatusStage();\r
                        }\r
                        \r
                        break;\r
@@ -115,8 +113,7 @@ void HID_Device_ProcessControlPacket(USB_ClassInfo_HID_Device_t* const HIDInterf
                                        \r
                                        HIDInterfaceInfo->State.IdleCount = ((USB_ControlRequest.wValue & 0xFF00) >> 6);\r
                                        \r
-                                       while (!(Endpoint_IsINReady()));\r
-                                       Endpoint_ClearIN();\r
+                                       Endpoint_ClearStatusStage();\r
                                }\r
                        }\r
                        \r
@@ -129,8 +126,7 @@ void HID_Device_ProcessControlPacket(USB_ClassInfo_HID_Device_t* const HIDInterf
                                Endpoint_Write_Byte(HIDInterfaceInfo->State.IdleCount >> 2);\r
                                Endpoint_ClearIN();\r
 \r
-                               while (!(Endpoint_IsOUTReceived()));\r
-                               Endpoint_ClearOUT();\r
+                               Endpoint_ClearStatusStage();\r
                        }\r
 \r
                        break;\r
@@ -139,6 +135,8 @@ void HID_Device_ProcessControlPacket(USB_ClassInfo_HID_Device_t* const HIDInterf
 \r
 bool HID_Device_ConfigureEndpoints(USB_ClassInfo_HID_Device_t* const HIDInterfaceInfo)\r
 {\r
+       memset(&HIDInterfaceInfo->State, 0x00, sizeof(HIDInterfaceInfo->State));\r
+       HIDInterfaceInfo->State.IdleCount = 500;\r
        HIDInterfaceInfo->State.UsingReportProtocol = true;\r
 \r
        if (!(Endpoint_ConfigureEndpoint(HIDInterfaceInfo->Config.ReportINEndpointNumber, EP_TYPE_INTERRUPT,\r
@@ -152,7 +150,7 @@ bool HID_Device_ConfigureEndpoints(USB_ClassInfo_HID_Device_t* const HIDInterfac
                \r
 void HID_Device_USBTask(USB_ClassInfo_HID_Device_t* const HIDInterfaceInfo)\r
 {\r
-       if (!(USB_IsConnected))\r
+       if (USB_DeviceState != DEVICE_STATE_Configured)\r
          return;\r
 \r
        Endpoint_SelectEndpoint(HIDInterfaceInfo->Config.ReportINEndpointNumber);\r