Go to the documentation of this file.
25 #include "../SensorValues/SensorValueRTThreadTimings.h"
26 #include "../util/RtTiming.h"
80 template <
class SensorValueType = SensorValueRTThreadTimings>
85 "The template parameter of RTThreadTimingsSensorDeviceImpl should be derived "
86 "from SensorValueRTThreadTimings");
130 #define make_markRT_X_Start_End(name) \
131 virtual void rtMarkRt##name##Start() override \
133 const IceUtil::Time now = armarx::rtNow(); \
134 value.rt##name##RoundTripTime = now - rt##name##Start; \
135 rt##name##Start = now; \
137 virtual void rtMarkRt##name##End() override \
139 value.rt##name##Duration = armarx::rtNow() - rt##name##Start; \
141 static_assert(true, "force trailing semi-colon")
150 #undef make_markRT_X_Start_End
virtual void rtMarkRtRunNJointControllersStart()=0
The SensorValueBase class.
virtual void rtMarkRtBusSendReceiveStart()=0
RTThreadTimingsSensorDeviceImpl(const std::string &name)
virtual void rtMarkRtResetAllTargetsEnd()=0
virtual void rtMarkRtLoopPreSleep()=0
virtual void rtMarkRtHandleInvalidTargetsStart()=0
virtual void rtMarkRtSwitchControllerSetupStart()=0
IceUtil::Time rtRunNJointControllersStart
virtual void rtMarkRtRunJointControllersStart()=0
void rtMarkRtLoopStart() override
IceUtil::Time rtLoopStart
TYPEDEF_PTRS_HANDLE(Devices)
virtual void rtMarkRtLoopStart()=0
TYPEDEF_PTRS_SHARED(ControlDevice)
virtual void rtMarkRtHandleInvalidTargetsEnd()=0
This Module manages the ControlThread.
std::shared_ptr< Value > value()
void rtMarkRtLoopPreSleep() override
IceUtil::Time rtResetAllTargetsStart
This class represents some part of the robot providing sensor values.
virtual void rtMarkRtReadSensorDeviceValuesStart()=0
const SensorValueBase * getSensorValue() const override
IceUtil::Time rtSwitchControllerSetupStart
virtual void rtMarkRtResetAllTargetsStart()=0
IceUtil::Time rtHandleInvalidTargetsStart
void rtMarkRtBusSendReceiveEnd() override
armarx::core::time::DateTime Time
IceUtil::Time rtReadSensorDeviceValuesStart
IceUtil::Time rtRunJointControllersStart
IceUtil::Time rtBusSendReceiveStart
virtual void rtMarkRtReadSensorDeviceValuesEnd()=0
IceUtil::Time rtUpdateSensorAndControlBufferStart
virtual void rtMarkRtRunNJointControllersEnd()=0
The RobotUnit class manages a robot and its controllers.
virtual void rtMarkRtBusSendReceiveEnd()=0
virtual void rtMarkRtRunJointControllersEnd()=0
make_markRT_X_Start_End(SwitchControllerSetup)
virtual void rtMarkRtUpdateSensorAndControlBufferEnd()=0
RTThreadTimingsSensorDevice(const std::string &name)
virtual void rtMarkRtSwitchControllerSetupEnd()=0
void rtMarkRtBusSendReceiveStart() override
This file offers overloads of toIce() and fromIce() functions for STL container types.
const SensorValueBase * getSensorValue() const override=0
virtual void rtMarkRtUpdateSensorAndControlBufferStart()=0