@@ -284,7 +284,9 @@ STATIC mp_obj_t esp_scan(mp_obj_t self_in) {
284
284
mp_obj_tuple_t * t = mp_obj_new_tuple (6 , NULL );
285
285
uint8_t * x = memchr (wifi_ap_records [i ].ssid , 0 , sizeof (wifi_ap_records [i ].ssid ));
286
286
int ssid_len = x ? x - wifi_ap_records [i ].ssid : sizeof (wifi_ap_records [i ].ssid );
287
- t -> items [0 ] = mp_obj_new_bytes (wifi_ap_records [i ].ssid , ssid_len );
287
+ // t->items[0] = mp_obj_new_bytes(wifi_ap_records[i].ssid, ssid_len);
288
+ // Assuming only ASCII or UTF-8 is used for SSID values, we can represent them as strings
289
+ t -> items [0 ] = mp_obj_new_str ((char * )wifi_ap_records [i ].ssid , ssid_len , false);
288
290
t -> items [1 ] = mp_obj_new_bytes (wifi_ap_records [i ].bssid , sizeof (wifi_ap_records [i ].bssid ));
289
291
t -> items [2 ] = MP_OBJ_NEW_SMALL_INT (wifi_ap_records [i ].primary );
290
292
t -> items [3 ] = MP_OBJ_NEW_SMALL_INT (wifi_ap_records [i ].rssi );
@@ -455,8 +457,14 @@ STATIC mp_obj_t esp_config(size_t n_args, const mp_obj_t *args, mp_map_t *kwargs
455
457
return mp_obj_new_bytes (mac , sizeof (mac ));
456
458
}
457
459
case QS (MP_QSTR_essid ):
458
- req_if = WIFI_IF_AP ;
459
- val = mp_obj_new_str ((char * )cfg .ap .ssid , cfg .ap .ssid_len , false);
460
+ if (self -> if_id == WIFI_IF_STA ) {
461
+ uint8_t * x = memchr (wifi_sta_config .sta .ssid , 0 , sizeof (wifi_sta_config .sta .ssid ));
462
+ int ssid_len = x ? x - wifi_sta_config .sta .ssid : sizeof (wifi_sta_config .sta .ssid );
463
+ val = mp_obj_new_str ((char * )wifi_sta_config .sta .ssid , ssid_len , false);
464
+ } else {
465
+ req_if = WIFI_IF_AP ;
466
+ val = mp_obj_new_str ((char * )cfg .ap .ssid , cfg .ap .ssid_len , false);
467
+ }
460
468
break ;
461
469
case QS (MP_QSTR_hidden ):
462
470
req_if = WIFI_IF_AP ;
0 commit comments