- /*
-
- NTP MODULE
-
- */
-
- #pragma once
-
- #include "broker.h"
-
- // TODO: need this prototype for .ino
- struct NtpCalendarWeekday;
-
- #if NTP_SUPPORT
-
- #if NTP_LEGACY_SUPPORT // Use legacy TimeLib and NtpClientLib
-
- #include <TimeLib.h>
- #include "libs/NtpClientWrap.h"
-
- #else // POSIX time functions + configTime(...)
-
- #include <lwip/apps/sntp.h>
- #include <TZ.h>
- #include "ntp_timelib.h"
-
- #endif
-
- // --- rest of the module is ESPurna functions
-
- enum class NtpTick {
- EveryMinute,
- EveryHour
- };
-
- struct NtpCalendarWeekday {
- int local_wday;
- int local_hour;
- int local_minute;
- int utc_wday;
- int utc_hour;
- int utc_minute;
- };
-
- using NtpBroker = TBroker<TBrokerType::Datetime, const NtpTick, time_t, const String&>;
-
- String ntpDateTime(time_t ts);
- String ntpDateTime();
-
- void ntpSetup();
-
- #endif // NTP_SUPPORT
|