LUFA Library  120219
Endpoint_XMEGA.h File Reference

USB Endpoint definitions for the AVR XMEGA microcontrollers. More...

Defines

#define ENDPOINT_CONTROLEP_DEFAULT_SIZE   8
#define ENDPOINT_MAX_SIZE(EPIndex)   _ENDPOINT_GET_MAXSIZE(EPIndex)
#define ENDPOINT_BANKS_SUPPORTED(EPIndex)   _ENDPOINT_GET_BANKS(EPIndex)
#define ENDPOINT_TOTAL_ENDPOINTS   ENDPOINT_DETAILS_MAXEP
Endpoint Bank Mode Masks
#define ENDPOINT_BANK_SINGLE   0
#define ENDPOINT_BANK_DOUBLE   USB_EP_PINGPONG_bm

Enumerations

enum  Endpoint_WaitUntilReady_ErrorCodes_t {
  ENDPOINT_READYWAIT_NoError = 0,
  ENDPOINT_READYWAIT_EndpointStalled = 1,
  ENDPOINT_READYWAIT_DeviceDisconnected = 2,
  ENDPOINT_READYWAIT_BusSuspended = 3,
  ENDPOINT_READYWAIT_Timeout = 4,
  ENDPOINT_READYWAIT_NoError = 0,
  ENDPOINT_READYWAIT_EndpointStalled = 1,
  ENDPOINT_READYWAIT_DeviceDisconnected = 2,
  ENDPOINT_READYWAIT_BusSuspended = 3,
  ENDPOINT_READYWAIT_Timeout = 4,
  ENDPOINT_READYWAIT_NoError = 0,
  ENDPOINT_READYWAIT_EndpointStalled = 1,
  ENDPOINT_READYWAIT_DeviceDisconnected = 2,
  ENDPOINT_READYWAIT_BusSuspended = 3,
  ENDPOINT_READYWAIT_Timeout = 4
}

Functions

static void Endpoint_SelectEndpoint (const uint8_t EndpointNumber)
static bool Endpoint_ConfigureEndpoint (const uint8_t Number, const uint8_t Type, const uint8_t Direction, const uint16_t Size, const uint8_t Banks) ATTR_ALWAYS_INLINE
static uint16_t Endpoint_BytesInEndpoint (void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE
static uint8_t Endpoint_GetCurrentEndpoint (void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE
static void Endpoint_ResetEndpoint (const uint8_t EndpointNumber) ATTR_ALWAYS_INLINE
static bool Endpoint_IsEnabled (void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE
static void Endpoint_AbortPendingIN (void)
static bool Endpoint_IsReadWriteAllowed (void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE
static bool Endpoint_IsConfigured (void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE
static uint8_t Endpoint_GetEndpointInterrupts (void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE
static bool Endpoint_HasEndpointInterrupted (const uint8_t EndpointNumber) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE
static bool Endpoint_IsINReady (void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE
static bool Endpoint_IsOUTReceived (void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE
static bool Endpoint_IsSETUPReceived (void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE
static void Endpoint_ClearSETUP (void) ATTR_ALWAYS_INLINE
static void Endpoint_ClearIN (void) ATTR_ALWAYS_INLINE
static void Endpoint_ClearOUT (void) ATTR_ALWAYS_INLINE
static void Endpoint_StallTransaction (void) ATTR_ALWAYS_INLINE
static void Endpoint_ClearStall (void) ATTR_ALWAYS_INLINE
static bool Endpoint_IsStalled (void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE
static void Endpoint_ResetDataToggle (void) ATTR_ALWAYS_INLINE
static uint8_t Endpoint_GetEndpointDirection (void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE
static uint8_t Endpoint_Read_8 (void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE
static void Endpoint_Write_8 (const uint8_t Data) ATTR_ALWAYS_INLINE
static void Endpoint_Discard_8 (void) ATTR_ALWAYS_INLINE
static uint16_t Endpoint_Read_16_LE (void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE
static uint16_t Endpoint_Read_16_BE (void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE
static void Endpoint_Write_16_LE (const uint16_t Data) ATTR_ALWAYS_INLINE
static void Endpoint_Write_16_BE (const uint16_t Data) ATTR_ALWAYS_INLINE
static void Endpoint_Discard_16 (void) ATTR_ALWAYS_INLINE
static uint32_t Endpoint_Read_32_LE (void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE
static uint32_t Endpoint_Read_32_BE (void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE
static void Endpoint_Write_32_LE (const uint32_t Data) ATTR_ALWAYS_INLINE
static void Endpoint_Write_32_BE (const uint32_t Data) ATTR_ALWAYS_INLINE
static void Endpoint_Discard_32 (void) ATTR_ALWAYS_INLINE
void Endpoint_ClearStatusStage (void)
uint8_t Endpoint_WaitUntilReady (void)

Variables

uint8_t USB_Device_ControlEndpointSize

Detailed Description

Functions, macros and enums related to endpoint management when in USB Device mode. This module contains the endpoint management macros, as well as endpoint interrupt and data send/receive functions for various data types.

Note:
This file should not be included directly. It is automatically included as needed by the USB driver dispatch header located in LUFA/Drivers/USB/USB.h.
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines