SAMV71 Xplained Ultra Software Package 1.5

USBD_HAL.c File Reference

#include "chip.h"
#include "USBD_HAL.h"
#include <stdbool.h>
#include <stdint.h>
#include <stdio.h>
#include <string.h>

Go to the source code of this file.

Data Structures

struct  TransferHeader
struct  Transfer
struct  MblTransfer
struct  Endpoint
struct  UdphsDmaDescriptor

Defines

#define DMA
#define SHIFT_INTERUPT   12
#define UDPHS_ENDPOINT_DISABLED   0
#define UDPHS_ENDPOINT_HALTED   1
#define UDPHS_ENDPOINT_IDLE   2
#define UDPHS_ENDPOINT_SENDING   3
#define UDPHS_ENDPOINT_RECEIVING   4
#define UDPHS_ENDPOINT_SENDINGM   5
#define UDPHS_ENDPOINT_RECEIVINGM   6
#define MBL_NbBuffer(i, o, size)   (((i)>(o))?((i)-(o)):((i)+(size)-(o)))
#define MBL_FULL   1
#define MBL_NULL   2

Functions

 COMPILER_ALIGNED (16)
void USBHS_Handler (void)
void USBD_HAL_ResetEPs (uint32_t bmEPs, uint8_t bStatus, uint8_t bKeepCfg)
 Reset endpoints and disable them.

  1. Terminate transfer if there is any, with given status;
  2. Reset the endpoint & disable it.

void USBD_HAL_CancelIo (uint32_t bmEPs)
uint8_t USBD_HAL_ConfigureEP (const USBEndpointDescriptor *pDescriptor)
uint8_t USBD_HAL_SetTransferCallback (uint8_t bEP, TransferCallback fCallback, void *pCbData)
uint8_t USBD_HAL_SetupMblTransfer (uint8_t bEndpoint, USBDTransferBuffer *pMbList, uint16_t mblSize, uint16_t startOffset)
uint8_t USBD_HAL_Write (uint8_t bEndpoint, const void *pData, uint32_t dLength)
uint8_t USBD_HAL_WrWithHdr (uint8_t bEndpoint, const void *pHdr, uint8_t bHdrLen, const void *pData, uint32_t dLength)
uint8_t USBD_HAL_Read (uint8_t bEndpoint, void *pData, uint32_t dLength)
void USBD_HAL_Connect (void)
 Enable Pull-up, connect.
void USBD_HAL_Disconnect (void)
 Disable Pull-up, disconnect.
void USBD_HAL_RemoteWakeUp (void)
void USBD_HAL_SetAddress (uint8_t address)
void USBD_HAL_SetConfiguration (uint8_t cfgnum)
void USBD_HAL_Init (void)
uint8_t USBD_HAL_Stall (uint8_t bEP)
uint8_t USBD_HAL_Halt (uint8_t bEndpoint, uint8_t ctl)
void USBD_HAL_WaitReadData (uint8_t bEndpoint)
uint8_t USBD_HAL_IsHighSpeed (void)
void USBD_HAL_Suspend (void)
void USBD_HAL_Activate (void)
void USBD_HAL_Disable (void)
void USBD_HAL_Test (uint8_t bIndex)

Detailed Description

Implementation of USB device functions on a UDP controller.

See USBD API Methods USBD API Methods.

Definition in file USBD_HAL.c.

 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines