45 getProperty<std::string>(
"RobotHealthTopicName").getValue());
49 #define NANOSECS_PER_SEC 1000000000
57 return nanosleep(&ts,
nullptr);
64 auto end = start + microseconds;
75 auto end = start + microseconds;
78 std::this_thread::yield();
86 auto end = start + microseconds;
96 auto args = RobotHealthHeartbeatArgs();
108 armarx::core::time::dto::DateTime now;
129 else if (
sleepmode ==
"std::this_thread::sleep_for")
131 std::this_thread::sleep_for(std::chrono::microseconds(10 * 1000));
135 throw LocalException(
"Unknown sleepmode.");
139 auto topicCallDelay = afterTopicCall - beforeTopicCall;
140 auto sleepDelay = afterSleep - afterTopicCall;
141 if (sleepDelay.toMicroSeconds() > 20000)
145 if (topicCallDelay.toMicroSeconds() > 1000)