From 526e398986583e2fb65c0a36a2fbf2ce153446e5 Mon Sep 17 00:00:00 2001 From: Dean Camera Date: Thu, 7 May 2009 05:30:19 +0000 Subject: Fixed inability to enumerate any devices while in host mode (broken in a previous commit). --- LUFA/Drivers/USB/HighLevel/USBTask.c | 7 +++---- LUFA/Drivers/USB/LowLevel/DevChapter9.c | 2 +- LUFA/Drivers/USB/LowLevel/Host.h | 4 ++-- 3 files changed, 6 insertions(+), 7 deletions(-) (limited to 'LUFA/Drivers/USB') diff --git a/LUFA/Drivers/USB/HighLevel/USBTask.c b/LUFA/Drivers/USB/HighLevel/USBTask.c index 738dc1592..5202cc834 100644 --- a/LUFA/Drivers/USB/HighLevel/USBTask.c +++ b/LUFA/Drivers/USB/HighLevel/USBTask.c @@ -83,12 +83,11 @@ static void USB_HostTask(void) { uint8_t ErrorCode = HOST_ENUMERROR_NoError; uint8_t SubErrorCode = HOST_ENUMERROR_NoError; + uint8_t PrevPipe = Pipe_GetCurrentPipe(); static uint16_t WaitMSRemaining; static uint8_t PostWaitState; - uint8_t PrevPipe = Pipe_GetCurrentPipe(); - Pipe_SelectPipe(PIPE_CONTROLPIPE); switch (USB_HostState) @@ -176,10 +175,10 @@ static void USB_HostTask(void) .bRequest = REQ_GetDescriptor, .wValue = (DTYPE_Device << 8), .wIndex = 0, - .wLength = PIPE_CONTROLPIPE_DEFAULT_SIZE, + .wLength = 8, }; - uint8_t DataBuffer[PIPE_CONTROLPIPE_DEFAULT_SIZE]; + uint8_t DataBuffer[8]; if ((SubErrorCode = USB_Host_SendControlRequest(DataBuffer)) != HOST_SENDCONTROL_Successful) { diff --git a/LUFA/Drivers/USB/LowLevel/DevChapter9.c b/LUFA/Drivers/USB/LowLevel/DevChapter9.c index f02d32ba3..f02bb56a0 100644 --- a/LUFA/Drivers/USB/LowLevel/DevChapter9.c +++ b/LUFA/Drivers/USB/LowLevel/DevChapter9.c @@ -165,7 +165,7 @@ static void USB_Device_SetConfiguration(void) void USB_Device_GetConfiguration(void) { - Endpoint_ClearSETUP(); + Endpoint_ClearSETUP(); Endpoint_Write_Byte(USB_ConfigurationNumber); diff --git a/LUFA/Drivers/USB/LowLevel/Host.h b/LUFA/Drivers/USB/LowLevel/Host.h index b1d60afb5..9ce995f84 100644 --- a/LUFA/Drivers/USB/LowLevel/Host.h +++ b/LUFA/Drivers/USB/LowLevel/Host.h @@ -60,7 +60,7 @@ * and that the address used is not important (other than the fact that it is non-zero), a * fixed value is specified by the library. */ - #define USB_HOST_DEVICEADDRESS 1 + #define USB_HOST_DEVICEADDRESS 1 #if !defined(USB_HOST_TIMEOUT_MS) || defined(__DOXYGEN__) /** Constant for the maximum software timeout period of sent USB control transactions to an attached @@ -244,7 +244,7 @@ #define USB_Host_HostMode_On() MACROS{ USBCON |= (1 << HOST); }MACROE #define USB_Host_HostMode_Off() MACROS{ USBCON &= ~(1 << HOST); }MACROE - #define USB_Host_VBUS_Auto_Enable() MACROS{ OTGCON &= ~(1 << VBUSHWC); UHWCON |= (1 << UVCONE); }MACROE + #define USB_Host_VBUS_Auto_Enable() MACROS{ OTGCON &= ~(1 << VBUSHWC); UHWCON |= (1 << UVCONE); }MACROE #define USB_Host_VBUS_Manual_Enable() MACROS{ OTGCON |= (1 << VBUSHWC); UHWCON &= ~(1 << UVCONE); DDRE |= (1 << 7); }MACROE #define USB_Host_VBUS_Auto_On() MACROS{ OTGCON |= (1 << VBUSREQ); }MACROE -- cgit v1.2.3