EtherCAT Slave  1.06.01
Board Support API

Overview

Data Structures

struct  EC_API_SLV_SPhyDescriptor
 

Typedefs

typedef void(* EC_API_SLV_CBBoardPhyReset_t) (void *pContext_p, uint8_t phyIdx_p, bool resetActive_p)
 Handle PHY reset line. More...
 
typedef void(* EC_API_SLV_CBBoardStatusLed_t) (void *pContext_p, void *pLedContext_p, bool errLed_p, bool statusLed_p)
 Set Status LED call back. More...
 
typedef void(* EC_API_SLV_CBPhySpecific_SoftReset_t) (void *pAppContext_p, void *pStackContext_p, uint32_t phyAddr_p)
 Issue PHY Reset by software (used if no Hard Reset is available) More...
 
typedef void(* EC_API_SLV_CBPhySpecific_softRestart_t) (void *pAppContext_p, void *pStackContext_p, uint32_t phyAddr_p)
 Issue PHY restart by software. More...
 
typedef void(* EC_API_SLV_CBPhySpecific_EnableAutoMDIX_t) (void *pAppContext_p, void *pStackContext_p, uint32_t phyAddr_p)
 Enable Auto MDIX. More...
 
typedef void(* EC_API_SLV_CBPhySpecific_SetMIIMode_t) (void *pAppContext_p, void *pStackContext_p, uint32_t phyAddr_p)
 Set MII Mode. More...
 
typedef void(* EC_API_SLV_CBPhySpecific_SetPowerModeT) (void *pAppContext_p, void *pStackContext_p, uint32_t phyAddr_p, bool powerDown_p)
 Configure PhyMLED to detect RxLink by MLED (e.g. TLK) More...
 
typedef bool(* EC_API_SLV_CBPhySpecific_GetPowerMode_t) (void *pAppContext_p, void *pStackContext_p, uint32_t phyAddr_p)
 Provides Phy power mode state. More...
 
typedef void(* EC_API_SLV_CBPhySpecific_MLEDConfig_t) (void *pAppContext_p, void *pStackContext_p, uint32_t phyAddr_p)
 Configure PhyMLED to detect RxLink by MLED (e.g. TLK) More...
 
typedef void(* EC_API_SLV_CBPhySpecific_ExtFDEnable_t) (void *pAppContext_p, void *pStackContext_p, uint32_t phyAddr_p)
 Set Ext Full Duplex enable. More...
 
typedef void(* EC_API_SLV_CBPhySpecific_ODDNibbleDetEnable_t) (void *pAppContext_p, void *pStackContext_p, uint32_t phyAddr_p)
 Set ODD Nibble detection enable. More...
 
typedef void(* EC_API_SLV_CBPhySpecific_RxErrIdleEnable_t) (void *pAppContext_p, void *pStackContext_p, uint32_t phyAddr_p)
 Set Rx Error Idle enable. More...
 
typedef void(* EC_API_SLV_CBPhySpecific_LedConfig_t) (void *pAppContext_p, void *pStackContext_p, uint32_t phyAddr_p)
 Configure PHY LEDs. More...
 
typedef void(* EC_API_SLV_CBPhySpecific_LedBlinkConfig_t) (void *pAppContext_p, void *pStackContext_p, uint32_t phyAddr_p)
 Configure PHY Blink LED mode. More...
 
typedef void(* EC_API_SLV_CBPhySpecific_FastLinkDownDetEnable_t) (void *pAppContext_p, void *pStackContext_p, uint32_t phyAddr_p)
 Set fast link down Detection enable. More...
 
typedef void(* EC_API_SLV_CBPhySpecific_FastRXDVDetEnable_t) (void *pAppContext_p, void *pStackContext_p, uint32_t phyAddr_p)
 Set Fast RX DV detection enable. More...
 
typedef void(* EC_API_SLV_CBPhySpecific_SwStrapConfigDone_t) (void *pAppContext_p, void *pStackContext_p, uint32_t phyAddr_p)
 Set SW Strap config done. More...
 
