@@ -139,6 +139,25 @@ void common_hal_wifi_radio_set_tx_power(wifi_radio_obj_t *self, const mp_float_t
139
139
esp_wifi_set_max_tx_power (tx_power * 4.0f );
140
140
}
141
141
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
+
142
161
mp_obj_t common_hal_wifi_radio_get_mac_address_ap (wifi_radio_obj_t * self ) {
143
162
uint8_t mac [MAC_ADDRESS_LENGTH ];
144
163
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_
198
217
set_mode_ap (self , true);
199
218
200
219
uint8_t esp_authmode = 0 ;
201
- switch (authmode ) {
220
+ switch (authmode )
221
+ {
202
222
case AUTHMODE_OPEN :
203
223
esp_authmode = WIFI_AUTH_OPEN ;
204
224
break ;
@@ -249,7 +269,8 @@ mp_obj_t common_hal_wifi_radio_get_stations_ap(wifi_radio_obj_t *self) {
249
269
}
250
270
251
271
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
+ {
253
274
memcpy (mac_ip_pair [i ].mac , esp_sta_list .sta [i ].mac , MAC_ADDRESS_LENGTH );
254
275
mac_ip_pair [i ].ip .addr = 0 ;
255
276
}
@@ -260,7 +281,8 @@ mp_obj_t common_hal_wifi_radio_get_stations_ap(wifi_radio_obj_t *self) {
260
281
}
261
282
262
283
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
+ {
264
286
mp_obj_t elems [3 ] = {
265
287
mp_obj_new_bytes (esp_sta_list .sta [i ].mac , MAC_ADDRESS_LENGTH ),
266
288
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
307
329
xEventGroupClearBits (self -> event_group_handle , WIFI_DISCONNECTED_BIT );
308
330
// Trying to switch networks so disconnect first.
309
331
esp_wifi_disconnect ();
310
- do {
332
+ do
333
+ {
311
334
RUN_BACKGROUND_TASKS ;
312
335
bits = xEventGroupWaitBits (self -> event_group_handle ,
313
336
WIFI_DISCONNECTED_BIT ,
@@ -351,7 +374,8 @@ wifi_radio_error_t common_hal_wifi_radio_connect(wifi_radio_obj_t *self, uint8_t
351
374
self -> retries_left = 5 ;
352
375
esp_wifi_connect ();
353
376
354
- do {
377
+ do
378
+ {
355
379
RUN_BACKGROUND_TASKS ;
356
380
bits = xEventGroupWaitBits (self -> event_group_handle ,
357
381
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
369
393
(self -> last_disconnect_reason == WIFI_REASON_AUTH_FAIL ) ||
370
394
(self -> last_disconnect_reason == WIFI_REASON_4WAY_HANDSHAKE_TIMEOUT ) ||
371
395
(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 )) {
374
397
return WIFI_RADIO_ERROR_AUTH_FAIL ;
375
398
} else if (self -> last_disconnect_reason == WIFI_REASON_NO_AP_FOUND ) {
376
399
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
471
494
mp_obj_tuple_t * result = MP_OBJ_TO_PTR (mp_obj_new_tuple (n_addresses , NULL ));
472
495
473
496
#if CIRCUITPY_SOCKETPOOL_IPV6
474
- for (int i = 0 ; i < n_addresses6 ; i ++ ) {
497
+ for (int i = 0 ; i < n_addresses6 ; i ++ )
498
+ {
475
499
result -> items [i ] = espaddr6_to_str (& addresses [i ]);
476
500
}
477
501
#endif
0 commit comments