@@ -43,9 +43,6 @@ extern "C" {
4343#include < esp_smartconfig.h>
4444}
4545
46- extern " C" void esp_schedule ();
47- extern " C" void esp_yield ();
48-
4946// -----------------------------------------------------------------------------------------------------------------------
5047// ---------------------------------------------------- Private functions ------------------------------------------------
5148// -----------------------------------------------------------------------------------------------------------------------
@@ -404,9 +401,11 @@ wl_status_t WiFiSTAClass::status()
404401 */
405402String WiFiSTAClass::SSID () const
406403{
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 ();
410409}
411410
412411/* *
@@ -427,10 +426,12 @@ String WiFiSTAClass::psk() const
427426uint8_t * WiFiSTAClass::BSSID (void )
428427{
429428 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 ;
434435}
435436
436437/* *
@@ -439,20 +440,26 @@ uint8_t* WiFiSTAClass::BSSID(void)
439440 */
440441String WiFiSTAClass::BSSIDstr (void )
441442{
443+ uint8_t * bssid = BSSID ();
444+ if (!bssid){
445+ return String ();
446+ }
442447 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 ]);
446449 return String (mac);
447450}
448451
449452/* *
450453 * Return the current network RSSI.
451454 * @return RSSI value
452455 */
453- int32_t WiFiSTAClass::RSSI (void )
456+ int8_t WiFiSTAClass::RSSI (void )
454457{
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 ;
456463}
457464
458465/* *
0 commit comments