X-Git-Url: http://git.linex4red.de/pub/lufa.git/blobdiff_plain/2440ca268ac444c1aed2441cefe9e25a767d961a..d1e52660368d34d693131f6aff3c8fd8584162e5:/LUFA/Drivers/USB/LowLevel/LowLevel.c diff --git a/LUFA/Drivers/USB/LowLevel/LowLevel.c b/LUFA/Drivers/USB/LowLevel/LowLevel.c index 8b395be98..255a6ef29 100644 --- a/LUFA/Drivers/USB/LowLevel/LowLevel.c +++ b/LUFA/Drivers/USB/LowLevel/LowLevel.c @@ -38,6 +38,8 @@ volatile uint8_t USB_CurrentMode = USB_MODE_NONE; volatile uint8_t USB_Options; #endif +volatile bool FrameElapsed; + void USB_Init( #if defined(USB_CAN_BE_BOTH) const uint8_t Mode @@ -150,6 +152,8 @@ void USB_ResetInterface(void) USB_INT_DisableAllInterrupts(); USB_INT_ClearAllInterrupts(); + FrameElapsed = false; + USB_IsConnected = false; #if defined(USB_CAN_BE_HOST) @@ -224,6 +228,7 @@ void USB_ResetInterface(void) #if defined(USB_DEVICE_ONLY) USB_INT_Enable(USB_INT_SUSPEND); USB_INT_Enable(USB_INT_EORSTI); + USB_INT_Enable(USB_INT_SOFI); #if defined(CONTROL_ONLY_DEVICE) UENUM = ENDPOINT_CONTROLEP; @@ -240,11 +245,13 @@ void USB_ResetInterface(void) USB_INT_Enable(USB_INT_SRPI); USB_INT_Enable(USB_INT_BCERRI); + USB_INT_Enable(USB_INT_HSOFI); #else if (USB_CurrentMode == USB_MODE_DEVICE) { USB_INT_Enable(USB_INT_SUSPEND); USB_INT_Enable(USB_INT_EORSTI); + USB_INT_Enable(USB_INT_SOFI); #if defined(CONTROL_ONLY_DEVICE) UENUM = ENDPOINT_CONTROLEP; @@ -262,6 +269,7 @@ void USB_ResetInterface(void) USB_INT_Enable(USB_INT_SRPI); USB_INT_Enable(USB_INT_BCERRI); + USB_INT_Enable(USB_INT_HSOFI); } #endif }