X-Git-Url: http://git.linex4red.de/pub/USBasp.git/blobdiff_plain/7d4cccc22d60125fac111819df48af1873d11018..ba7cd3f22e0ec8c2fc7fd5dae3620aa75d926fd3:/LUFA/Drivers/USB/HighLevel/USBTask.c diff --git a/LUFA/Drivers/USB/HighLevel/USBTask.c b/LUFA/Drivers/USB/HighLevel/USBTask.c index 395f2d25e..e1c065905 100644 --- a/LUFA/Drivers/USB/HighLevel/USBTask.c +++ b/LUFA/Drivers/USB/HighLevel/USBTask.c @@ -64,7 +64,7 @@ static void USB_DeviceTask(void) Endpoint_SelectEndpoint(ENDPOINT_CONTROLEP); - if (Endpoint_IsSetupReceived()) + if (Endpoint_IsSETUPReceived()) { ATOMIC_BLOCK(ATOMIC_RESTORESTATE) { @@ -86,6 +86,10 @@ static void USB_HostTask(void) static uint16_t WaitMSRemaining; static uint8_t PostWaitState; + uint8_t PrevPipe = Pipe_GetCurrentPipe(); + + Pipe_SelectPipe(PIPE_CONTROLPIPE); + switch (USB_HostState) { case HOST_STATE_WaitForDevice: @@ -167,11 +171,11 @@ static void USB_HostTask(void) case HOST_STATE_Default: USB_HostRequest = (USB_Host_Request_Header_t) { - bmRequestType: (REQDIR_DEVICETOHOST | REQTYPE_STANDARD | REQREC_DEVICE), - bRequest: REQ_GetDescriptor, - wValue: (DTYPE_Device << 8), - wIndex: 0, - wLength: PIPE_CONTROLPIPE_DEFAULT_SIZE, + .bmRequestType = (REQDIR_DEVICETOHOST | REQTYPE_STANDARD | REQREC_DEVICE), + .bRequest = REQ_GetDescriptor, + .wValue = (DTYPE_Device << 8), + .wIndex = 0, + .wLength = PIPE_CONTROLPIPE_DEFAULT_SIZE, }; uint8_t DataBuffer[PIPE_CONTROLPIPE_DEFAULT_SIZE]; @@ -212,11 +216,11 @@ static void USB_HostTask(void) USB_HostRequest = (USB_Host_Request_Header_t) { - bmRequestType: (REQDIR_HOSTTODEVICE | REQTYPE_STANDARD | REQREC_DEVICE), - bRequest: REQ_SetAddress, - wValue: USB_HOST_DEVICEADDRESS, - wIndex: 0, - wLength: 0, + .bmRequestType = (REQDIR_HOSTTODEVICE | REQTYPE_STANDARD | REQREC_DEVICE), + .bRequest = REQ_SetAddress, + .wValue = USB_HOST_DEVICEADDRESS, + .wIndex = 0, + .wLength = 0, }; if ((SubErrorCode = USB_Host_SendControlRequest(NULL)) != HOST_SENDCONTROL_Successful) @@ -249,5 +253,7 @@ static void USB_HostTask(void) USB_ResetInterface(); } + + Pipe_SelectPipe(PrevPipe); } #endif