| LUFA Library 140302 |

All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Enumerations | Functions | Variables
Pipe_AVR8.h File Reference

USB Pipe definitions for the AVR8 microcontrollers. More...

`#include "../../../../Common/Common.h"`
`#include "../USBTask.h"`

## Macros
#define | PIPE_CONTROLPIPE_DEFAULT_SIZE 64
#define | PIPE_MAX_SIZE 256
#define | PIPE_TOTAL_PIPES 7
Pipe Error Flag Masks
#define | PIPE_ERRORFLAG_OVERFLOW (1 << 6)
#define | PIPE_ERRORFLAG_UNDERFLOW (1 << 5)
#define | PIPE_ERRORFLAG_CRC16 (1 << 4)
#define | PIPE_ERRORFLAG_TIMEOUT (1 << 3)
#define | PIPE_ERRORFLAG_PID (1 << 2)
#define | PIPE_ERRORFLAG_DATAPID (1 << 1)
#define | PIPE_ERRORFLAG_DATATGL (1 << 0)
Pipe Token Masks
#define | PIPE_TOKEN_SETUP (0 << PTOKEN0)
#define | PIPE_TOKEN_IN (1 << PTOKEN0)
#define | PIPE_TOKEN_OUT (2 << PTOKEN0)

## Enumerations
enum | Pipe_WaitUntilReady_ErrorCodes_t { PIPE_READYWAIT_NoError = 0, PIPE_READYWAIT_PipeStalled = 1, PIPE_READYWAIT_DeviceDisconnected = 2, PIPE_READYWAIT_Timeout = 3, PIPE_READYWAIT_NoError = 0, PIPE_READYWAIT_PipeStalled = 1, PIPE_READYWAIT_DeviceDisconnected = 2, PIPE_READYWAIT_Timeout = 3 }

## Functions
static uint16_t | Pipe_BytesInPipe (void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE
static void | Pipe_ClearError (void) ATTR_ALWAYS_INLINE
static void | Pipe_ClearIN (void) ATTR_ALWAYS_INLINE
static void | Pipe_ClearNAKReceived (void) ATTR_ALWAYS_INLINE
static void | Pipe_ClearOUT (void) ATTR_ALWAYS_INLINE
static void | Pipe_ClearSETUP (void) ATTR_ALWAYS_INLINE
static void | Pipe_ClearStall (void) ATTR_ALWAYS_INLINE
bool | Pipe_ConfigurePipe (const uint8_t Address, const uint8_t Type, const uint8_t EndpointAddress, const uint16_t Size, const uint8_t Banks)
bool | Pipe_ConfigurePipeTable (const USB_Pipe_Table_t *const Table, const uint8_t Entries)
static void | Pipe_DisablePipe (void) ATTR_ALWAYS_INLINE
static void | Pipe_Discard_16 (void) ATTR_ALWAYS_INLINE
static void | Pipe_Discard_32 (void) ATTR_ALWAYS_INLINE
static void | Pipe_Discard_8 (void) ATTR_ALWAYS_INLINE
static void | Pipe_EnablePipe (void) ATTR_ALWAYS_INLINE
static void | Pipe_Freeze (void) ATTR_ALWAYS_INLINE
static uint8_t | Pipe_GetBoundEndpointAddress (void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE
static uint8_t | Pipe_GetBusyBanks (void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE
static uint8_t | Pipe_GetCurrentPipe (void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE
static uint8_t | Pipe_GetErrorFlags (void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE
static uint8_t | Pipe_GetPipeDirection (void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE
static uint8_t | Pipe_GetPipeInterrupts (void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE
static uint8_t | Pipe_GetPipeToken (void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE
static bool | Pipe_HasPipeInterrupted (const uint8_t Address) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE
static bool | Pipe_IsConfigured (void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE
static bool | Pipe_IsEnabled (void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE
bool | Pipe_IsEndpointBound (const uint8_t EndpointAddress) ATTR_WARN_UNUSED_RESULT
static bool | Pipe_IsError (void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE
static bool | Pipe_IsFrozen (void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE
static bool | Pipe_IsINReceived (void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE
static bool | Pipe_IsNAKReceived (void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE
static bool | Pipe_IsOUTReady (void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE
static bool | Pipe_IsReadWriteAllowed (void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE
static bool | Pipe_IsSETUPSent (void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE
static bool | Pipe_IsStalled (void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE
static uint16_t | Pipe_Read_16_BE (void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE
static uint16_t | Pipe_Read_16_LE (void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE
static uint32_t | Pipe_Read_32_BE (void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE
static uint32_t | Pipe_Read_32_LE (void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE
static uint8_t | Pipe_Read_8 (void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE
static void | Pipe_ResetPipe (const uint8_t Address) ATTR_ALWAYS_INLINE
static void | Pipe_SelectPipe (const uint8_t Address) ATTR_ALWAYS_INLINE
static void | Pipe_SetFiniteINRequests (const uint8_t TotalINRequests) ATTR_ALWAYS_INLINE
static void | Pipe_SetInfiniteINRequests (void) ATTR_ALWAYS_INLINE
static void | Pipe_SetInterruptPeriod (const uint8_t Milliseconds) ATTR_ALWAYS_INLINE
static void | Pipe_SetPipeToken (const uint8_t Token) ATTR_ALWAYS_INLINE
static void | Pipe_Unfreeze (void) ATTR_ALWAYS_INLINE
uint8_t | Pipe_WaitUntilReady (void)
static void | Pipe_Write_16_BE (const uint16_t Data) ATTR_ALWAYS_INLINE
static void | Pipe_Write_16_LE (const uint16_t Data) ATTR_ALWAYS_INLINE
static void | Pipe_Write_32_BE (const uint32_t Data) ATTR_ALWAYS_INLINE
static void | Pipe_Write_32_LE (const uint32_t Data) ATTR_ALWAYS_INLINE
static void | Pipe_Write_8 (const uint8_t Data) ATTR_ALWAYS_INLINE

## Variables
uint8_t | USB_Host_ControlPipeSize

## Detailed Description

This module contains functions, macros and enums related to pipe management when in USB Host mode. This module contains the pipe management macros, as well as pipe 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.