From 608eec3894b51cc1bcaebdc3163ea5f873f661a5 Mon Sep 17 00:00:00 2001 From: Rune Harlyk Date: Fri, 30 Jan 2026 12:37:55 +0100 Subject: [PATCH] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20Only=20collect=20messages?= =?UTF-8?q?=20when=20there=20subscribers?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- esp32/src/main.cpp | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/esp32/src/main.cpp b/esp32/src/main.cpp index 4a3b731..660ba76 100644 --- a/esp32/src/main.cpp +++ b/esp32/src/main.cpp @@ -288,18 +288,24 @@ void IRAM_ATTR serviceLoopEntry(void *) { apService.loop(); EXECUTE_EVERY_N_MS(2000, { - socket_message_AnalyticsData analytics = socket_message_AnalyticsData_init_zero; - system_service::getAnalytics(analytics); - socket.emit(analytics); + if (socket.hasSubscribers(socket_message_Message_analytics_tag)) { + socket_message_AnalyticsData analytics = socket_message_AnalyticsData_init_zero; + system_service::getAnalytics(analytics); + socket.emit(analytics); + } }); - EXECUTE_EVERY_N_MS(500, { - socket_message_IMUData imu = socket_message_IMUData_init_zero; - peripherals.getIMUProto(imu); - socket.emit(imu); + EXECUTE_EVERY_N_MS(100, { + if (socket.hasSubscribers(socket_message_Message_imu_tag)) { + socket_message_IMUData imu = socket_message_IMUData_init_zero; + peripherals.getIMUProto(imu); + socket.emit(imu); + } - socket_message_RSSIData rssi = {.rssi = WiFi.RSSI()}; - socket.emit(rssi); + if (socket.hasSubscribers(socket_message_Message_rssi_tag)) { + socket_message_RSSIData rssi = {.rssi = WiFi.RSSI()}; + socket.emit(rssi); + } }); EXECUTE_EVERY_N_MS(60000, { FileSystemWS::fsHandler.cleanupExpiredTransfers(); });