Use ntp time sync at end of wifi activities

This commit is contained in:
jpirnay
2026-03-26 21:55:28 +01:00
parent 7f9456e8c6
commit 92877f9c36
9 changed files with 37 additions and 62 deletions
@@ -6,7 +6,6 @@
#include <I18n.h>
#include <Logging.h>
#include <WiFi.h>
#include <esp_sntp.h>
#include <string>
@@ -188,15 +187,6 @@ bool detectTimezoneSetting(uint8_t& outSetting, std::string& outIana, bool& outD
return true;
}
void wifiOff() {
if (esp_sntp_enabled()) {
esp_sntp_stop();
}
WiFi.disconnect(false);
delay(100);
WiFi.mode(WIFI_OFF);
delay(100);
}
} // namespace
void DetectTimezoneActivity::onEnter() {
@@ -219,7 +209,7 @@ void DetectTimezoneActivity::onEnter() {
void DetectTimezoneActivity::onExit() {
Activity::onExit();
wifiOff();
HalClock::wifiOff();
}
void DetectTimezoneActivity::onWifiSelectionComplete(bool success) {
@@ -254,7 +244,7 @@ void DetectTimezoneActivity::performDetect() {
state = FAILED;
}
wifiOff();
HalClock::wifiOff();
requestUpdate();
}
@@ -1,6 +1,7 @@
#include "KOReaderAuthActivity.h"
#include <GfxRenderer.h>
#include <HalClock.h>
#include <I18n.h>
#include <WiFi.h>
@@ -65,11 +66,7 @@ void KOReaderAuthActivity::onEnter() {
void KOReaderAuthActivity::onExit() {
Activity::onExit();
// Turn off wifi
WiFi.disconnect(false);
delay(100);
WiFi.mode(WIFI_OFF);
delay(100);
HalClock::wifiOff();
}
void KOReaderAuthActivity::render(RenderLock&&) {
@@ -1,6 +1,7 @@
#include "OtaUpdateActivity.h"
#include <GfxRenderer.h>
#include <HalClock.h>
#include <I18n.h>
#include <WiFi.h>
@@ -66,11 +67,7 @@ void OtaUpdateActivity::onEnter() {
void OtaUpdateActivity::onExit() {
Activity::onExit();
// Turn off wifi
WiFi.disconnect(false); // false = don't erase credentials, send disconnect frame
delay(100); // Allow disconnect frame to be sent
WiFi.mode(WIFI_OFF);
delay(100); // Allow WiFi hardware to fully power down
HalClock::wifiOff();
}
void OtaUpdateActivity::render(RenderLock&&) {
+2 -15
View File
@@ -5,7 +5,6 @@
#include <I18n.h>
#include <Logging.h>
#include <WiFi.h>
#include <esp_sntp.h>
#include "CrossPointSettings.h"
#include "MappedInputManager.h"
@@ -13,18 +12,6 @@
#include "components/UITheme.h"
#include "fontIds.h"
namespace {
void wifiOff() {
if (esp_sntp_enabled()) {
esp_sntp_stop();
}
WiFi.disconnect(false);
delay(100);
WiFi.mode(WIFI_OFF);
delay(100);
}
} // namespace
void SyncTimeActivity::onEnter() {
Activity::onEnter();
@@ -45,7 +32,7 @@ void SyncTimeActivity::onEnter() {
void SyncTimeActivity::onExit() {
Activity::onExit();
wifiOff();
HalClock::wifiOff(true);
}
void SyncTimeActivity::onWifiSelectionComplete(bool success) {
@@ -68,7 +55,7 @@ void SyncTimeActivity::onWifiSelectionCancelled() { finish(); }
void SyncTimeActivity::performSync() {
bool ok = HalClock::syncNtp();
wifiOff();
HalClock::wifiOff(true);
state = ok ? SUCCESS : FAILED;
requestUpdate();