Skip to content

Commit 63a748f

Browse files
committed
WiFi: add SSID() and RSSI()
1 parent 3ac4639 commit 63a748f

File tree

1 file changed

+18
-4
lines changed

1 file changed

+18
-4
lines changed

libraries/SocketWrapper/WiFi.h

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -80,14 +80,12 @@ class WiFiClass : public NetworkInterface {
8080
}
8181

8282
int status() {
83-
struct wifi_iface_status status = {0};
84-
85-
if (net_mgmt(NET_REQUEST_WIFI_IFACE_STATUS, netif, &status,
83+
if (net_mgmt(NET_REQUEST_WIFI_IFACE_STATUS, netif, &sta_state,
8684
sizeof(struct wifi_iface_status))) {
8785
return WL_NO_SHIELD;
8886
}
8987

90-
if (status.state >= WIFI_STATE_ASSOCIATED) {
88+
if (sta_state.state >= WIFI_STATE_ASSOCIATED) {
9189
return WL_CONNECTED;
9290
} else {
9391
return WL_DISCONNECTED;
@@ -99,12 +97,28 @@ class WiFiClass : public NetworkInterface {
9997
// TODO: borrow code from mbed core for scan results handling
10098
}
10199

100+
char* SSID() {
101+
if (status() == WL_CONNECTED) {
102+
return (char *)sta_state.ssid;
103+
}
104+
return nullptr;
105+
}
106+
107+
int32_t RSSI() {
108+
if (status() == WL_CONNECTED) {
109+
return sta_state.rssi;
110+
}
111+
return 0;
112+
}
113+
102114
private:
103115
struct net_if *sta_iface = nullptr;
104116
struct net_if *ap_iface = nullptr;
105117

106118
struct wifi_connect_req_params ap_config;
107119
struct wifi_connect_req_params sta_config;
120+
121+
struct wifi_iface_status sta_state = { 0 };
108122
};
109123

110124
extern WiFiClass WiFi;

0 commit comments

Comments
 (0)