SAMV71 Xplained Ultra Software Package 1.4

USBD.h File Reference

#include "USBDescriptors.h"
#include "USBRequests.h"
#include "USBLib_Types.h"
#include <stdio.h>

Go to the source code of this file.

Data Structures

struct  USBDTransferBuffer
 Buffer struct used for multi-buffer-listed transfer. More...
struct  _USBDDmaDescriptor
 Struct used for USBD DMA Link List Transfer Descriptor, must be 16-bytes aligned. More...

Defines

#define USBD_STATUS_SUCCESS   USBRC_SUCCESS
#define USBD_STATUS_LOCKED   USBRC_BUSY
#define USBD_STATUS_ABORTED   USBRC_ABORTED
#define USBD_STATUS_CANCELED   USBRC_CANCELED
#define USBD_STATUS_RESET   USBRC_RESET
#define USBD_STATUS_PARTIAL_DONE   USBRC_PARTIAL_DONE
#define USBD_STATUS_INVALID_PARAMETER   USBRC_PARAM_ERR
#define USBD_STATUS_WRONG_STATE   USBRC_STATE_ERR
#define USBD_STATUS_SW_NOT_SUPPORTED   USBRC_SW_NOT_SUPPORTED
#define USBD_STATUS_HW_NOT_SUPPORTED   USBRC_HW_NOT_SUPPORTED
#define USBD_STATE_SUSPENDED   0
#define USBD_STATE_ATTACHED   1
#define USBD_STATE_POWERED   2
#define USBD_STATE_DEFAULT   3
#define USBD_STATE_ADDRESS   4
#define USBD_STATE_CONFIGURED   5

Typedefs

typedef void(* TransferCallback )(void *pArg, uint8_t status, uint32_t transferred, uint32_t remaining)
typedef void(* MblTransferCallback )(void *pArg, uint8_t status)

Functions

struct _USBDDmaDescriptor __attribute__ ((aligned(16))) USBDDmaDescriptor
 Struct used for USBD DMA Link List Transfer Descriptor, must be 16-bytes aligned.
void USBD_Init (void)
void USBD_ConfigureSpeed (uint8_t forceFS)
void USBD_Connect (void)
void USBD_Disconnect (void)
uint8_t USBD_Write (uint8_t bEndpoint, const void *pData, uint32_t size, TransferCallback callback, void *pArg)
uint8_t USBD_Read (uint8_t bEndpoint, void *pData, uint32_t dLength, TransferCallback fCallback, void *pArg)
uint8_t USBD_Stall (uint8_t bEndpoint)
void USBD_Halt (uint8_t bEndpoint)
void USBD_Unhalt (uint8_t bEndpoint)
void USBD_ConfigureEndpoint (const USBEndpointDescriptor *pDescriptor)
uint8_t USBD_IsHalted (uint8_t bEndpoint)
void USBD_RemoteWakeUp (void)
void USBD_SetAddress (uint8_t address)
void USBD_SetConfiguration (uint8_t cfgnum)
uint8_t USBD_GetState (void)
uint8_t USBD_IsHighSpeed (void)
void USBD_Test (uint8_t bIndex)
void USBD_SuspendHandler (void)
void USBD_ResumeHandler (void)
void USBD_ResetHandler (void)
void USBD_RequestHandler (uint8_t bEndpoint, const USBGenericRequest *pRequest)
void USBDCallbacks_Initialized (void)
void USBDCallbacks_Reset (void)
void USBDCallbacks_Suspended (void)
void USBDCallbacks_Resumed (void)
void USBDCallbacks_RequestReceived (const USBGenericRequest *request)
void USBD_ForceFullSpeed (void)

Variables

uint8_t ForceFS
void * pNxtDesc
void * pDataAddr
uint32_t ctrlSettings
uint32_t reserved
uint32_t bufferLength
uint32_t used

Detailed Description

Purpose

Collection of methods for using the USB device controller on AT91 Microcontrollers.

Usage

Please refer to the corresponding application note.

Definition in file USBD.h.


Variable Documentation

uint32_t bufferLength

Not used

Definition at line 196 of file USBD.h.

uint32_t ctrlSettings

DMA Control setting register value

Definition at line 196 of file USBD.h.

void* pDataAddr

Pointer to data buffer address

Definition at line 194 of file USBD.h.

void* pNxtDesc

Pointer to Next Descriptor

Definition at line 192 of file USBD.h.

uint32_t reserved

Control settings

Definition at line 196 of file USBD.h.

uint32_t used

Length of buffer Loaded to DMA register, OK to modify

Definition at line 200 of file USBD.h.

 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines