Partial commit: Rename USBFOO LED driver to fix capitalisation of file name, which...
[pub/USBasp.git] / LUFA / Drivers / USB / Core / Device.h
index fdec1df..0e86624 100644 (file)
@@ -51,6 +51,7 @@
 \r
        /* Includes: */\r
                #include "../../../Common/Common.h"\r
+               #include "USBMode.h"            \r
                #include "StdDescriptors.h"\r
                #include "USBInterrupt.h"\r
                #include "Endpoint.h"\r
 \r
        /* Public Interface - May be used in end-application: */\r
                /* Enums: */\r
+                       /** Enum for the various states of the USB Device state machine. Only some states are\r
+                        *  implemented in the LUFA library - other states are left to the user to implement.\r
+                        *\r
+                        *  For information on each possible USB device state, refer to the USB 2.0 specification.\r
+                        *\r
+                        *  \see \ref USB_DeviceState, which stores the current device state machine state.\r
+                        */\r
                        enum USB_Device_States_t\r
                        {\r
                                DEVICE_STATE_Unattached                   = 0, /**< Internally implemented by the library. This state indicates\r
                         *                                  the address of the descriptor.\r
                         *  \param[out] MemoryAddressSpace  A value from the \ref USB_DescriptorMemorySpaces_t enum to indicate the memory\r
                         *                                  space in which the descriptor is stored. This parameter does not exist when one\r
-                        *                                  of the \c USE_*_DESCRIPTORS compile time options is used.\r
+                        *                                  of the \c USE_*_DESCRIPTORS compile time options is used, or on architectures which\r
+                        *                                  use a unified address space.\r
                         *\r
                         *  \note By default, the library expects all descriptors to be located in flash memory via the \c PROGMEM attribute.\r
                         *        If descriptors should be located in RAM or EEPROM instead (to speed up access in the case of RAM, or to\r
                        uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,\r
                                                            const uint8_t wIndex,\r
                                                            const void** const DescriptorAddress\r
-                       #if !defined(USE_FLASH_DESCRIPTORS) && !defined(USE_EEPROM_DESCRIPTORS) && !defined(USE_RAM_DESCRIPTORS)\r
+                       #if (defined(ARCH_HAS_MULTI_ADDRESS_SPACE) || defined(__DOXYGEN__)) && \\r
+                           !(defined(USE_FLASH_DESCRIPTORS) || defined(USE_EEPROM_DESCRIPTORS) || defined(USE_RAM_DESCRIPTORS))\r
                                                            , uint8_t* MemoryAddressSpace\r
                        #endif\r
                                                            ) ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3);\r
        /* Architecture Includes: */\r
                #if (ARCH == ARCH_AVR8)\r
                        #include "AVR8/Device_AVR8.h"\r
-               #elif (ARCH == ARCH_UC3B)\r
-                       #include "UC3B/Device_UC3B.h"\r
+               #elif (ARCH == ARCH_UC3)\r
+                       #include "UC3/Device_UC3.h"\r
                #endif\r
 \r
 #endif\r