Commit 526e3989 authored by Dean Camera's avatar Dean Camera
Browse files

Fixed inability to enumerate any devices while in host mode (broken in a previous commit).

parent 2bd88ebc
...@@ -83,12 +83,11 @@ static void USB_HostTask(void) ...@@ -83,12 +83,11 @@ static void USB_HostTask(void)
{ {
uint8_t ErrorCode = HOST_ENUMERROR_NoError; uint8_t ErrorCode = HOST_ENUMERROR_NoError;
uint8_t SubErrorCode = HOST_ENUMERROR_NoError; uint8_t SubErrorCode = HOST_ENUMERROR_NoError;
uint8_t PrevPipe = Pipe_GetCurrentPipe();
static uint16_t WaitMSRemaining; static uint16_t WaitMSRemaining;
static uint8_t PostWaitState; static uint8_t PostWaitState;
uint8_t PrevPipe = Pipe_GetCurrentPipe();
Pipe_SelectPipe(PIPE_CONTROLPIPE); Pipe_SelectPipe(PIPE_CONTROLPIPE);
switch (USB_HostState) switch (USB_HostState)
...@@ -176,10 +175,10 @@ static void USB_HostTask(void) ...@@ -176,10 +175,10 @@ static void USB_HostTask(void)
.bRequest = REQ_GetDescriptor, .bRequest = REQ_GetDescriptor,
.wValue = (DTYPE_Device << 8), .wValue = (DTYPE_Device << 8),
.wIndex = 0, .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) if ((SubErrorCode = USB_Host_SendControlRequest(DataBuffer)) != HOST_SENDCONTROL_Successful)
{ {
......
...@@ -165,7 +165,7 @@ static void USB_Device_SetConfiguration(void) ...@@ -165,7 +165,7 @@ static void USB_Device_SetConfiguration(void)
void USB_Device_GetConfiguration(void) void USB_Device_GetConfiguration(void)
{ {
Endpoint_ClearSETUP(); Endpoint_ClearSETUP();
Endpoint_Write_Byte(USB_ConfigurationNumber); Endpoint_Write_Byte(USB_ConfigurationNumber);
......
...@@ -60,7 +60,7 @@ ...@@ -60,7 +60,7 @@
* and that the address used is not important (other than the fact that it is non-zero), a * 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. * 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__) #if !defined(USB_HOST_TIMEOUT_MS) || defined(__DOXYGEN__)
/** Constant for the maximum software timeout period of sent USB control transactions to an attached /** Constant for the maximum software timeout period of sent USB control transactions to an attached
...@@ -244,7 +244,7 @@ ...@@ -244,7 +244,7 @@
#define USB_Host_HostMode_On() MACROS{ USBCON |= (1 << HOST); }MACROE #define USB_Host_HostMode_On() MACROS{ USBCON |= (1 << HOST); }MACROE
#define USB_Host_HostMode_Off() 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_Manual_Enable() MACROS{ OTGCON |= (1 << VBUSHWC); UHWCON &= ~(1 << UVCONE); DDRE |= (1 << 7); }MACROE
#define USB_Host_VBUS_Auto_On() MACROS{ OTGCON |= (1 << VBUSREQ); }MACROE #define USB_Host_VBUS_Auto_On() MACROS{ OTGCON |= (1 << VBUSREQ); }MACROE
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment