Skip to content

Commit 7a50beb

Browse files
committed
PicoW more ap work
1 parent 8cc536b commit 7a50beb

File tree

1 file changed

+10
-1
lines changed
  • ports/raspberrypi/common-hal/wifi

1 file changed

+10
-1
lines changed

ports/raspberrypi/common-hal/wifi/Radio.c

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -171,12 +171,17 @@ void common_hal_wifi_radio_start_ap(wifi_radio_obj_t *self, uint8_t *ssid, size_
171171
if (!common_hal_wifi_radio_get_enabled(self)) {
172172
mp_raise_RuntimeError(translate("wifi is not enabled"));
173173
}
174+
// Is there a better way?
175+
common_hal_wifi_radio_stop_station(self);
176+
174177
cyw43_arch_enable_ap_mode((const char *)ssid, (const char *)password, CYW43_AUTH_WPA2_AES_PSK);
178+
// TODO: Implement authmode check like in espressif
175179
bindings_cyw43_wifi_enforce_pm();
176180
}
177181

178182
void common_hal_wifi_radio_stop_ap(wifi_radio_obj_t *self) {
179-
mp_raise_NotImplementedError(NULL);
183+
common_hal_wifi_radio_stop_station(self);
184+
// I mean, since it already does both..
180185
}
181186

182187
wifi_radio_error_t common_hal_wifi_radio_connect(wifi_radio_obj_t *self, uint8_t *ssid, size_t ssid_len, uint8_t *password, size_t password_len, uint8_t channel, mp_float_t timeout, uint8_t *bssid, size_t bssid_len) {
@@ -188,8 +193,12 @@ wifi_radio_error_t common_hal_wifi_radio_connect(wifi_radio_obj_t *self, uint8_t
188193
uint64_t start = port_get_raw_ticks(NULL);
189194
uint64_t deadline = start + timeout_ms;
190195

196+
// disconnect
197+
common_hal_wifi_radio_stop_station(self);
198+
191199
// connect
192200
cyw43_arch_wifi_connect_async((const char *)ssid, (const char *)password, CYW43_AUTH_WPA2_AES_PSK);
201+
// TODO: Implement authmode check like in espressif
193202

194203
while (port_get_raw_ticks(NULL) < deadline) {
195204
RUN_BACKGROUND_TASKS;

0 commit comments

Comments
 (0)