From e6707cf285c01187aaa1ffa290031639e9e52f7d Mon Sep 17 00:00:00 2001
From: Moritz Perschke <moritz.perschke@uibk.ac.at>
Date: Thu, 11 Aug 2022 11:22:27 +0200
Subject: [PATCH] moved free() of data_struct to Message class destructor, as
 sending function is async

---
 client/client/lib/espnow/src/espnow.cpp | 6 ++++--
 client/client/lib/espnow/src/espnow.hpp | 1 +
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/client/client/lib/espnow/src/espnow.cpp b/client/client/lib/espnow/src/espnow.cpp
index 36d8b8b..11c1118 100644
--- a/client/client/lib/espnow/src/espnow.cpp
+++ b/client/client/lib/espnow/src/espnow.cpp
@@ -81,13 +81,11 @@ esp_err_t Message::send(){
     for(int i=0; i<data->amountData; i++){
         Serial.println(data->values[i]);
     }
-    // TODO: cache data before resetting
     Serial.println((String) "time sent: " + data->timestamp);
     Serial.println((String) "Send status: " + success);
     Serial.println();
     Serial.flush();
 
-    free((void*) data);
     return success;
 }
 
@@ -120,4 +118,8 @@ Message :: Message(data_struct old_data){
         Serial.println("backup mac used");
     }
     preferences.end();
+}
+
+Message :: ~Message(){
+    free((void*) data);
 }
\ No newline at end of file
diff --git a/client/client/lib/espnow/src/espnow.hpp b/client/client/lib/espnow/src/espnow.hpp
index 50f65ab..05ab847 100644
--- a/client/client/lib/espnow/src/espnow.hpp
+++ b/client/client/lib/espnow/src/espnow.hpp
@@ -23,6 +23,7 @@ class Message{
     public:
         Message();
         Message(data_struct old_data);
+        ~Message();
         void add_data(float value, int identifier);
         esp_err_t send();
 
-- 
GitLab