From c762a279c01c419735107ac265c22711da687912 Mon Sep 17 00:00:00 2001
From: Emilio Corigliano <emilio.corigliano@skywarder.eu>
Date: Wed, 2 Oct 2024 23:12:22 +0200
Subject: [PATCH] [HIL] Logging lsm6dsrx also in hil mode (fifo problem)

---
 src/boards/Main/Sensors/HILSensors.h    | 8 ++++++++
 src/boards/Main/Sensors/Sensors.h       | 3 ++-
 src/boards/Payload/Sensors/HILSensors.h | 8 ++++++++
 src/boards/Payload/Sensors/Sensors.h    | 3 ++-
 4 files changed, 20 insertions(+), 2 deletions(-)

diff --git a/src/boards/Main/Sensors/HILSensors.h b/src/boards/Main/Sensors/HILSensors.h
index a78575f97..4b5d478a3 100644
--- a/src/boards/Main/Sensors/HILSensors.h
+++ b/src/boards/Main/Sensors/HILSensors.h
@@ -41,6 +41,14 @@ public:
     explicit HILSensors(bool enableHw) : Super{}, enableHw{enableHw} {}
 
 private:
+    void lsm6dsrxCallback() override
+    {
+        if (!lsm6dsrx)
+            return;
+
+        Boardcore::Logger::getInstance().log(lsm6dsrx->getLastSample());
+    }
+
     bool postSensorCreationHook() override
     {
         using namespace Boardcore;
diff --git a/src/boards/Main/Sensors/Sensors.h b/src/boards/Main/Sensors/Sensors.h
index 0fe1840bd..9a1beeaea 100644
--- a/src/boards/Main/Sensors/Sensors.h
+++ b/src/boards/Main/Sensors/Sensors.h
@@ -116,6 +116,8 @@ public:
 protected:
     virtual bool postSensorCreationHook() { return true; }
 
+    virtual void lsm6dsrxCallback();
+
     Boardcore::TaskScheduler& getSensorsScheduler();
 
     miosix::FastMutex canMutex;
@@ -165,7 +167,6 @@ private:
     void ubxgpsCallback();
 
     void lsm6dsrxInit();
-    void lsm6dsrxCallback();
 
     void vn100Init();
     void vn100Callback();
diff --git a/src/boards/Payload/Sensors/HILSensors.h b/src/boards/Payload/Sensors/HILSensors.h
index 533b455bb..46b2dae87 100644
--- a/src/boards/Payload/Sensors/HILSensors.h
+++ b/src/boards/Payload/Sensors/HILSensors.h
@@ -41,6 +41,14 @@ public:
     explicit HILSensors(bool enableHw) : Super{}, enableHw{enableHw} {}
 
 private:
+    void lsm6dsrxCallback() override
+    {
+        if (!lsm6dsrx)
+            return;
+
+        Boardcore::Logger::getInstance().log(lsm6dsrx->getLastSample());
+    }
+
     bool postSensorCreationHook() override
     {
         using namespace Boardcore;
diff --git a/src/boards/Payload/Sensors/Sensors.h b/src/boards/Payload/Sensors/Sensors.h
index 8d729965b..07ac1dfd1 100644
--- a/src/boards/Payload/Sensors/Sensors.h
+++ b/src/boards/Payload/Sensors/Sensors.h
@@ -139,6 +139,8 @@ protected:
      */
     virtual bool postSensorCreationHook() { return true; }
 
+    virtual void lsm6dsrxCallback();
+
     std::unique_ptr<Boardcore::LPS22DF> lps22df;
     std::unique_ptr<Boardcore::LPS28DFW> lps28dfw;
     std::unique_ptr<Boardcore::H3LIS331DL> h3lis331dl;
@@ -177,7 +179,6 @@ private:
     void ubxgpsCallback();
 
     void lsm6dsrxInit();
-    void lsm6dsrxCallback();
 
     void ads131m08Init();
     void ads131m08Callback();
-- 
GitLab