X-Git-Url: http://git.linex4red.de/pub/USBasp.git/blobdiff_plain/c5038f1bf44aea75f1ae1ed035cb7d523ccfdacb..09bedd6555a72c70f6d6bfb965225d44dec171cd:/LUFA/Drivers/USB/HighLevel/USBInterrupt.c diff --git a/LUFA/Drivers/USB/HighLevel/USBInterrupt.c b/LUFA/Drivers/USB/HighLevel/USBInterrupt.c index 56e54f25a..a8083c92a 100644 --- a/LUFA/Drivers/USB/HighLevel/USBInterrupt.c +++ b/LUFA/Drivers/USB/HighLevel/USBInterrupt.c @@ -153,6 +153,13 @@ ISR(USB_GEN_vect, ISR_BLOCK) EVENT_USB_Device_Reset(); } + + if (USB_INT_HasOccurred(USB_INT_SOFI) && USB_INT_IsEnabled(USB_INT_SOFI)) + { + USB_INT_Clear(USB_INT_SOFI); + + EVENT_USB_Device_StartOfFrame(); + } #endif #if defined(USB_CAN_BE_HOST) @@ -209,7 +216,7 @@ ISR(USB_GEN_vect, ISR_BLOCK) USB_INT_Clear(USB_INT_IDTI); if (USB_DeviceState != DEVICE_STATE_Unattached) - EVENT_USB_Disconnect(); + EVENT_USB_Device_Disconnect(); if (USB_HostState != HOST_STATE_Unattached) EVENT_USB_Host_DeviceUnattached(); @@ -223,7 +230,7 @@ ISR(USB_GEN_vect, ISR_BLOCK) } #if defined(INTERRUPT_CONTROL_ENDPOINT) -ISR(USB_COM_vect, ISR_NOBLOCK) +ISR(USB_COM_vect, ISR_BLOCK) { uint8_t PrevSelectedEndpoint = Endpoint_GetCurrentEndpoint(); @@ -231,6 +238,6 @@ ISR(USB_COM_vect, ISR_NOBLOCK) USB_INT_Clear(USB_INT_ENDPOINT_SETUP); - Endpoint_SelectEndpoint(PrevSelectedEndpoint); + Endpoint_SelectEndpoint(PrevSelectedEndpoint); } #endif