AM64x MCU+ SDK  08.02.00
TimeSync_ParamsHandle Struct Reference

Detailed Description

Time synchronization parameter handle structure.

Public Member Functions

uint32_t pDelayReqSendTaskStack[TASK_STACK_SIZE/sizeof(uint32_t)] __attribute__ ((aligned(32)))
 
uint32_t delayReqSendTaskStack[TASK_STACK_SIZE/sizeof(uint32_t)] __attribute__ ((aligned(32)))
 
uint32_t txTSTaskP1Stack[TASK_STACK_SIZE/sizeof(uint32_t)] __attribute__ ((aligned(32)))
 
uint32_t txTSTaskP2Stack[TASK_STACK_SIZE/sizeof(uint32_t)] __attribute__ ((aligned(32)))
 
uint32_t NRT_TaskStack[TASK_STACK_SIZE/sizeof(uint32_t)] __attribute__ ((aligned(32)))
 
uint32_t backgroundTaskStack[TASK_STACK_SIZE/sizeof(uint32_t)] __attribute__ ((aligned(32)))
 
uint32_t latchSyncTaskStack[TASK_STACK_SIZE/sizeof(uint32_t)] __attribute__ ((aligned(32)))
 
uint32_t syncTxTaskStack[TASK_STACK_SIZE/sizeof(uint32_t)] __attribute__ ((aligned(32)))
 
uint32_t announceTxTaskStack[TASK_STACK_SIZE/sizeof(uint32_t)] __attribute__ ((aligned(32)))
 

Data Fields

ICSS_EMAC_Handle emacHandle
 
uint8_t macId [6]
 
PRUICSS_Handle pruicssHandle
 
uint8_t enabled
 
ptpFrameTypes_t txFrameType
 
uint8_t txPort
 
uint8_t txprotocol
 
uint8_t sequenceIdOut_txTS
 
ptpFrameTypes_t rxFrameType
 
uint8_t rxPort
 
uint8_t rxprotocol
 
timeStamprxTimestamp_gPTP
 
uint8_t sequenceIdOut_rxTS
 
timeStamp clockTime
 
uint8_t sequenceIdIn
 
int32_t drift
 
uint32_t syncInterval
 
ptpDparams_t stackParams
 
uint32_t pathDelay [ICSS_EMAC_MAX_PORTS_PER_INSTANCE]
 
uint8_t syntIndexMap [3]
 
uint8_t prevIndexMap [3]
 
TaskP_Object timeSync_pDelayReqSendTask
 
TaskP_Object timeSync_delayReqSendTask
 
TaskP_Object timeSync_TxTSTaskP1
 
TaskP_Object timeSync_TxTSTaskP2
 
TaskP_Object timeSync_NRT_Task
 
TaskP_Object timeSync_backgroundTask
 
TaskP_Object timeSync_latchSyncTask
 
EventP_Object txTSAvailableEvtObject [ICSS_EMAC_MAX_PORTS_PER_INSTANCE]
 
EventP_Object ptpPdelayResEvtObject [ICSS_EMAC_MAX_PORTS_PER_INSTANCE]
 
EventP_Object ptpPdelayReqEvtObject [ICSS_EMAC_MAX_PORTS_PER_INSTANCE]
 
EventP_Object ptpSendFollowUpEvtObject [ICSS_EMAC_MAX_PORTS_PER_INSTANCE]
 
uint32_t eventIdSync
 
uint32_t eventIdPdelayReq
 
uint32_t eventIdPdelayResp
 
uint32_t eventIdPdelayRespFlwUp
 
uint32_t eventIdDelayReq
 
uint32_t eventIdFlwUpGenerated
 
SemaphoreP_Object delayReqTxSemObject
 
uint32_t timeSync_syncTxTimerHandle
 
TaskP_Object timeSync_syncTxTask
 
TaskP_Object timeSync_announceTxTask
 
SemaphoreP_Object syncTxSemObject
 
SemaphoreP_Object latch_sync_SemObject
 
HwiP_Object timeSync_txTSIsrObject
 
