From 05b967ef10bd4effdcad1617699379750dd5e6aa Mon Sep 17 00:00:00 2001
From: Christoph Pohl <christoph.pohl@kit.edu>
Date: Thu, 30 Nov 2023 17:05:12 +0100
Subject: [PATCH] Update timestamp conversion in RobotUnit logging module

Updated the RobotUnitModuleLogging to convert RT timestamps to non-RT timestamps (relative to epoch) using a new function. This should fix the disparity between the timings
---
 .../RobotUnit/RobotUnitModules/RobotUnitModuleLogging.cpp     | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/source/RobotAPI/components/units/RobotUnit/RobotUnitModules/RobotUnitModuleLogging.cpp b/source/RobotAPI/components/units/RobotUnit/RobotUnitModules/RobotUnitModuleLogging.cpp
index b7b8b5393..9175ba0a5 100644
--- a/source/RobotAPI/components/units/RobotUnit/RobotUnitModules/RobotUnitModuleLogging.cpp
+++ b/source/RobotAPI/components/units/RobotUnit/RobotUnitModules/RobotUnitModuleLogging.cpp
@@ -29,6 +29,7 @@
 #include <ArmarXCore/core/ArmarXManager.h>
 #include <ArmarXCore/core/util/FileSystemPathBuilder.h>
 #include <ArmarXCore/util/CPPUtility/trace.h>
+
 #include "RobotAPI/components/units/RobotUnit/util/NonRtTiming.h"
 
 #include "../util/ControlThreadOutputBuffer.h"
@@ -1061,7 +1062,8 @@ namespace armarx::RobotUnitModule
         auto& data = result.emplace_back(getResultElement());
 
         data.iterationId = e.iteration;
-        data.timestampUSec = e.sensorValuesTimestamp.toMicroSeconds();
+        data.timestampUSec =
+            armarx::mapRtTimestampToNonRtTimestamp(e.sensorValuesTimestamp).toMicroSeconds();
         data.timesSinceLastIterationUSec = e.timeSinceLastIteration.toMicroSeconds();
     }
 
-- 
GitLab