X-Git-Url: http://git.linex4red.de/pub/USBasp.git/blobdiff_plain/2ee9fc707784e115d744dbc229bdc893f4bb6bc1..b462f2d457ec2f0cfa22a1c3db198cb22f6809a1:/LUFA/Drivers/USB/HighLevel/USBTask.h diff --git a/LUFA/Drivers/USB/HighLevel/USBTask.h b/LUFA/Drivers/USB/HighLevel/USBTask.h index 21b1ae200..2a9bf1953 100644 --- a/LUFA/Drivers/USB/HighLevel/USBTask.h +++ b/LUFA/Drivers/USB/HighLevel/USBTask.h @@ -38,7 +38,6 @@ #include #include - #include "../../../Scheduler/Scheduler.h" #include "../LowLevel/LowLevel.h" #include "StdRequestType.h" #include "USBMode.h" @@ -117,25 +116,28 @@ * * \note This global is only present if the user application can be a USB host. * + * \see \ref USB_Host_States_t for a list of possible host states + * * \ingroup Group_Host */ extern volatile uint8_t USB_HostState; #endif - /* Tasks: */ + /* Function Prototypes: */ /** This is the main USB management task. The USB driver requires that this task be executed * continuously when the USB system is active (device attached in host mode, or attached to a host * in device mode) in order to manage USB communications. This task may be executed inside an RTOS, - * scheduler (e.g. the simple LUFA Scheduler), fast timer ISR or the main user application loop. + * fast timer ISR or the main user application loop. * - * The USB task must be serviced within 50mS in all modes, when needed. The task may be serviced - * at all times, or (for minimum CPU consumption): + * The USB task must be serviced within 30ms while in device mode, or within 1ms while in host mode. + * The task may be serviced at all times, or (for minimum CPU consumption): * * - In device mode, it may be disabled at start-up, enabled on the firing of the \ref EVENT_USB_Connect() event * and disabled again on the firing of the \ref EVENT_USB_Disconnect() event. * * - In host mode, it may be disabled at start-up, enabled on the firing of the \ref EVENT_USB_DeviceAttached() - * event and disabled again on the firing of the \ref EVENT_USB_DeviceUnattached() event. + * event and disabled again on the firing of the \ref EVENT_USB_DeviceEnumerationComplete() or + * \ref EVENT_USB_DeviceEnumerationFailed() events. * * If in device mode (only), the control endpoint can instead be managed via interrupts entirely by the library * by defining the INTERRUPT_CONTROL_ENDPOINT token and passing it to the compiler via the -D switch. @@ -144,7 +146,7 @@ * * \ingroup Group_USBManagement */ - TASK(USB_USBTask); + void USB_USBTask(void); /* Private Interface - For use in library only: */ #if !defined(__DOXYGEN__)