AM64x MCU+ SDK  08.02.00
icss_timeSyncApi.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2021 Texas Instruments Incorporated
3  *
4  * Redistribution and use in source and binary forms, with or without
5  * modification, are permitted provided that the following conditions
6  * are met:
7  *
8  * Redistributions of source code must retain the above copyright
9  * notice, this list of conditions and the following disclaimer.
10  *
11  * Redistributions in binary form must reproduce the above copyright
12  * notice, this list of conditions and the following disclaimer in the
13  * documentation and/or other materials provided with the
14  * distribution.
15  *
16  * Neither the name of Texas Instruments Incorporated nor the names of
17  * its contributors may be used to endorse or promote products derived
18  * from this software without specific prior written permission.
19  *
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31  */
32 
33 #ifndef ICSS_TIMESYNC_API_H_
34 #define ICSS_TIMESYNC_API_H_
35 
36 #ifdef __cplusplus
37 extern "C" {
38 #endif
39 
40 
41 /* ========================================================================== */
42 /* Include Files */
43 /* ========================================================================== */
44 
46 #include <kernel/dpl/HwiP.h>
47 #include <kernel/dpl/TimerP.h>
48 #include <kernel/dpl/TaskP.h>
49 #include <kernel/dpl/EventP.h>
50 
51 #define lswap(x) ((((x) & 0xff000000) >> 24) | \
52  (((x) & 0x00ff0000) >> 8) | \
53  (((x) & 0x0000ff00) << 8) | \
54  (((x) & 0x000000ff) << 24))
55 
56 #define htonl_ts(l) (lswap(l))
57 #define ntohl_ts(l) (lswap(l))
58 
59 #define htons_ts(s) ((u_short)((u_short)(s) >> 8) | (u_short)((u_short)(s) << 8))
60 #define ntohs_ts(s) htons_ts(s)
61 /* ========================================================================== */
62 /* Macros & Typedefs */
63 /* ========================================================================== */
64 
65 /*TODO: Review this*/
66 #define TASK_STACK_SIZE (2048)
67 
68 #define ICSS_TIMESYNC_EVENT_BIT0 (0x000001)
69 #define ICSS_TIMESYNC_EVENT_BIT1 (0x000002)
70 #define ICSS_TIMESYNC_EVENT_BIT2 (0x000004)
71 #define ICSS_TIMESYNC_EVENT_BIT3 (0x000008)
72 #define ICSS_TIMESYNC_EVENT_BIT4 (0x000010)
73 #define ICSS_TIMESYNC_EVENT_BIT5 (0x000020)
74 #define ICSS_TIMESYNC_EVENT_BIT6 (0x000040)
75 #define ICSS_TIMESYNC_EVENT_BIT7 (0x000080)
76 
77 /* Data types */
78 /* Primitive data types */
79 
85 #define SYNT_DEPTH 3
86 
90 #define TS_NUM_DOMAINS 1
91 
92 /*Below are the masks used for PTP state machine*/
93 
98 #define TS_STATE_MACHINE_FIRST_ADJUSTMENT_DONE 1
99 
104 #define TS_STATE_MACHINE_LINE_DELAY_COMPUTED 2
105 
109 #define TS_STATE_MACHINE_SYNC_INTERVAL_COMPUTED 4
110 
115 #define TS_STATE_MACHINE_READY_FOR_SYNC 7
116 
122 #define TS_STATE_MACHINE_DEVICE_IN_SYNC 8
123 
129 #define OFFSET_ALGO_BIN_SIZE 5
130 
136 #define OFFSET_ALGO_CLUSTER_SIZE 3
137 
141 typedef enum
142 {
144  FAULTY = 2,
145  DISABLED = 3,
148  MASTER = 6,
149  PASSIVE = 7,
151  SLAVE = 9
152 
154 
158 typedef enum
159 {
160 
162  UDP_IPV4 = 1,
164  UDP_IPV6 = 2,
169  PROFINET = 6,
170  UNKNOWN = 0xFFFE
171 
173 
177 typedef enum
178 {
179 
181  TC = 1,
183  OC = 2,
185  BOTH = 3
187 
191 typedef enum
192 {
194  E2E = 1,
196  P2P = 2
198 
202 typedef enum
203 {
211  DELAY_RESP_FRAME = 3
212 
214 
218 typedef enum
219 {
220  ATOMIC_CLOCK = 0x10,
221  GPS = 0x20,
223  PTP = 0x40,
224  NTP = 0x50,
225  HAND_SET = 0x60,
226  OTHER = 0x90,
228 } timeSource;
229 
233 typedef struct
234 {
235  uint64_t seconds;
236  uint32_t nanoseconds;
237 } timeStamp;
238 
239 
243 typedef struct
244 {
245  uint64_t seconds;
248 
252 typedef void (*TimeSync_txCallBack_t)(uint32_t arg, uint32_t arg2);
253 
258 typedef void (*TimeSync_SyncLossCallBack_t)(void);
259 
264 typedef void (*TimeSync_stackResetCallback_t)(void *arg);
265 
269 typedef struct
270 {
272  uint8_t clockIdentity[8];
274  uint16_t ptpPortNumber;
282 
286 typedef struct
287 {
289  uint8_t priority1;
291  uint8_t priority2;
293  uint8_t clockClass;
295  uint8_t clockAccuracy;
297  uint8_t timeSource;
299  uint16_t stepRemoved;
301  uint16_t clockVariance;
302  /*Current UTC offset*/
303  uint16_t UTCOffset;
305  uint8_t gmIdentity[8];
306 
307  /*PTP Flag params. See standard
308  * index 0 - PTP Leap second 61
309  * index 1 - PTP Leap second 59
310  * ....
311  * ....
312  * index 11 - PTP Security*/
313 
314  uint8_t ptp_flags[12];
315 
317 
321 typedef struct
322 {
323  /*Rx buffers*/
324  uint8_t *pdelayReq_RxBuf[2];
325  uint8_t *pdelayRes_RxBuf[2];
326  uint8_t *pdelayResFlwUp_RxBuf[2];
327  /*For E2E master. Not supported right now*/
328  uint8_t *delayReq_RxBuf[2];
329 
330  /*Tx buffers*/
331  uint8_t *pdelayReq_TxBuf[2];
332  uint8_t *pdelayRes_TxBuf[2];
333  uint8_t *pdelayResFlwUp_TxBuf[2];
334  uint8_t *sync_TxBuf;
335  uint8_t *announce_TxBuf;
336  uint8_t *followUp_TxBuf[2];
337  uint8_t *delayReq_TxBuf;
338 
339  /*Buffer sizes. These change based on whether
340  * it's Annex E or Annex F. Pdelay buffer size and
341  * delay request (E2E) buffer sizes are fixed
342  * because we only support fixed modes*/
343  uint8_t syncBuf_size;
344  uint8_t flwUpBuf_size;
346 
348 
352 typedef struct
353 {
355  uint8_t domainNumber[TS_NUM_DOMAINS];
366  /*Synchronization loss callback function*/
368  /*PTP stack reset callback function*/
372 
375 
378 
381 
385 
389 
393 
397 
400 
403 
406 
408  uint8_t isMaster;
409 
411  uint32_t txIntNum;
412 
414  uint8_t latchIntNum;
415 
419 
420  /*TODO: Review ICSS_EMAC_MAX_PORTS_PER_INSTANCE -> ICSS_EMAC_MAX_PORTS_PER_INSTANCE*/
422  uint16_t asymmetryCorrection[ICSS_EMAC_MAX_PORTS_PER_INSTANCE];
423 
427 
430 
432  uint8_t clockIdentity[8];
433 
437  uint32_t sync0_interval;
438 
440  uint8_t hsrEnabled;
441 
449  uint8_t ll_has_hsrTag;
450 
453  uint8_t custom_tx_api;
454 
460 
464  uint8_t emac_mode;
465 
470  uint8_t frame_offset;
471 
472  /*OS tick period (in microseconds). Normalized value is 1000 means factor of 1, 500 means
473  * OS counts twice as fast so divide time period by 2*/
474  uint32_t tickPeriod;
475 
476  /* Rx PHY Latency in nano seconds */
477  uint32_t rxPhyLatency;
478 
479  /* Tx PHY Latency in nano seconds */
480  uint32_t txPhyLatency;
481 
484 
486 
490 typedef struct
491 {
493  uint8_t enabled;
494 
505  uint8_t stateMachine;
506 
508  uint16_t pDelReqSequenceID[ICSS_EMAC_MAX_PORTS_PER_INSTANCE];
509 
512 
514  uint16_t syncSequenceID;
515 
518 
520  uint16_t curSyncSeqId[ICSS_EMAC_MAX_PORTS_PER_INSTANCE];
521 
525  uint32_t ltaSyncInterval;
528 
530  int32_t currOffset;
535  int32_t prevOffset[2];
536 
537  /*Flags to determine if values in prevOffset[] are valid*/
538  int32_t prevOffsetValid[2];
539 
541  int32_t initialOffset;
542 
543  /*Once drift stabilizes, this is set to 1*/
544  uint8_t driftStable;
545 
546  /*Once offset becomes zero, this is set to 1*/
547  uint8_t offsetStable;
548 
550  uint8_t syncPortNum;
551 
553  uint32_t pathDelay[ICSS_EMAC_MAX_PORTS_PER_INSTANCE];
554 
555  /*Place holder to calculate line delay.
556  * Since line delay can sometimes be negative, we need a persistent variable*/
557  int64_t meanPathDelay;
558 
560  uint32_t clockDrift;
561 
562  /*long term average of offset. Compare with initial offset to find drift*/
563  int32_t ltaOffset;
564 
565  /*Flags to determine if ltaOffset value is valid*/
566  int32_t ltaOffsetValid;
567 
570 
573  uint64_t tickCounter;
574 
577 
581 
583  uint8_t forced2step[ICSS_EMAC_MAX_PORTS_PER_INSTANCE];
584 
585  /*debug*/
586  uint8_t bmcaDone;
587 
590 
593 
595 
600 typedef struct
601 {
608 
612  uint8_t driftThreshold;
613 
616 
620  uint8_t binFull;
621 
625  int32_t correction[OFFSET_ALGO_BIN_SIZE];
626 
628 
632 typedef struct
633 {
635  uint8_t ifTwoStep;
636 
639  uint64_t correctionField;
640 
642  uint64_t originTsSec;
644  uint32_t originTsNs;
645 
647  uint32_t rxTs;
648 
650  uint64_t rxTsSec;
651 
653  uint32_t txTs;
654 
656  uint64_t txTsSec;
657 
658 } syncParam_t;
659 
663 typedef struct
664 {
666  uint64_t syncIngressTs[SYNT_DEPTH];
667 
669  uint64_t correctedMasterTs[SYNT_DEPTH];
670 
672  double rcf;
673 
675  uint8_t index;
676 
678  uint8_t syntEnable;
679 
681  uint32_t syntIndex;
682 
684 
688 typedef struct
689 {
691  uint32_t latch_Ts_NS;
692 
694  uint64_t latch_Ts_Sec;
695 
697  uint32_t ToD_Ts_NS;
698 
700  uint64_t ToD_Ts_Sec;
701 
703 
707 typedef struct
708 {
710  uint64_t deviceRxTS[SYNT_DEPTH];
711 
713  uint64_t correctedPeerTS[SYNT_DEPTH];
714 
716  double nrr;
717 
719  uint8_t curIndex;
720 
722  uint8_t nrrEnable;
723 
725  uint32_t nrrIndex;
726 
728 
729 
733 typedef struct
734 {
736  uint64_t correctionField;
737 
739  uint64_t timeStampSec;
741  uint32_t timeStampNS;
742 
744  uint32_t delReqTxTsSec;
746  uint32_t delReqTxTsNS;
747 
749 
753 typedef struct
754 {
756  uint8_t ifTwoStep;
757 
759  uint32_t T1Sec;
760 
762  uint32_t T1Nsec;
763 
765  uint64_t T2Sec;
766 
768  uint32_t T2Nsec;
769 
771  uint64_t T3Sec;
772 
774  uint32_t T3Nsec;
775 
777  uint64_t T4Sec;
778 
780  uint32_t T4Nsec;
781 
785 
789 
792 
795 
797 
801 typedef struct
802 {
803 
805  uint32_t srcIP;
806 
808  uint32_t dstIP;
809 
811  uint8_t dscp;
812 
814  uint8_t ttlVal;
815 
816 } ipParams_t;
817 
821 typedef struct
822 {
826  uint8_t ptpGeneralFrame[ICSS_EMAC_MAXMTU];
828  uint16_t ptpGeneralSize;
832  uint8_t ptpSrcMacID[6];
833 
834 } ptpDparams_t;
835 
839 typedef struct TimeSync_ParamsHandle_s
840 {
843 
844  uint8_t macId[6];
845  /* MAC ID passed to ICSS-EMAC during ICSS-EMAC initialization*/
846 
849 
851  uint8_t enabled;
852 
853  /*Get TX timestamp*/
856  uint8_t txPort;
857  uint8_t txprotocol;
860  /*Get RX timestamp*/
863  uint8_t rxPort;
864  uint8_t rxprotocol;
868  /*Set clock*/
870  uint8_t sequenceIdIn;
872  /*Adjust clock*/
873  int32_t drift;
874  uint32_t syncInterval;
878 
880  uint32_t pathDelay[ICSS_EMAC_MAX_PORTS_PER_INSTANCE];
881 
882  uint8_t syntIndexMap[3];
883  uint8_t prevIndexMap[3];
884 
885 
888 
891 
892  /*-----------------Slave tasks, semaphores and events----------------*/
893 
898 
905 
911 
916 
922 
936 
938  uint32_t eventIdSync;
946  uint32_t eventIdDelayReq;
949 
950  /*Semaphore for sending Delay Request frames*/
952 
953  /*-----------------Master tasks, semaphores and events----------------*/
954  /*TODO: Review this*/
955  /*Handle for DMTimer which posts the semaphore which in turn sends Sync frames*/
961  /*Semaphore for sending Sync frames as master*/
963  /*Semaphore for synchronizing to 1PPS out*/
965  /*TODO: Review this*/
968 
969  /*Number of sync frames missed*/
970  uint32_t numSyncMissed;
971 
973 
976 
979 
982 
983  /*Time sync configuration handle*/
985 
986  /*Rx and Tx frame buffers*/
988 
991 
994 
997 
1000 
1003 
1004  uint32_t pDelayReqSendTaskStack[TASK_STACK_SIZE/sizeof(uint32_t)] __attribute__((aligned(32)));
1005  uint32_t delayReqSendTaskStack[TASK_STACK_SIZE/sizeof(uint32_t)] __attribute__((aligned(32)));
1006  uint32_t txTSTaskP1Stack[TASK_STACK_SIZE/sizeof(uint32_t)] __attribute__((aligned(32)));
1007  uint32_t txTSTaskP2Stack[TASK_STACK_SIZE/sizeof(uint32_t)] __attribute__((aligned(32)));
1008  uint32_t NRT_TaskStack[TASK_STACK_SIZE/sizeof(uint32_t)] __attribute__((aligned(32)));
1009  uint32_t backgroundTaskStack[TASK_STACK_SIZE/sizeof(uint32_t)] __attribute__((aligned(32)));
1010  uint32_t latchSyncTaskStack[TASK_STACK_SIZE/sizeof(uint32_t)] __attribute__((aligned(32)));
1011  uint32_t syncTxTaskStack[TASK_STACK_SIZE/sizeof(uint32_t)] __attribute__((aligned(32)));
1012  uint32_t announceTxTaskStack[TASK_STACK_SIZE/sizeof(uint32_t)] __attribute__((aligned(32)));
1013 
1015 
1016 typedef struct TimeSync_ParamsHandle_s *TimeSync_ParamsHandle_t;
1017 
1018 /* ========================================================================== */
1019 /* Error Codes */
1020 /* ========================================================================== */
1021 #define TIMESYNC_OK (0)
1022 #define ERROR_TX_FRAMETYPE_NOTVALID (-1)
1023 #define ERROR_TX_PORTNUMBER_NOTVALID (-2)
1024 #define ERROR_HANDLE_INVALID (-3)
1025 #define ERROR_RX_FRAMETYPE_NOTVALID (-4)
1026 #define ERROR_RX_PORTNUMBER_NOTVALID (-5)
1027 
1028 /* ========================================================================== */
1029 /* Function Declarations */
1030 /* ========================================================================== */
1031 
1051  ptpFrameTypes_t rxFrameType, uint8_t rxPort, \
1052  uint32_t *nanoseconds, uint64_t *seconds);
1053 /* API */
1054 
1072 
1086 int32_t TimeSync_getTxTimestamp(TimeSync_ParamsHandle_t timeSyncParamsHandle, \
1087  ptpFrameTypes_t txFrameType, uint8_t txPort, \
1088  uint32_t *nanoseconds, uint64_t *seconds);
1089 
1090 
1108  int32_t adjOffset);
1109 
1110 
1121 int32_t TimeSync_setClockTime(TimeSync_ParamsHandle_t timeSyncParamsHandle);
1122 
1139  uint32_t *nanoseconds, uint64_t *seconds);
1140 
1146 
1152 
1159  uint8_t dscpValue);
1160 
1163 #ifdef __cplusplus
1164 }
1165 #endif
1166 
1167 #endif /* ICSS_TIMESYNC_API_H_ */
timeSync_RuntimeVar_t::currOffset
int32_t currOffset
Definition: icss_timeSyncApi.h:530
TimeSync_Config_t::syncIn_latchTrigger
uint8_t syncIn_latchTrigger
Definition: icss_timeSyncApi.h:359
TimeSync_ParamsHandle::tsSyntInfo
timeSync_SyntInfo_t * tsSyntInfo
Definition: icss_timeSyncApi.h:990
TimeSync_ParamsHandle::txFrameType
ptpFrameTypes_t txFrameType
Definition: icss_timeSyncApi.h:855
E2E
@ E2E
Definition: icss_timeSyncApi.h:194
TC
@ TC
Definition: icss_timeSyncApi.h:181
TimeSync_ParamsHandle::eventIdPdelayReq
uint32_t eventIdPdelayReq
Definition: icss_timeSyncApi.h:940
DISABLED
@ DISABLED
Definition: icss_timeSyncApi.h:145
TimeSync_ParamsHandle::__attribute__
uint32_t backgroundTaskStack[TASK_STACK_SIZE/sizeof(uint32_t)] __attribute__((aligned(32)))
TimeSync_frame_buffers_t
Time synchronization configuration structure.
Definition: icss_timeSyncApi.h:322
TimeSync_Config_t::txPhyLatency
uint32_t txPhyLatency
Definition: icss_timeSyncApi.h:480
TimeSync_updateLogMessageIntervalInPTPFrames
void TimeSync_updateLogMessageIntervalInPTPFrames(TimeSync_ParamsHandle_t timeSyncHandle)
Update log message interval in PTP TX buffers.
TimeSync_config
int32_t TimeSync_config(TimeSync_ParamsHandle_t timeSyncHandle)
Function to configure domain number and/or log message intervals and/or sync0 signal start time,...
ptpDparams_t
PTPd stack parameters.
Definition: icss_timeSyncApi.h:822
TimeSync_Config_t::tickPeriod
uint32_t tickPeriod
Definition: icss_timeSyncApi.h:474
TimeSync_ParamsHandle::timeSync_pDelayReqSendTask
TaskP_Object timeSync_pDelayReqSendTask
Definition: icss_timeSyncApi.h:887
INTERNAL_OSCILLATOR
@ INTERNAL_OSCILLATOR
Definition: icss_timeSyncApi.h:227
ICSS_EMAC_Handle
struct ICSS_EMAC_Config_s * ICSS_EMAC_Handle
Alias for ICSS EMAC Handle containing base addresses and modules.
Definition: icss_emac.h:368
timeSync_SyntInfo_t::rcf
double rcf
Definition: icss_timeSyncApi.h:672
timeSync_ToD_Param_t::ToD_Ts_Sec
uint64_t ToD_Ts_Sec
Definition: icss_timeSyncApi.h:700
timeSync_SyntInfo_t
Parameters required for clock syntonization.
Definition: icss_timeSyncApi.h:664
TimeSync_ParamsHandle::eventIdPdelayResp
uint32_t eventIdPdelayResp
Definition: icss_timeSyncApi.h:942
ExtendedTimestamp
802.1AS-rev ExtendedTimestamp
Definition: icss_timeSyncApi.h:244
TimeSync_ParamsHandle::sequenceIdIn
uint8_t sequenceIdIn
Definition: icss_timeSyncApi.h:870
timeStamp
802.1AS-rev Timestamp structure
Definition: icss_timeSyncApi.h:234
netWorkProtType
netWorkProtType
Network Protocol Type.
Definition: icss_timeSyncApi.h:159
TimeSync_Config_t::config
deviceConfig config
Definition: icss_timeSyncApi.h:399
TimeSync_getCurrentTime
void TimeSync_getCurrentTime(TimeSync_ParamsHandle_t timeSyncParamsHandle, uint32_t *nanoseconds, uint64_t *seconds)
Returns the current time on device.
TimeSync_ParamsHandle::sequenceIdOut_txTS
uint8_t sequenceIdOut_txTS
Definition: icss_timeSyncApi.h:858
timeSync_RuntimeVar_t::initialOffset
int32_t initialOffset
Definition: icss_timeSyncApi.h:541
PASSIVE
@ PASSIVE
Definition: icss_timeSyncApi.h:149
timeSync_RuntimeVar_t::delReqSequenceID
uint16_t delReqSequenceID
Definition: icss_timeSyncApi.h:511
TimeSync_Config_t::type
delayType type
Definition: icss_timeSyncApi.h:405
OTHER
@ OTHER
Definition: icss_timeSyncApi.h:226
timeSync_NrrInfo_t::nrr
double nrr
Definition: icss_timeSyncApi.h:716
timeSource
timeSource
802.1AS-rev Enumeration8
Definition: icss_timeSyncApi.h:219
port_State
port_State
Port States, from IEEE 1588v2.
Definition: icss_timeSyncApi.h:142
syncParam_t::originTsSec
uint64_t originTsSec
Definition: icss_timeSyncApi.h:642
TimeSync_ParamsHandle::__attribute__
uint32_t pDelayReqSendTaskStack[TASK_STACK_SIZE/sizeof(uint32_t)] __attribute__((aligned(32)))
TimeSync_ParamsHandle::__attribute__
uint32_t announceTxTaskStack[TASK_STACK_SIZE/sizeof(uint32_t)] __attribute__((aligned(32)))
TimeSync_parent_params_t
Parent clock params.
Definition: icss_timeSyncApi.h:270
TimeSync_ParamsHandle::numSyncMissed
uint32_t numSyncMissed
Definition: icss_timeSyncApi.h:970
TimeSync_ParamsHandle::timeSync_announceTxTask
TaskP_Object timeSync_announceTxTask
Definition: icss_timeSyncApi.h:960
TimeSync_Config_t::hsrEnabled
uint8_t hsrEnabled
Definition: icss_timeSyncApi.h:440
TimeSync_frame_buffers_t::delayReq_TxBuf
uint8_t * delayReq_TxBuf
Definition: icss_timeSyncApi.h:337
TimeSync_ParamsHandle::eventIdDelayReq
uint32_t eventIdDelayReq
Definition: icss_timeSyncApi.h:946
peerDelayParams_t::T3Sec
uint64_t T3Sec
Definition: icss_timeSyncApi.h:771
TimeSync_ParamsHandle::eventIdFlwUpGenerated
uint32_t eventIdFlwUpGenerated
Definition: icss_timeSyncApi.h:948
NTP
@ NTP
Definition: icss_timeSyncApi.h:224
delayReqRespParams_t::delReqTxTsNS
uint32_t delReqTxTsNS
Definition: icss_timeSyncApi.h:746
timeSync_RuntimeVar_t::announceSequenceID
uint16_t announceSequenceID
Definition: icss_timeSyncApi.h:517
TimeSync_ParamsHandle::timeSyncConfig
TimeSync_Config_t timeSyncConfig
Definition: icss_timeSyncApi.h:984
TimeSync_master_params_t::stepRemoved
uint16_t stepRemoved
Definition: icss_timeSyncApi.h:299
TimeSync_ParamsHandle::txPort
uint8_t txPort
Definition: icss_timeSyncApi.h:856
delayReqRespParams_t
Parameters required for calculating Cable Delay.
Definition: icss_timeSyncApi.h:734
PRE_MASTER
@ PRE_MASTER
Definition: icss_timeSyncApi.h:147
UDP_IPV4
@ UDP_IPV4
Definition: icss_timeSyncApi.h:162
TimeSync_Config_t::logSyncInterval
int8_t logSyncInterval
Definition: icss_timeSyncApi.h:374
TimeSync_Config_t::isMaster
uint8_t isMaster
Definition: icss_timeSyncApi.h:408
timeSync_RuntimeVar_t::currSyncInterval
uint32_t currSyncInterval
Definition: icss_timeSyncApi.h:523
ExtendedTimestamp::fractionalNanoseconds
uint64_t fractionalNanoseconds
Definition: icss_timeSyncApi.h:246
peerDelayParams_t::delayResFwUpCorrField
uint64_t delayResFwUpCorrField
Definition: icss_timeSyncApi.h:794
TimeSync_ParamsHandle::__attribute__
uint32_t delayReqSendTaskStack[TASK_STACK_SIZE/sizeof(uint32_t)] __attribute__((aligned(32)))
timeSync_RuntimeVar_t::firstSyncInterval
uint32_t firstSyncInterval
Definition: icss_timeSyncApi.h:527
TimeSync_ParamsHandle::udpParams
ipParams_t udpParams
Definition: icss_timeSyncApi.h:975
TimeSync_ParamsHandle::emacHandle
ICSS_EMAC_Handle emacHandle
Definition: icss_timeSyncApi.h:842
TimeSync_Config_t::syncSendInterval
uint32_t syncSendInterval
Definition: icss_timeSyncApi.h:388
TimeSync_Config_t::syncIn_latchInput
uint8_t syncIn_latchInput
Definition: icss_timeSyncApi.h:357
peerDelayParams_t::T1Sec
uint32_t T1Sec
Definition: icss_timeSyncApi.h:759
SYNT_DEPTH
#define SYNT_DEPTH
Definition: icss_timeSyncApi.h:85
MASTER
@ MASTER
Definition: icss_timeSyncApi.h:148
timeSync_SyntInfo_t::syntEnable
uint8_t syntEnable
Definition: icss_timeSyncApi.h:678
INITIALIZING
@ INITIALIZING
Definition: icss_timeSyncApi.h:143
TimeSync_getTxTimestamp
int32_t TimeSync_getTxTimestamp(TimeSync_ParamsHandle_t timeSyncParamsHandle, ptpFrameTypes_t txFrameType, uint8_t txPort, uint32_t *nanoseconds, uint64_t *seconds)
Reads and provides timestamp of a transmitted event message.
timeSync_RuntimeVar_t::ltaSyncInterval
uint32_t ltaSyncInterval
Definition: icss_timeSyncApi.h:525
TimeSync_ParamsHandle::eventIdSync
uint32_t eventIdSync
Definition: icss_timeSyncApi.h:938
TimeSync_Config_t::process_TOD_and_sync_2_1PPS
uint8_t process_TOD_and_sync_2_1PPS
Definition: icss_timeSyncApi.h:418
TimeSync_master_params_t::clockVariance
uint16_t clockVariance
Definition: icss_timeSyncApi.h:301
icss_emac.h
syncParam_t::ifTwoStep
uint8_t ifTwoStep
Definition: icss_timeSyncApi.h:635
DEVICE_NET
@ DEVICE_NET
Definition: icss_timeSyncApi.h:167
timeSync_RuntimeVar_t::offsetStable
uint8_t offsetStable
Definition: icss_timeSyncApi.h:547
delayReqRespParams_t::timeStampSec
uint64_t timeStampSec
Definition: icss_timeSyncApi.h:739
TimeSync_getRxTimestamp
int32_t TimeSync_getRxTimestamp(TimeSync_ParamsHandle_t timeSyncParamsHandle, ptpFrameTypes_t rxFrameType, uint8_t rxPort, uint32_t *nanoseconds, uint64_t *seconds)
Reads and provides timestamp of a received event message.
TimeSync_ParamsHandle::enabled
uint8_t enabled
Definition: icss_timeSyncApi.h:851
TimeSync_Config_t::pdelayBurstInterval
uint32_t pdelayBurstInterval
Definition: icss_timeSyncApi.h:426
TimeSync_ParamsHandle::tsToDParams
timeSync_ToD_Param_t * tsToDParams
Definition: icss_timeSyncApi.h:993
TimeSync_Config_t::rxPhyLatency
uint32_t rxPhyLatency
Definition: icss_timeSyncApi.h:477
TaskP_Object
Opaque task object used with the task APIs.
Definition: TaskP.h:94
TimeSync_frame_buffers_t::announceBuf_size
uint8_t announceBuf_size
Definition: icss_timeSyncApi.h:345
TimeSync_ParamsHandle::rxFrameType
ptpFrameTypes_t rxFrameType
Definition: icss_timeSyncApi.h:862
peerDelayParams_t
Parameters required for calculating Cable Delay.
Definition: icss_timeSyncApi.h:754
HAND_SET
@ HAND_SET
Definition: icss_timeSyncApi.h:225
TimeSync_ParamsHandle::offsetAlgo
timeSync_Offset_Stable_Algo_t * offsetAlgo
Definition: icss_timeSyncApi.h:972
timeSync_ToD_Param_t::latch_Ts_NS
uint32_t latch_Ts_NS
Definition: icss_timeSyncApi.h:691
NON_SYNC_DELAY_FRAME
@ NON_SYNC_DELAY_FRAME
Definition: icss_timeSyncApi.h:205
timeSync_RuntimeVar_t::clockDrift
uint32_t clockDrift
Definition: icss_timeSyncApi.h:560
peerDelayParams_t::ifTwoStep
uint8_t ifTwoStep
Definition: icss_timeSyncApi.h:756
SLAVE
@ SLAVE
Definition: icss_timeSyncApi.h:151
TimeSync_ParamsHandle::timeSync_NRT_Task
TaskP_Object timeSync_NRT_Task
Definition: icss_timeSyncApi.h:904
ptpDparams_t::generalFrameFlag
uint8_t generalFrameFlag
Definition: icss_timeSyncApi.h:824
timeSync_RuntimeVar_t::tickCounter
uint64_t tickCounter
Definition: icss_timeSyncApi.h:573
UDP_IPV6
@ UDP_IPV6
Definition: icss_timeSyncApi.h:164
TimeSync_Config_t::logAnnounceSendInterval
int8_t logAnnounceSendInterval
Definition: icss_timeSyncApi.h:377
OC
@ OC
Definition: icss_timeSyncApi.h:183
TimeSync_master_params_t::timeSource
uint8_t timeSource
Definition: icss_timeSyncApi.h:297
TimeSync_ParamsHandle::timeSync_latchIsrObject
HwiP_Object timeSync_latchIsrObject
Definition: icss_timeSyncApi.h:967
peerDelayParams_t::T4Nsec
uint32_t T4Nsec
Definition: icss_timeSyncApi.h:780
timeSync_RuntimeVar_t::meanPathDelay
int64_t meanPathDelay
Definition: icss_timeSyncApi.h:557
TASK_STACK_SIZE
#define TASK_STACK_SIZE
Definition: icss_timeSyncApi.h:66
ipParams_t::ttlVal
uint8_t ttlVal
Definition: icss_timeSyncApi.h:814
TimeSync_Config_t::masterParams
TimeSync_master_params_t masterParams
Definition: icss_timeSyncApi.h:483
TimeSync_parent_params_t::observedClockPhaseChangeRate
int32_t observedClockPhaseChangeRate
Definition: icss_timeSyncApi.h:280
timeSync_RuntimeVar_t::syncLastSeenCounter
uint32_t syncLastSeenCounter
Definition: icss_timeSyncApi.h:576
timeSync_RuntimeVar_t::driftStable
uint8_t driftStable
Definition: icss_timeSyncApi.h:544
TimeSync_ParamsHandle::rxTimestamp_gPTP
timeStamp * rxTimestamp_gPTP
Definition: icss_timeSyncApi.h:865
delayReqRespParams_t::correctionField
uint64_t correctionField
Definition: icss_timeSyncApi.h:736
TimeSync_ParamsHandle::timeSync_TxTSTaskP2
TaskP_Object timeSync_TxTSTaskP2
Definition: icss_timeSyncApi.h:897
peerDelayParams_t::T4Sec
uint64_t T4Sec
Definition: icss_timeSyncApi.h:777
TimeSync_Config_t::latchIntNum
uint8_t latchIntNum
Definition: icss_timeSyncApi.h:414
TimeSync_ParamsHandle::__attribute__
uint32_t NRT_TaskStack[TASK_STACK_SIZE/sizeof(uint32_t)] __attribute__((aligned(32)))
ICSS_EMAC_MAXMTU
#define ICSS_EMAC_MAXMTU
Maximum Valid size (incl header + VLAN TAG..., no CRC)
Definition: icss_emac.h:176
timeSync_NrrInfo_t::nrrIndex
uint32_t nrrIndex
Definition: icss_timeSyncApi.h:725
TimeSync_adjTimeSlowComp
int8_t TimeSync_adjTimeSlowComp(TimeSync_ParamsHandle_t timeSyncParamsHandle, int32_t adjOffset)
Adjusts the IEP clock by the drift value over one Sync interval.
EventP_Object
Opaque Event object used with the Event APIs.
Definition: EventP.h:60
peerDelayParams_t::pDelayReqRcvdTSNsec
uint32_t pDelayReqRcvdTSNsec
Definition: icss_timeSyncApi.h:788
TimeSync_Config_t::pDelReqPktInterval
uint32_t pDelReqPktInterval
Definition: icss_timeSyncApi.h:384
TS_NUM_DOMAINS
#define TS_NUM_DOMAINS
Definition: icss_timeSyncApi.h:90
TimeSync_Config_t::sync0_interval
uint32_t sync0_interval
Definition: icss_timeSyncApi.h:437
syncParam_t::originTsNs
uint32_t originTsNs
Definition: icss_timeSyncApi.h:644
TimeSync_updateDomainNumberInPTPFrames
void TimeSync_updateDomainNumberInPTPFrames(TimeSync_ParamsHandle_t timeSyncHandle)
Update PTP domain number in TX Buffers.
TimeSync_Config_t::emac_mode
uint8_t emac_mode
Definition: icss_timeSyncApi.h:464
TimeSync_ParamsHandle::timeSync_syncTxTask
TaskP_Object timeSync_syncTxTask
Definition: icss_timeSyncApi.h:958
TimerP.h
GPS
@ GPS
Definition: icss_timeSyncApi.h:221
ipParams_t
Used to populate IP/UDP Parameters. These must be populated from Switch params.
Definition: icss_timeSyncApi.h:802
TimeSync_ParamsHandle::timeSyncBuff
TimeSync_frame_buffers_t timeSyncBuff
Definition: icss_timeSyncApi.h:987
ipParams_t::dscp
uint8_t dscp
Definition: icss_timeSyncApi.h:811
timeSync_RuntimeVar_t::stateMachine
uint8_t stateMachine
PTP State machine used internally by driver This is a bitmap Bit 0 : Set 1 if First adjustment done B...
Definition: icss_timeSyncApi.h:505
UNCALIBRATED
@ UNCALIBRATED
Definition: icss_timeSyncApi.h:150
deviceConfig
deviceConfig
Current Device configuration.
Definition: icss_timeSyncApi.h:178
TimeSync_master_params_t::UTCOffset
uint16_t UTCOffset
Definition: icss_timeSyncApi.h:303
HwiP.h
timeSync_RuntimeVar_t::enabled
uint8_t enabled
Definition: icss_timeSyncApi.h:493
syncParam_t::correctionField
uint64_t correctionField
Definition: icss_timeSyncApi.h:639
TimeSync_Config_t::logPDelReqPktInterval
int8_t logPDelReqPktInterval
Definition: icss_timeSyncApi.h:371
TimeSync_ParamsHandle::syncTxSemObject
SemaphoreP_Object syncTxSemObject
Definition: icss_timeSyncApi.h:962
peerDelayParams_t::T2Sec
uint64_t T2Sec
Definition: icss_timeSyncApi.h:765
TimeSync_txCallBack_t
void(* TimeSync_txCallBack_t)(uint32_t arg, uint32_t arg2)
Transmit callback function.
Definition: icss_timeSyncApi.h:252
TimeSync_ParamsHandle::drift
int32_t drift
Definition: icss_timeSyncApi.h:873
delayType
delayType
PTP Delay Mechanism Type. From Table 9 of Standard.
Definition: icss_timeSyncApi.h:192
TimeSync_master_params_t
Master and grand master clock params.
Definition: icss_timeSyncApi.h:287
TimeSync_ParamsHandle::delayReqTxSemObject
SemaphoreP_Object delayReqTxSemObject
Definition: icss_timeSyncApi.h:951
TimeSync_Config_t::timeSynctxCallBackfn
TimeSync_txCallBack_t timeSynctxCallBackfn
Definition: icss_timeSyncApi.h:365
ExtendedTimestamp::seconds
uint64_t seconds
Definition: icss_timeSyncApi.h:245
timeSync_SyntInfo_t::index
uint8_t index
Definition: icss_timeSyncApi.h:675
PTP
@ PTP
Definition: icss_timeSyncApi.h:223
TimeSync_master_params_t::priority2
uint8_t priority2
Definition: icss_timeSyncApi.h:291
TimeSync_ParamsHandle::__attribute__
uint32_t syncTxTaskStack[TASK_STACK_SIZE/sizeof(uint32_t)] __attribute__((aligned(32)))
ipParams_t::srcIP
uint32_t srcIP
Definition: icss_timeSyncApi.h:805
OFFSET_ALGO_BIN_SIZE
#define OFFSET_ALGO_BIN_SIZE
Definition: icss_timeSyncApi.h:129
peerDelayParams_t::T3Nsec
uint32_t T3Nsec
Definition: icss_timeSyncApi.h:774
TimeSync_ParamsHandle::latch_sync_SemObject
SemaphoreP_Object latch_sync_SemObject
Definition: icss_timeSyncApi.h:964
TimeSync_ParamsHandle::rxprotocol
uint8_t rxprotocol
Definition: icss_timeSyncApi.h:864
TimeSync_stackResetCallback_t
void(* TimeSync_stackResetCallback_t)(void *arg)
PTP Stack Reset callback function. Timesync handle (of type TimeSync_ParamsHandle_t) will be passed a...
Definition: icss_timeSyncApi.h:264
TimeSync_master_params_t::priority1
uint8_t priority1
Definition: icss_timeSyncApi.h:289
TimeSync_frame_buffers_t::flwUpBuf_size
uint8_t flwUpBuf_size
Definition: icss_timeSyncApi.h:344
TimeSync_Config_t::ptpDrvStackReset
TimeSync_stackResetCallback_t ptpDrvStackReset
Definition: icss_timeSyncApi.h:369
peerDelayParams_t::T1Nsec
uint32_t T1Nsec
Definition: icss_timeSyncApi.h:762
timeStamp::seconds
uint64_t seconds
Definition: icss_timeSyncApi.h:235
TimeSync_ParamsHandle::eventIdPdelayRespFlwUp
uint32_t eventIdPdelayRespFlwUp
Definition: icss_timeSyncApi.h:944
TimeSync_ParamsHandle::tsRunTimeVar
timeSync_RuntimeVar_t * tsRunTimeVar
Definition: icss_timeSyncApi.h:1002
FAULTY
@ FAULTY
Definition: icss_timeSyncApi.h:144
BOTH
@ BOTH
Definition: icss_timeSyncApi.h:185
timeSync_RuntimeVar_t::syncPortNum
uint8_t syncPortNum
Definition: icss_timeSyncApi.h:550
TimeSync_frame_buffers_t::syncBuf_size
uint8_t syncBuf_size
Definition: icss_timeSyncApi.h:343
TaskP.h
TimeSync_ParamsHandle::timeSync_backgroundTask
TaskP_Object timeSync_backgroundTask
Definition: icss_timeSyncApi.h:910
peerDelayParams_t::pDelayReqRcvdTSSec
uint64_t pDelayReqRcvdTSSec
Definition: icss_timeSyncApi.h:784
UNKNOWN
@ UNKNOWN
Definition: icss_timeSyncApi.h:170
TimeSync_Config_t::frame_offset
uint8_t frame_offset
Definition: icss_timeSyncApi.h:470
delayReqRespParams_t::delReqTxTsSec
uint32_t delReqTxTsSec
Definition: icss_timeSyncApi.h:744
timeSync_ToD_Param_t
Parameters required for doing Time of Day synchronization.
Definition: icss_timeSyncApi.h:689
TimeSync_ParamsHandle::timeSync_delayReqSendTask
TaskP_Object timeSync_delayReqSendTask
Definition: icss_timeSyncApi.h:890
TimeSync_frame_buffers_t::sync_TxBuf
uint8_t * sync_TxBuf
Definition: icss_timeSyncApi.h:334
timeSync_Offset_Stable_Algo_t::binFull
uint8_t binFull
Definition: icss_timeSyncApi.h:620
timeSync_RuntimeVar_t::syncTimeoutInterval
uint32_t syncTimeoutInterval
Definition: icss_timeSyncApi.h:580
TimeSync_ParamsHandle::timeSync_latchSyncTask
TaskP_Object timeSync_latchSyncTask
Definition: icss_timeSyncApi.h:915
TimeSync_ParamsHandle::timeSync_syncTxTimerHandle
uint32_t timeSync_syncTxTimerHandle
Definition: icss_timeSyncApi.h:956
TimeSync_ParamsHandle::sequenceIdOut_rxTS
uint8_t sequenceIdOut_rxTS
Definition: icss_timeSyncApi.h:866
timeSync_RuntimeVar_t::masterParams
TimeSync_master_params_t masterParams
Definition: icss_timeSyncApi.h:589
TimeSync_ParamsHandle::__attribute__
uint32_t latchSyncTaskStack[TASK_STACK_SIZE/sizeof(uint32_t)] __attribute__((aligned(32)))
timeSync_Offset_Stable_Algo_t
Variables used for offset stabilization algorithm.
Definition: icss_timeSyncApi.h:601
timeSync_RuntimeVar_t
Runtime variables for Time Sync implementation.
Definition: icss_timeSyncApi.h:491
syncParam_t::rxTs
uint32_t rxTs
Definition: icss_timeSyncApi.h:647
HwiP_Object
Opaque Hwi object used with the Hwi APIs.
Definition: HwiP.h:91
IEEE_802_3
@ IEEE_802_3
Definition: icss_timeSyncApi.h:166
TimeSync_Config_t::announceRcptTimeoutInterval
uint32_t announceRcptTimeoutInterval
Definition: icss_timeSyncApi.h:396
P2P
@ P2P
Definition: icss_timeSyncApi.h:196
ptpDparams_t::ptpGeneralSize
uint16_t ptpGeneralSize
Definition: icss_timeSyncApi.h:828
timeSync_ToD_Param_t::latch_Ts_Sec
uint64_t latch_Ts_Sec
Definition: icss_timeSyncApi.h:694
timeSync_NrrInfo_t
Parameters required for calculating Nighbor Rate Ratio.
Definition: icss_timeSyncApi.h:708
delayReqRespParams_t::timeStampNS
uint32_t timeStampNS
Definition: icss_timeSyncApi.h:741
DELAY_RESP_FRAME
@ DELAY_RESP_FRAME
Definition: icss_timeSyncApi.h:211
TimeSync_Config_t::pdelayBurstNumPkts
uint8_t pdelayBurstNumPkts
Definition: icss_timeSyncApi.h:429
timeSync_SyntInfo_t::syntIndex
uint32_t syntIndex
Definition: icss_timeSyncApi.h:681
syncParam_t::txTs
uint32_t txTs
Definition: icss_timeSyncApi.h:653
TimeSync_ParamsHandle::__attribute__
uint32_t txTSTaskP1Stack[TASK_STACK_SIZE/sizeof(uint32_t)] __attribute__((aligned(32)))
peerDelayParams_t::T2Nsec
uint32_t T2Nsec
Definition: icss_timeSyncApi.h:768
CONTROL_NET
@ CONTROL_NET
Definition: icss_timeSyncApi.h:168
TimeSync_ParamsHandle::syncInterval
uint32_t syncInterval
Definition: icss_timeSyncApi.h:874
TimeSync_Config_t::ll_has_hsrTag
uint8_t ll_has_hsrTag
Definition: icss_timeSyncApi.h:449
SemaphoreP_Object
Opaque semaphore object used with the semaphore APIs.
Definition: SemaphoreP.h:59
timeSync_RuntimeVar_t::ltaOffset
int32_t ltaOffset
Definition: icss_timeSyncApi.h:563
TimeSync_Config_t::syncOut_sync0Start
uint32_t syncOut_sync0Start
Definition: icss_timeSyncApi.h:361
timeSync_NrrInfo_t::curIndex
uint8_t curIndex
Definition: icss_timeSyncApi.h:719
TimeSync_master_params_t::clockAccuracy
uint8_t clockAccuracy
Definition: icss_timeSyncApi.h:295
TimeSync_Config_t
Time synchronization configuration structure.
Definition: icss_timeSyncApi.h:353
TimeSync_ParamsHandle::txprotocol
uint8_t txprotocol
Definition: icss_timeSyncApi.h:857
TimeSync_ParamsHandle::pruicssHandle
PRUICSS_Handle pruicssHandle
Definition: icss_timeSyncApi.h:848
TimeSync_ParamsHandle
Time synchronization parameter handle structure.
Definition: icss_timeSyncApi.h:840
TimeSync_ParamsHandle::clockTime
timeStamp clockTime
Definition: icss_timeSyncApi.h:869
TimeSync_ParamsHandle::__attribute__
uint32_t txTSTaskP2Stack[TASK_STACK_SIZE/sizeof(uint32_t)] __attribute__((aligned(32)))
syncParam_t::txTsSec
uint64_t txTsSec
Definition: icss_timeSyncApi.h:656
TimeSync_Config_t::txIntNum
uint32_t txIntNum
Definition: icss_timeSyncApi.h:411
TimeSync_Config_t::syncOut_sync0PWidth
uint32_t syncOut_sync0PWidth
Definition: icss_timeSyncApi.h:363
TimeSync_ParamsHandle::stackParams
ptpDparams_t stackParams
Definition: icss_timeSyncApi.h:877
PROFINET
@ PROFINET
Definition: icss_timeSyncApi.h:169
syncParam_t
Parameters required for calculating Cable Delay.
Definition: icss_timeSyncApi.h:633
TimeSync_ParamsHandle::delayParams
delayReqRespParams_t * delayParams
Definition: icss_timeSyncApi.h:981
TimeSync_parent_params_t::ptpPortNumber
uint16_t ptpPortNumber
Definition: icss_timeSyncApi.h:274
TimeSync_Config_t::timeSyncSyncLossCallBackfn
TimeSync_SyncLossCallBack_t timeSyncSyncLossCallBackfn
Definition: icss_timeSyncApi.h:367
TimeSync_Config_t::logAnnounceRcptTimeoutInterval
int8_t logAnnounceRcptTimeoutInterval
Definition: icss_timeSyncApi.h:380
timeSync_RuntimeVar_t::avgCorrectionField
uint32_t avgCorrectionField
Definition: icss_timeSyncApi.h:569
timeSync_ToD_Param_t::ToD_Ts_NS
uint32_t ToD_Ts_NS
Definition: icss_timeSyncApi.h:697
TimeSync_Config_t::custom_tx_api
uint8_t custom_tx_api
Definition: icss_timeSyncApi.h:453
TimeSync_SyncLossCallBack_t
void(* TimeSync_SyncLossCallBack_t)(void)
Sync loss callback function. Call cross module functions in case of loss of synchronization.
Definition: icss_timeSyncApi.h:258
TimeSync_setClockTime
int32_t TimeSync_setClockTime(TimeSync_ParamsHandle_t timeSyncParamsHandle)
Configures the driver memory.
ATOMIC_CLOCK
@ ATOMIC_CLOCK
Definition: icss_timeSyncApi.h:220
syncParam_t::rxTsSec
uint64_t rxTsSec
Definition: icss_timeSyncApi.h:650
TimeSync_ParamsHandle::timeSync_TxTSTaskP1
TaskP_Object timeSync_TxTSTaskP1
Definition: icss_timeSyncApi.h:895
SYNC_FRAME
@ SYNC_FRAME
Definition: icss_timeSyncApi.h:207
TimeSync_parent_params_t::observedOffsetScaledLogVariance
uint16_t observedOffsetScaledLogVariance
Definition: icss_timeSyncApi.h:278
TimeSync_ParamsHandle_t
struct TimeSync_ParamsHandle_s * TimeSync_ParamsHandle_t
Definition: icss_timeSyncApi.h:1016
LISTENING
@ LISTENING
Definition: icss_timeSyncApi.h:146
timeSync_RuntimeVar_t::parentParams
TimeSync_parent_params_t parentParams
Definition: icss_timeSyncApi.h:592
TimeSync_Config_t::announceSendInterval
uint32_t announceSendInterval
Definition: icss_timeSyncApi.h:392
timeSync_Offset_Stable_Algo_t::driftThreshold
uint8_t driftThreshold
Definition: icss_timeSyncApi.h:612
timeSync_RuntimeVar_t::syncSequenceID
uint16_t syncSequenceID
Definition: icss_timeSyncApi.h:514
timeStamp::nanoseconds
uint32_t nanoseconds
Definition: icss_timeSyncApi.h:236
DELAY_REQ_FRAME
@ DELAY_REQ_FRAME
Definition: icss_timeSyncApi.h:209
TimeSync_frame_buffers_t::announce_TxBuf
uint8_t * announce_TxBuf
Definition: icss_timeSyncApi.h:335
timeSync_RuntimeVar_t::bmcaDone
uint8_t bmcaDone
Definition: icss_timeSyncApi.h:586
peerDelayParams_t::delayResCorrField
uint64_t delayResCorrField
Definition: icss_timeSyncApi.h:791
ipParams_t::dstIP
uint32_t dstIP
Definition: icss_timeSyncApi.h:808
PRUICSS_Handle
struct PRUICSS_Config_s * PRUICSS_Handle
A handle that is returned from a PRUICSS_open() call. This handle is required for calling other APIs.
Definition: pruicss/g_v0/pruicss.h:234
TimeSync_ParamsHandle::timeSync_txTSIsrObject
HwiP_Object timeSync_txTSIsrObject
Definition: icss_timeSyncApi.h:966
TimeSync_ParamsHandle::rxPort
uint8_t rxPort
Definition: icss_timeSyncApi.h:863
timeSync_NrrInfo_t::nrrEnable
uint8_t nrrEnable
Definition: icss_timeSyncApi.h:722
TimeSync_Config_t::protocol
netWorkProtType protocol
Definition: icss_timeSyncApi.h:402
TimeSync_updateDscpValueInDelayRequestFrame
void TimeSync_updateDscpValueInDelayRequestFrame(TimeSync_ParamsHandle_t timeSyncHandle, uint8_t dscpValue)
Update DSCP value in IP header in PTP Delay Request buffer.
timeSync_Offset_Stable_Algo_t::num_entries_index
uint8_t num_entries_index
Definition: icss_timeSyncApi.h:615
TimeSync_Config_t::timestamp_from_shared_ram
uint8_t timestamp_from_shared_ram
Definition: icss_timeSyncApi.h:459
TimeSync_master_params_t::clockClass
uint8_t clockClass
Definition: icss_timeSyncApi.h:293
ICSS_EMAC_MAX_PORTS_PER_INSTANCE
#define ICSS_EMAC_MAX_PORTS_PER_INSTANCE
Maximum number of Ports in a single ICSS
Definition: icss_emac.h:66
timeSync_RuntimeVar_t::ltaOffsetValid
int32_t ltaOffsetValid
Definition: icss_timeSyncApi.h:566
timeSync_Offset_Stable_Algo_t::lastSeen_good_drift_index
uint8_t lastSeen_good_drift_index
Definition: icss_timeSyncApi.h:607
TERRESTRIAL_RADIO
@ TERRESTRIAL_RADIO
Definition: icss_timeSyncApi.h:222
EventP.h
ptpFrameTypes_t
ptpFrameTypes_t
PTP Delay Mechanism Type. From Table 9 of Standard.
Definition: icss_timeSyncApi.h:203