{\r
EVENT_USB_VBUSConnect();\r
\r
- if (USB_IsConnected)\r
+ if (USB_DeviceState != DEVICE_STATE_Unattached)\r
EVENT_USB_Disconnect();\r
\r
USB_ResetInterface();\r
- \r
- USB_IsConnected = true;\r
\r
+ USB_DeviceState = DEVICE_STATE_Powered;\r
EVENT_USB_Connect();\r
}\r
else\r
{\r
- USB_IsConnected = false;\r
-\r
+ USB_DeviceState = DEVICE_STATE_Unattached;\r
EVENT_USB_Disconnect();\r
\r
USB_Detach();\r
if (!(USB_Options & USB_OPT_MANUAL_PLL))\r
USB_PLL_Off();\r
\r
- USB_IsSuspended = true;\r
-\r
- EVENT_USB_Suspend();\r
-\r
#if defined(USB_SERIES_2_AVR) && !defined(NO_LIMITED_CONTROLLER_CONNECT)\r
- if (USB_IsConnected)\r
- {\r
- USB_IsConnected = false;\r
- EVENT_USB_Disconnect();\r
- }\r
+ USB_DeviceState = DEVICE_STATE_Unattached;\r
+ EVENT_USB_Disconnect();\r
+ #else\r
+ USB_DeviceState = DEVICE_STATE_Suspended;\r
+ EVENT_USB_Suspend();\r
#endif\r
}\r
\r
USB_INT_Enable(USB_INT_SUSPEND);\r
\r
#if defined(USB_SERIES_2_AVR) && !defined(NO_LIMITED_CONTROLLER_CONNECT)\r
- if (!(USB_IsConnected))\r
- {\r
- USB_IsConnected = true;\r
- EVENT_USB_Connect();\r
- }\r
+ USB_DeviceState = DEVICE_STATE_Powered;\r
+ EVENT_USB_Connect();\r
+ #else\r
+ USB_DeviceState = DEVICE_STATE_Configured;\r
+ EVENT_USB_WakeUp(); \r
#endif\r
-\r
- USB_IsSuspended = false;\r
-\r
- EVENT_USB_WakeUp();\r
}\r
\r
if (USB_INT_HasOccurred(USB_INT_EORSTI) && USB_INT_IsEnabled(USB_INT_EORSTI))\r
{\r
USB_INT_Clear(USB_INT_EORSTI);\r
\r
+ USB_DeviceState = DEVICE_STATE_Default;\r
USB_ConfigurationNumber = 0;\r
\r
USB_INT_Clear(USB_INT_SUSPEND);\r
\r
USB_INT_Enable(USB_INT_DDISCI);\r
\r
- USB_HostState = HOST_STATE_Attached;\r
+ USB_HostState = HOST_STATE_Powered;\r
}\r
\r
if (USB_INT_HasOccurred(USB_INT_BCERRI) && USB_INT_IsEnabled(USB_INT_BCERRI))\r
EVENT_USB_DeviceEnumerationFailed(HOST_ENUMERROR_NoDeviceDetected, 0);\r
EVENT_USB_DeviceUnattached();\r
\r
- if (USB_IsConnected)\r
+ if (USB_HostState != HOST_STATE_Unattached)\r
EVENT_USB_Disconnect();\r
\r
USB_ResetInterface();\r
{ \r
USB_INT_Clear(USB_INT_IDTI);\r
\r
- if (USB_IsConnected)\r
- {\r
- if (USB_CurrentMode == USB_MODE_HOST)\r
- EVENT_USB_DeviceUnattached();\r
+ if (USB_DeviceState != DEVICE_STATE_Unattached)\r
+ EVENT_USB_Disconnect();\r
\r
+ if (USB_HostState != HOST_STATE_Unattached)\r
+ {\r
EVENT_USB_Disconnect();\r
+ EVENT_USB_DeviceUnattached();\r
}\r
+ \r
+ EVENT_USB_Disconnect();\r
\r
EVENT_USB_UIDChange();\r
\r