From 02b8acc73e629547b2f2252613b5a444c611fcfc Mon Sep 17 00:00:00 2001 From: TD-er Date: Wed, 7 Oct 2026 09:34:54 +0200 Subject: [PATCH] [WiFi] Fix wrong sign check in set TX power (ESP32) --- src/ESPEasy/net/wifi/ESPEasyWifi_abstracted_ESP32.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/ESPEasy/net/wifi/ESPEasyWifi_abstracted_ESP32.cpp b/src/ESPEasy/net/wifi/ESPEasyWifi_abstracted_ESP32.cpp index 893196975..dc7753711 100644 --- a/src/ESPEasy/net/wifi/ESPEasyWifi_abstracted_ESP32.cpp +++ b/src/ESPEasy/net/wifi/ESPEasyWifi_abstracted_ESP32.cpp @@ -403,8 +403,6 @@ WiFiConnectionProtocol doGetConnectionProtocol() void doSetWiFiTXpower(float& dBm) { if (WiFi.STA.started() || WiFi.AP.started()) { - int8_t power = std::min(static_cast(dBm * 4), static_cast(WIFI_POWER_21dBm)); - constexpr wifi_power_t options[] = { WIFI_POWER_21dBm, WIFI_POWER_20_5dBm, @@ -423,8 +421,10 @@ void doSetWiFiTXpower(float& dBm) WIFI_POWER_MINUS_1dBm }; + int8_t power = std::min(static_cast(dBm * 4), static_cast(options[0])); + for (size_t i = 0; i < NR_ELEMENTS(options); ++i) { - if (power <= options[i]) { + if (power >= options[i]) { power = options[i]; esp_wifi_set_max_tx_power(power);