Skip to content

Commit 2aa75ec

Browse files
committed
Update wifi driver to provide ssid under rp2
1 parent ce7061a commit 2aa75ec

File tree

1 file changed

+15
-10
lines changed

1 file changed

+15
-10
lines changed

drivers/driver_wifi.py

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,12 @@ def __init__(self):
1717
self._session = None
1818
self._tz = None
1919
self._ntp = None
20+
self._ssid = None
2021

2122
# public
2223
self.error = False
2324
self.hw_name = "wifi"
2425
self.interface_type = "wifi"
25-
self.mode = "hotspot" if wifi.radio.ap_active else "station"
2626

2727
if wifi.radio.connected or wifi.radio.ap_active:
2828
# We need to inherit connection
@@ -41,7 +41,8 @@ def connected(self) -> bool:
4141
def ap_connected(self) -> bool:
4242
return wifi.radio.ap_active
4343

44-
def _mode(self) -> str:
44+
@property
45+
def mode(self) -> None:
4546
if wifi.radio.ap_active:
4647
if wifi.radio.connected:
4748
return "both"
@@ -52,6 +53,11 @@ def _mode(self) -> str:
5253
else:
5354
return "disconnected"
5455

56+
def _update(self) -> None:
57+
if (not wifi.radio.connected) and self._ssid:
58+
self._ssid = None
59+
self.disconnect()
60+
5561
def connect(self, ssid, passwd=None, retries=3) -> bool:
5662
"""
5763
Connect to a wifi access point
@@ -77,7 +83,7 @@ def connect(self, ssid, passwd=None, retries=3) -> bool:
7783
return False
7884
self._pool = SocketPool(wifi.radio)
7985
self._session = Session(self._pool, create_default_context())
80-
self.mode = self._mode()
86+
self._ssid = ssid
8187
return True
8288

8389
def connect_ap(self, ssid, passwd=None) -> bool:
@@ -95,7 +101,6 @@ def connect_ap(self, ssid, passwd=None) -> bool:
95101
return False
96102
self._pool = SocketPool(wifi.radio)
97103
self._session = Session(self._pool, create_default_context())
98-
self.mode = self._mode()
99104
return True
100105

101106
def hostname(self, name=None) -> str:
@@ -115,7 +120,7 @@ def get(self, host: str):
115120
"""
116121
if self._session is not None:
117122
if not (host.startswith("http://") or host.startswith("https://")):
118-
host = "https://" + host
123+
host = "http://" + host
119124

120125
return self._session.get(host)
121126
else:
@@ -171,7 +176,8 @@ def get_ipconf(self) -> dict:
171176
"gateway": wifi.radio.ipv4_gateway
172177
if not wifi.radio.ap_active
173178
else wifi.radio.ipv4_gateway_ap,
174-
"mode": self._mode,
179+
"mode": self.mode,
180+
"ssid": self._ssid,
175181
"dns": wifi.radio.ipv4_dns,
176182
"subnet": wifi.radio.ipv4_subnet,
177183
"subnet_ap": wifi.radio.ipv4_subnet_ap,
@@ -187,12 +193,13 @@ def get_ipconf(self) -> dict:
187193
}
188194

189195
try:
190-
data["ssid"] = wifi.radio.ap_info.ssid
191196
data["bssid"] = wifi.radio.ap_info.bssid
192197
data["channel"] = wifi.radio.ap_info.channel
193198
data["country"] = wifi.radio.ap_info.country
194199
except:
195-
pass
200+
data["bssid"] = None
201+
data["channel"] = None
202+
data["country"] = None
196203

197204
return data
198205

@@ -228,7 +235,6 @@ def disconnect(self) -> None:
228235
del self._pool, self._session
229236
self._pool = None
230237
self._session = None
231-
self.mode = self._mode()
232238

233239
def disconnect_ap(self) -> None:
234240
"""
@@ -258,7 +264,6 @@ def disconnect_ap(self) -> None:
258264
del self._pool, self._session
259265
self._pool = None
260266
self._session = None
261-
self.mode = self._mode()
262267

263268
def start(self) -> None:
264269
"""

0 commit comments

Comments
 (0)