LoRa_APRS_iGate/src/TaskNTP.cpp

36 wiersze
824 B
C++
Czysty Zwykły widok Historia

#include <logger.h>
2023-09-23 13:37:35 +00:00
#include "TimeLib/TimeLib.h"
2021-05-18 23:17:23 +00:00
2021-01-04 22:10:23 +00:00
#include "Task.h"
#include "TaskNTP.h"
#include "project_configuration.h"
NTPTask::NTPTask() : Task(TASK_NTP, TaskNtp), _beginCalled(false) {
}
NTPTask::~NTPTask() {
}
2021-05-18 22:44:37 +00:00
bool NTPTask::setup(System &system) {
2021-05-18 23:08:37 +00:00
_ntpClient.setPoolServerName(system.getUserConfig()->ntpServer.c_str());
return true;
}
2021-05-18 22:44:37 +00:00
bool NTPTask::loop(System &system) {
if (!system.isWifiOrEthConnected()) {
return false;
}
if (!_beginCalled) {
2021-05-18 23:08:37 +00:00
_ntpClient.begin();
_beginCalled = true;
}
2021-05-18 23:08:37 +00:00
if (_ntpClient.update()) {
setTime(_ntpClient.getEpochTime());
2022-03-20 09:56:06 +00:00
system.getLogger().log(logging::LoggerLevel::LOGGER_LEVEL_INFO, getName(), "Current time: %s", _ntpClient.getFormattedTime().c_str());
}
2021-05-18 23:08:37 +00:00
_stateInfo = _ntpClient.getFormattedTime();
_state = Okay;
return true;
}