From c3cbbd46ccfd7daba863376f2cd2287c06556e69 Mon Sep 17 00:00:00 2001
From: Moritz Perschke <moritz.perschke@uibk.ac.at>
Date: Tue, 22 Nov 2022 11:43:35 +0100
Subject: [PATCH] changed oversight in espnow

---
 .../client/lib/espnow/src/ESPNow.cpp           | 18 ++++++++++++------
 1 file changed, 12 insertions(+), 6 deletions(-)

diff --git a/Tests/Mieming/host_esp32Wroom/client/lib/espnow/src/ESPNow.cpp b/Tests/Mieming/host_esp32Wroom/client/lib/espnow/src/ESPNow.cpp
index 28eedfb..81d1195 100644
--- a/Tests/Mieming/host_esp32Wroom/client/lib/espnow/src/ESPNow.cpp
+++ b/Tests/Mieming/host_esp32Wroom/client/lib/espnow/src/ESPNow.cpp
@@ -64,11 +64,11 @@ void on_data_recv(const uint8_t *mac, const uint8_t *incomingData, int len)
 			received_msg.epoch_seconds); // see https://www.esp32.com/viewtopic.php?t=9965, maybe this needs an offset
 			Serial.println(Time::getInstance().getEpochSeconds());
 			if (!preferences.isKey("host")) {
-			preferences.putBytes("host", received_msg.host, sizeof(received_msg.host));
-			ESP_LOGI(TAG, "host MAC address saved to flash");
+				preferences.putBytes("host", received_msg.host, sizeof(received_msg.host));
+				ESP_LOGI(TAG, "host MAC address saved to flash");
 
-			// add host to peers
-			add_host_to_peers(received_msg);
+				// add host to peers
+				add_host_to_peers(received_msg);
 			}
 		}
 		case hostChange:{
@@ -80,10 +80,17 @@ void on_data_recv(const uint8_t *mac, const uint8_t *incomingData, int len)
 				esp_now_del_peer(old);
 			}
 			// add new host
+			preferences.putBytes("host", received_msg.host, sizeof(received_msg.host));
+			ESP_LOGI(TAG, "Host Mac address saved to flash:");
+			for(int i=0; i<6; i++){
+				Serial.print(received_msg.host[i], HEX);
+				Serial.print(":");
+			}
+			Serial.println();
 			add_host_to_peers(received_msg);
 		}
 		default:{
-			return;
+			break;
 		}
 	}
 	preferences.end();
@@ -110,7 +117,6 @@ esp_err_t espnow_setup()
 	hostInfo.encrypt = false;
 	esp_now_add_peer(&hostInfo);
 
-	preferences.clear();
 	esp_now_register_recv_cb(on_data_recv);
 	esp_now_register_send_cb(on_data_sent);
 
-- 
GitLab