HwiP_Object timeSync_latchIsrObject
 
uint32_t numSyncMissed
 
timeSync_Offset_Stable_Algo_toffsetAlgo
 
ipParams_t udpParams
 
peerDelayParams_t pDelayParams [ICSS_EMAC_MAX_PORTS_PER_INSTANCE]
 
delayReqRespParams_tdelayParams
 
TimeSync_Config_t timeSyncConfig
 
TimeSync_frame_buffers_t timeSyncBuff
 
timeSync_SyntInfo_ttsSyntInfo
 
timeSync_ToD_Param_ttsToDParams
 
timeSync_NrrInfo_ttsNrrInfo [ICSS_EMAC_MAX_PORTS_PER_INSTANCE]
 
syncParam_tsyncParam [ICSS_EMAC_MAX_PORTS_PER_INSTANCE]
 
timeSync_RuntimeVar_ttsRunTimeVar
 

Member Function Documentation

◆ __attribute__() [1/9]

uint32_t pDelayReqSendTaskStack [TASK_STACK_SIZE/sizeof(uint32_t)] TimeSync_ParamsHandle::__attribute__ ( (aligned(32))  )

◆ __attribute__() [2/9]

uint32_t delayReqSendTaskStack [TASK_STACK_SIZE/sizeof(uint32_t)] TimeSync_ParamsHandle::__attribute__ ( (aligned(32))  )

◆ __attribute__() [3/9]

uint32_t txTSTaskP1Stack [TASK_STACK_SIZE/sizeof(uint32_t)] TimeSync_ParamsHandle::__attribute__ ( (aligned(32))  )

◆ __attribute__() [4/9]

uint32_t txTSTaskP2Stack [TASK_STACK_SIZE/sizeof(uint32_t)] TimeSync_ParamsHandle::__attribute__ ( (aligned(32))  )

◆ __attribute__() [5/9]

uint32_t NRT_TaskStack [TASK_STACK_SIZE/sizeof(uint32_t)] TimeSync_ParamsHandle::__attribute__ ( (aligned(32))  )

◆ __attribute__() [6/9]

uint32_t backgroundTaskStack [TASK_STACK_SIZE/sizeof(uint32_t)] TimeSync_ParamsHandle::__attribute__ ( (aligned(32))  )

◆ __attribute__() [7/9]

uint32_t latchSyncTaskStack [TASK_STACK_SIZE/sizeof(uint32_t)] TimeSync_ParamsHandle::__attribute__ ( (aligned(32))  )

◆ __attribute__() [8/9]

uint32_t syncTxTaskStack [TASK_STACK_SIZE/sizeof(uint32_t)] TimeSync_ParamsHandle::__attribute__ ( (aligned(32))  )

◆ __attribute__() [9/9]

uint32_t announceTxTaskStack [TASK_STACK_SIZE/sizeof(uint32_t)] TimeSync_ParamsHandle::__attribute__ ( (aligned(32))  )

Field Documentation

◆ emacHandle

ICSS_EMAC_Handle TimeSync_ParamsHandle::emacHandle

ICSS EMAC handle

◆ macId

uint8_t TimeSync_ParamsHandle::macId[6]

◆ pruicssHandle

PRUICSS_Handle TimeSync_ParamsHandle::pruicssHandle

PRUICSS handle

◆ enabled

uint8_t TimeSync_ParamsHandle::enabled

PTP Enable/Disable status

◆ txFrameType

ptpFrameTypes_t TimeSync_ParamsHandle::txFrameType

Frame type transmitted. Valid values: 0,1,2,3

◆ txPort

uint8_t TimeSync_ParamsHandle::txPort

Port used for transmit. Valid values: ICSS_EMAC_PORT_1/ ICSS_EMAC_PORT_2

◆ txprotocol

uint8_t TimeSync_ParamsHandle::txprotocol

Transmitted frame protocol. Valid values: gPTP/PTCP 0/1

◆ sequenceIdOut_txTS

uint8_t TimeSync_ParamsHandle::sequenceIdOut_txTS

◆ rxFrameType

