From 56f98997e6396e6fda830d3e7db1e2335be9537a Mon Sep 17 00:00:00 2001 From: agessaman Date: Sun, 18 Jan 2026 13:40:01 -0800 Subject: [PATCH] Update MQTT preferences to support configurable WiFi power save mode - Added conditional compilation for WiFi power save settings in setMQTTPrefsDefaults. - Updated platformio.ini files across multiple variants to define MQTT_WIFI_POWER_SAVE_DEFAULT and related configurations. - Set default WiFi power save mode to 1 (none) when not explicitly defined, enhancing flexibility for different hardware setups. --- src/helpers/CommonCLI.cpp | 4 ++++ variants/heltec_v3/platformio.ini | 6 ++++++ variants/heltec_v4/platformio.ini | 10 ++++------ variants/lilygo_t3s3/platformio.ini | 2 ++ variants/lilygo_tbeam_supreme_SX1262/platformio.ini | 2 ++ variants/station_g2/platformio.ini | 2 ++ variants/xiao_s3_wio/platformio.ini | 2 ++ 7 files changed, 22 insertions(+), 6 deletions(-) diff --git a/src/helpers/CommonCLI.cpp b/src/helpers/CommonCLI.cpp index c8e4a905..7a6ec99a 100644 --- a/src/helpers/CommonCLI.cpp +++ b/src/helpers/CommonCLI.cpp @@ -271,7 +271,11 @@ static void setMQTTPrefsDefaults(MQTTPrefs* prefs) { prefs->mqtt_status_interval = 300000; // 5 minutes default prefs->mqtt_analyzer_us_enabled = 1; // enabled by default prefs->mqtt_analyzer_eu_enabled = 1; // enabled by default + #ifdef MQTT_WIFI_POWER_SAVE_DEFAULT + prefs->wifi_power_save = MQTT_WIFI_POWER_SAVE_DEFAULT; // 0=min, 1=none, 2=max + #else prefs->wifi_power_save = 0; // Default to WIFI_PS_MIN_MODEM (0=min) + #endif // String fields are already zero-initialized by memset } diff --git a/variants/heltec_v3/platformio.ini b/variants/heltec_v3/platformio.ini index c7ccec4c..d76b46f8 100644 --- a/variants/heltec_v3/platformio.ini +++ b/variants/heltec_v3/platformio.ini @@ -123,6 +123,9 @@ build_flags = -D MESH_PACKET_LOGGING=1 -D MESH_DEBUG=1 -D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=y + -D ESP32_CPU_FREQ=160 + -D MQTT_WIFI_TX_POWER=WIFI_POWER_19_5dBm + -D MQTT_WIFI_POWER_SAVE_DEFAULT=1 # -D WIFI_SSID='"ssid"' # -D WIFI_PWD='"password"' # -D MQTT_SERVER='"your-mqtt-broker.com"' @@ -180,6 +183,9 @@ build_flags = ; -D MESH_PACKET_LOGGING=1 ; -D MESH_DEBUG=1 -D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=y + -D ESP32_CPU_FREQ=160 + -D MQTT_WIFI_TX_POWER=WIFI_POWER_19_5dBm + -D MQTT_WIFI_POWER_SAVE_DEFAULT=1 build_src_filter = ${Heltec_lora32_v3.build_src_filter} + + diff --git a/variants/heltec_v4/platformio.ini b/variants/heltec_v4/platformio.ini index 83c9dbc1..8d405e67 100644 --- a/variants/heltec_v4/platformio.ini +++ b/variants/heltec_v4/platformio.ini @@ -108,18 +108,14 @@ build_flags = -D MESH_PACKET_LOGGING=1 -D MESH_DEBUG=1 -D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=y + -D MQTT_WIFI_TX_POWER=WIFI_POWER_19_5dBm + -D MQTT_WIFI_POWER_SAVE_DEFAULT=1 # -D WIFI_SSID='"ssid"' # -D WIFI_PWD='"password"' # -D MQTT_SERVER='"your-mqtt-broker.com"' # -D MQTT_PORT=1883 # -D MQTT_USERNAME='"your-username"' # -D MQTT_PASSWORD='"your-password"' -# -D MQTT_WIFI_TX_POWER=WIFI_POWER_11dBm ; WiFi TX power (default: WIFI_POWER_11dBm) -# ; Available values: WIFI_POWER_19_5dBm, WIFI_POWER_19dBm, WIFI_POWER_18_5dBm, -# ; WIFI_POWER_17_5dBm, WIFI_POWER_15dBm, WIFI_POWER_13dBm, WIFI_POWER_11dBm, -# ; WIFI_POWER_8_5dBm, WIFI_POWER_7dBm, WIFI_POWER_5dBm, WIFI_POWER_2dBm, -# ; WIFI_POWER_MINUS_1dBm -# ; Note: These values are for ESP32/ESP32-S3. ESP32-C3/C6 may have different limits. build_src_filter = ${Heltec_lora32_v4.build_src_filter} + + @@ -152,6 +148,8 @@ build_flags = ; -D MESH_PACKET_LOGGING=1 ; -D MESH_DEBUG=1 -D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=y + -D MQTT_WIFI_TX_POWER=WIFI_POWER_19_5dBm + -D MQTT_WIFI_POWER_SAVE_DEFAULT=1 build_src_filter = ${Heltec_lora32_v4.build_src_filter} + + diff --git a/variants/lilygo_t3s3/platformio.ini b/variants/lilygo_t3s3/platformio.ini index eb8bd8eb..4382fe09 100644 --- a/variants/lilygo_t3s3/platformio.ini +++ b/variants/lilygo_t3s3/platformio.ini @@ -115,6 +115,7 @@ build_flags = -D MESH_PACKET_LOGGING=1 -D MESH_DEBUG=1 -D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=y + -D ESP32_CPU_FREQ=160 # -D WIFI_SSID='"ssid"' # -D WIFI_PWD='"password"' # -D MQTT_SERVER='"your-mqtt-broker.com"' @@ -153,6 +154,7 @@ build_flags = ; -D MESH_PACKET_LOGGING=1 ; -D MESH_DEBUG=1 -D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=y + -D ESP32_CPU_FREQ=160 build_src_filter = ${LilyGo_T3S3_sx1262.build_src_filter} + + diff --git a/variants/lilygo_tbeam_supreme_SX1262/platformio.ini b/variants/lilygo_tbeam_supreme_SX1262/platformio.ini index 6d18d852..d5319aab 100644 --- a/variants/lilygo_tbeam_supreme_SX1262/platformio.ini +++ b/variants/lilygo_tbeam_supreme_SX1262/platformio.ini @@ -110,6 +110,7 @@ build_flags = -D MESH_PACKET_LOGGING=1 -D MESH_DEBUG=1 -D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=y + -D ESP32_CPU_FREQ=160 # -D WIFI_SSID='"ssid"' # -D WIFI_PWD='"password"' # -D MQTT_SERVER='"your-mqtt-broker.com"' @@ -146,6 +147,7 @@ build_flags = ; -D MESH_PACKET_LOGGING=1 ; -D MESH_DEBUG=1 -D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=y + -D ESP32_CPU_FREQ=160 build_src_filter = ${T_Beam_S3_Supreme_SX1262.build_src_filter} + + diff --git a/variants/station_g2/platformio.ini b/variants/station_g2/platformio.ini index 63a5e040..2a9057de 100644 --- a/variants/station_g2/platformio.ini +++ b/variants/station_g2/platformio.ini @@ -186,6 +186,7 @@ build_flags = ; -D MESH_PACKET_LOGGING=1 ; -D MESH_DEBUG=1 -D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=y + -D ESP32_CPU_FREQ=160 build_src_filter = ${Station_G2.build_src_filter} + + @@ -292,6 +293,7 @@ build_flags = -D MESH_PACKET_LOGGING=1 -D MESH_DEBUG=1 -D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=y + -D ESP32_CPU_FREQ=160 # -D WIFI_SSID='"ssid"' # -D WIFI_PWD='"password"' # -D MQTT_SERVER='"your-mqtt-broker.com"' diff --git a/variants/xiao_s3_wio/platformio.ini b/variants/xiao_s3_wio/platformio.ini index 233c6132..de35afb2 100644 --- a/variants/xiao_s3_wio/platformio.ini +++ b/variants/xiao_s3_wio/platformio.ini @@ -103,6 +103,7 @@ build_flags = -D MESH_PACKET_LOGGING=1 -D MESH_DEBUG=1 -D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=y + -D ESP32_CPU_FREQ=160 # -D WIFI_SSID='"ssid"' # -D WIFI_PWD='"password"' # -D MQTT_SERVER='"your-mqtt-broker.com"' @@ -140,6 +141,7 @@ build_flags = ; -D MESH_PACKET_LOGGING=1 ; -D MESH_DEBUG=1 -D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=y + -D ESP32_CPU_FREQ=160 build_src_filter = ${Xiao_S3_WIO.build_src_filter} + +