typedef void(* EC_API_SLV_CBPhySpecific_setLinkConfig_t) (void *pAppContext_p, void *pStackContext_p, uint32_t phyAddr_p, bool autoNeg_p, uint16_t linkSpeed_p, bool fullDuplex_p, uint32_t *pResult_p)
 Configures PHY for link connection. More...
 
typedef bool(* EC_API_SLV_CBPhySpecific_getAutoNegotiation_t) (void *pAppContext_p, void *pStackContext_p, uint32_t phyAddr_p)
 Provides auto-negotiation enabled flag. More...
 
typedef void(* EC_API_SLV_CBPhySpecific_setMdixMode_t) (void *pAppContext_p, void *pStackContext_p, uint32_t phyAddr_p, uint32_t mdixMode_p)
 Configures PHY MDI crossover mode. More...
 
typedef uint32_t(* EC_API_SLV_CBPhySpecific_getMdixMode_t) (void *pAppContext_p, void *pStackContext_p, uint32_t phyAddr_p)
 Provides actually used PHY MDI crossover mode. More...
 
typedef void(* EC_API_SLV_CBPhySpecific_disable1GbAdver_t) (void *pAppContext_p, void *pStackContext_p, uint32_t phyAddr_p)
 Disables 1Gbit Advertisment during autonegotiation. More...
 
typedef void(* EC_API_SLV_CBPhySpecific_rgmiiLowLatencyEnable_t) (void *pAppContext_p, void *pStackContext_p, uint32_t phyAddr_p)
 Enables low latency in RGMII mode. More...
 
typedef void(* EC_API_SLV_CBPhySpecific_rgmiiTxHalfFullThreshold_t) (void *pAppContext_p, void *pStackContext_p, uint32_t phyAddr_p, uint32_t threshold_p)
 RGMII_TX_HALF_FULL_THR[1:0] can be changed from the default of 0x2 to 0x1. This will reduce the latency by one clock period. More...
 
typedef void(* EC_API_SLV_CBPhySpecific_rgmiiRxHalfFullThreshold_t) (void *pAppContext_p, void *pStackContext_p, uint32_t phyAddr_p, uint32_t threshold_p)
 RGMII_RX_HALF_FULL_THR[1:0] can be changed from the default of 0x2 to 0x1. This will reduce the latency by one clock period. More...
 
typedef struct EC_API_SLV_SPhyDescriptor EC_API_SLV_SPhyDescriptor_t
 
typedef int16_t(* EC_API_SLV_CBExtPhyLibDetect_t) (void *pPhyLibCtxt_p, uint8_t phyIdx_p, uint32_t phyId_p, uint8_t phyAddr_p, EC_API_SLV_SPhyDescriptor_t *pPhyLibDesc_p)
 Phy Detection callback of external PhyLib. More...
 

Functions

void EC_API_SLV_cbRegisterPhyReset (EC_API_SLV_CBBoardPhyReset_t cbFunc_p, void *pContext_p)
 This is the function to register Phy Reset Function. More...
 
bool EC_API_SLV_registerPhy (uint8_t phyIdx_p, uint8_t phyAddr_p, bool invertLinkPolarity_p, bool useRxLinkPin_p)
 Register a phy for stack usage. More...
 
void EC_API_SLV_cbRegisterPhyLibDetect (EC_API_SLV_CBExtPhyLibDetect_t cbFunc_p, void *pContext_p)
 Register an application specific Phy Library. More...
 
uint32_t EC_API_SLV_phyRegRead (void *pStackContext_p, uint32_t regNum_p, uint16_t *pData_p)
 Read from PHY using Stack. More...
 
void EC_API_SLV_phyRegWrite (void *pStackContext_p, uint32_t regNum_p, uint16_t wrVal_p)
 
void EC_API_SLV_cbRegisterBoardStatusLed (EC_API_SLV_SHandle_t *pEcSlaveApi_p, void *pContext_p, EC_API_SLV_CBBoardStatusLed_t cbFunc_p, void *pLedContext_p)
 Register Board Status LED callback. More...