X-Git-Url: http://git.linex4red.de/pub/USBasp.git/blobdiff_plain/4904b10ef689a11b420c0a32da747533f4378712..bde64666fbdda0a275344c0e5e5175f770be516d:/LUFA/Drivers/USB/LowLevel/Host.c diff --git a/LUFA/Drivers/USB/LowLevel/Host.c b/LUFA/Drivers/USB/LowLevel/Host.c index 9630b6aa1..5f3eeb8e8 100644 --- a/LUFA/Drivers/USB/LowLevel/Host.c +++ b/LUFA/Drivers/USB/LowLevel/Host.c @@ -55,7 +55,7 @@ void USB_Host_ProcessNextHostState(void) break; } - if (!(WaitMSRemaining--)) + if (!(--WaitMSRemaining)) USB_HostState = PostWaitState; } @@ -90,7 +90,7 @@ void USB_Host_ProcessNextHostState(void) USB_INT_Enable(USB_INT_VBERRI); USB_IsConnected = true; - RAISE_EVENT(USB_Connect); + EVENT_USB_Connect(); USB_Host_ResumeBus(); Pipe_ClearPipes(); @@ -184,7 +184,7 @@ void USB_Host_ProcessNextHostState(void) case HOST_STATE_Default_PostAddressSet: USB_Host_SetDeviceAddress(USB_HOST_DEVICEADDRESS); - RAISE_EVENT(USB_DeviceEnumerationComplete); + EVENT_USB_DeviceEnumerationComplete(); USB_HostState = HOST_STATE_Addressed; break; @@ -192,14 +192,14 @@ void USB_Host_ProcessNextHostState(void) if ((ErrorCode != HOST_ENUMERROR_NoError) && (USB_HostState != HOST_STATE_Unattached)) { - RAISE_EVENT(USB_DeviceEnumerationFailed, ErrorCode, SubErrorCode); + EVENT_USB_DeviceEnumerationFailed(ErrorCode, SubErrorCode); USB_Host_VBUS_Auto_Off(); - RAISE_EVENT(USB_DeviceUnattached); + EVENT_USB_DeviceUnattached(); if (USB_IsConnected) - RAISE_EVENT(USB_Disconnect); + EVENT_USB_Disconnect(); USB_ResetInterface(); } @@ -210,7 +210,6 @@ uint8_t USB_Host_WaitMS(uint8_t MS) bool BusSuspended = USB_Host_IsBusSuspended(); uint8_t ErrorCode = HOST_WAITERROR_Successful; - USB_INT_Clear(USB_INT_HSOFI); USB_Host_ResumeBus(); while (MS) @@ -260,9 +259,10 @@ static void USB_Host_ResetDevice(void) USB_Host_ResetBus(); while (!(USB_Host_IsBusResetComplete())); + USB_Host_ResumeBus(); + USB_INT_Clear(USB_INT_HSOFI); - USB_Host_ResumeBus(); - + for (uint8_t MSRem = 10; MSRem != 0; MSRem--) { /* Workaround for powerless-pull-up devices. After a USB bus reset, @@ -272,6 +272,7 @@ static void USB_Host_ResetDevice(void) if (USB_INT_HasOccurred(USB_INT_HSOFI)) { + USB_INT_Clear(USB_INT_HSOFI); USB_INT_Clear(USB_INT_DDISCI); break; }