Fork of the espurna firmware for `mhsw` switches
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

50 lines
817 B

/*
NTP MODULE
Copyright (C) 2016-2019 by Xose Pérez <xose dot perez at gmail dot com>
Copyright (C) 2019-2021 by Maxim Prokhorov <prokhorov dot max at outlook dot com>
*/
#pragma once
#include "espurna.h"
#include "broker.h"
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;
};
struct NtpInfo {
String local;
String utc;
String sync;
String tz;
time_t now;
};
BrokerDeclare(NtpBroker, void(NtpTick, time_t, const String&));
NtpInfo ntpInfo();
#if NTP_LEGACY_SUPPORT
time_t ntpLocal2UTC(time_t local);
#endif
String ntpDateTime(tm* timestruct);
String ntpDateTime(time_t ts);
String ntpDateTime();
bool ntpSynced();
void ntpSetup();