Change over AVRISP project to have both hardware USART and software USART modes for...
[pub/USBasp.git] / LUFA / Drivers / USB / LowLevel / Host.c
index b83c514..e10d347 100644 (file)
@@ -66,7 +66,7 @@ void USB_Host_ProcessNextHostState(void)
                        USB_HostState = HOST_STATE_Powered_WaitForDeviceSettle;\r
                        break;\r
                case HOST_STATE_Powered_WaitForDeviceSettle:\r
-                       if (!(WaitMSRemaining--))\r
+                       if (WaitMSRemaining--)\r
                        {\r
                                _delay_ms(1);\r
                                break;\r
@@ -308,6 +308,22 @@ uint8_t USB_Host_GetDeviceDescriptor(void* const DeviceDescriptorPtr)
        return USB_Host_SendControlRequest(DeviceDescriptorPtr);\r
 }\r
 \r
+uint8_t USB_Host_GetDeviceStringDescriptor(uint8_t Index, void* const Buffer, uint8_t BufferLength)\r
+{\r
+       USB_ControlRequest = (USB_Request_Header_t)\r
+               {\r
+                       bmRequestType: (REQDIR_DEVICETOHOST | REQTYPE_STANDARD | REQREC_DEVICE),\r
+                       bRequest:      REQ_GetDescriptor,\r
+                       wValue:        (DTYPE_String << 8) | Index,\r
+                       wIndex:        0,\r
+                       wLength:       BufferLength,\r
+               };\r
+\r
+       Pipe_SelectPipe(PIPE_CONTROLPIPE);\r
+       \r
+       return USB_Host_SendControlRequest(Buffer);\r
+}\r
+\r
 uint8_t USB_Host_ClearPipeStall(uint8_t EndpointNum)\r
 {\r
        if (Pipe_GetPipeToken() == PIPE_TOKEN_IN)\r