ptpFrameTypes_t TimeSync_ParamsHandle::rxFrameType

Frame type received. Valid values: 0,1,2,3

◆ rxPort

uint8_t TimeSync_ParamsHandle::rxPort

Port used for receive. Valid values: ICSS_EMAC_PORT_1/ ICSS_EMAC_PORT_2

◆ rxprotocol

uint8_t TimeSync_ParamsHandle::rxprotocol

protocol. Valid values: gPTP/PTCP 0/1

◆ rxTimestamp_gPTP

timeStamp* TimeSync_ParamsHandle::rxTimestamp_gPTP

timestamp if rxprotocol=gPTP

◆ sequenceIdOut_rxTS

uint8_t TimeSync_ParamsHandle::sequenceIdOut_rxTS

Sequence ID

◆ clockTime

timeStamp TimeSync_ParamsHandle::clockTime

Clock time to set

◆ sequenceIdIn

uint8_t TimeSync_ParamsHandle::sequenceIdIn

Sequence ID

◆ drift

int32_t TimeSync_ParamsHandle::drift

Drift(nanoseconds)

◆ syncInterval

uint32_t TimeSync_ParamsHandle::syncInterval

Sync interval(nanoseconds)

◆ stackParams

ptpDparams_t TimeSync_ParamsHandle::stackParams

PTPd stack parameters

◆ pathDelay

uint32_t TimeSync_ParamsHandle::pathDelay[ICSS_EMAC_MAX_PORTS_PER_INSTANCE]

Line delay or Peer Delay for each port

◆ syntIndexMap

uint8_t TimeSync_ParamsHandle::syntIndexMap[3]

◆ prevIndexMap

uint8_t TimeSync_ParamsHandle::prevIndexMap[3]

◆ timeSync_pDelayReqSendTask

TaskP_Object TimeSync_ParamsHandle::timeSync_pDelayReqSendTask

Time Sync Task handle for Delay Request Task which sends task periodically

◆ timeSync_delayReqSendTask

TaskP_Object TimeSync_ParamsHandle::timeSync_delayReqSendTask

Time Sync Task handle for sending a delay request to Master on receiving a Sync

◆ timeSync_TxTSTaskP1

TaskP_Object TimeSync_ParamsHandle::timeSync_TxTSTaskP1

PTP Task for storing Tx timestamps for Port 1

◆ timeSync_TxTSTaskP2

TaskP_Object TimeSync_ParamsHandle::timeSync_TxTSTaskP2

PTP Task for storing Tx timestamps for Port 2

◆ timeSync_NRT_Task

TaskP_Object TimeSync_ParamsHandle::timeSync_NRT_Task

For processing frames like Pdelay Request, Pdelay Response and Pdelay Response Follow Up which don't require real time response

◆ timeSync_backgroundTask

TaskP_Object TimeSync_ParamsHandle::timeSync_backgroundTask

Used to do resource intensive but non-critical tasks like doing floating point calculations, algorithms, status monitoring etc

◆ timeSync_latchSyncTask

TaskP_Object TimeSync_ParamsHandle::timeSync_latchSyncTask

Task is used to synchronize with the 1PPS output via the latch interrupt

◆ txTSAvailableEvtObject

EventP_Object TimeSync_ParamsHandle::txTSAvailableEvtObject[ICSS_EMAC_MAX_PORTS_PER_INSTANCE]

Event handle for indicating that a Tx Timestamp interrupt has been generated and needs to be serviced. index 0 contains handle for Port 1.

◆ ptpPdelayResEvtObject

EventP_Object TimeSync_ParamsHandle::ptpPdelayResEvtObject[ICSS_EMAC_MAX_PORTS_PER_INSTANCE]

Two event handlers for two ports for processing Pdelay response and Pdelay response follow up

◆ ptpPdelayReqEvtObject

EventP_Object TimeSync_ParamsHandle::ptpPdelayReqEvtObject[ICSS_EMAC_MAX_PORTS_PER_INSTANCE]

Two event handlers for two ports for processing Pdelay request frames

