@@ -137,10 +137,44 @@ void common_hal_wifi_radio_set_tx_power(wifi_radio_obj_t *self, const mp_float_t
137137 // esp_wifi_set_max_tx_power(tx_power * 4.0f);
138138}
139139
140- mp_int_t common_hal_wifi_radio_get_listen_interval (wifi_radio_obj_t * self ) {
141- // wifi_config_t *config = &self->sta_config;
142- // return config->sta.listen_interval;
143- return 0 ;
140+ wifi_power_management_t common_hal_wifi_radio_get_power_management (wifi_radio_obj_t * self ) {
141+ // wifi_ps_type_t ps;
142+ // esp_err_t ret = esp_wifi_get_ps(&ps);
143+ // if (ret == ESP_OK) {
144+ // switch (ps) {
145+ // case WIFI_PS_MIN_MODEM:
146+ // return POWER_MANAGEMENT_MIN;
147+ // case WIFI_PS_MAX_MODEM:
148+ // return POWER_MANAGEMENT_MAX;
149+ // case WIFI_PS_NONE:
150+ // return POWER_MANAGEMENT_NONE;
151+ // }
152+ // }
153+ return POWER_MANAGEMENT_UNKNOWN ;
154+ }
155+
156+
157+ void common_hal_wifi_radio_set_power_management (wifi_radio_obj_t * self , wifi_power_management_t power_management ) {
158+ // switch (power_management) {
159+ // case POWER_MANAGEMENT_MIN:
160+ // esp_wifi_set_ps(WIFI_PS_MIN_MODEM);
161+ // break;
162+ // case POWER_MANAGEMENT_MAX: {
163+ // // listen_interval is only used in this case.
164+ // wifi_config_t *config = &self->sta_config;
165+ // // This is a typical value seen in various examples.
166+ // config->sta.listen_interval = 3;
167+ // esp_wifi_set_ps(WIFI_PS_MAX_MODEM);
168+ // esp_wifi_set_config(ESP_IF_WIFI_STA, config);
169+ // }
170+ // break;
171+ // case POWER_MANAGEMENT_NONE:
172+ // esp_wifi_set_ps(WIFI_PS_NONE);
173+ // break;
174+ // case POWER_MANAGEMENT_UNKNOWN:
175+ // // This should be prevented in shared-bindings.
176+ // break;
177+ // }
144178}
145179
146180void common_hal_wifi_radio_set_listen_interval (wifi_radio_obj_t * self , const mp_int_t listen_interval ) {
0 commit comments