@@ -139,6 +139,25 @@ void common_hal_wifi_radio_set_tx_power(wifi_radio_obj_t *self, const mp_float_t
139139 esp_wifi_set_max_tx_power (tx_power * 4.0f );
140140}
141141
142+ mp_int_t common_hal_wifi_radio_get_listen_interval (wifi_radio_obj_t * self ) {
143+ wifi_config_t * config = & self -> sta_config ;
144+ return config -> sta .listen_interval ;
145+ }
146+
147+ void common_hal_wifi_radio_set_listen_interval (wifi_radio_obj_t * self , const mp_int_t listen_interval ) {
148+ wifi_config_t * config = & self -> sta_config ;
149+ config -> sta .listen_interval = listen_interval ;
150+ if (listen_interval == 1 ) {
151+ esp_wifi_set_ps (WIFI_PS_MIN_MODEM );
152+ } else if (listen_interval > 1 ) {
153+ esp_wifi_set_ps (WIFI_PS_MAX_MODEM );
154+ } else {
155+ esp_wifi_set_ps (WIFI_PS_NONE );
156+ }
157+
158+ esp_wifi_set_config (ESP_IF_WIFI_STA , config );
159+ }
160+
142161mp_obj_t common_hal_wifi_radio_get_mac_address_ap (wifi_radio_obj_t * self ) {
143162 uint8_t mac [MAC_ADDRESS_LENGTH ];
144163 esp_wifi_get_mac (ESP_IF_WIFI_AP , mac );
@@ -198,7 +217,8 @@ void common_hal_wifi_radio_start_ap(wifi_radio_obj_t *self, uint8_t *ssid, size_
198217 set_mode_ap (self , true);
199218
200219 uint8_t esp_authmode = 0 ;
201- switch (authmode ) {
220+ switch (authmode )
221+ {
202222 case AUTHMODE_OPEN :
203223 esp_authmode = WIFI_AUTH_OPEN ;
204224 break ;
@@ -249,7 +269,8 @@ mp_obj_t common_hal_wifi_radio_get_stations_ap(wifi_radio_obj_t *self) {
249269 }
250270
251271 esp_netif_pair_mac_ip_t mac_ip_pair [esp_sta_list .num ];
252- for (int i = 0 ; i < esp_sta_list .num ; i ++ ) {
272+ for (int i = 0 ; i < esp_sta_list .num ; i ++ )
273+ {
253274 memcpy (mac_ip_pair [i ].mac , esp_sta_list .sta [i ].mac , MAC_ADDRESS_LENGTH );
254275 mac_ip_pair [i ].ip .addr = 0 ;
255276 }
@@ -260,7 +281,8 @@ mp_obj_t common_hal_wifi_radio_get_stations_ap(wifi_radio_obj_t *self) {
260281 }
261282
262283 mp_obj_t mp_sta_list = mp_obj_new_list (0 , NULL );
263- for (int i = 0 ; i < esp_sta_list .num ; i ++ ) {
284+ for (int i = 0 ; i < esp_sta_list .num ; i ++ )
285+ {
264286 mp_obj_t elems [3 ] = {
265287 mp_obj_new_bytes (esp_sta_list .sta [i ].mac , MAC_ADDRESS_LENGTH ),
266288 MP_OBJ_NEW_SMALL_INT (esp_sta_list .sta [i ].rssi ),
@@ -307,7 +329,8 @@ wifi_radio_error_t common_hal_wifi_radio_connect(wifi_radio_obj_t *self, uint8_t
307329 xEventGroupClearBits (self -> event_group_handle , WIFI_DISCONNECTED_BIT );
308330 // Trying to switch networks so disconnect first.
309331 esp_wifi_disconnect ();
310- do {
332+ do
333+ {
311334 RUN_BACKGROUND_TASKS ;
312335 bits = xEventGroupWaitBits (self -> event_group_handle ,
313336 WIFI_DISCONNECTED_BIT ,
@@ -351,7 +374,8 @@ wifi_radio_error_t common_hal_wifi_radio_connect(wifi_radio_obj_t *self, uint8_t
351374 self -> retries_left = 5 ;
352375 esp_wifi_connect ();
353376
354- do {
377+ do
378+ {
355379 RUN_BACKGROUND_TASKS ;
356380 bits = xEventGroupWaitBits (self -> event_group_handle ,
357381 WIFI_CONNECTED_BIT | WIFI_DISCONNECTED_BIT ,
@@ -369,8 +393,7 @@ wifi_radio_error_t common_hal_wifi_radio_connect(wifi_radio_obj_t *self, uint8_t
369393 (self -> last_disconnect_reason == WIFI_REASON_AUTH_FAIL ) ||
370394 (self -> last_disconnect_reason == WIFI_REASON_4WAY_HANDSHAKE_TIMEOUT ) ||
371395 (self -> last_disconnect_reason == WIFI_REASON_NO_AP_FOUND_W_COMPATIBLE_SECURITY ) ||
372- (self -> last_disconnect_reason == WIFI_REASON_NO_AP_FOUND_IN_AUTHMODE_THRESHOLD )
373- ) {
396+ (self -> last_disconnect_reason == WIFI_REASON_NO_AP_FOUND_IN_AUTHMODE_THRESHOLD )) {
374397 return WIFI_RADIO_ERROR_AUTH_FAIL ;
375398 } else if (self -> last_disconnect_reason == WIFI_REASON_NO_AP_FOUND ) {
376399 return WIFI_RADIO_ERROR_NO_AP_FOUND ;
@@ -471,7 +494,8 @@ static mp_obj_t common_hal_wifi_radio_get_addresses_netif(wifi_radio_obj_t *self
471494 mp_obj_tuple_t * result = MP_OBJ_TO_PTR (mp_obj_new_tuple (n_addresses , NULL ));
472495
473496 #if CIRCUITPY_SOCKETPOOL_IPV6
474- for (int i = 0 ; i < n_addresses6 ; i ++ ) {
497+ for (int i = 0 ; i < n_addresses6 ; i ++ )
498+ {
475499 result -> items [i ] = espaddr6_to_str (& addresses [i ]);
476500 }
477501 #endif
0 commit comments