From 0803e2339c2deabace6e3919323c75bc679b41f0 Mon Sep 17 00:00:00 2001 From: CommanderRedYT Date: Wed, 22 Feb 2023 01:56:33 +0100 Subject: [PATCH] Sometimes heap_caps_get_largest_free_block() crashes --- Kconfig.projbuild | 7 +++++++ src/espasyncota.cpp | 7 +++++++ 2 files changed, 14 insertions(+) create mode 100644 Kconfig.projbuild diff --git a/Kconfig.projbuild b/Kconfig.projbuild new file mode 100644 index 0000000..6363e59 --- /dev/null +++ b/Kconfig.projbuild @@ -0,0 +1,7 @@ +menu "ESPAsyncOTA" + +config ESPASYNCOTA_DISABLE_HEAP_CAPS_LOG + bool "Disable heap_caps_get_largest_free_block() log" + default n + +endmenu diff --git a/src/espasyncota.cpp b/src/espasyncota.cpp index 3d56771..342b213 100644 --- a/src/espasyncota.cpp +++ b/src/espasyncota.cpp @@ -226,11 +226,18 @@ void EspAsyncOta::update() if (bits & REQUEST_VERIFYING_BIT) ESP_LOGI(TAG, "OTA Verifying"); else if (m_totalSize) +#ifdef ESPASYNCOTA_DISABLE_HEAP_CAPS_LOG + ESP_LOGI(TAG, "OTA Progress %i of %i (%.2f%%) heap8=disabled", + m_progress, + *m_totalSize, + 100.f*m_progress / *m_totalSize); +#else ESP_LOGI(TAG, "OTA Progress %i of %i (%.2f%%) heap8=%zd", m_progress, *m_totalSize, 100.f*m_progress / *m_totalSize, heap_caps_get_largest_free_block(MALLOC_CAP_INTERNAL|MALLOC_CAP_8BIT)); +#endif else ESP_LOGI(TAG, "OTA Progress %i of unknown", m_progress); }