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();
110 armarx::core::time::dto::DateTime now;
131 else if (
sleepmode ==
"std::this_thread::sleep_for")
133 std::this_thread::sleep_for(std::chrono::microseconds(10 * 1000));
137 throw LocalException(
"Unknown sleepmode.");
141 auto topicCallDelay = afterTopicCall - beforeTopicCall;
142 auto sleepDelay = afterSleep - afterTopicCall;
143 if (sleepDelay.toMicroSeconds() > 20000)
147 if (topicCallDelay.toMicroSeconds() > 1000)