Add new tag for the LUFA-120219-BETA release.
[pub/USBasp.git] / LUFA / Drivers / USB / Core / USBTask.h
index b5cf381..bd367b2 100644 (file)
@@ -1,13 +1,13 @@
 /*
              LUFA Library
-     Copyright (C) Dean Camera, 2011.
+     Copyright (C) Dean Camera, 2012.
 
   dean [at] fourwalledcubicle [dot] com
            www.lufa-lib.org
 */
 
 /*
-  Copyright 2011  Dean Camera (dean [at] fourwalledcubicle [dot] com)
+  Copyright 2012  Dean Camera (dean [at] fourwalledcubicle [dot] com)
 
   Permission to use, copy, modify, distribute, and sell this
   software and its documentation for any purpose is hereby granted
 
        /* Includes: */
                #include "../../../Common/Common.h"
+               #include "USBMode.h"
                #include "USBController.h"
                #include "Events.h"
                #include "StdRequestType.h"
                #include "StdDescriptors.h"
-               #include "USBMode.h"
 
                #if defined(USB_CAN_BE_DEVICE)
                        #include "DeviceStandardReq.h"
                        extern volatile bool USB_IsInitialized;
 
                        /** Structure containing the last received Control request when in Device mode (for use in user-applications
-                        *  inside of the \ref EVENT_USB_Device_ControlRequest() event, or for filling up with a control request to 
+                        *  inside of the \ref EVENT_USB_Device_ControlRequest() event, or for filling up with a control request to
                         *  issue when in Host mode before calling \ref USB_Host_SendControlRequest().
                         *
+                        *  \note The contents of this structure is automatically endian-corrected for the current CPU architecture.
+                        *
                         *  \ingroup Group_USBManagement
                         */
                         extern USB_Request_Header_t USB_ControlRequest;
                                        /** Indicates the current host state machine state. When in host mode, this indicates the state
                                         *  via one of the values of the \ref USB_Host_States_t enum values.
                                         *
-                                        *  This value may be altered by the user application to implement the \ref HOST_STATE_Addressed,
-                                        *  \ref HOST_STATE_Configured and \ref HOST_STATE_Suspended states which are not implemented by
-                                        *  the library internally.
+                                        *  This value should not be altered by the user application as it is handled automatically by the
+                                        *  library.
                                         *
                                         *  To reduce program size and speed up checks of this global on the AVR8 architecture, it can be
-                                        *  placed into one of the AVR's GPIOR hardware registers instead of RAM by defining the
-                                        *  HOST_STATE_AS_GPIOR token to a value between 0 and 2 in the project makefile and passing it to
+                                        *  placed into one of the AVR's \c GPIOR hardware registers instead of RAM by defining the
+                                        *  \c HOST_STATE_AS_GPIOR token to a value between 0 and 2 in the project makefile and passing it to
                                         *  the compiler via the -D switch. When defined, the corresponding GPIOR register should not be used
                                         *  in the user application except implicitly via the library APIs.
                                         *
                                         *  (see \ref EVENT_USB_Device_Connect() and \ref EVENT_USB_Device_Disconnect() events).
                                         *
                                         *  To reduce program size and speed up checks of this global on the AVR8 architecture, it can be
-                                        *  placed into one of the AVR's GPIOR hardware registers instead of RAM by defining the
-                                        *  DEVICE_STATE_AS_GPIOR token to a value between 0 and 2 in the project makefile and passing it to
+                                        *  placed into one of the AVR's \c GPIOR hardware registers instead of RAM by defining the
+                                        *  \c DEVICE_STATE_AS_GPIOR token to a value between 0 and 2 in the project makefile and passing it to
                                         *  the compiler via the -D switch. When defined, the corresponding GPIOR register should not be used
                                         *  in the user application except implicitly via the library APIs.
                                         *
                /* Macros: */
                        #define HOST_TASK_NONBLOCK_WAIT(Duration, NextState) MACROS{ USB_HostState   = HOST_STATE_WaitForDevice; \
                                                                                     WaitMSRemaining = (Duration);               \
-                                                                                    PostWaitState   = (NextState);        }MACROE
+                                                                                    PostWaitState   = (NextState);              }MACROE
        #endif
 
        /* Disable C linkage for C++ Compilers: */