SAMV71 Xplained Ultra Software Package 1.3

gmacd.h File Reference

#include "chip.h"

Go to the source code of this file.

Data Structures

struct  sGmacSG
struct  sGmacSGList
struct  sGmacQd
struct  sGmacd
struct  sGmacInit

Defines

#define GMACD_OK   0
#define GMACD_TX_BUSY   1
#define GMACD_RX_NULL   1
#define GMACD_SIZE_TOO_SMALL   2
#define GMACD_PARAM   3
#define GMACD_NOT_INITIALIZED   4
#define EFRS_BUFFER_LEN   (1u)

Typedefs

typedef void(* fGmacdTransferCallback )(uint32_t status)
typedef void(* fGmacdWakeupCallback )(void)
typedef void(* fGmacdTxPtpEvtCallBack )(ptpMsgType msg, uint32_t sec, uint32_t nanosec, uint16_t seqId)

Enumerations

enum  ptpMsgType {
  SYNC_MSG_TYPE = 0, DELAY_REQ_MSG_TYPE = 1, PDELAY_REQ_TYPE = 2, PDELAY_RESP_TYPE = 3,
  FOLLOW_UP_MSG_TYPE = 8, DELAY_RESP_MSG_TYPE = 9
}

Functions

void GMACD_Handler (sGmacd *pGmacd, gmacQueList_t queIdx)
 GMAC Interrupt handler.
void GMACD_Init (sGmacd *pGmacd, Gmac *pHw, uint8_t bID, uint8_t enableCAF, uint8_t enableNBC)
 Initialize the GMAC with the Gmac controller address.
uint8_t GMACD_InitTransfer (sGmacd *pGmacd, const sGmacInit *pInit, gmacQueList_t queIdx)
void GMACD_Reset (sGmacd *pGmacd)
uint8_t GMACD_SendSG (sGmacd *pGmacd, const sGmacSGList *sgl, fGmacdTransferCallback fTxCb, gmacQueList_t queIdx)
 Send a frame split into buffers. If the frame size is larger than transfer buffer size error returned. If frame transfer status is monitored, specify callback for each frame.
uint8_t GMACD_Send (sGmacd *pGmacd, void *pBuffer, uint32_t size, fGmacdTransferCallback fTxCb, gmacQueList_t queIdx)
 Send a packet with GMAC. If the packet size is larger than transfer buffer size error returned. If packet transfer status is monitored, specify callback for each packet.
uint32_t GMACD_TxLoad (sGmacd *pGmacd, gmacQueList_t queIdx)
uint8_t GMACD_Poll (sGmacd *pGmacd, uint8_t *pFrame, uint32_t frameSize, uint32_t *pRcvSize, gmacQueList_t queIdx)
 Receive a packet with GMAC. If not enough buffer for the packet, the remaining data is lost but right frame length is returned.
void GMACD_SetRxCallback (sGmacd *pGmacd, fGmacdTransferCallback fRxCb, gmacQueList_t queIdx)
 Registers pRxCb callback. Callback will be invoked after the next received frame. When GMAC_Poll() returns GMAC_RX_NO_DATA the application task call GMAC_Set_RxCb() to register pRxCb() callback and enters suspend state. The callback is in charge to resume the task once a new frame has been received. The next time GMAC_Poll() is called, it will be successful.
uint8_t GMACD_SetTxWakeupCallback (sGmacd *pGmacd, fGmacdWakeupCallback fWakeup, uint8_t bThreshold, gmacQueList_t queIdx)
void GMACD_TxPtpEvtMsgCBRegister (sGmacd *pGmacd, fGmacdTxPtpEvtCallBack pTxPtpEvtCb, gmacQueList_t queIdx)

Detailed Description

Definition in file gmacd.h.

 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines