 |
AM263Px INDUSTRIAL COMMUNICATIONS SDK
10.02.00
|
|
Go to the documentation of this file.
60 #define PRU_IEP_COUNT_REG 0x0C
67 #define PRU_IEP_CMP_CFG_REG 0x40
74 #define PRU_IEP_CMP1_REG 0x4C
81 #define PRU_IEP_SYNC_PWIDTH_REG 0x110
88 #define PRU_IEP_CAP_CFG_REG 0x10
145 #define PTCP_ENABLE_FILTER
152 #define ISR_PTCP_NUM 24
159 #define ISR_PTCP_NUM_ARM 124+32
166 #define NUM_DELAYS_SMA 7
173 #define NUM_DELAYS_BURST 5
180 #define PTCP_NUM_PORTS 2
187 #define MAX_SEQID 61435
194 #define PTCP_DELAY_REQ_LEN 60
201 #define MAX_CTR_VAL 512
208 #define INTER_DEL_REQ_GAP 200000000
215 #define INTER_DEL_REQ_GAP_MS 205
223 #define INTER_DEL_REQ_BURST_GAP_MS 8205
230 #define SYNC_INTERVAL 30000000
237 #define DEBUG_DELAY_N_ITER 200
245 #define DEBUG_SYNC_N_ITER 300
247 #define DEBUG_SYNC_N_ITER 40000
255 #define SYNC_FILTER_SIZE 8
262 #define SYNC_ANALYSIS_N_ITER 100
269 #define SYNC_ANALYSIS_N_RESETS 40
271 #define LATCH0_EVENT 12
320 uint8_t subdomainUUID[16];
387 #define SYNC_SINGLE_ITER_SIZE 200
477 *ptcp_iDelayResp_parsed, uint8_t *ptcp_iDelayResp_packet,
478 uint8_t *ptcp_iDelayFupResp_packet, int32_t w_FUP);
546 uint32_t compensation);
int32_t PN_PTCP_parseInDelayResp(ptcp_iDelayResp_struct_t *ptcp_iDelayResp_parsed, uint8_t *ptcp_iDelayResp_packet, uint8_t *ptcp_iDelayFupResp_packet, int32_t w_FUP)
int32_t PN_PTCP_parseSyncFields(PN_Handle pnHandle, volatile ptcpSyncInfo_t *ptcp_sync_parsed, uint8_t *sync_sblock)
void PN_PTCP_start(PN_Handle pnHandle)
Triggers the start of ptcp protocol Should be called from stack after initialization It only controls...
uint32_t reqDelay
Definition: iPtcpUtils.h:293
uint32_t line_delay
Definition: iPtcpUtils.h:298
void PN_PTCP_reset(PN_Handle pnHandle)
reset relevant data on start or sync timeout
struct PN_Config_s * PN_Handle
Alias for Profinet Handle containing base addresses and modules.
Definition: PN_Handle.h:98
#define SYNC_SINGLE_ITER_SIZE
Definition: iPtcpUtils.h:387
#define NUM_DELAYS_SMA
Definition: iPtcpUtils.h:166
void PN_PTCP_syncTimeoutMonitor(PN_Handle pnHandle)
uint16_t * pSeqIdInDelayPacket
Definition: iPtcpUtils.h:347
void PN_PTCP_syncHandling(PN_Handle pnHandle)
uint32_t PN_PTCP_rotUint(uint32_t *input)
#define DEBUG_SYNC_N_ITER
Definition: iPtcpUtils.h:247
uint8_t * pInDelayResPacket
Definition: iPtcpUtils.h:349
#define DEBUG_DELAY_N_ITER
Definition: iPtcpUtils.h:237
void PN_PTCP_portDelaySmaCalc(PN_Handle pnHandle, uint8_t portNum)
uint32_t T4PortRXDelay
Definition: iPtcpUtils.h:287
uint32_t nSyncMissed
Definition: iPtcpUtils.h:318
Definition: iPtcpUtils.h:393
Definition: iPtcpUtils.h:361
uint32_t takeoverTimeoutFactor
Definition: iPtcpUtils.h:314
void PN_PTCP_configureSync0Pin(PN_Handle pnHandle)
uint32_t T4_cycle_ctr
Definition: iPtcpUtils.h:292
uint32_t * pT4TS
Definition: iPtcpUtils.h:341
syncState_t syncState
Definition: iPtcpUtils.h:307
void PN_PTCP_syncPreprocess(PN_Handle pnHandle, uint8_t ctrlByte)
int32_t PN_PTCP_lineDelayCalc(PN_Handle pnHandle, ptcp_iDelayResp_struct_t *ptcp_iDelayResp_parsed)
uint32_t * pT1TS
Definition: iPtcpUtils.h:340
uint32_t syncPllWnd
Definition: iPtcpUtils.h:312
uint32_t T1_cycle_ctr
Definition: iPtcpUtils.h:291
uint8_t * pInDelayFupResPacket
Definition: iPtcpUtils.h:350
Definition: iPtcpUtils.h:375
void PN_PTCP_resetDelayTimings(PN_Handle pnHandle, uint8_t portNum)
uint32_t resDelay_peer
Definition: iPtcpUtils.h:296
uint16_t seqId
Definition: iPtcpUtils.h:283
uint32_t T3PortTXDelay
Definition: iPtcpUtils.h:286
void PN_PTCP_smaDelayMeasurement(PN_Handle pnHandle)
void PN_PTCP_isrHandler(void *arg)
Profinet PTCP ISR handler.
uint8_t * pInDelayResCtrl
Definition: iPtcpUtils.h:351
void PN_PTCP_delayMeasurement(PN_Handle pnHandle)
uint32_t T2PortRXDelay
Definition: iPtcpUtils.h:285
int32_t PN_PTCP_cableDelayCalc(PN_Handle pnHandle, ptcp_iDelayResp_struct_t *ptcp_iDelayResp_parsed, uint8_t port)
void PN_PTCP_triggerMeasurement(PN_Handle pnHandle)
uint32_t T1TimeStamp
Definition: iPtcpUtils.h:288
uint8_t syncRcv
Definition: iPtcpUtils.h:317
uint32_t T4TimeStamp
Definition: iPtcpUtils.h:290
uint32_t T1PortTXDelay
Definition: iPtcpUtils.h:284
float rcf_peer
Definition: iPtcpUtils.h:295
uint8_t * pDelayReqPacket
Definition: iPtcpUtils.h:345
Definition: iPtcpUtils.h:339
Definition: iPtcpUtils.h:329
uint32_t syncTimeoutFactor
Definition: iPtcpUtils.h:313
uint32_t resDelay
Definition: iPtcpUtils.h:294
void PN_PTCP_resetDelayValues(PN_Handle pnHandle)
void PN_PTCP_ClockChange(PN_Handle pnHandle, uint32_t cycleTime)
Handles the clock (IEP CMP0) change scenario.
void PN_PTCP_init(PN_Handle pnHandle)
Initializes the PTCP data structure and memory for PTCP pre-formatted packets.
int32_t PN_PTCP_adjCtrDiff(PN_Handle pnHandle, int32_t ctrDiff)
Definition: iPtcpUtils.h:282
uint32_t T2TimeStamp
Definition: iPtcpUtils.h:289
uint32_t * pT4CycleCtr
Definition: iPtcpUtils.h:343
void PN_PTCP_taskSleep(uint32_t mSec)
uint32_t cable_delay
Definition: iPtcpUtils.h:297
Structure containing current sync info.
Definition: iPtcpDrv.h:108
uint8_t firstSyncRcv
Definition: iPtcpUtils.h:316
uint8_t * pDelayResPacket
Definition: iPtcpUtils.h:346
syncState_t
Enum for the various sync states.
Definition: iPtcpDrv.h:78
int32_t PN_PTCP_absVal(int32_t num)
int32_t PN_PTCP_enableIsr(PN_Handle pnHandle)
uint16_t PN_PTCP_rotUshort(uint16_t *input)
int32_t PN_PTCP_setupIsr(PN_Handle pnHandle)
void PN_PTCP_processDelayResponse(PN_Handle pnHandle, uint8_t portNum)
Definition: iPtcpUtils.h:306
void PN_PTCP_syncIepAdjustment(PN_Handle pnHandle, int32_t ecapPeriod, uint32_t compensation)
#define PTCP_NUM_PORTS
Definition: iPtcpUtils.h:180
ptcpPortStatus_t
Enum for enable/disable states.
Definition: iPtcpDrv.h:67
uint32_t * pSmaLineDelay
Definition: iPtcpUtils.h:353
int32_t PN_PTCP_modFunc(int32_t num, uint32_t mod)
uint32_t * pT1CycleCtr
Definition: iPtcpUtils.h:342