Add PSRAM diagnostics to MQTTBridge initialization
- Implemented PSRAM availability checks and logging to assist in debugging memory fragmentation on boards with external RAM. - Enhanced logging to provide detailed information about PSRAM size, free memory, and initialization status. - Updated platformio.ini files across multiple variants to remove obsolete mbedTLS configuration flags, streamlining the build process.
This commit is contained in:
1 parent
21158e1fd2
commit
abcfe60948
10 files changed
+33
-52
No files matched your search
@@ -179,7 +179,39 @@ MQTTBridge::MQTTBridge(NodePrefs *prefs, mesh::PacketManager *mgr, mesh::RTCCloc
|
||||
|
||||
void MQTTBridge::begin() {
|
||||
MQTT_DEBUG_PRINTLN("Initializing MQTT Bridge...");
|
||||
|
||||
|
||||
// PSRAM diagnostic - helps debug memory fragmentation on boards with external RAM
|
||||
#ifdef BOARD_HAS_PSRAM
|
||||
{
|
||||
bool psram_available = psramFound();
|
||||
size_t psram_size = 0;
|
||||
size_t psram_free = 0;
|
||||
if (psram_available) {
|
||||
psram_size = ESP.getPsramSize();
|
||||
psram_free = ESP.getFreePsram();
|
||||
}
|
||||
MQTT_DEBUG_PRINTLN("PSRAM: found=%s, size=%u, free=%u",
|
||||
psram_available ? "YES" : "NO", psram_size, psram_free);
|
||||
if (!psram_available) {
|
||||
MQTT_DEBUG_PRINTLN("PSRAM: board has PSRAM flag but psramFound()=false. "
|
||||
"Trying explicit psramInit()...");
|
||||
bool init_result = psramInit();
|
||||
MQTT_DEBUG_PRINTLN("PSRAM: psramInit() returned %s", init_result ? "true" : "false");
|
||||
if (init_result) {
|
||||
psram_size = ESP.getPsramSize();
|
||||
psram_free = ESP.getFreePsram();
|
||||
MQTT_DEBUG_PRINTLN("PSRAM: after init - size=%u, free=%u", psram_size, psram_free);
|
||||
}
|
||||
}
|
||||
// Log internal heap for comparison
|
||||
MQTT_DEBUG_PRINTLN("PSRAM: internal_free=%u, internal_max_alloc=%u",
|
||||
heap_caps_get_free_size(MALLOC_CAP_INTERNAL),
|
||||
heap_caps_get_largest_free_block(MALLOC_CAP_INTERNAL));
|
||||
}
|
||||
#else
|
||||
MQTT_DEBUG_PRINTLN("PSRAM: not configured for this board (no BOARD_HAS_PSRAM)");
|
||||
#endif
|
||||
|
||||
// Check if WiFi credentials are configured first
|
||||
if (!isWiFiConfigValid(_prefs)) {
|
||||
MQTT_DEBUG_PRINTLN("MQTT Bridge initialization skipped - WiFi credentials not configured");
|
||||
|
||||
@@ -112,9 +112,6 @@ build_flags =
|
||||
-D MESH_PACKET_LOGGING=1
|
||||
-D MESH_DEBUG=1
|
||||
-D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=y
|
||||
-D CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN=y
|
||||
-D CONFIG_MBEDTLS_SSL_IN_CONTENT_LEN=4096
|
||||
-D CONFIG_MBEDTLS_SSL_OUT_CONTENT_LEN=2048
|
||||
build_src_filter = ${Heltec_T190_base.build_src_filter}
|
||||
+<helpers/bridges/MQTTBridge.cpp>
|
||||
+<helpers/MQTTMessageBuilder.cpp>
|
||||
|
||||
@@ -123,9 +123,6 @@ build_flags =
|
||||
-D MESH_PACKET_LOGGING=1
|
||||
-D MESH_DEBUG=1
|
||||
-D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=y
|
||||
-D CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN=y
|
||||
-D CONFIG_MBEDTLS_SSL_IN_CONTENT_LEN=4096
|
||||
-D CONFIG_MBEDTLS_SSL_OUT_CONTENT_LEN=2048
|
||||
-D ESP32_CPU_FREQ=160
|
||||
-D MQTT_WIFI_TX_POWER=WIFI_POWER_19_5dBm
|
||||
-D MQTT_WIFI_POWER_SAVE_DEFAULT=1
|
||||
@@ -186,9 +183,6 @@ build_flags =
|
||||
; -D MESH_PACKET_LOGGING=1
|
||||
; -D MESH_DEBUG=1
|
||||
-D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=y
|
||||
-D CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN=y
|
||||
-D CONFIG_MBEDTLS_SSL_IN_CONTENT_LEN=4096
|
||||
-D CONFIG_MBEDTLS_SSL_OUT_CONTENT_LEN=2048
|
||||
-D ESP32_CPU_FREQ=160
|
||||
-D MQTT_WIFI_TX_POWER=WIFI_POWER_19_5dBm
|
||||
-D MQTT_WIFI_POWER_SAVE_DEFAULT=1
|
||||
|
||||
@@ -143,9 +143,6 @@ build_flags =
|
||||
-D MESH_PACKET_LOGGING=1
|
||||
-D MESH_DEBUG=1
|
||||
-D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=y
|
||||
-D CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN=y
|
||||
-D CONFIG_MBEDTLS_SSL_IN_CONTENT_LEN=4096
|
||||
-D CONFIG_MBEDTLS_SSL_OUT_CONTENT_LEN=2048
|
||||
-D MQTT_WIFI_TX_POWER=WIFI_POWER_19_5dBm
|
||||
-D MQTT_WIFI_POWER_SAVE_DEFAULT=1
|
||||
# -D WIFI_SSID='"ssid"'
|
||||
@@ -186,9 +183,6 @@ build_flags =
|
||||
; -D MESH_PACKET_LOGGING=1
|
||||
; -D MESH_DEBUG=1
|
||||
-D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=y
|
||||
-D CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN=y
|
||||
-D CONFIG_MBEDTLS_SSL_IN_CONTENT_LEN=4096
|
||||
-D CONFIG_MBEDTLS_SSL_OUT_CONTENT_LEN=2048
|
||||
-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}
|
||||
|
||||
@@ -115,9 +115,6 @@ build_flags =
|
||||
-D MESH_PACKET_LOGGING=1
|
||||
-D MESH_DEBUG=1
|
||||
-D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=y
|
||||
-D CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN=y
|
||||
-D CONFIG_MBEDTLS_SSL_IN_CONTENT_LEN=4096
|
||||
-D CONFIG_MBEDTLS_SSL_OUT_CONTENT_LEN=2048
|
||||
-D ESP32_CPU_FREQ=160
|
||||
# -D WIFI_SSID='"ssid"'
|
||||
# -D WIFI_PWD='"password"'
|
||||
@@ -157,9 +154,6 @@ build_flags =
|
||||
; -D MESH_PACKET_LOGGING=1
|
||||
; -D MESH_DEBUG=1
|
||||
-D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=y
|
||||
-D CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN=y
|
||||
-D CONFIG_MBEDTLS_SSL_IN_CONTENT_LEN=4096
|
||||
-D CONFIG_MBEDTLS_SSL_OUT_CONTENT_LEN=2048
|
||||
-D ESP32_CPU_FREQ=160
|
||||
build_src_filter = ${LilyGo_T3S3_sx1262.build_src_filter}
|
||||
+<helpers/bridges/MQTTBridge.cpp>
|
||||
|
||||
@@ -149,9 +149,6 @@ build_flags =
|
||||
; -D MESH_PACKET_LOGGING=1
|
||||
; -D MESH_DEBUG=1
|
||||
-D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=y
|
||||
-D CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN=y
|
||||
-D CONFIG_MBEDTLS_SSL_IN_CONTENT_LEN=4096
|
||||
-D CONFIG_MBEDTLS_SSL_OUT_CONTENT_LEN=2048
|
||||
# -D WIFI_SSID='"ssid"'
|
||||
# -D WIFI_PWD='"password"'
|
||||
# -D MQTT_SERVER='"your-mqtt-broker.com"'
|
||||
@@ -189,9 +186,6 @@ build_flags =
|
||||
; -D MESH_PACKET_LOGGING=1
|
||||
; -D MESH_DEBUG=1
|
||||
-D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=y
|
||||
-D CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN=y
|
||||
-D CONFIG_MBEDTLS_SSL_IN_CONTENT_LEN=4096
|
||||
-D CONFIG_MBEDTLS_SSL_OUT_CONTENT_LEN=2048
|
||||
build_src_filter = ${LilyGo_TBeam_SX1262.build_src_filter}
|
||||
+<helpers/bridges/MQTTBridge.cpp>
|
||||
+<helpers/MQTTMessageBuilder.cpp>
|
||||
|
||||
@@ -149,9 +149,6 @@ build_flags =
|
||||
; -D MESH_PACKET_LOGGING=1
|
||||
; -D MESH_DEBUG=1
|
||||
-D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=y
|
||||
-D CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN=y
|
||||
-D CONFIG_MBEDTLS_SSL_IN_CONTENT_LEN=4096
|
||||
-D CONFIG_MBEDTLS_SSL_OUT_CONTENT_LEN=2048
|
||||
# -D WIFI_SSID='"ssid"'
|
||||
# -D WIFI_PWD='"password"'
|
||||
# -D MQTT_SERVER='"your-mqtt-broker.com"'
|
||||
@@ -189,9 +186,6 @@ build_flags =
|
||||
; -D MESH_PACKET_LOGGING=1
|
||||
; -D MESH_DEBUG=1
|
||||
-D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=y
|
||||
-D CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN=y
|
||||
-D CONFIG_MBEDTLS_SSL_IN_CONTENT_LEN=4096
|
||||
-D CONFIG_MBEDTLS_SSL_OUT_CONTENT_LEN=2048
|
||||
build_src_filter = ${LilyGo_TBeam_SX1276.build_src_filter}
|
||||
+<helpers/bridges/MQTTBridge.cpp>
|
||||
+<helpers/MQTTMessageBuilder.cpp>
|
||||
|
||||
@@ -110,9 +110,6 @@ build_flags =
|
||||
-D MESH_PACKET_LOGGING=1
|
||||
-D MESH_DEBUG=1
|
||||
-D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=y
|
||||
-D CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN=y
|
||||
-D CONFIG_MBEDTLS_SSL_IN_CONTENT_LEN=4096
|
||||
-D CONFIG_MBEDTLS_SSL_OUT_CONTENT_LEN=2048
|
||||
-D ESP32_CPU_FREQ=160
|
||||
# -D WIFI_SSID='"ssid"'
|
||||
# -D WIFI_PWD='"password"'
|
||||
@@ -150,9 +147,6 @@ build_flags =
|
||||
; -D MESH_PACKET_LOGGING=1
|
||||
; -D MESH_DEBUG=1
|
||||
-D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=y
|
||||
-D CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN=y
|
||||
-D CONFIG_MBEDTLS_SSL_IN_CONTENT_LEN=4096
|
||||
-D CONFIG_MBEDTLS_SSL_OUT_CONTENT_LEN=2048
|
||||
-D ESP32_CPU_FREQ=160
|
||||
build_src_filter = ${T_Beam_S3_Supreme_SX1262.build_src_filter}
|
||||
+<helpers/bridges/MQTTBridge.cpp>
|
||||
|
||||
@@ -187,9 +187,6 @@ build_flags =
|
||||
; -D MESH_PACKET_LOGGING=1
|
||||
; -D MESH_DEBUG=1
|
||||
-D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=y
|
||||
-D CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN=y
|
||||
-D CONFIG_MBEDTLS_SSL_IN_CONTENT_LEN=4096
|
||||
-D CONFIG_MBEDTLS_SSL_OUT_CONTENT_LEN=2048
|
||||
-D ESP32_CPU_FREQ=160
|
||||
build_src_filter = ${Station_G2.build_src_filter}
|
||||
+<helpers/bridges/MQTTBridge.cpp>
|
||||
@@ -298,9 +295,6 @@ build_flags =
|
||||
-D MESH_PACKET_LOGGING=1
|
||||
-D MESH_DEBUG=1
|
||||
-D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=y
|
||||
-D CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN=y
|
||||
-D CONFIG_MBEDTLS_SSL_IN_CONTENT_LEN=4096
|
||||
-D CONFIG_MBEDTLS_SSL_OUT_CONTENT_LEN=2048
|
||||
-D ESP32_CPU_FREQ=160
|
||||
# -D WIFI_SSID='"ssid"'
|
||||
# -D WIFI_PWD='"password"'
|
||||
|
||||
@@ -103,9 +103,6 @@ build_flags =
|
||||
-D MESH_PACKET_LOGGING=1
|
||||
-D MESH_DEBUG=1
|
||||
-D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=y
|
||||
-D CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN=y
|
||||
-D CONFIG_MBEDTLS_SSL_IN_CONTENT_LEN=4096
|
||||
-D CONFIG_MBEDTLS_SSL_OUT_CONTENT_LEN=2048
|
||||
-D ESP32_CPU_FREQ=160
|
||||
# -D WIFI_SSID='"ssid"'
|
||||
# -D WIFI_PWD='"password"'
|
||||
@@ -144,9 +141,6 @@ build_flags =
|
||||
; -D MESH_PACKET_LOGGING=1
|
||||
; -D MESH_DEBUG=1
|
||||
-D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=y
|
||||
-D CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN=y
|
||||
-D CONFIG_MBEDTLS_SSL_IN_CONTENT_LEN=4096
|
||||
-D CONFIG_MBEDTLS_SSL_OUT_CONTENT_LEN=2048
|
||||
-D ESP32_CPU_FREQ=160
|
||||
build_src_filter = ${Xiao_S3_WIO.build_src_filter}
|
||||
+<helpers/bridges/MQTTBridge.cpp>
|
||||
|
||||
Reference in new issue
Block a user