X-Git-Url: http://git.linex4red.de/pub/USBasp.git/blobdiff_plain/b369aa2cc67015ba5fab3b17a56ea81a2086125d..d36c96d6a526f74e3853466bcecf49261c58b9bd:/LUFA/Drivers/USB/LowLevel/Host.h diff --git a/LUFA/Drivers/USB/LowLevel/Host.h b/LUFA/Drivers/USB/LowLevel/Host.h index aae1fa2f0..3bfc44199 100644 --- a/LUFA/Drivers/USB/LowLevel/Host.h +++ b/LUFA/Drivers/USB/LowLevel/Host.h @@ -95,10 +95,11 @@ * after connection before the enumeration process can start or incorrect operation will * occur. * - * This value may be overridden in the user project makefile as the value of the - * HOST_DEVICE_SETTLE_DELAY_MS token, and passed to the compiler using the -D switch. + * The default delay value may be overridden in the user project makefile by definining the + * HOST_DEVICE_SETTLE_DELAY_MS token to tbe required delay in milliseconds, and passed to the + * compiler using the -D switch. */ - #define HOST_DEVICE_SETTLE_DELAY_MS 1500 + #define HOST_DEVICE_SETTLE_DELAY_MS 1000 #endif /* Enums: */ @@ -244,6 +245,33 @@ }; /* Inline Functions: */ + /** Returns the current USB frame number, when in host mode. Every millisecond the USB bus is active (i.e. not suspended) + * the frame number is incremented by one. + */ + static inline uint16_t USB_Host_GetFrameNumber(void) + { + return UHFNUM; + } + + /** Enables the host mode Start Of Frame events. When enabled, this causes the + * \ref EVENT_USB_Host_StartOfFrame() event to fire once per millisecond, synchronized to the USB bus, + * at the start of each USB frame when a device is enumerated while in host mode. + */ + static inline void USB_Host_EnableSOFEvents(void) ATTR_ALWAYS_INLINE; + static inline void USB_Host_EnableSOFEvents(void) + { + USB_INT_Enable(USB_INT_HSOFI); + } + + /** Disables the host mode Start Of Frame events. When disabled, this stops the firing of the + * \ref EVENT_USB_Host_StartOfFrame() event when enumerated in host mode. + */ + static inline void USB_Host_DisableSOFEvents(void) ATTR_ALWAYS_INLINE; + static inline void USB_Host_DisableSOFEvents(void) + { + USB_INT_Disable(USB_INT_HSOFI); + } + /** Resets the USB bus, including the endpoints in any attached device and pipes on the AVR host. * USB bus resets leave the default control pipe configured (if already configured). * @@ -397,7 +425,7 @@ * * \note After this routine returns, the control pipe will be selected. * - * \param[in] EndpointIndex Index of the endpoint to clear. + * \param[in] EndpointIndex Index of the endpoint to clear, including the endpoint's direction. * * \return A value from the \ref USB_Host_SendControlErrorCodes_t enum to indicate the result. */