Endpoint.h File Reference

#include <avr/io.h>
#include <avr/pgmspace.h>
#include <avr/eeprom.h>
#include <stdbool.h>
#include "../../../Common/Common.h"
#include "../HighLevel/USBTask.h"
#include "../HighLevel/StreamCallbacks.h"

Defines

#define ENDPOINT_DIR_OUT   (0 << EPDIR)
#define ENDPOINT_DIR_IN   (1 << EPDIR)
#define ENDPOINT_BANK_SINGLE   (0 << EPBK0)
#define ENDPOINT_BANK_DOUBLE   (1 << EPBK0)
#define ENDPOINT_CONTROLEP   0
#define ENDPOINT_CONTROLEP_DEFAULT_SIZE   8
#define ENDPOINT_EPNUM_MASK   0x07
#define ENDPOINT_EPSIZE_MASK   0x7FF
#define ENDPOINT_MAX_SIZE(n)   _ENDPOINT_GET_MAXSIZE(n)
#define ENDPOINT_DOUBLEBANK_SUPPORTED(n)   _ENDPOINT_GET_DOUBLEBANK(n)
#define ENDPOINT_TOTAL_ENDPOINTS   7

Enumerations

enum  Endpoint_WaitUntilReady_ErrorCodes_t {
  ENDPOINT_READYWAIT_NoError = 0,
  ENDPOINT_READYWAIT_EndpointStalled = 1,
  ENDPOINT_READYWAIT_DeviceDisconnected = 2,
  ENDPOINT_READYWAIT_Timeout = 3
}
enum  Endpoint_Stream_RW_ErrorCodes_t {
  ENDPOINT_RWSTREAM_NoError = 0,
  ENDPOINT_RWSTREAM_EndpointStalled = 1,
  ENDPOINT_RWSTREAM_DeviceDisconnected = 2,
  ENDPOINT_RWSTREAM_Timeout = 3,
  ENDPOINT_RWSTREAM_CallbackAborted = 4
}
enum  Endpoint_ControlStream_RW_ErrorCodes_t {
  ENDPOINT_RWCSTREAM_NoError = 0,
  ENDPOINT_RWCSTREAM_HostAborted = 1,
  ENDPOINT_RWCSTREAM_DeviceDisconnected = 2
}

Functions