◆ ptpSendFollowUpEvtObject

EventP_Object TimeSync_ParamsHandle::ptpSendFollowUpEvtObject[ICSS_EMAC_MAX_PORTS_PER_INSTANCE]

Two event handlers for two ports for sending out follow up frame in case of forced 2-step

◆ eventIdSync

uint32_t TimeSync_ParamsHandle::eventIdSync

Event ID for Sync frame

◆ eventIdPdelayReq

uint32_t TimeSync_ParamsHandle::eventIdPdelayReq

Event ID for Pdelay Request frame

◆ eventIdPdelayResp

uint32_t TimeSync_ParamsHandle::eventIdPdelayResp

Event ID for Pdelay Response frame

◆ eventIdPdelayRespFlwUp

uint32_t TimeSync_ParamsHandle::eventIdPdelayRespFlwUp

Event ID for Pdelay Response Follow Up frame

◆ eventIdDelayReq

uint32_t TimeSync_ParamsHandle::eventIdDelayReq

Event ID for Delay Request frame

◆ eventIdFlwUpGenerated

uint32_t TimeSync_ParamsHandle::eventIdFlwUpGenerated

Event ID to indicate follow up frame generated

◆ delayReqTxSemObject

SemaphoreP_Object TimeSync_ParamsHandle::delayReqTxSemObject

◆ timeSync_syncTxTimerHandle

uint32_t TimeSync_ParamsHandle::timeSync_syncTxTimerHandle

◆ timeSync_syncTxTask

TaskP_Object TimeSync_ParamsHandle::timeSync_syncTxTask

Actual PTP Task handle which sends Sync frames

◆ timeSync_announceTxTask

TaskP_Object TimeSync_ParamsHandle::timeSync_announceTxTask

PTP Task for sending Announce frames

◆ syncTxSemObject

SemaphoreP_Object TimeSync_ParamsHandle::syncTxSemObject

◆ latch_sync_SemObject

SemaphoreP_Object TimeSync_ParamsHandle::latch_sync_SemObject

◆ timeSync_txTSIsrObject

HwiP_Object TimeSync_ParamsHandle::timeSync_txTSIsrObject

◆ timeSync_latchIsrObject

HwiP_Object TimeSync_ParamsHandle::timeSync_latchIsrObject

◆ numSyncMissed

uint32_t TimeSync_ParamsHandle::numSyncMissed

◆ offsetAlgo

timeSync_Offset_Stable_Algo_t* TimeSync_ParamsHandle::offsetAlgo

◆ udpParams

ipParams_t TimeSync_ParamsHandle::udpParams

IP/UDP Params

◆ pDelayParams

peerDelayParams_t TimeSync_ParamsHandle::pDelayParams[ICSS_EMAC_MAX_PORTS_PER_INSTANCE]

Peer Delay params

◆ delayParams

delayReqRespParams_t* TimeSync_ParamsHandle::delayParams

Delay params for Delay Response

◆ timeSyncConfig

TimeSync_Config_t TimeSync_ParamsHandle::timeSyncConfig

◆ timeSyncBuff

TimeSync_frame_buffers_t TimeSync_ParamsHandle::timeSyncBuff

◆ tsSyntInfo

timeSync_SyntInfo_t* TimeSync_ParamsHandle::tsSyntInfo

Data for Syntonization

◆ tsToDParams

timeSync_ToD_Param_t* TimeSync_ParamsHandle::tsToDParams

Parameters for doing time of day synchronization

◆ tsNrrInfo

timeSync_NrrInfo_t* TimeSync_ParamsHandle::tsNrrInfo[ICSS_EMAC_MAX_PORTS_PER_INSTANCE]

Data for calculating NRR on both ports

◆ syncParam

syncParam_t* TimeSync_ParamsHandle::syncParam[ICSS_EMAC_MAX_PORTS_PER_INSTANCE]

Delay params for Sync Frame

◆ tsRunTimeVar

timeSync_RuntimeVar_t* TimeSync_ParamsHandle::tsRunTimeVar

Time Sync Runtime variables