13const uint32_t target_sec_count =1000000000u;
14const uint32_t max_valid_interval=1000200000u;
15const uint32_t min_valid_interval= 999899999u;
18const uint32_t UNIX_NTP_OFFSET = 2208988800u;
35 volatile uint32_t PPSCaptures[256];
36 volatile uint32_t PPSTimeTick[256];
37 volatile uint32_t PPSNTPTime[256];
38 volatile uint32_t PPSNTPSetCap[256];
39 volatile uint32_t PPSNTPSetTT[256];
40 volatile uint32_t PPSLoop;
79 void markValidTime(uint32_t tt, uint32_t cap_1588, uint32_t ntpTime);
111 uint32_t
getPPSCapture(uint32_t index)
const {
return PPSCaptures[index&0xFF]; }
112 uint32_t getPPSTimeTick(uint32_t index)
const {
return PPSTimeTick[index&0xFF]; }
113 uint32_t getPPSNTPTime(uint32_t index)
const {
return PPSNTPTime[index&0xFF]; }
114 uint32_t getPPSNTPSetCap(uint32_t index)
const {
return PPSNTPSetCap[index&0xFF]; }
115 uint32_t getPPSNTPSetTT(uint32_t index)
const {
return PPSNTPSetTT[index&0xFF]; }
157 static inline uint32_t ring_diff_min(uint32_t a, uint32_t b)
161 return (d1 < d2) ? d1 : d2;
Definition IEEE1588Timer.h:32
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:104
void resetConsecutiveSeconds()
Definition IEEE1588Timer.h:98
volatile uint32_t ConsecutiveSecs
Count of consecutive valid GPS seconds.
Definition IEEE1588Timer.h:47
volatile uint32_t LastValidTime
Last OS tick when GPS time was valid.
Definition IEEE1588Timer.h:48
bool getGPSTimeWithMillis(EthernetVars &ev, time_t &unixSecs, uint32_t &millis)
Definition IEEE1588Timer.cpp:219
static uint32_t ring_diff_forward(uint32_t a, uint32_t b)
Definition IEEE1588Timer.h:152
time_t getGPSUnixTime() const
Definition IEEE1588Timer.cpp:194
bool init()
Definition IEEE1588Timer.cpp:35
static void PPS_1588_TimeCapIsr()
Definition IEEE1588Timer.cpp:254
uint32_t getConsecutiveValidSeconds() const
Definition IEEE1588Timer.h:85
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:111
bool hasValidGPSTime() const
Definition IEEE1588Timer.cpp:166
void enablePPSCapture()
Definition IEEE1588Timer.cpp:99