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

pull/1469/head
Dean Camera 16 years ago
parent 2bd88ebc4f
commit 526e398986

@ -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)
.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)
{ {

@ -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 @@
#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

Loading…
Cancel
Save