@@ -43,9 +43,6 @@ extern "C" {
43
43
#include < esp_smartconfig.h>
44
44
}
45
45
46
- extern " C" void esp_schedule ();
47
- extern " C" void esp_yield ();
48
-
49
46
// -----------------------------------------------------------------------------------------------------------------------
50
47
// ---------------------------------------------------- Private functions ------------------------------------------------
51
48
// -----------------------------------------------------------------------------------------------------------------------
@@ -404,9 +401,11 @@ wl_status_t WiFiSTAClass::status()
404
401
*/
405
402
String WiFiSTAClass::SSID () const
406
403
{
407
- wifi_config_t conf;
408
- esp_wifi_get_config (WIFI_IF_STA, &conf);
409
- return String (reinterpret_cast <char *>(conf.sta .ssid ));
404
+ wifi_ap_record_t info;
405
+ if (!esp_wifi_sta_get_ap_info (&info)) {
406
+ return String (reinterpret_cast <char *>(info.ssid ));
407
+ }
408
+ return String ();
410
409
}
411
410
412
411
/* *
@@ -427,10 +426,12 @@ String WiFiSTAClass::psk() const
427
426
uint8_t * WiFiSTAClass::BSSID (void )
428
427
{
429
428
static uint8_t bssid[6 ];
430
- wifi_config_t conf;
431
- esp_wifi_get_config (WIFI_IF_STA, &conf);
432
- memcpy (bssid, conf.sta .bssid , 6 );
433
- return reinterpret_cast <uint8_t *>(bssid);
429
+ wifi_ap_record_t info;
430
+ if (!esp_wifi_sta_get_ap_info (&info)) {
431
+ memcpy (bssid, info.bssid , 6 );
432
+ return reinterpret_cast <uint8_t *>(bssid);
433
+ }
434
+ return NULL ;
434
435
}
435
436
436
437
/* *
@@ -439,20 +440,26 @@ uint8_t* WiFiSTAClass::BSSID(void)
439
440
*/
440
441
String WiFiSTAClass::BSSIDstr (void )
441
442
{
443
+ uint8_t * bssid = BSSID ();
444
+ if (!bssid){
445
+ return String ();
446
+ }
442
447
char mac[18 ] = { 0 };
443
- wifi_config_t conf;
444
- esp_wifi_get_config (WIFI_IF_STA, &conf);
445
- sprintf (mac, " %02X:%02X:%02X:%02X:%02X:%02X" , conf.sta .bssid [0 ], conf.sta .bssid [1 ], conf.sta .bssid [2 ], conf.sta .bssid [3 ], conf.sta .bssid [4 ], conf.sta .bssid [5 ]);
448
+ sprintf (mac, " %02X:%02X:%02X:%02X:%02X:%02X" , bssid[0 ], bssid[1 ], bssid[2 ], bssid[3 ], bssid[4 ], bssid[5 ]);
446
449
return String (mac);
447
450
}
448
451
449
452
/* *
450
453
* Return the current network RSSI.
451
454
* @return RSSI value
452
455
*/
453
- int32_t WiFiSTAClass::RSSI (void )
456
+ int8_t WiFiSTAClass::RSSI (void )
454
457
{
455
- return 0 ;// wifi_station_get_rssi();
458
+ wifi_ap_record_t info;
459
+ if (!esp_wifi_sta_get_ap_info (&info)) {
460
+ return info.rssi ;
461
+ }
462
+ return 0 ;
456
463
}
457
464
458
465
/* *
0 commit comments