Skip to content
Snippets Groups Projects
Commit a63a460d authored by fxk8y's avatar fxk8y :spider:
Browse files

Completing SNTP module

parent f6be5e2a
No related branches found
No related tags found
No related merge requests found
......@@ -10,6 +10,7 @@
// C++ system level
#include <ctime>
#include <cstring>
#include <functional>
#include <cinttypes>
......@@ -30,27 +31,27 @@ static void ntpTask(void* evHdl) {
std::function<void()>* syncEventHandler = (std::function<void()>*) evHdl;
time_t now = 0;
struct tm timeinfo = { 0 };
struct tm timeinfo;
memset(&timeinfo, 0, sizeof(tm));
do {
vTaskDelay(100 / portTICK_PERIOD_MS);
time(&now);
localtime_r(&now, &timeinfo);
} while (timeinfo.tm_year < 2000);
} while (timeinfo.tm_year < 100);
(*syncEventHandler)();
ESP_LOGI(TAG, "Time synchronized: %02d:%02d:%02d %d-%02d-%02d", timeinfo.tm_hour, timeinfo.tm_min, timeinfo.tm_sec,
timeinfo.tm_year + 1900, timeinfo.tm_mon + 1, timeinfo.tm_mday);
ESP_LOGI(TAG, "Time sync complete: ");
(*syncEventHandler)();
vTaskDelete(NULL);
}
namespace SpiderLib {
SNTP::SNTP() {
......@@ -59,7 +60,7 @@ namespace SpiderLib {
sntp_setservername(0, "pool.ntp.org"); // TODO: make configurable!
sntp_init();
setenv("TZ", "CET-1CEST,M3.5.0,M10.5.0/3", 1);
setenv("TZ", "CET-1CEST,M3.5.0,M10.5.0/3", 1); // germany
tzset();
xTaskCreate(ntpTask, TAG, 8192, (void*)&syncEventHandler, 0, NULL);
......@@ -78,7 +79,14 @@ namespace SpiderLib {
}
bool SNTP::inSync() {
return false;
time_t now = 0;
struct tm timeinfo;
memset(&timeinfo, 0, sizeof(tm));
time(&now);
localtime_r(&now, &timeinfo);
return timeinfo.tm_year > 100;
}
......
......@@ -25,12 +25,13 @@ CyanLight::CyanLightControl* ctrl;
void device_main() {
//SpiderLib::SNTP& ntp = SpiderLib::SNTP::instance();
SpiderLib::SNTP& ntp = SpiderLib::SNTP::instance();
// ntp.registerTimeSyncHandler([](){
// ESP_LOGE("EVENT…", "…HANDLER()!");
// });
ntp.registerTimeSyncHandler([](){
ESP_LOGE("EVENT…", "…HANDLER()!");
});
qthing::enable_wifi();
cfg.apply();
return;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment