feat(wifi): support to configure wifi modem sleep parameters

This commit is contained in:
liuning
2024-12-10 18:04:18 +08:00
parent 03c229e949
commit 2a0791b223
2 changed files with 10 additions and 2 deletions

View File

@@ -613,6 +613,11 @@ esp_err_t esp_wifi_internal_set_spp_amsdu(wifi_interface_t ifidx, bool spp_cap,
*/
void esp_wifi_internal_update_light_sleep_default_params(int min_freq_mhz, int max_freq_mhz);
/**
* @brief Update WIFI modem sleep default parameters
*/
void esp_wifi_internal_update_modem_sleep_default_params(void);
/**
* @brief Set the min active time for wifi to enter the sleep state when light sleep
*

View File

@@ -330,13 +330,16 @@ esp_err_t esp_wifi_init(const wifi_init_config_t *config)
}
#endif
#if CONFIG_PM_ENABLE && CONFIG_ESP_WIFI_SLP_IRAM_OPT
#if CONFIG_ESP_WIFI_SLP_IRAM_OPT
#if CONFIG_PM_ENABLE
int min_freq_mhz = esp_pm_impl_get_cpu_freq(PM_MODE_LIGHT_SLEEP);
int max_freq_mhz = esp_pm_impl_get_cpu_freq(PM_MODE_CPU_MAX);
esp_wifi_internal_update_light_sleep_default_params(min_freq_mhz, max_freq_mhz);
esp_pm_register_light_sleep_default_params_config_callback(esp_wifi_internal_update_light_sleep_default_params);
#else
esp_wifi_internal_update_modem_sleep_default_params();
#endif
#endif
uint32_t min_active_time_us = CONFIG_ESP_WIFI_SLP_DEFAULT_MIN_ACTIVE_TIME * 1000;