\r
/** Event for USB device attachment. This event fires when a the USB interface is in host mode, and\r
* a USB device has been connected to the USB interface. This is interrupt driven, thus fires before\r
- * the standard \ref EVENT_USB_Device_Connect event and so can be used to programmatically start the USB\r
+ * the standard \ref EVENT_USB_Device_Connect() event and so can be used to programmatically start the USB\r
* management task to reduce CPU consumption.\r
*\r
* \note This event only exists on USB AVR models which supports host mode.\r
* \ref Group_USBManagement documentation).\r
*/\r
void EVENT_USB_Device_Reset(void);\r
+\r
+ /** Event for USB Start Of Frame detection, when enabled. This event fires at the start of each USB\r
+ * frame, once per millisecond, and is synchronised to the USB bus. This can be used as an accurate\r
+ * millisecond timer source when the USB bus is enumerated in device mode to a USB host.\r
+ *\r
+ * This event is not normally active - it must be manually enabled and disabled via the\r
+ * \ref USB_Device_EnableSOFEvents() and \ref USB_Device_DisableSOFEvents() commands after enumeration.\r
+ *\r
+ * \note This event does not exist if the USB_HOST_ONLY token is supplied to the compiler (see\r
+ * \ref Group_USBManagement documentation).\r
+ */\r
+ void EVENT_USB_Device_StartOfFrame(void);\r
#endif\r
\r
/* Private Interface - For use in library only: */\r
void EVENT_USB_Device_Suspend(void) ATTR_WEAK ATTR_ALIAS(USB_Event_Stub);\r
void EVENT_USB_Device_WakeUp(void) ATTR_WEAK ATTR_ALIAS(USB_Event_Stub);\r
void EVENT_USB_Device_Reset(void) ATTR_WEAK ATTR_ALIAS(USB_Event_Stub);\r
+ void EVENT_USB_Device_StartOfFrame(void) ATTR_WEAK ATTR_ALIAS(USB_Event_Stub);\r
#endif\r
#endif\r
#endif\r