From de7ab43ea0f4261155303c47d73500b9d98bde58 Mon Sep 17 00:00:00 2001 From: Rainer Kartmann <rainer.kartmann@kit.edu> Date: Thu, 30 Nov 2023 10:49:44 +0100 Subject: [PATCH] Map timestamp from realtime part (MONOTONIC RAW) to epoch-timestamp (REAL_TIME) --- .../RobotUnit/RobotUnitModules/RobotUnitModulePublisher.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/source/RobotAPI/components/units/RobotUnit/RobotUnitModules/RobotUnitModulePublisher.cpp b/source/RobotAPI/components/units/RobotUnit/RobotUnitModules/RobotUnitModulePublisher.cpp index 4b9a12a21..c96a83d54 100644 --- a/source/RobotAPI/components/units/RobotUnit/RobotUnitModules/RobotUnitModulePublisher.cpp +++ b/source/RobotAPI/components/units/RobotUnit/RobotUnitModules/RobotUnitModulePublisher.cpp @@ -35,6 +35,7 @@ #include <RobotAPI/components/units/RobotUnit/RobotUnitModules/RobotUnitModuleDevices.h> #include <RobotAPI/components/units/RobotUnit/RobotUnitModules/RobotUnitModuleUnits.h> #include <RobotAPI/components/units/RobotUnit/Units/RobotUnitSubUnit.h> +#include <RobotAPI/components/units/RobotUnit/util/NonRtTiming.h> namespace armarx::RobotUnitModule { @@ -632,7 +633,10 @@ namespace armarx::RobotUnitModule const auto requestedJointControllers = _module<ControlThreadDataBuffer>().copyRequestedJointControllers(); - lastControlThreadTimestamp = controlThreadOutputBuffer.sensorValuesTimestamp; + // controlThreadOutputBuffer.sensorValuesTimestamp is in MONOTONIC_RAW (not relative to epoch). + // We have to map it to be relative to epoch (REAL_TIME). + lastControlThreadTimestamp = + armarx::mapRtTimestampToNonRtTimestamp(controlThreadOutputBuffer.sensorValuesTimestamp); const bool publishToObserver = !(publishIterationCount % debugObserverSkipIterations); //publish publishing meta state -- GitLab