diff --git a/LUFA.pnproj b/LUFA.pnproj index 9cd530b75b..96065e72fa 100644 --- a/LUFA.pnproj +++ b/LUFA.pnproj @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/LUFA/Common/Common.h b/LUFA/Common/Common.h index cf6c283074..fc21850586 100644 --- a/LUFA/Common/Common.h +++ b/LUFA/Common/Common.h @@ -92,6 +92,7 @@ typedef uint32_t uint_reg_t; + // TODO #define EEMEM #define PROGMEM const #define ISR(Name) void Name (void) diff --git a/LUFA/Drivers/USB/Core/AVR8/Device_AVR8.h b/LUFA/Drivers/USB/Core/AVR8/Device_AVR8.h index 9271047555..61e47cfbdc 100644 --- a/LUFA/Drivers/USB/Core/AVR8/Device_AVR8.h +++ b/LUFA/Drivers/USB/Core/AVR8/Device_AVR8.h @@ -126,35 +126,6 @@ */ void USB_Device_SendRemoteWakeup(void); - /* Type Defines: */ - enum USB_Device_States_t - { - DEVICE_STATE_Unattached = 0, /**< Internally implemented by the library. This state indicates - * that the device is not currently connected to a host. - */ - DEVICE_STATE_Powered = 1, /**< Internally implemented by the library. This state indicates - * that the device is connected to a host, but enumeration has not - * yet begun. - */ - DEVICE_STATE_Default = 2, /**< Internally implemented by the library. This state indicates - * that the device's USB bus has been reset by the host and it is - * now waiting for the host to begin the enumeration process. - */ - DEVICE_STATE_Addressed = 3, /**< Internally implemented by the library. This state indicates - * that the device has been addressed by the USB Host, but is not - * yet configured. - */ - DEVICE_STATE_Configured = 4, /**< May be implemented by the user project. This state indicates - * that the device has been enumerated by the host and is ready - * for USB communications to begin. - */ - DEVICE_STATE_Suspended = 5, /**< May be implemented by the user project. This state indicates - * that the USB bus has been suspended by the host, and the device - * should power down to a minimal power level until the bus is - * resumed. - */ - }; - /* Inline Functions: */ /** Returns the current USB frame number, when in device mode. Every millisecond the USB bus is active (i.e. enumerated to a host) * the frame number is incremented by one. diff --git a/LUFA/Drivers/USB/Core/AVR8/Endpoint_AVR8.h b/LUFA/Drivers/USB/Core/AVR8/Endpoint_AVR8.h index ea13a6db09..b51f17dd74 100644 --- a/LUFA/Drivers/USB/Core/AVR8/Endpoint_AVR8.h +++ b/LUFA/Drivers/USB/Core/AVR8/Endpoint_AVR8.h @@ -174,11 +174,6 @@ */ #define ENDPOINT_BANK_DOUBLE (1 << EPBK0) //@} - - /** Endpoint address for the default control endpoint, which always resides in address 0. This is - * defined for convenience to give more readable code when used with the endpoint macros. - */ - #define ENDPOINT_CONTROLEP 0 #if (!defined(FIXED_CONTROL_ENDPOINT_SIZE) || defined(__DOXYGEN__)) /** Default size of the default control endpoint's bank, until altered by the control endpoint bank size @@ -187,16 +182,6 @@ #define ENDPOINT_CONTROLEP_DEFAULT_SIZE 8 #endif - /** Endpoint number mask, for masking against endpoint addresses to retrieve the endpoint's - * numerical address in the device. - */ - #define ENDPOINT_EPNUM_MASK 0x07 - - /** Endpoint direction mask, for masking against endpoint addresses to retrieve the endpoint's - * direction for comparing with the \c ENDPOINT_DESCRIPTOR_DIR_* masks. - */ - #define ENDPOINT_EPDIR_MASK 0x80 - /** Retrives the maximum bank size in bytes of a given endpoint. * * \note This macro will only work correctly on endpoint indexes that are compile-time constants diff --git a/LUFA/Drivers/USB/Core/AVR8/Host_AVR8.h b/LUFA/Drivers/USB/Core/AVR8/Host_AVR8.h index 0c50a39c3e..2bf13cd26c 100644 --- a/LUFA/Drivers/USB/Core/AVR8/Host_AVR8.h +++ b/LUFA/Drivers/USB/Core/AVR8/Host_AVR8.h @@ -97,109 +97,6 @@ #define HOST_DEVICE_SETTLE_DELAY_MS 1000 #endif - /* Enums: */ - /** Enum for the various states of the USB Host state machine. Only some states are - * implemented in the LUFA library - other states are left to the user to implement. - * - * For information on each possible USB host state, refer to the USB 2.0 specification. - * Several of the USB host states are broken up further into multiple smaller sub-states, - * so that they can be internally implemented inside the library in an efficient manner. - * - * \see \ref USB_HostState, which stores the current host state machine state. - */ - enum USB_Host_States_t - { - HOST_STATE_WaitForDeviceRemoval = 0, /**< Internally implemented by the library. This state can be - * used by the library to wait until the attached device is - * removed by the user - useful for when an error occurs or - * further communication with the device is not needed. This - * allows for other code to run while the state machine is - * effectively disabled. - */ - HOST_STATE_WaitForDevice = 1, /**< Internally implemented by the library. This state indicates - * that the stack is waiting for an interval to elapse before - * continuing with the next step of the device enumeration - * process. - * - * \note Do not manually change to this state in the user code. - */ - HOST_STATE_Unattached = 2, /**< Internally implemented by the library. This state indicates - * that the host state machine is waiting for a device to be - * attached so that it can start the enumeration process. - * - * \note Do not manually change to this state in the user code. - */ - HOST_STATE_Powered = 3, /**< Internally implemented by the library. This state indicates - * that a device has been attached, and the library's internals - * are being configured to begin the enumeration process. - * - * \note Do not manually change to this state in the user code. - */ - HOST_STATE_Powered_WaitForDeviceSettle = 4, /**< Internally implemented by the library. This state indicates - * that the stack is waiting for the initial settling period to - * elapse before beginning the enumeration process. - * - * \note Do not manually change to this state in the user code. - */ - HOST_STATE_Powered_WaitForConnect = 5, /**< Internally implemented by the library. This state indicates - * that the stack is waiting for a connection event from the USB - * controller to indicate a valid USB device has been attached to - * the bus and is ready to be enumerated. - * - * \note Do not manually change to this state in the user code. - */ - HOST_STATE_Powered_DoReset = 6, /**< Internally implemented by the library. This state indicates - * that a valid USB device has been attached, and that it is - * will now be reset to ensure it is ready for enumeration. - * - * \note Do not manually change to this state in the user code. - */ - HOST_STATE_Powered_ConfigPipe = 7, /**< Internally implemented by the library. This state indicates - * that the attached device is currently powered and reset, and - * that the control pipe is now being configured by the stack. - * - * \note Do not manually change to this state in the user code. - */ - HOST_STATE_Default = 8, /**< Internally implemented by the library. This state indicates - * that the stack is currently retrieving the control endpoint's - * size from the device, so that the control pipe can be altered - * to match. - * - * \note Do not manually change to this state in the user code. - */ - HOST_STATE_Default_PostReset = 9, /**< Internally implemented by the library. This state indicates that - * the control pipe is being reconfigured to match the retrieved - * control endpoint size from the device, and the device's USB bus - * address is being set. - * - * \note Do not manually change to this state in the user code. - */ - HOST_STATE_Default_PostAddressSet = 10, /**< Internally implemented by the library. This state indicates that - * the device's address has now been set, and the stack is has now - * completed the device enumeration process. This state causes the - * stack to change the current USB device address to that set for - * the connected device, before progressing to the user-implemented - * \ref HOST_STATE_Addressed state for further communications. - * - * \note Do not manually change to this state in the user code. - */ - HOST_STATE_Addressed = 11, /**< May be implemented by the user project. This state should - * set the device configuration before progressing to the - * \ref HOST_STATE_Configured state. Other processing (such as the - * retrieval and processing of the device descriptor) should also - * be placed in this state. - */ - HOST_STATE_Configured = 12, /**< May be implemented by the user project. This state should implement the - * actual work performed on the attached device and changed to the - * \ref HOST_STATE_Suspended or \ref HOST_STATE_WaitForDeviceRemoval states as needed. - */ - HOST_STATE_Suspended = 15, /**< May be implemented by the user project. This state should be maintained - * while the bus is suspended, and changed to either the \ref HOST_STATE_Configured - * (after resuming the bus with the USB_Host_ResumeBus() macro) or the - * \ref HOST_STATE_WaitForDeviceRemoval states as needed. - */ - }; - /** Enum for the error codes for the \ref EVENT_USB_Host_HostError() event. * * \see \ref Group_Events for more information on this event. diff --git a/LUFA/Drivers/USB/Core/AVR8/Pipe_AVR8.h b/LUFA/Drivers/USB/Core/AVR8/Pipe_AVR8.h index 4a5596832d..42876d678a 100644 --- a/LUFA/Drivers/USB/Core/AVR8/Pipe_AVR8.h +++ b/LUFA/Drivers/USB/Core/AVR8/Pipe_AVR8.h @@ -155,22 +155,12 @@ */ #define PIPE_BANK_DOUBLE (1 << EPBK0) //@} - - /** Pipe address for the default control pipe, which always resides in address 0. This is - * defined for convenience to give more readable code when used with the pipe macros. - */ - #define PIPE_CONTROLPIPE 0 /** Default size of the default control pipe's bank, until altered by the Endpoint0Size value * in the device descriptor of the attached device. */ #define PIPE_CONTROLPIPE_DEFAULT_SIZE 64 - /** Pipe number mask, for masking against pipe addresses to retrieve the pipe's numerical address - * in the device. - */ - #define PIPE_PIPENUM_MASK 0x07 - /** Total number of pipes (including the default control pipe at address 0) which may be used in * the device. Different USB AVR models support different amounts of pipes, this value reflects * the maximum number of pipes for the currently selected AVR model. @@ -184,16 +174,6 @@ */ #define PIPE_MAX_SIZE 256 - /** Endpoint number mask, for masking against endpoint addresses to retrieve the endpoint's - * numerical address in the attached device. - */ - #define PIPE_EPNUM_MASK 0x0F - - /** Endpoint direction mask, for masking against endpoint addresses to retrieve the endpoint's - * direction for comparing with the \c ENDPOINT_DESCRIPTOR_DIR_* masks. - */ - #define PIPE_EPDIR_MASK 0x80 - /* Enums: */ /** Enum for the possible error return codes of the \ref Pipe_WaitUntilReady() function. * diff --git a/LUFA/Drivers/USB/Core/Device.h b/LUFA/Drivers/USB/Core/Device.h index d6937a5c0b..fdec1df1cb 100644 --- a/LUFA/Drivers/USB/Core/Device.h +++ b/LUFA/Drivers/USB/Core/Device.h @@ -54,12 +54,6 @@ #include "StdDescriptors.h" #include "USBInterrupt.h" #include "Endpoint.h" - - #if (ARCH == ARCH_AVR8) - #include "AVR8/Device_AVR8.h" - #elif (ARCH == ARCH_UC3B) - #include "UC3B/Device_UC3B.h" - #endif /* Preprocessor Checks: */ #if !defined(__INCLUDE_FROM_USB_DRIVER) @@ -67,6 +61,35 @@ #endif /* Public Interface - May be used in end-application: */ + /* Enums: */ + enum USB_Device_States_t + { + DEVICE_STATE_Unattached = 0, /**< Internally implemented by the library. This state indicates + * that the device is not currently connected to a host. + */ + DEVICE_STATE_Powered = 1, /**< Internally implemented by the library. This state indicates + * that the device is connected to a host, but enumeration has not + * yet begun. + */ + DEVICE_STATE_Default = 2, /**< Internally implemented by the library. This state indicates + * that the device's USB bus has been reset by the host and it is + * now waiting for the host to begin the enumeration process. + */ + DEVICE_STATE_Addressed = 3, /**< Internally implemented by the library. This state indicates + * that the device has been addressed by the USB Host, but is not + * yet configured. + */ + DEVICE_STATE_Configured = 4, /**< May be implemented by the user project. This state indicates + * that the device has been enumerated by the host and is ready + * for USB communications to begin. + */ + DEVICE_STATE_Suspended = 5, /**< May be implemented by the user project. This state indicates + * that the USB bus has been suspended by the host, and the device + * should power down to a minimal power level until the bus is + * resumed. + */ + }; + /* Function Prototypes: */ /** Function to retrieve a given descriptor's size and memory location from the given descriptor type value, * index and language ID. This function MUST be overridden in the user application (added with full, identical @@ -101,6 +124,13 @@ #endif ) ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3); + /* Architecture Includes: */ + #if (ARCH == ARCH_AVR8) + #include "AVR8/Device_AVR8.h" + #elif (ARCH == ARCH_UC3B) + #include "UC3B/Device_UC3B.h" + #endif + #endif /** @} */ diff --git a/LUFA/Drivers/USB/Core/Endpoint.h b/LUFA/Drivers/USB/Core/Endpoint.h index ddbba2737e..557df2c797 100644 --- a/LUFA/Drivers/USB/Core/Endpoint.h +++ b/LUFA/Drivers/USB/Core/Endpoint.h @@ -75,17 +75,35 @@ /* Includes: */ #include "../../../Common/Common.h" + /* Preprocessor Checks: */ + #if !defined(__INCLUDE_FROM_USB_DRIVER) + #error Do not include this file directly. Include LUFA/Drivers/USB/USB.h instead. + #endif + + /* Public Interface - May be used in end-application: */ + /* Macros: */ + /** Endpoint number mask, for masking against endpoint addresses to retrieve the endpoint's + * numerical address in the device. + */ + #define ENDPOINT_EPNUM_MASK 0x07 + + /** Endpoint direction mask, for masking against endpoint addresses to retrieve the endpoint's + * direction for comparing with the \c ENDPOINT_DESCRIPTOR_DIR_* masks. + */ + #define ENDPOINT_EPDIR_MASK 0x80 + + /** Endpoint address for the default control endpoint, which always resides in address 0. This is + * defined for convenience to give more readable code when used with the endpoint macros. + */ + #define ENDPOINT_CONTROLEP 0 + + /* Architecture Includes: */ #if (ARCH == ARCH_AVR8) #include "AVR8/Endpoint_AVR8.h" #elif (ARCH == ARCH_UC3B) #include "UC3B/Endpoint_UC3B.h" #endif - /* Preprocessor Checks: */ - #if !defined(__INCLUDE_FROM_USB_DRIVER) - #error Do not include this file directly. Include LUFA/Drivers/USB/USB.h instead. - #endif - #endif /** @} */ diff --git a/LUFA/Drivers/USB/Core/Host.h b/LUFA/Drivers/USB/Core/Host.h index 7b5b50145d..4a12f1ac31 100644 --- a/LUFA/Drivers/USB/Core/Host.h +++ b/LUFA/Drivers/USB/Core/Host.h @@ -52,17 +52,122 @@ /* Includes: */ #include "../../../Common/Common.h" + /* Preprocessor Checks: */ + #if !defined(__INCLUDE_FROM_USB_DRIVER) + #error Do not include this file directly. Include LUFA/Drivers/USB/USB.h instead. + #endif + + /* Public Interface - May be used in end-application: */ + /* Enums: */ + /** Enum for the various states of the USB Host state machine. Only some states are + * implemented in the LUFA library - other states are left to the user to implement. + * + * For information on each possible USB host state, refer to the USB 2.0 specification. + * Several of the USB host states are broken up further into multiple smaller sub-states, + * so that they can be internally implemented inside the library in an efficient manner. + * + * \see \ref USB_HostState, which stores the current host state machine state. + */ + enum USB_Host_States_t + { + HOST_STATE_WaitForDeviceRemoval = 0, /**< Internally implemented by the library. This state can be + * used by the library to wait until the attached device is + * removed by the user - useful for when an error occurs or + * further communication with the device is not needed. This + * allows for other code to run while the state machine is + * effectively disabled. + */ + HOST_STATE_WaitForDevice = 1, /**< Internally implemented by the library. This state indicates + * that the stack is waiting for an interval to elapse before + * continuing with the next step of the device enumeration + * process. + * + * \note Do not manually change to this state in the user code. + */ + HOST_STATE_Unattached = 2, /**< Internally implemented by the library. This state indicates + * that the host state machine is waiting for a device to be + * attached so that it can start the enumeration process. + * + * \note Do not manually change to this state in the user code. + */ + HOST_STATE_Powered = 3, /**< Internally implemented by the library. This state indicates + * that a device has been attached, and the library's internals + * are being configured to begin the enumeration process. + * + * \note Do not manually change to this state in the user code. + */ + HOST_STATE_Powered_WaitForDeviceSettle = 4, /**< Internally implemented by the library. This state indicates + * that the stack is waiting for the initial settling period to + * elapse before beginning the enumeration process. + * + * \note Do not manually change to this state in the user code. + */ + HOST_STATE_Powered_WaitForConnect = 5, /**< Internally implemented by the library. This state indicates + * that the stack is waiting for a connection event from the USB + * controller to indicate a valid USB device has been attached to + * the bus and is ready to be enumerated. + * + * \note Do not manually change to this state in the user code. + */ + HOST_STATE_Powered_DoReset = 6, /**< Internally implemented by the library. This state indicates + * that a valid USB device has been attached, and that it is + * will now be reset to ensure it is ready for enumeration. + * + * \note Do not manually change to this state in the user code. + */ + HOST_STATE_Powered_ConfigPipe = 7, /**< Internally implemented by the library. This state indicates + * that the attached device is currently powered and reset, and + * that the control pipe is now being configured by the stack. + * + * \note Do not manually change to this state in the user code. + */ + HOST_STATE_Default = 8, /**< Internally implemented by the library. This state indicates + * that the stack is currently retrieving the control endpoint's + * size from the device, so that the control pipe can be altered + * to match. + * + * \note Do not manually change to this state in the user code. + */ + HOST_STATE_Default_PostReset = 9, /**< Internally implemented by the library. This state indicates that + * the control pipe is being reconfigured to match the retrieved + * control endpoint size from the device, and the device's USB bus + * address is being set. + * + * \note Do not manually change to this state in the user code. + */ + HOST_STATE_Default_PostAddressSet = 10, /**< Internally implemented by the library. This state indicates that + * the device's address has now been set, and the stack is has now + * completed the device enumeration process. This state causes the + * stack to change the current USB device address to that set for + * the connected device, before progressing to the user-implemented + * \ref HOST_STATE_Addressed state for further communications. + * + * \note Do not manually change to this state in the user code. + */ + HOST_STATE_Addressed = 11, /**< May be implemented by the user project. This state should + * set the device configuration before progressing to the + * \ref HOST_STATE_Configured state. Other processing (such as the + * retrieval and processing of the device descriptor) should also + * be placed in this state. + */ + HOST_STATE_Configured = 12, /**< May be implemented by the user project. This state should implement the + * actual work performed on the attached device and changed to the + * \ref HOST_STATE_Suspended or \ref HOST_STATE_WaitForDeviceRemoval states as needed. + */ + HOST_STATE_Suspended = 15, /**< May be implemented by the user project. This state should be maintained + * while the bus is suspended, and changed to either the \ref HOST_STATE_Configured + * (after resuming the bus with the USB_Host_ResumeBus() macro) or the + * \ref HOST_STATE_WaitForDeviceRemoval states as needed. + */ + }; + + /* Architecture Includes: */ #if (ARCH == ARCH_AVR8) #include "AVR8/Host_AVR8.h" #elif (ARCH == ARCH_UC3B) #include "UC3B/Host_UC3B.h" #endif - /* Preprocessor Checks: */ - #if !defined(__INCLUDE_FROM_USB_DRIVER) - #error Do not include this file directly. Include LUFA/Drivers/USB/USB.h instead. - #endif - #endif /** @} */ diff --git a/LUFA/Drivers/USB/Core/OTG.h b/LUFA/Drivers/USB/Core/OTG.h index 45f365dcad..fee7c53406 100644 --- a/LUFA/Drivers/USB/Core/OTG.h +++ b/LUFA/Drivers/USB/Core/OTG.h @@ -52,16 +52,17 @@ /* Includes: */ #include "../../../Common/Common.h" - - #if (ARCH == ARCH_AVR8) - #include "AVR8/OTG_AVR8.h" - #endif - + /* Preprocessor Checks: */ #if !defined(__INCLUDE_FROM_USB_DRIVER) #error Do not include this file directly. Include LUFA/Drivers/USB/USB.h instead. #endif + /* Architecture Includes: */ + #if (ARCH == ARCH_AVR8) + #include "AVR8/OTG_AVR8.h" + #endif + #endif /** @} */ diff --git a/LUFA/Drivers/USB/Core/Pipe.h b/LUFA/Drivers/USB/Core/Pipe.h index 8c6e26bb76..ac49ee89e0 100644 --- a/LUFA/Drivers/USB/Core/Pipe.h +++ b/LUFA/Drivers/USB/Core/Pipe.h @@ -85,17 +85,40 @@ /* Includes: */ #include "../../../Common/Common.h" + /* Preprocessor Checks: */ + #if !defined(__INCLUDE_FROM_USB_DRIVER) + #error Do not include this file directly. Include LUFA/Drivers/USB/USB.h instead. + #endif + + /* Public Interface - May be used in end-application: */ + /* Macros: */ + /** Pipe address for the default control pipe, which always resides in address 0. This is + * defined for convenience to give more readable code when used with the pipe macros. + */ + #define PIPE_CONTROLPIPE 0 + + /** Pipe number mask, for masking against pipe addresses to retrieve the pipe's numerical address + * in the device. + */ + #define PIPE_PIPENUM_MASK 0x07 + + /** Endpoint number mask, for masking against endpoint addresses to retrieve the endpoint's + * numerical address in the attached device. + */ + #define PIPE_EPNUM_MASK 0x0F + + /** Endpoint direction mask, for masking against endpoint addresses to retrieve the endpoint's + * direction for comparing with the \c ENDPOINT_DESCRIPTOR_DIR_* masks. + */ + #define PIPE_EPDIR_MASK 0x80 + + /* Architecture Includes: */ #if (ARCH == ARCH_AVR8) #include "AVR8/Pipe_AVR8.h" #elif (ARCH == ARCH_UC3B) #include "UC3B/Pipe_UC3B.h" #endif - /* Preprocessor Checks: */ - #if !defined(__INCLUDE_FROM_USB_DRIVER) - #error Do not include this file directly. Include LUFA/Drivers/USB/USB.h instead. - #endif - #endif /** @} */ diff --git a/LUFA/Drivers/USB/Core/UC3B/Device_UC3B.h b/LUFA/Drivers/USB/Core/UC3B/Device_UC3B.h index 73abc107ed..0e7692330d 100644 --- a/LUFA/Drivers/USB/Core/UC3B/Device_UC3B.h +++ b/LUFA/Drivers/USB/Core/UC3B/Device_UC3B.h @@ -115,35 +115,6 @@ */ void USB_Device_SendRemoteWakeup(void); - /* Type Defines: */ - enum USB_Device_States_t - { - DEVICE_STATE_Unattached = 0, /**< Internally implemented by the library. This state indicates - * that the device is not currently connected to a host. - */ - DEVICE_STATE_Powered = 1, /**< Internally implemented by the library. This state indicates - * that the device is connected to a host, but enumeration has not - * yet begun. - */ - DEVICE_STATE_Default = 2, /**< Internally implemented by the library. This state indicates - * that the device's USB bus has been reset by the host and it is - * now waiting for the host to begin the enumeration process. - */ - DEVICE_STATE_Addressed = 3, /**< Internally implemented by the library. This state indicates - * that the device has been addressed by the USB Host, but is not - * yet configured. - */ - DEVICE_STATE_Configured = 4, /**< May be implemented by the user project. This state indicates - * that the device has been enumerated by the host and is ready - * for USB communications to begin. - */ - DEVICE_STATE_Suspended = 5, /**< May be implemented by the user project. This state indicates - * that the USB bus has been suspended by the host, and the device - * should power down to a minimal power level until the bus is - * resumed. - */ - }; - /* Inline Functions: */ /** Returns the current USB frame number, when in device mode. Every millisecond the USB bus is active (i.e. enumerated to a host) * the frame number is incremented by one. diff --git a/LUFA/Drivers/USB/Core/UC3B/Endpoint_UC3B.h b/LUFA/Drivers/USB/Core/UC3B/Endpoint_UC3B.h index 7f743750af..ca7403a80c 100644 --- a/LUFA/Drivers/USB/Core/UC3B/Endpoint_UC3B.h +++ b/LUFA/Drivers/USB/Core/UC3B/Endpoint_UC3B.h @@ -120,7 +120,7 @@ /* Inline Functions: */ static inline uint32_t Endpoint_BytesToEPSizeMask(const uint16_t Bytes) ATTR_WARN_UNUSED_RESULT ATTR_CONST - ATTR_ALWAYS_INLINE; + ATTR_ALWAYS_INLINE; static inline uint32_t Endpoint_BytesToEPSizeMask(const uint16_t Bytes) { uint8_t MaskVal = 0; @@ -182,11 +182,6 @@ */ #define ENDPOINT_BANK_TRIPLE AVR32_USBB_UECFG0_EPBK_TRIPLE //@} - - /** Endpoint address for the default control endpoint, which always resides in address 0. This is - * defined for convenience to give more readable code when used with the endpoint macros. - */ - #define ENDPOINT_CONTROLEP 0 #if (!defined(FIXED_CONTROL_ENDPOINT_SIZE) || defined(__DOXYGEN__)) /** Default size of the default control endpoint's bank, until altered by the control endpoint bank size @@ -195,16 +190,6 @@ #define ENDPOINT_CONTROLEP_DEFAULT_SIZE 8 #endif - /** Endpoint number mask, for masking against endpoint addresses to retrieve the endpoint's - * numerical address in the device. - */ - #define ENDPOINT_EPNUM_MASK 0x07 - - /** Endpoint direction mask, for masking against endpoint addresses to retrieve the endpoint's - * direction for comparing with the \c ENDPOINT_DESCRIPTOR_DIR_* masks. - */ - #define ENDPOINT_EPDIR_MASK 0x80 - /** Retrives the maximum bank size in bytes of a given endpoint. * * \note This macro will only work correctly on endpoint indexes that are compile-time constants diff --git a/LUFA/Drivers/USB/Core/UC3B/Host_UC3B.h b/LUFA/Drivers/USB/Core/UC3B/Host_UC3B.h index d4f748f044..0a055ed958 100644 --- a/LUFA/Drivers/USB/Core/UC3B/Host_UC3B.h +++ b/LUFA/Drivers/USB/Core/UC3B/Host_UC3B.h @@ -98,108 +98,6 @@ #endif /* Enums: */ - /** Enum for the various states of the USB Host state machine. Only some states are - * implemented in the LUFA library - other states are left to the user to implement. - * - * For information on each possible USB host state, refer to the USB 2.0 specification. - * Several of the USB host states are broken up further into multiple smaller sub-states, - * so that they can be internally implemented inside the library in an efficient manner. - * - * \see \ref USB_HostState, which stores the current host state machine state. - */ - enum USB_Host_States_t - { - HOST_STATE_WaitForDeviceRemoval = 0, /**< Internally implemented by the library. This state can be - * used by the library to wait until the attached device is - * removed by the user - useful for when an error occurs or - * further communication with the device is not needed. This - * allows for other code to run while the state machine is - * effectively disabled. - */ - HOST_STATE_WaitForDevice = 1, /**< Internally implemented by the library. This state indicates - * that the stack is waiting for an interval to elapse before - * continuing with the next step of the device enumeration - * process. - * - * \note Do not manually change to this state in the user code. - */ - HOST_STATE_Unattached = 2, /**< Internally implemented by the library. This state indicates - * that the host state machine is waiting for a device to be - * attached so that it can start the enumeration process. - * - * \note Do not manually change to this state in the user code. - */ - HOST_STATE_Powered = 3, /**< Internally implemented by the library. This state indicates - * that a device has been attached, and the library's internals - * are being configured to begin the enumeration process. - * - * \note Do not manually change to this state in the user code. - */ - HOST_STATE_Powered_WaitForDeviceSettle = 4, /**< Internally implemented by the library. This state indicates - * that the stack is waiting for the initial settling period to - * elapse before beginning the enumeration process. - * - * \note Do not manually change to this state in the user code. - */ - HOST_STATE_Powered_WaitForConnect = 5, /**< Internally implemented by the library. This state indicates - * that the stack is waiting for a connection event from the USB - * controller to indicate a valid USB device has been attached to - * the bus and is ready to be enumerated. - * - * \note Do not manually change to this state in the user code. - */ - HOST_STATE_Powered_DoReset = 6, /**< Internally implemented by the library. This state indicates - * that a valid USB device has been attached, and that it is - * will now be reset to ensure it is ready for enumeration. - * - * \note Do not manually change to this state in the user code. - */ - HOST_STATE_Powered_ConfigPipe = 7, /**< Internally implemented by the library. This state indicates - * that the attached device is currently powered and reset, and - * that the control pipe is now being configured by the stack. - * - * \note Do not manually change to this state in the user code. - */ - HOST_STATE_Default = 8, /**< Internally implemented by the library. This state indicates - * that the stack is currently retrieving the control endpoint's - * size from the device, so that the control pipe can be altered - * to match. - * - * \note Do not manually change to this state in the user code. - */ - HOST_STATE_Default_PostReset = 9, /**< Internally implemented by the library. This state indicates that - * the control pipe is being reconfigured to match the retrieved - * control endpoint size from the device, and the device's USB bus - * address is being set. - * - * \note Do not manually change to this state in the user code. - */ - HOST_STATE_Default_PostAddressSet = 10, /**< Internally implemented by the library. This state indicates that - * the device's address has now been set, and the stack is has now - * completed the device enumeration process. This state causes the - * stack to change the current USB device address to that set for - * the connected device, before progressing to the user-implemented - * \ref HOST_STATE_Addressed state for further communications. - * - * \note Do not manually change to this state in the user code. - */ - HOST_STATE_Addressed = 11, /**< May be implemented by the user project. This state should - * set the device configuration before progressing to the - * \ref HOST_STATE_Configured state. Other processing (such as the - * retrieval and processing of the device descriptor) should also - * be placed in this state. - */ - HOST_STATE_Configured = 12, /**< May be implemented by the user project. This state should implement the - * actual work performed on the attached device and changed to the - * \ref HOST_STATE_Suspended or \ref HOST_STATE_WaitForDeviceRemoval states as needed. - */ - HOST_STATE_Suspended = 15, /**< May be implemented by the user project. This state should be maintained - * while the bus is suspended, and changed to either the \ref HOST_STATE_Configured - * (after resuming the bus with the USB_Host_ResumeBus() macro) or the - * \ref HOST_STATE_WaitForDeviceRemoval states as needed. - */ - }; - /** Enum for the error codes for the \ref EVENT_USB_Host_HostError() event. * * \see \ref Group_Events for more information on this event. diff --git a/LUFA/Drivers/USB/Core/UC3B/Pipe_UC3B.h b/LUFA/Drivers/USB/Core/UC3B/Pipe_UC3B.h index 5663a76f29..21b2583dea 100644 --- a/LUFA/Drivers/USB/Core/UC3B/Pipe_UC3B.h +++ b/LUFA/Drivers/USB/Core/UC3B/Pipe_UC3B.h @@ -162,22 +162,12 @@ */ #define PIPE_BANK_TRIPLE AVR32_USBB_UPCFG0_PBK_TRIPLE //@} - - /** Pipe address for the default control pipe, which always resides in address 0. This is - * defined for convenience to give more readable code when used with the pipe macros. - */ - #define PIPE_CONTROLPIPE 0 /** Default size of the default control pipe's bank, until altered by the Endpoint0Size value * in the device descriptor of the attached device. */ #define PIPE_CONTROLPIPE_DEFAULT_SIZE 64 - /** Pipe number mask, for masking against pipe addresses to retrieve the pipe's numerical address - * in the device. - */ - #define PIPE_PIPENUM_MASK 0x07 - /** Total number of pipes (including the default control pipe at address 0) which may be used in * the device. Different USB AVR models support different amounts of pipes, this value reflects * the maximum number of pipes for the currently selected AVR model. @@ -191,16 +181,6 @@ */ #define PIPE_MAX_SIZE 256 - /** Endpoint number mask, for masking against endpoint addresses to retrieve the endpoint's - * numerical address in the attached device. - */ - #define PIPE_EPNUM_MASK 0x0F - - /** Endpoint direction mask, for masking against endpoint addresses to retrieve the endpoint's - * direction for comparing with the \c ENDPOINT_DESCRIPTOR_DIR_* masks. - */ - #define PIPE_EPDIR_MASK 0x80 - /* Enums: */ /** Enum for the possible error return codes of the \ref Pipe_WaitUntilReady() function. * diff --git a/LUFA/Drivers/USB/Core/USBController.h b/LUFA/Drivers/USB/Core/USBController.h index e17a2d73de..719b97b627 100644 --- a/LUFA/Drivers/USB/Core/USBController.h +++ b/LUFA/Drivers/USB/Core/USBController.h @@ -51,17 +51,18 @@ /* Includes: */ #include "../../../Common/Common.h" + /* Preprocessor Checks and Defines: */ + #if !defined(__INCLUDE_FROM_USB_DRIVER) + #error Do not include this file directly. Include LUFA/Drivers/USB/USB.h instead. + #endif + + /* Architecture Includes: */ #if (ARCH == ARCH_AVR8) #include "AVR8/USBController_AVR8.h" #elif (ARCH == ARCH_UC3B) #include "UC3B/USBController_UC3B.h" #endif - /* Preprocessor Checks and Defines: */ - #if !defined(__INCLUDE_FROM_USB_DRIVER) - #error Do not include this file directly. Include LUFA/Drivers/USB/USB.h instead. - #endif - #endif /** @} */ diff --git a/LUFA/Drivers/USB/Core/USBInterrupt.h b/LUFA/Drivers/USB/Core/USBInterrupt.h index 252ad5061d..b850f3fe77 100644 --- a/LUFA/Drivers/USB/Core/USBInterrupt.h +++ b/LUFA/Drivers/USB/Core/USBInterrupt.h @@ -43,17 +43,18 @@ /* Includes: */ #include "../../../Common/Common.h" + + /* Preprocessor Checks: */ + #if !defined(__INCLUDE_FROM_USB_DRIVER) + #error Do not include this file directly. Include LUFA/Drivers/USB/USB.h instead. + #endif + /* Architecture Includes: */ #if (ARCH == ARCH_AVR8) #include "AVR8/USBInterrupt_AVR8.h" #elif (ARCH == ARCH_UC3B) #include "UC3B/USBInterrupt_UC3B.h" #endif - - /* Preprocessor Checks: */ - #if !defined(__INCLUDE_FROM_USB_DRIVER) - #error Do not include this file directly. Include LUFA/Drivers/USB/USB.h instead. - #endif #endif