From 381edbffa7a323c40d9da59f8bfd9b2c9635a1d9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Nicol=C3=B2=20Caruso?= <nicolo.caruso@skywarder.eu>
Date: Thu, 8 May 2025 11:55:07 +0200
Subject: [PATCH] [ARP] Added cpu mean to the HubData

---
 src/Groundstation/Automated/Hub.cpp   | 7 +++++++
 src/Groundstation/Automated/HubData.h | 5 +++--
 2 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/src/Groundstation/Automated/Hub.cpp b/src/Groundstation/Automated/Hub.cpp
index d9a62adbe..21d366c1e 100644
--- a/src/Groundstation/Automated/Hub.cpp
+++ b/src/Groundstation/Automated/Hub.cpp
@@ -31,6 +31,7 @@
 #include <algorithms/NAS/NASState.h>
 #include <common/Events.h>
 #include <common/MavlinkLyra.h>
+#include <diagnostic/CpuMeter/CpuMeter.h>
 #include <logger/Logger.h>
 #include <sensors/SensorData.h>
 
@@ -46,6 +47,8 @@ void Hub::dispatchOutgoingMsg(const mavlink_message_t& msg)
 {
     logHubData.timestamp = TimestampTimer::getTimestamp();
     logHubData.groundRx  = logHubData.groundRx + 1;
+    logHubData.cpuMean   = CpuMeter::getCpuStats().mean;
+
     Logger::getInstance().log(logHubData);
 
     TRACE("[info] Hub: Packet arrived from outgoing messages!!!\n");
@@ -263,6 +266,8 @@ void Hub::dispatchOutgoingMsg(const mavlink_message_t& msg)
 
         logHubData.timestamp = TimestampTimer::getTimestamp();
         logHubData.sniffedRx = logHubData.sniffedRx + 1;
+        logHubData.cpuMean   = CpuMeter::getCpuStats().mean;
+
         Logger::getInstance().log(logHubData);
     }
 }
@@ -278,6 +283,8 @@ void Hub::dispatchIncomingMsg(const mavlink_message_t& msg)
 
     logHubData.timestamp = TimestampTimer::getTimestamp();
     logHubData.rocketRx  = logHubData.rocketRx + 1;
+    logHubData.cpuMean   = CpuMeter::getCpuStats().mean;
+
     Logger::getInstance().log(logHubData);
 
     // Extracting NAS rocket state
diff --git a/src/Groundstation/Automated/HubData.h b/src/Groundstation/Automated/HubData.h
index ca56c5e4e..375b112c9 100644
--- a/src/Groundstation/Automated/HubData.h
+++ b/src/Groundstation/Automated/HubData.h
@@ -38,16 +38,17 @@ struct HubData
     uint16_t groundRx  = 0;
     uint16_t rocketRx  = 0;
     uint16_t sniffedRx = 0;
+    float cpuMean      = 0;
 
     static std::string header()
     {
-        return "timestamp,groundRx,rocketRx,sniffedRx\n";
+        return "timestamp,groundRx,rocketRx,sniffedRx,cpuMean\n";
     }
 
     void print(std::ostream& os) const
     {
         os << timestamp << "," << groundRx << "," << rocketRx << ","
-           << sniffedRx << "\n";
+           << sniffedRx << "," << cpuMean << "\n";
     }
 };
 }  // namespace Antennas
-- 
GitLab