static uint16_t Endpoint_BytesInEndpoint (void)
static uint8_t Endpoint_GetCurrentEndpoint (void)
static void Endpoint_SelectEndpoint (uint8_t EndpointNumber)
static void Endpoint_ResetFIFO (uint8_t EndpointNumber)
static void Endpoint_EnableEndpoint (void)
static void Endpoint_DisableEndpoint (void)
static bool Endpoint_IsEnabled (void)
static bool Endpoint_IsReadWriteAllowed (void)
static bool Endpoint_IsConfigured (void)
static uint8_t Endpoint_GetEndpointInterrupts (void)
static bool Endpoint_HasEndpointInterrupted (uint8_t EndpointNumber)
static bool Endpoint_IsINReady (void)
static bool Endpoint_IsOUTReceived (void)
static bool Endpoint_IsSETUPReceived (void)
static void Endpoint_ClearSETUP (void)
static void Endpoint_ClearIN (void)
static void Endpoint_ClearOUT (void)
static void Endpoint_StallTransaction (void)
static void Endpoint_ClearStall (void)
static bool Endpoint_IsStalled (void)
static void Endpoint_ResetDataToggle (void)
static uint8_t Endpoint_GetEndpointDirection (void)
static void Endpoint_SetEndpointDirection (uint8_t DirectionMask)
static uint8_t Endpoint_Read_Byte (void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE
static void Endpoint_Write_Byte (const uint8_t Byte) ATTR_ALWAYS_INLINE
static void Endpoint_Discard_Byte (void) ATTR_ALWAYS_INLINE
static uint16_t Endpoint_Read_Word_LE (void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE
static uint16_t Endpoint_Read_Word_BE (void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE
static void Endpoint_Write_Word_LE (const uint16_t Word) ATTR_ALWAYS_INLINE
static void Endpoint_Write_Word_BE (const uint16_t Word) ATTR_ALWAYS_INLINE
static void Endpoint_Discard_Word (void) ATTR_ALWAYS_INLINE
static uint32_t Endpoint_Read_DWord_LE (void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE
static uint32_t Endpoint_Read_DWord_BE (void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE
static void Endpoint_Write_DWord_LE (const uint32_t DWord) ATTR_ALWAYS_INLINE
static void Endpoint_Write_DWord_BE (const uint32_t DWord) ATTR_ALWAYS_INLINE
static void Endpoint_Discard_DWord (void) ATTR_ALWAYS_INLINE
bool Endpoint_ConfigureEndpoint (const uint8_t Number, const uint8_t Type, const uint8_t Direction, const uint16_t Size, const uint8_t Banks)
uint8_t Endpoint_WaitUntilReady (void)
void Endpoint_ClearStatusStage (void)
uint8_t Endpoint_Discard_Stream (uint16_t Length, StreamCallbackPtr_t Callback)
uint8_t Endpoint_Write_Stream_LE (const void *Buffer, uint16_t Length, StreamCallbackPtr_t Callback) ATTR_NON_NULL_PTR_ARG(1)
uint8_t Endpoint_Write_EStream_LE (const void *Buffer, uint16_t Length, StreamCallbackPtr_t Callback) ATTR_NON_NULL_PTR_ARG(1)
uint8_t Endpoint_Write_PStream_LE (const void *Buffer, uint16_t Length, StreamCallbackPtr_t Callback) ATTR_NON_NULL_PTR_ARG(1)
uint8_t Endpoint_Write_Stream_BE (const void *Buffer, uint16_t Length, StreamCallbackPtr_t Callback) ATTR_NON_NULL_PTR_ARG(1)
uint8_t Endpoint_Write_EStream_BE (const void *Buffer, uint16_t Length, StreamCallbackPtr_t Callback) ATTR_NON_NULL_PTR_ARG(1)
uint8_t Endpoint_Write_PStream_BE (const void *Buffer, uint16_t Length, StreamCallbackPtr_t Callback) ATTR_NON_NULL_PTR_ARG(1)
uint8_t Endpoint_Read_Stream_LE (void *Buffer, uint16_t Length, StreamCallbackPtr_t Callback) ATTR_NON_NULL_PTR_ARG(1)
uint8_t Endpoint_Read_EStream_LE (void *Buffer, uint16_t Length, StreamCallbackPtr_t Callback) ATTR_NON_NULL_PTR_ARG(1)
uint8_t Endpoint_Read_Stream_BE (void *Buffer, uint16_t Length, StreamCallbackPtr_t Callback) ATTR_NON_NULL_PTR_ARG(1)
uint8_t Endpoint_Read_EStream_BE (void *Buffer, uint16_t Length, StreamCallbackPtr_t Callback) ATTR_NON_NULL_PTR_ARG(1)
uint8_t Endpoint_Write_Control_Stream_LE (const void *Buffer, uint16_t Length) ATTR_NON_NULL_PTR_ARG(1)
uint8_t Endpoint_Write_Control_EStream_LE (const void *Buffer, uint16_t Length) ATTR_NON_NULL_PTR_ARG(1)
uint8_t Endpoint_Write_Control_PStream_LE (const void *Buffer, uint16_t Length) ATTR_NON_NULL_PTR_ARG(1)
uint8_t Endpoint_Write_Control_Stream_BE (const void *Buffer, uint16_t Length) ATTR_NON_NULL_PTR_ARG(1)
uint8_t Endpoint_Write_Control_EStream_BE (const void *Buffer, uint16_t Length) ATTR_NON_NULL_PTR_ARG(1)
uint8_t Endpoint_Write_Control_PStream_BE (const void *Buffer, uint16_t Length) ATTR_NON_NULL_PTR_ARG(1)
uint8_t Endpoint_Read_Control_Stream_LE (void *Buffer, uint16_t Length) ATTR_NON_NULL_PTR_ARG(1)
uint8_t Endpoint_Read_Control_EStream_LE (void *Buffer, uint16_t Length) ATTR_NON_NULL_PTR_ARG(1)
uint8_t Endpoint_Read_Control_Stream_BE (void *Buffer, uint16_t Length) ATTR_NON_NULL_PTR_ARG(1)
uint8_t Endpoint_Read_Control_EStream_BE (void *Buffer, uint16_t Length) ATTR_NON_NULL_PTR_ARG(1)

Variables

uint8_t USB_ControlEndpointSize

Generated on Wed Dec 23 18:41:42 2009 for LUFA (Formerly MyUSB) Library by  doxygen 1.6.1