Go to the source code of this file.
Data Structures | |
struct | ptcpPortDelayVal_t |
Structure containing the port delay values of the local and remote. More... | |
struct | ptcpSyncInfo_t |
Structure containing current sync info. More... | |
struct | PNIO_TimeStamp |
struct | LatchVars |
Typedefs | |
typedef void(* | ptcpCallBack_t) (uint32_t arg, uint32_t arg2) |
typedef void(* | ptcpSyncCallBack_t) (PN_Handle arg1) |
Enumerations | |
enum | ptcpPortStatus_t { disable = 0, enable = 1 } |
Enum for enable/disable states. More... | |
enum | syncState_t { OUT_OF_SYNC = 0, IN_SYNC, TAKEOVER_TIMEOUT, SYNC_TIMEOUT, SYNC_RESET } |
Enum for the various sync states. More... | |
enum | icssIepClkFreq { ICSS_IEP_CLK_FREQ_200MHZ = 200000000, ICSS_IEP_CLK_FREQ_250MHZ = 250000000, ICSS_IEP_CLK_FREQ_333MHZ = 333333333, ICSS_IEP_CLK_FREQ_200MHZ = 200000000, ICSS_IEP_CLK_FREQ_250MHZ = 250000000, ICSS_IEP_CLK_FREQ_333MHZ = 333333333 } |
ICSS IEP Clock Frequencies. More... | |
Functions | |
void | PN_PTCP_registerSyncStatusCall (PN_Handle pnHandle, ptcpCallBack_t callBack) |
Registers the callback function for getting notifications about change in sync state. More... | |
void | PN_PTCP_registerDelayUpdateCall (PN_Handle pnHandle, ptcpCallBack_t callBack) |
Registers the callback function for getting notifications about new cable delay measurement. More... | |
void | PN_PTCP_registerSyncMonitorCall (PN_Handle pnHandle, ptcpSyncCallBack_t callBack) |
Registers the callback function for custom sync timeout monitor typedef void (ptcpSyncCallBack_t)(void arg1); arg1: pnHandle. More... | |
void | PN_PTCP_getDelayValues (PN_Handle pnHandle, ptcpPortDelayVal_t *portDelays, uint8_t portNum) |
Returns the current cable delay related values. More... | |
void | PN_PTCP_getLocalDelayValues (PN_Handle pnHandle, uint8_t portNum, uint32_t *outRxDelay, uint32_t *outTxDelay) |
Get the local port delay values. More... | |
void | PN_PTCP_getRemoteDelayValues (PN_Handle pnHandle, uint8_t portNum, uint32_t *outRxDelay, uint32_t *outTxDelay) |
Get the remote port delay values. More... | |
void | PN_PTCP_getSyncInfo (PN_Handle pnHandle, ptcpSyncInfo_t *syncInfo) |
Returns current sync status and other sync related info. More... | |
void | PN_PTCP_getSyncMasterAddress (PN_Handle pnHandle, uint8_t *addr) |
Get the sync Master address (MAC) More... | |
void | PN_PTCP_setPllWindow (PN_Handle pnHandle, uint32_t pllWindowSize) |
Sets the PLL window for sync handling. More... | |
void | PN_PTCP_setSyncTimeoutFactor (PN_Handle pnHandle, uint32_t syncTimeoutFactor) |
Sets the Sync timeout factor. More... | |
void | PN_PTCP_setTakeoverTimeoutFactor (PN_Handle pnHandle, uint32_t takeoverTimeoutFactor) |
Sets the takeover timeout factor. More... | |
void | PN_PTCP_setSyncUUID (PN_Handle pnHandle, uint8_t *subdomainUUID) |
Sets the sync UUID for the device. Application is also notified about the current sync status. . More... | |
void | PN_PTCP_configureSyncFwd (PRUICSS_HwAttrs const *pruicssHwAttrs, ptcpPortStatus_t state) |
Controls(enable/disable) the sync forwarding; by default it is enabled. More... | |
void | PN_PTCP_configureDelayMeasurement (PN_Handle pnHandle, uint8_t portNum, ptcpPortStatus_t state) |
Controls(enable/disable) the delay measurement process on a particular port. By default, delay measurement is enabled on both the ports. More... | |
void | PN_PTCP_configureDelayResp (PRUICSS_HwAttrs const *pruicssHwAttrs, uint8_t portNum, ptcpPortStatus_t state) |
int32_t | PN_PTCP_getAbsoluteTime (PN_Handle pnHandle, PNIO_TimeStamp *p_PNIO_TimeStamp, int32_t LatchEn) |
API to return absolute PTCP time. More... | |
void | PN_setIepIncrementValue (PN_Handle pnHandle, uint32_t icssIepClockFreq) |
Sets the IEP increment value based on the ICSS IEP clock frequency. More... | |
void | PN_PTCP_adjustIepCounter (PN_Handle pnHandle, int32_t adjDelta) |
Adjusts the IEP counter to synchronize it with the master device, by adjusting the counter increment value and enabling slow compensation. More... | |
void | PN_PTCP_initIepConfig (PN_Handle pnHandle) |
Initialize the IEP configuration register. More... | |
void | PN_PTCP_configPortDelay (PN_Handle pnHandle, uint16_t phyRxDelay, uint16_t phyTxDelay) |
Configure the Port Rx and Tx delay. More... | |
void | PN_PTCP_latchInit (PN_Handle pnHandle) |
int32_t PN_PTCP_getAbsoluteTime | ( | PN_Handle | pnHandle, |
PNIO_TimeStamp * | p_PNIO_TimeStamp, | ||
int32_t | LatchEn | ||
) |
API to return absolute PTCP time.
Absolute time calculation triggered by latch0 event or function call. When triggered by latch0 event, ISR calculates absolute time.
[in] | pnHandle | Profinet Handle |
[in] | LatchEn | Trigger 1 - Triggered by latch input 0 - Triggered by function call itself |
[in] | p_PNIO_TimeStamp | ointer to structure PNIO_TimeStamp |
0 | if device is in sync with PLC, -1 if out of sync |
void PN_setIepIncrementValue | ( | PN_Handle | pnHandle, |
uint32_t | icssIepClockFreq | ||
) |
Sets the IEP increment value based on the ICSS IEP clock frequency.
pnHandle | Profinet Handle |
icssIepClockFreq | ICSS IEP clock frequency |
void PN_PTCP_adjustIepCounter | ( | PN_Handle | pnHandle, |
int32_t | adjDelta | ||
) |
Adjusts the IEP counter to synchronize it with the master device, by adjusting the counter increment value and enabling slow compensation.
[in] | pnHandle | Profinet Handle |
[in] | adjDelta | Timing difference between master and device clocks |
void PN_PTCP_initIepConfig | ( | PN_Handle | pnHandle | ) |
Initialize the IEP configuration register.
Sets the default increment counter value and compare increment value based on IEP clock frequency
[in] | pnHandle | Profinet Handle |
void PN_PTCP_configPortDelay | ( | PN_Handle | pnHandle, |
uint16_t | phyRxDelay, | ||
uint16_t | phyTxDelay | ||
) |
Configure the Port Rx and Tx delay.
Configures the port Rx and Tx delay values based on PHY module.
[in] | pnHandle | Profinet Handle |
[in] | phyRxDelay | PHY Rx Delay Value |
[in] | phyTxDelay | PHY Tx Delay Value |
void PN_PTCP_latchInit | ( | PN_Handle | pnHandle | ) |