forked from mfulz_github/qmk_firmware
Fixed inability to enumerate any devices while in host mode (broken in a previous commit).
This commit is contained in:
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)
|
||||||
{
|
{
|
||||||
|
|
|
@ -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 @@
|
||||||
* 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…
Reference in New Issue