Skip to content

Commit 2af7fa0

Browse files
committed
Reduced time drift from 60s/day to 7s/day for ESP32-based repeaters with power saving.
1 parent c88813a commit 2af7fa0

2 files changed

Lines changed: 2 additions & 14 deletions

File tree

examples/simple_repeater/main.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -152,10 +152,10 @@ void loop() {
152152

153153
if (the_mesh.getNodePrefs()->powersaving_enabled && !the_mesh.hasPendingWork()) {
154154
#if defined(NRF52_PLATFORM)
155-
board.sleep(1800); // nrf ignores seconds param, sleeps whenever possible
155+
board.sleep(0); // nrf ignores seconds param, sleeps whenever possible
156156
#else
157157
if (the_mesh.millisHasNowPassed(POWERSAVING_FIRSTSLEEP_SECS * 1000)) { // To check if it is time to sleep
158-
board.sleep(1800); // Sleep. Wake up after 30 minutes or when receiving a LoRa packet
158+
board.sleep(30); // Sleep. Wake up after a while or when receiving a LoRa packet
159159
}
160160
#endif
161161
}

src/helpers/ESP32Board.h

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -69,18 +69,6 @@ class ESP32Board : public mesh::MainBoard {
6969
return;
7070
}
7171

72-
// Use more accurate clock in sleep
73-
#if SOC_RTC_SLOW_CLK_SUPPORT_RC_FAST_D256
74-
if (rtc_clk_slow_src_get() != SOC_RTC_SLOW_CLK_SRC_RC_FAST) {
75-
76-
// Switch slow clock source to RC_FAST / 256 (~31.25 kHz)
77-
rtc_clk_slow_src_set(SOC_RTC_SLOW_CLK_SRC_RC_FAST);
78-
79-
// Calibrate slow clock
80-
esp_clk_slow_boot_cal(1024);
81-
}
82-
#endif
83-
8472
// Set GPIO wakeup
8573
gpio_num_t wakeupPin = (gpio_num_t)getIRQGpio();
8674

0 commit comments

Comments
 (0)