Go to the documentation of this file.
49 end(
const char* comment)
57 end(
const char* comment,
double thresholdMS)
59 const double diff = (
armarx::rtNow() - start_).toMilliSecondsDouble();
60 if (diff >= thresholdMS)
83 end(
const std::uint64_t bin,
const char* comment)
86 "%s - duration: %.3f ms",
92 end(
const std::uint64_t bin,
const char* comment,
double thresholdMS)
94 const auto diff = (
armarx::rtNow() - start_).toMilliSecondsDouble();
95 if (diff >= thresholdMS)
97 BUS_INFO(bin,
"%s - duration: %.3f ms", comment, diff);
121 "%s - duration: %.3f ms",
129 const auto diff = (
armarx::rtNow() - start_).toMilliSecondsDouble();
130 if (diff >= thresholdMS)
132 SLAVE_INFO(sid,
"%s - duration: %.3f ms", comment, diff);
142 #define GENERAL_TIMING_START(name) \
143 auto name = armarx::control::ethercat::timing::general::Timer(); \
144 if constexpr (armarx::control::ethercat::timing::enableTimingInformation) \
148 #define GENERAL_TIMING_END_COMMENT(name, comment) \
149 if constexpr (armarx::control::ethercat::timing::enableTimingInformation) \
153 #define GENERAL_TIMING_END(name) GENERAL_TIMING_END_COMMENT(name, #name)
154 #define GENERAL_TIMING_CEND_COMMENT(name, comment, thresholdMs) \
155 if constexpr (armarx::control::ethercat::timing::enableTimingInformation) \
157 name.end(comment, thresholdMs); \
159 #define GENERAL_TIMING_CEND(name, thresholdMs) GENERAL_TIMING_CEND_COMMENT(name, #name, thresholdMs)
163 #define BUS_TIMING_START(name) \
164 auto name = armarx::control::ethercat::timing::bus::Timer(); \
165 if constexpr (armarx::control::ethercat::timing::enableTimingInformation) \
170 #define BUS_TIMING_END_COMMENT(name, bin, comment) \
171 if constexpr (armarx::control::ethercat::timing::enableTimingInformation) \
173 name.end(bin, comment); \
175 #define BUS_TIMING_END(name, bin) BUS_TIMING_END_COMMENT(name, bin, #name)
176 #define BUS_TIMING_CEND_COMMENT(name, bin, comment, thresholdMs) \
177 if constexpr (armarx::control::ethercat::timing::enableTimingInformation) \
179 name.end(bin, comment, thresholdMs); \
181 #define BUS_TIMING_CEND(name, bin, thresholdMs) \
182 BUS_TIMING_CEND_COMMENT(name, bin, #name, thresholdMs)
186 #define SLAVE_TIMING_START(name) \
187 auto name = armarx::control::ethercat::timing::slave::Timer(); \
188 if constexpr (armarx::control::ethercat::timing::enableTimingInformation) \
192 #define SLAVE_TIMING_END_COMMENT(sid, name, comment) \
193 if constexpr (armarx::control::ethercat::timing::enableTimingInformation) \
195 name.end(sid, comment); \
197 #define SLAVE_TIMING_END(sid, name) SLAVE_TIMING_END_COMMENT(sid, name, #name)
198 #define SLAVE_TIMING_CEND_COMMENT(sid, name, comment, thresholdMs) \
199 if constexpr (armarx::control::ethercat::timing::enableTimingInformation) \
201 name.end(sid, comment, thresholdMs); \
203 #define SLAVE_TIMING_CEND(sid, name, thresholdMs) \
204 SLAVE_TIMING_CEND_COMMENT(sid, name, #name, thresholdMs)
void end(const std::uint64_t bin, const char *comment)
void end(const char *comment)
void end(const std::uint64_t bin, const char *comment, double thresholdMS)
#define BUS_INFO(bin,...)
The SlaveIdentifier class is a POD-type representing a unique set of values identifying an EtherCAT s...
void end(const SlaveIdentifier sid, const char *comment)
constexpr bool enableTimingInformation
void end(const SlaveIdentifier sid, const char *comment, double thresholdMS)
armarx::core::time::DateTime Time
void end(const char *comment, double thresholdMS)
#define GENERAL_INFO(...)
#define SLAVE_INFO(sid,...)