-               #if !defined(INCLUDE_FROM_EVENTS_C) || defined(__DOXYGEN__)\r
-                       /** Event for VBUS level change. This event fires when the VBUS line of the USB AVR changes from\r
-                        *  high to low or vice-versa, before the new VBUS level is sampled and the appropriate action\r
-                        *  taken.\r
-                        *\r
-                        *  \note This event is only available on USB AVR models which support VBUS notification interrupts.\r
-                        */\r
-                       void EVENT_USB_VBUSChange(void);\r
-\r
-                       /** Event for VBUS attachment. On the AVR models with a dedicated VBUS pin, this event fires when\r
-                        *  the VBUS line of the USB AVR changes from low to high (after the VBUS events have been handled),\r
-                        *  signalling the attachment of the USB device to a host, before the enumeration process has begun.\r
-                        *\r
-                        *  \note This event is only available on USB AVR models which support VBUS notification interrupts.\r
-                        */\r
-                       void EVENT_USB_VBUSConnect(void);\r
-\r
-                       /** Event for VBUS attachment. On the AVR models with a dedicated VBUS pin, this event fires when\r
-                        *  the VBUS line of the USB AVR changes from high to low (after the VBUS events have been handled),\r
-                        *  signalling the detatchment of the USB device from a host, regardless of its enumeration state.\r
-                        *\r
-                        *  \note This event is only available on USB AVR models which support VBUS notification interrupts.\r
-                        */\r
-                       void EVENT_USB_VBUSDisconnect(void);\r
-\r
-                       /** Event for USB device connection. This event fires when the AVR is in USB host mode and a device\r
-                        *  has been attached (but not yet fully enumerated), or when in device mode and the device is connected\r
-                        *  to a host, beginning the enumeration process.\r
-                        *\r
-                        *  When in device mode, this can be used to programmatically start the USB management task to reduce\r
-                        *  CPU usage.\r
-                        *\r
-                        *  \note For the smaller USB AVRs (AT90USBXX2) with limited USB controllers, VBUS is not available to the USB controller.\r
-                        *        this means that the current connection state is derived from the bus suspension and wake up events by default,\r
-                        *        which is not always accurate (host may suspend the bus while still connected). If the actual connection state\r
-                        *        needs to be determined, VBUS should be routed to an external pin, and the auto-detect behaviour turned off by\r
-                        *        passing the NO_LIMITED_CONTROLLER_CONNECT token to the compiler via the -D switch at compile time. The connection\r
-                        *        and disconnection events may be manually fired, and the \ref USB_IsConnected global changed manually.\r
-                        *\r
-                        *  \see USBTask.h for more information on the USB management task and reducing CPU usage.\r
-                        */\r
-                       void EVENT_USB_Connect(void);\r
-\r
-                       /** Event for USB device disconnection. This event fires when the AVR is in USB host mode and an\r
-                        *  attached and enumerated device has been disconnected, or when in device mode and the device is\r
-                        *  disconnected from the host.\r
-                        *\r
-                        *  When in device mode, this can be used to programmatically stop the USB management task to reduce\r
-                        *  CPU usage.\r
-                        *\r
-                        *  \note For the smaller USB AVRs (AT90USBXX2) with limited USB controllers, VBUS is not available to the USB controller.\r
-                        *        this means that the current connection state is derived from the bus suspension and wake up events by default,\r
-                        *        which is not always accurate (host may suspend the bus while still connected). If the actual connection state\r
-                        *        needs to be determined, VBUS should be routed to an external pin, and the auto-detect behaviour turned off by\r
-                        *        passing the NO_LIMITED_CONTROLLER_CONNECT token to the compiler via the -D switch at compile time. The connection\r
-                        *        and disconnection events may be manually fired, and the \ref USB_IsConnected global changed manually.\r
-                        *\r
-                        *  \see USBTask.h for more information on the USB management task and reducing CPU usage.\r
-                        */\r
-                       void EVENT_USB_Disconnect(void);\r
-                       \r
-                       /** Event for USB initialization failure. This event fires when the USB interface fails to\r