Skip to content

Commit f6ef536

Browse files
committed
examples/power_save: enable modem sleep and DFS by default
1 parent 062be56 commit f6ef536

File tree

3 files changed

+20
-1
lines changed

3 files changed

+20
-1
lines changed

examples/wifi/power_save/main/Kconfig.projbuild

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ config WIFI_PASSWORD
1414

1515
choice POWER_SAVE_MODE
1616
prompt "power save mode"
17-
default POWER_SAVE_NONE
17+
default POWER_SAVE_MODEM
1818
help
1919
Power save mode for the esp32 to use.
2020

examples/wifi/power_save/main/power_save.c

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
#include "esp_wifi.h"
1818
#include "esp_log.h"
1919
#include "esp_event_loop.h"
20+
#include "esp_pm.h"
2021
#include "nvs_flash.h"
2122

2223
/*set the ssid and password via "make menuconfig"*/
@@ -89,5 +90,17 @@ void app_main()
8990
}
9091
ESP_ERROR_CHECK( ret );
9192

93+
#if CONFIG_PM_ENABLE
94+
// Configure dynamic frequency scaling: maximum frequency is set in sdkconfig,
95+
// minimum frequency is XTAL.
96+
rtc_cpu_freq_t max_freq;
97+
rtc_clk_cpu_freq_from_mhz(CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ, &max_freq);
98+
esp_pm_config_esp32_t pm_config = {
99+
.max_cpu_freq = max_freq,
100+
.min_cpu_freq = RTC_CPU_FREQ_XTAL
101+
};
102+
ESP_ERROR_CHECK( esp_pm_configure(&pm_config) );
103+
#endif // CONFIG_PM_ENABLE
104+
92105
wifi_power_save();
93106
}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# Use lower CPU frequency
2+
CONFIG_ESP32_DEFAULT_CPU_FREQ_80=y
3+
# Enable support for power management
4+
CONFIG_PM_ENABLE=y
5+
# Use RTC timer as reference
6+
CONFIG_PM_USE_RTC_TIMER_REF=y

0 commit comments

Comments
 (0)