From 9a3a479c4f20197f6836582860475f7534d62fc3 Mon Sep 17 00:00:00 2001 From: Theo Arends <11044339+arendst@users.noreply.github.com> Date: Fri, 17 Mar 2023 21:17:53 +0100 Subject: [PATCH] Reduce heap fragmentation --- tasmota/tasmota_xdrv_driver/xdrv_03_energy.ino | 6 +++--- tasmota/tasmota_xdrv_driver/xdrv_03_esp32_energy.ino | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/tasmota/tasmota_xdrv_driver/xdrv_03_energy.ino b/tasmota/tasmota_xdrv_driver/xdrv_03_energy.ino index 252de3f48..44959701c 100644 --- a/tasmota/tasmota_xdrv_driver/xdrv_03_energy.ino +++ b/tasmota/tasmota_xdrv_driver/xdrv_03_energy.ino @@ -156,8 +156,8 @@ bool EnergyFmtMalloc(void) { } void EnergyFmtFree(void) { - free(Energy->value); - Energy->value = nullptr; +// free(Energy->value); // Let's keep it for future use reducing heap fragmentation +// Energy->value = nullptr; } char* EnergyFmt(float* input, uint32_t resolution, uint32_t single = 0); @@ -1132,7 +1132,7 @@ void EnergyDrvInit(void) { Energy = (tEnergy*)calloc(sizeof(tEnergy), 1); // Need calloc to reset registers to 0/false if (!Energy) { return; } - EnergyFmtFree(); + Energy->value = nullptr; // Energy->voltage_common = false; // Energy->frequency_common = false; // Energy->use_overtemp = false; diff --git a/tasmota/tasmota_xdrv_driver/xdrv_03_esp32_energy.ino b/tasmota/tasmota_xdrv_driver/xdrv_03_esp32_energy.ino index 2edf08b33..58d08fa58 100644 --- a/tasmota/tasmota_xdrv_driver/xdrv_03_esp32_energy.ino +++ b/tasmota/tasmota_xdrv_driver/xdrv_03_esp32_energy.ino @@ -383,8 +383,8 @@ bool EnergyFmtMalloc(void) { } void EnergyFmtFree(void) { - free(Energy->value); - Energy->value = nullptr; +// free(Energy->value); // Let's keep it for future use reducing heap fragmentation +// Energy->value = nullptr; } char* EnergyFmt(float* input, uint32_t resolution, uint32_t single = 0); @@ -1367,7 +1367,7 @@ void EnergyDrvInit(void) { EnergySettingsLoad(0); EnergyRtcSettingsLoad(); - EnergyFmtFree(); + Energy->value = nullptr; // Energy->voltage_common = false; // Energy->frequency_common = false; // Energy->use_overtemp = false;