From 84694960422b7ada86278e0021a4bd54b6814a05 Mon Sep 17 00:00:00 2001 From: "Earle F. Philhower, III" Date: Mon, 16 Dec 2024 16:45:46 -0800 Subject: [PATCH] Support setting channel for SoftAP Fixes #2694 --- libraries/WiFi/src/WiFiClass.cpp | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/libraries/WiFi/src/WiFiClass.cpp b/libraries/WiFi/src/WiFiClass.cpp index 8b9d7d13e..4ce34fca4 100644 --- a/libraries/WiFi/src/WiFiClass.cpp +++ b/libraries/WiFi/src/WiFiClass.cpp @@ -160,16 +160,14 @@ uint8_t WiFiClass::beginAP(const char *ssid) { } uint8_t WiFiClass::beginAP(const char *ssid, uint8_t channel) { - (void) channel; - return beginAP(ssid, nullptr); + return beginAP(ssid, nullptr, channel); } -uint8_t WiFiClass::beginAP(const char *ssid, const char* passphrase, uint8_t channel) { - (void) channel; - return beginAP(ssid, passphrase); +uint8_t WiFiClass::beginAP(const char *ssid, const char* passphrase) { + return beginAP(ssid, passphrase, 0); } -uint8_t WiFiClass::beginAP(const char *ssid, const char* passphrase) { +uint8_t WiFiClass::beginAP(const char *ssid, const char* passphrase, uint8_t channel) { end(); _ssid = ssid; @@ -177,6 +175,11 @@ uint8_t WiFiClass::beginAP(const char *ssid, const char* passphrase) { _wifi.setAP(); _wifi.setSSID(_ssid.c_str()); _wifi.setPassword(passphrase); +#if defined(PICO_CYW43_SUPPORTED) + if (channel > 0) { + cyw43_wifi_ap_set_channel(&cyw43_state, channel); + } +#endif _wifi.setTimeout(_timeout); _apMode = true; IPAddress gw = _wifi.gatewayIP();