From 497c0b7a477ceb84ad80050f58c2634c9fac7ec6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20G=C3=B6ttgens?= Date: Wed, 26 Oct 2022 17:38:53 +0200 Subject: [PATCH] don't rush failed time updates --- src/mesh/eth/ethClient.cpp | 32 ++++++++++---------------------- 1 file changed, 10 insertions(+), 22 deletions(-) diff --git a/src/mesh/eth/ethClient.cpp b/src/mesh/eth/ethClient.cpp index 1bd8ea96e..935793b36 100644 --- a/src/mesh/eth/ethClient.cpp +++ b/src/mesh/eth/ethClient.cpp @@ -4,6 +4,7 @@ #include "concurrency/Periodic.h" #include #include +#include #include "target_specific.h" #include "mesh/eth/ethServerAPI.h" #include "mqtt/MQTT.h" @@ -13,15 +14,10 @@ // NTP EthernetUDP ntpUDP; - NTPClient timeClient(ntpUDP, config.network.ntp_server); - uint32_t ntp_renew = 0; #endif -// Stores our hostname -char ourHost[16]; - bool ethStartupComplete = 0; using namespace concurrency; @@ -36,22 +32,11 @@ static int32_t reconnectETH() // Start web server DEBUG_MSG("... Starting network services\n"); - // // start mdns - // if (!MDNS.begin("Meshtastic")) { - // DEBUG_MSG("Error setting up MDNS responder!\n"); - // } else { - // DEBUG_MSG("mDNS responder started\n"); - // DEBUG_MSG("mDNS Host: Meshtastic.local\n"); - // MDNS.addService("http", "tcp", 80); - // MDNS.addService("https", "tcp", 443); - // } - - #ifndef DISABLE_NTP +#ifndef DISABLE_NTP DEBUG_MSG("Starting NTP time client\n"); timeClient.begin(); timeClient.setUpdateInterval(60 * 60); // Update once an hour - #endif - +#endif // initWebServer(); initApiServer(); @@ -66,7 +51,8 @@ static int32_t reconnectETH() #ifndef DISABLE_NTP if (isEthernetAvailable() && (ntp_renew < millis())) { - DEBUG_MSG("Updating NTP time\n"); + + DEBUG_MSG("Updating NTP time from %s\n", config.network.ntp_server); if (timeClient.update()) { DEBUG_MSG("NTP Request Success - Setting RTCQualityNTP if needed\n"); @@ -76,10 +62,11 @@ static int32_t reconnectETH() perhapsSetRTC(RTCQualityNTP, &tv); - ntp_renew = millis() + 43200 * 1000; // every 12 hours + ntp_renew = millis() + 43200 * 1000; // success, refresh every 12 hours } else { DEBUG_MSG("NTP Update failed\n"); + ntp_renew = millis() + 300 * 1000; // failure, retry every 5 minutes } } #endif @@ -91,8 +78,8 @@ static int32_t reconnectETH() bool initEthernet() { - // config.network.eth_enabled = true; - // config.network.eth_mode = Config_NetworkConfig_EthMode_DHCP; + config.network.eth_enabled = true; + config.network.eth_mode = Config_NetworkConfig_EthMode_DHCP; if (config.network.eth_enabled) { @@ -112,6 +99,7 @@ bool initEthernet() // createSSLCert(); getMacAddr(mac); // FIXME use the BLE MAC for now... + sprintf(ourHost, "Meshtastic-%02x%02x", mac[4], mac[5]); if (config.network.eth_mode == Config_NetworkConfig_EthMode_DHCP) { DEBUG_MSG("starting Ethernet DHCP\n");