From acd239e0bf629357ed16108408398499d623e226 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Nicol=C3=B2=20Caruso?= <niccolo.caruso@skywarder.eu>
Date: Thu, 6 Mar 2025 15:33:12 +0100
Subject: [PATCH] [ARP] Fixes on the logdecoder for the logAnglesData struct

---
 src/shared/logger/LogTypes.h                    |  2 ++
 src/shared/sensors/logAnglesData.h              |  3 +++
 src/tests/sensors/logAnglesData.h               |  1 +
 src/tests/sensors/test-vn300_gyro_to_angles.cpp | 10 ++++++----
 4 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/src/shared/logger/LogTypes.h b/src/shared/logger/LogTypes.h
index 64d7423c7..85c4c1d5e 100644
--- a/src/shared/logger/LogTypes.h
+++ b/src/shared/logger/LogTypes.h
@@ -80,6 +80,7 @@
 #include <sensors/analog/pressure/nxp/MPXH6400AData.h>
 #include <sensors/analog/pressure/nxp/MPXHZ6130AData.h>
 #include <sensors/logAnglesData.h>
+#include <test/AnnoyingScalar.h>
 
 #include <fstream>
 #include <iostream>
@@ -184,6 +185,7 @@ void registerTypes(Deserializer& ds)
     ds.registerType<FollowerState>();
     ds.registerType<LogAntennasCoordinates>();
     ds.registerType<LogRocketCoordinates>();
+    ds.registerType<LogAngles>();
 }
 
 }  // namespace LogTypes
diff --git a/src/shared/sensors/logAnglesData.h b/src/shared/sensors/logAnglesData.h
index 5632f109e..40247bf96 100644
--- a/src/shared/sensors/logAnglesData.h
+++ b/src/shared/sensors/logAnglesData.h
@@ -1,5 +1,7 @@
 #include <iostream>
+#include <cmath>
 
+namespace Boardcore{
 struct LogAngles
 {
     float roll, pitch, yaw;
@@ -24,3 +26,4 @@ struct LogAngles
         os << roll << "," << pitch << "," << yaw << "\n";
     }
 };
+}
\ No newline at end of file
diff --git a/src/tests/sensors/logAnglesData.h b/src/tests/sensors/logAnglesData.h
index 90667e0b7..40247bf96 100644
--- a/src/tests/sensors/logAnglesData.h
+++ b/src/tests/sensors/logAnglesData.h
@@ -1,4 +1,5 @@
 #include <iostream>
+#include <cmath>
 
 namespace Boardcore{
 struct LogAngles
diff --git a/src/tests/sensors/test-vn300_gyro_to_angles.cpp b/src/tests/sensors/test-vn300_gyro_to_angles.cpp
index b06221150..f8f2e96a2 100644
--- a/src/tests/sensors/test-vn300_gyro_to_angles.cpp
+++ b/src/tests/sensors/test-vn300_gyro_to_angles.cpp
@@ -21,7 +21,7 @@
  */
 
 #include <drivers/timer/TimestampTimer.h>
-#include <logAnglesData.h>
+#include <sensors/logAnglesData.h>
 #include <logger/Logger.h>
 #include <sensors/Vectornav/VN300/VN300.h>
 
@@ -50,11 +50,13 @@ void computeEulerAngles(const Vector3d& gyro, double dt, Vector3d& angles)
             cos(ass(1));  // rotation matrix angular_rate --> body_rate
 
     Vector3d angular_rate = G.transpose() * body_rate;
-
+    printf("angles -->%f,%f,%f\n",angles(0),angles(1),angles(2));
+    printf("angular_rate -->%f,%f,%f\n",angular_rate(0),angular_rate(1),angular_rate(2));
+    printf("dt: %f", (dt / 1000000));
     Vector3d new_angles =
-        angles + angular_rate * (dt / 10000000);  // integration
+        angles + angular_rate * (dt / 1000000);  // integration
     angles = new_angles;
-
+    printf("new_angles -->%f,%f,%f\n",angles(0),angles(1),angles(2));
     // rad --> deg
 }
 
-- 
GitLab