From a26c05e837a8074f5586624cfc0fafb5e83b0924 Mon Sep 17 00:00:00 2001 From: Gonzalo Brusco Date: Fri, 23 Dec 2022 13:41:39 -0300 Subject: [PATCH 1/4] Added Bandwith setting method --- libraries/WiFi/src/WiFiGeneric.cpp | 39 ++++++++++++++++++++++++++++++ libraries/WiFi/src/WiFiGeneric.h | 3 +++ 2 files changed, 42 insertions(+) diff --git a/libraries/WiFi/src/WiFiGeneric.cpp b/libraries/WiFi/src/WiFiGeneric.cpp index 1b74d322739..b963170045a 100644 --- a/libraries/WiFi/src/WiFiGeneric.cpp +++ b/libraries/WiFi/src/WiFiGeneric.cpp @@ -1114,6 +1114,45 @@ int32_t WiFiGenericClass::channel(void) return primaryChan; } +/** + * Sets the working bandwidth of the AP mode + * @param m wifi_bandwidth_t + */ +bool WiFiGenericClass::bandwidthSTA(wifi_bandwidth_t bandwidth) { + if(!enableSTA(true)) { + log_e("STA enable failed!"); + return false; + } + + esp_err_t err; + err = esp_wifi_set_bandwidth((wifi_interface_t)ESP_IF_WIFI_STA, bandwidth); + if(err){ + log_e("Could not set STA bandwidth!"); + return false; + } + + return true; +} + +/** + * Sets the working bandwidth of the STA mode + * @param m wifi_bandwidth_t + */ +bool WiFiGenericClass::bandwidthAP(wifi_bandwidth_t bandwidth) { + if(!enableAP(true)) { + log_e("AP enable failed!"); + return false; + } + + esp_err_t err; + err = esp_wifi_set_bandwidth((wifi_interface_t)ESP_IF_WIFI_AP, bandwidth); + if(err){ + log_e("Could not set AP bandwidth!"); + return false; + } + + return true; +} /** * store WiFi config in SDK flash area diff --git a/libraries/WiFi/src/WiFiGeneric.h b/libraries/WiFi/src/WiFiGeneric.h index 2f670a34d05..bef51163a38 100644 --- a/libraries/WiFi/src/WiFiGeneric.h +++ b/libraries/WiFi/src/WiFiGeneric.h @@ -168,6 +168,9 @@ class WiFiGenericClass int32_t channel(void); + bool bandwidthSTA(wifi_bandwidth_t bandwidth); + bool bandwidthAP(wifi_bandwidth_t bandwidth); + void persistent(bool persistent); void enableLongRange(bool enable); From 4a2cefc340eb98911452b3a00907dac045db86e7 Mon Sep 17 00:00:00 2001 From: Gonzalo Brusco Date: Fri, 23 Dec 2022 14:24:49 -0300 Subject: [PATCH 2/4] Separted AP and STA on it's own class each --- libraries/WiFi/src/WiFiAP.cpp | 19 ++++++++++++++ libraries/WiFi/src/WiFiAP.h | 2 ++ libraries/WiFi/src/WiFiGeneric.cpp | 40 ------------------------------ libraries/WiFi/src/WiFiGeneric.h | 3 --- libraries/WiFi/src/WiFiSTA.cpp | 20 +++++++++++++++ libraries/WiFi/src/WiFiSTA.h | 2 ++ 6 files changed, 43 insertions(+), 43 deletions(-) diff --git a/libraries/WiFi/src/WiFiAP.cpp b/libraries/WiFi/src/WiFiAP.cpp index 6f69121be72..ac46c0279a3 100644 --- a/libraries/WiFi/src/WiFiAP.cpp +++ b/libraries/WiFi/src/WiFiAP.cpp @@ -234,6 +234,25 @@ bool WiFiAPClass::softAPdisconnect(bool wifioff) return ret; } +/** + * Sets the working bandwidth of the AP mode + * @param m wifi_bandwidth_t + */ +bool WiFiAPClass::bandwidthAP(wifi_bandwidth_t bandwidth) { + if(!enableAP(true)) { + log_e("AP enable failed!"); + return false; + } + + esp_err_t err; + err = esp_wifi_set_bandwidth((wifi_interface_t)ESP_IF_WIFI_AP, bandwidth); + if(err){ + log_e("Could not set AP bandwidth!"); + return false; + } + + return true; +} /** * Get the count of the Station / client that are connected to the softAP interface diff --git a/libraries/WiFi/src/WiFiAP.h b/libraries/WiFi/src/WiFiAP.h index a9d8f551e51..66f0c38e59a 100644 --- a/libraries/WiFi/src/WiFiAP.h +++ b/libraries/WiFi/src/WiFiAP.h @@ -41,6 +41,8 @@ class WiFiAPClass bool softAPConfig(IPAddress local_ip, IPAddress gateway, IPAddress subnet, IPAddress dhcp_lease_start = (uint32_t) 0); bool softAPdisconnect(bool wifioff = false); + bool bandwidthAP(wifi_bandwidth_t bandwidth); + uint8_t softAPgetStationNum(); IPAddress softAPIP(); diff --git a/libraries/WiFi/src/WiFiGeneric.cpp b/libraries/WiFi/src/WiFiGeneric.cpp index b963170045a..b167b7506ca 100644 --- a/libraries/WiFi/src/WiFiGeneric.cpp +++ b/libraries/WiFi/src/WiFiGeneric.cpp @@ -1114,46 +1114,6 @@ int32_t WiFiGenericClass::channel(void) return primaryChan; } -/** - * Sets the working bandwidth of the AP mode - * @param m wifi_bandwidth_t - */ -bool WiFiGenericClass::bandwidthSTA(wifi_bandwidth_t bandwidth) { - if(!enableSTA(true)) { - log_e("STA enable failed!"); - return false; - } - - esp_err_t err; - err = esp_wifi_set_bandwidth((wifi_interface_t)ESP_IF_WIFI_STA, bandwidth); - if(err){ - log_e("Could not set STA bandwidth!"); - return false; - } - - return true; -} - -/** - * Sets the working bandwidth of the STA mode - * @param m wifi_bandwidth_t - */ -bool WiFiGenericClass::bandwidthAP(wifi_bandwidth_t bandwidth) { - if(!enableAP(true)) { - log_e("AP enable failed!"); - return false; - } - - esp_err_t err; - err = esp_wifi_set_bandwidth((wifi_interface_t)ESP_IF_WIFI_AP, bandwidth); - if(err){ - log_e("Could not set AP bandwidth!"); - return false; - } - - return true; -} - /** * store WiFi config in SDK flash area * @param persistent diff --git a/libraries/WiFi/src/WiFiGeneric.h b/libraries/WiFi/src/WiFiGeneric.h index bef51163a38..2f670a34d05 100644 --- a/libraries/WiFi/src/WiFiGeneric.h +++ b/libraries/WiFi/src/WiFiGeneric.h @@ -168,9 +168,6 @@ class WiFiGenericClass int32_t channel(void); - bool bandwidthSTA(wifi_bandwidth_t bandwidth); - bool bandwidthAP(wifi_bandwidth_t bandwidth); - void persistent(bool persistent); void enableLongRange(bool enable); diff --git a/libraries/WiFi/src/WiFiSTA.cpp b/libraries/WiFi/src/WiFiSTA.cpp index 7bcafea1d3e..bbbe957c2c9 100644 --- a/libraries/WiFi/src/WiFiSTA.cpp +++ b/libraries/WiFi/src/WiFiSTA.cpp @@ -389,6 +389,26 @@ bool WiFiSTAClass::config(IPAddress local_ip, IPAddress gateway, IPAddress subne return err == ESP_OK; } +/** + * Sets the working bandwidth of the STA mode + * @param m wifi_bandwidth_t + */ +bool WiFiSTAClass::bandwidthSTA(wifi_bandwidth_t bandwidth) { + if(!enableSTA(true)) { + log_e("STA enable failed!"); + return false; + } + + esp_err_t err; + err = esp_wifi_set_bandwidth((wifi_interface_t)ESP_IF_WIFI_STA, bandwidth); + if(err){ + log_e("Could not set STA bandwidth!"); + return false; + } + + return true; +} + /** * is STA interface connected? * @return true if STA is connected to an AP diff --git a/libraries/WiFi/src/WiFiSTA.h b/libraries/WiFi/src/WiFiSTA.h index b8bb855c198..f1dfeda90ba 100644 --- a/libraries/WiFi/src/WiFiSTA.h +++ b/libraries/WiFi/src/WiFiSTA.h @@ -51,6 +51,8 @@ class WiFiSTAClass bool config(IPAddress local_ip, IPAddress gateway, IPAddress subnet, IPAddress dns1 = (uint32_t)0x00000000, IPAddress dns2 = (uint32_t)0x00000000); + bool bandwidthSTA(wifi_bandwidth_t bandwidth); + bool reconnect(); bool disconnect(bool wifioff = false, bool eraseap = false); From 59571d23c051df07da9ab43d2dd837f5fc5a235b Mon Sep 17 00:00:00 2001 From: Gonzalo Brusco Date: Fri, 23 Dec 2022 14:42:32 -0300 Subject: [PATCH 3/4] Missing WiFi --- libraries/WiFi/src/WiFiAP.cpp | 2 +- libraries/WiFi/src/WiFiSTA.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/libraries/WiFi/src/WiFiAP.cpp b/libraries/WiFi/src/WiFiAP.cpp index ac46c0279a3..bb1ce40aa9d 100644 --- a/libraries/WiFi/src/WiFiAP.cpp +++ b/libraries/WiFi/src/WiFiAP.cpp @@ -239,7 +239,7 @@ bool WiFiAPClass::softAPdisconnect(bool wifioff) * @param m wifi_bandwidth_t */ bool WiFiAPClass::bandwidthAP(wifi_bandwidth_t bandwidth) { - if(!enableAP(true)) { + if(!WiFi.enableAP(true)) { log_e("AP enable failed!"); return false; } diff --git a/libraries/WiFi/src/WiFiSTA.cpp b/libraries/WiFi/src/WiFiSTA.cpp index bbbe957c2c9..516fcb53f0e 100644 --- a/libraries/WiFi/src/WiFiSTA.cpp +++ b/libraries/WiFi/src/WiFiSTA.cpp @@ -394,7 +394,7 @@ bool WiFiSTAClass::config(IPAddress local_ip, IPAddress gateway, IPAddress subne * @param m wifi_bandwidth_t */ bool WiFiSTAClass::bandwidthSTA(wifi_bandwidth_t bandwidth) { - if(!enableSTA(true)) { + if(!WiFi.enableSTA(true)) { log_e("STA enable failed!"); return false; } From e62206d42d4989d7523937f97738d550f7738e13 Mon Sep 17 00:00:00 2001 From: Gonzalo Brusco Date: Fri, 23 Dec 2022 14:46:07 -0300 Subject: [PATCH 4/4] Rename for consistency --- libraries/WiFi/src/WiFiAP.cpp | 2 +- libraries/WiFi/src/WiFiAP.h | 2 +- libraries/WiFi/src/WiFiSTA.cpp | 2 +- libraries/WiFi/src/WiFiSTA.h | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/libraries/WiFi/src/WiFiAP.cpp b/libraries/WiFi/src/WiFiAP.cpp index bb1ce40aa9d..04c8c0e58b0 100644 --- a/libraries/WiFi/src/WiFiAP.cpp +++ b/libraries/WiFi/src/WiFiAP.cpp @@ -238,7 +238,7 @@ bool WiFiAPClass::softAPdisconnect(bool wifioff) * Sets the working bandwidth of the AP mode * @param m wifi_bandwidth_t */ -bool WiFiAPClass::bandwidthAP(wifi_bandwidth_t bandwidth) { +bool WiFiAPClass::softAPbandwidth(wifi_bandwidth_t bandwidth) { if(!WiFi.enableAP(true)) { log_e("AP enable failed!"); return false; diff --git a/libraries/WiFi/src/WiFiAP.h b/libraries/WiFi/src/WiFiAP.h index 66f0c38e59a..e3d8409e0e2 100644 --- a/libraries/WiFi/src/WiFiAP.h +++ b/libraries/WiFi/src/WiFiAP.h @@ -41,7 +41,7 @@ class WiFiAPClass bool softAPConfig(IPAddress local_ip, IPAddress gateway, IPAddress subnet, IPAddress dhcp_lease_start = (uint32_t) 0); bool softAPdisconnect(bool wifioff = false); - bool bandwidthAP(wifi_bandwidth_t bandwidth); + bool softAPbandwidth(wifi_bandwidth_t bandwidth); uint8_t softAPgetStationNum(); diff --git a/libraries/WiFi/src/WiFiSTA.cpp b/libraries/WiFi/src/WiFiSTA.cpp index 516fcb53f0e..bb6d56e3288 100644 --- a/libraries/WiFi/src/WiFiSTA.cpp +++ b/libraries/WiFi/src/WiFiSTA.cpp @@ -393,7 +393,7 @@ bool WiFiSTAClass::config(IPAddress local_ip, IPAddress gateway, IPAddress subne * Sets the working bandwidth of the STA mode * @param m wifi_bandwidth_t */ -bool WiFiSTAClass::bandwidthSTA(wifi_bandwidth_t bandwidth) { +bool WiFiSTAClass::bandwidth(wifi_bandwidth_t bandwidth) { if(!WiFi.enableSTA(true)) { log_e("STA enable failed!"); return false; diff --git a/libraries/WiFi/src/WiFiSTA.h b/libraries/WiFi/src/WiFiSTA.h index f1dfeda90ba..4619bf67f65 100644 --- a/libraries/WiFi/src/WiFiSTA.h +++ b/libraries/WiFi/src/WiFiSTA.h @@ -51,7 +51,7 @@ class WiFiSTAClass bool config(IPAddress local_ip, IPAddress gateway, IPAddress subnet, IPAddress dns1 = (uint32_t)0x00000000, IPAddress dns2 = (uint32_t)0x00000000); - bool bandwidthSTA(wifi_bandwidth_t bandwidth); + bool bandwidth(wifi_bandwidth_t bandwidth); bool reconnect(); bool disconnect(bool wifioff = false, bool eraseap = false);