Renamed all library events to properly seperate out Device and Host mode events....
[pub/USBasp.git] / LUFA / Drivers / USB / LowLevel / LowLevel.c
index 3ad1e98..e679109 100644 (file)
@@ -108,16 +108,6 @@ void USB_Init(
 \r
 void USB_ShutDown(void)\r
 {\r
-       #if defined(USB_CAN_BE_DEVICE)\r
-       if (USB_DeviceState != DEVICE_STATE_Unattached)\r
-         EVENT_USB_Disconnect();\r
-       #endif\r
-       \r
-       #if defined(USB_CAN_BE_HOST)\r
-       if (USB_HostState != HOST_STATE_Unattached)\r
-         EVENT_USB_Disconnect();\r
-       #endif\r
-\r
        USB_ResetInterface();\r
        USB_Detach();\r
        USB_Controller_Disable();\r
@@ -191,8 +181,6 @@ void USB_ResetInterface(void)
                  USB_Device_SetLowSpeed();\r
                else\r
                  USB_Device_SetFullSpeed();\r
-                 \r
-               USB_INT_Enable(USB_INT_VBUS);\r
        }\r
        #endif\r
        \r
@@ -204,11 +192,11 @@ void USB_ResetInterface(void)
                if (CALLBACK_USB_GetDescriptor((DTYPE_Device << 8), 0, (void*)&DeviceDescriptorPtr) != NO_DESCRIPTOR)\r
                {                 \r
                        #if defined(USE_RAM_DESCRIPTORS)\r
-                               USB_ControlEndpointSize = DeviceDescriptorPtr->Endpoint0Size;\r
+                       USB_ControlEndpointSize = DeviceDescriptorPtr->Endpoint0Size;\r
                        #elif defined(USE_EEPROM_DESCRIPTORS)\r
-                               USB_ControlEndpointSize = eeprom_read_byte(&DeviceDescriptorPtr->Endpoint0Size);\r
+                       USB_ControlEndpointSize = eeprom_read_byte(&DeviceDescriptorPtr->Endpoint0Size);\r
                        #else\r
-                               USB_ControlEndpointSize = pgm_read_byte(&DeviceDescriptorPtr->Endpoint0Size);\r
+                       USB_ControlEndpointSize = pgm_read_byte(&DeviceDescriptorPtr->Endpoint0Size);\r
                        #endif\r
                }\r
        }\r
@@ -216,13 +204,19 @@ void USB_ResetInterface(void)
 \r
        USB_Attach();\r
        \r
-       #if defined(USB_DEVICE_ONLY)    \r
+       #if defined(USB_DEVICE_ONLY)\r
+       USB_INT_Clear(USB_INT_SUSPEND);\r
        USB_INT_Enable(USB_INT_SUSPEND);\r
+       USB_INT_Clear(USB_INT_EORSTI);\r
        USB_INT_Enable(USB_INT_EORSTI);\r
-       #if defined(CONTROL_ONLY_DEVICE)\r
-       UENUM = ENDPOINT_CONTROLEP;\r
-       #endif\r
-               \r
+\r
+               #if defined(USB_SERIES_4_AVR) || defined(USB_SERIES_6_AVR) || defined(USB_SERIES_7_AVR)\r
+               USB_INT_Enable(USB_INT_VBUS);\r
+               #endif\r
+\r
+               #if defined(CONTROL_ONLY_DEVICE)\r
+               UENUM = ENDPOINT_CONTROLEP;\r
+               #endif\r
        #elif defined(USB_HOST_ONLY)\r
        USB_Host_HostMode_On();\r
        \r
@@ -237,9 +231,15 @@ void USB_ResetInterface(void)
        #else\r
        if (USB_CurrentMode == USB_MODE_DEVICE)\r
        {\r
+               USB_INT_Clear(USB_INT_SUSPEND);\r
                USB_INT_Enable(USB_INT_SUSPEND);\r
+               USB_INT_Clear(USB_INT_EORSTI);\r
                USB_INT_Enable(USB_INT_EORSTI);\r
 \r
+               #if defined(USB_SERIES_4_AVR) || defined(USB_SERIES_6_AVR) || defined(USB_SERIES_7_AVR)\r
+               USB_INT_Enable(USB_INT_VBUS);\r
+               #endif\r
+\r
                #if defined(CONTROL_ONLY_DEVICE)\r
                UENUM = ENDPOINT_CONTROLEP;\r
                #endif\r