12const uint32_t target_sec_count =1000000000u;
13const uint32_t max_valid_interval=1000200000u;
14const uint32_t min_valid_interval= 999899999u;
31 volatile uint32_t PPSCaptures[256];
32 volatile uint32_t PPSTimeTick[256];
33 volatile uint32_t PPSNTPTime[256];
34 volatile uint32_t PPSNTPSetCap[256];
35 volatile uint32_t PPSNTPSetTT[256];
36 volatile uint32_t PPSLoop;
75 void markValidTime(uint32_t tt, uint32_t cap_1588, uint32_t ntpTime);
107 uint32_t
getPPSCapture(uint32_t index)
const {
return PPSCaptures[index&0xFF]; }
108 uint32_t getPPSTimeTick(uint32_t index)
const {
return PPSTimeTick[index&0xFF]; }
109 uint32_t getPPSNTPTime(uint32_t index)
const {
return PPSNTPTime[index&0xFF]; }
110 uint32_t getPPSNTPSetCap(uint32_t index)
const {
return PPSNTPSetCap[index&0xFF]; }
111 uint32_t getPPSNTPSetTT(uint32_t index)
const {
return PPSNTPSetTT[index&0xFF]; }
127 static inline uint32_t ring_diff_min(uint32_t a, uint32_t b)
131 return (d1 < d2) ? d1 : d2;
Definition IEEE1588Timer.h:28
uint32_t getCurrentTime(EthernetVars &ev)
Definition IEEE1588Timer.cpp:72
void updateConsecutiveSeconds(uint32_t currentTimeTick)
Definition IEEE1588Timer.cpp:139
uint32_t getPPSLoop() const
Definition IEEE1588Timer.h:100
void resetConsecutiveSeconds()
Definition IEEE1588Timer.h:94
volatile uint32_t ConsecutiveSecs
Count of consecutive valid GPS seconds.
Definition IEEE1588Timer.h:43
volatile uint32_t LastValidTime
Last OS tick when GPS time was valid.
Definition IEEE1588Timer.h:44
static uint32_t ring_diff_forward(uint32_t a, uint32_t b)
Definition IEEE1588Timer.h:122
bool init()
Definition IEEE1588Timer.cpp:35
static void PPS_1588_TimeCapIsr()
Definition IEEE1588Timer.cpp:167
uint32_t getConsecutiveValidSeconds() const
Definition IEEE1588Timer.h:81
void markValidTime(uint32_t tt, uint32_t cap_1588, uint32_t ntpTime)
Definition IEEE1588Timer.cpp:110
uint32_t getPPSCapture(uint32_t index) const
Definition IEEE1588Timer.h:107
void enablePPSCapture()
Definition IEEE1588Timer.cpp:99