1 #ifndef ORG_EEROS_CORE_PERIODICCOUNTER_HPP_ 2 #define ORG_EEROS_CORE_PERIODICCOUNTER_HPP_ 15 using clk = std::chrono::steady_clock;
16 using time_point = clk::time_point;
20 using MonitorFunc = std::function<void(PeriodicCounter&, Logger&)>;
41 static void addDefaultMonitor(std::vector<MonitorFunc> &monitors,
double period,
double tolerance = 0.05);
44 double counter_period;
54 #endif // ORG_EEROS_CORE_PERIODICCOUNTER_HPP_ void tock()
Definition: PeriodicCounter.cpp:31
Definition: Logger.hpp:15
void addDefaultMonitor(double tolerance=0.05)
Definition: PeriodicCounter.cpp:22
void setResetTime(double sec)
Definition: PeriodicCounter.cpp:18
Definition: PeriodicCounter.hpp:14
std::function< void(PeriodicCounter &, Logger &)> MonitorFunc
Definition: PeriodicCounter.hpp:20
std::vector< MonitorFunc > monitors
Definition: PeriodicCounter.hpp:39
PeriodicCounter(double period=0, unsigned logger_category=0)
Definition: PeriodicCounter.cpp:5
Definition: Config.hpp:14
Statistics jitter
Definition: PeriodicCounter.hpp:36
Definition: LogEntry.hpp:8
Definition: Statistics.hpp:6
void reset()
Definition: PeriodicCounter.cpp:58
void operator>>(eeros::logger::LogEntry &event)
Definition: PeriodicCounter.cpp:65
Statistics run
Definition: PeriodicCounter.hpp:37
void setPeriod(double period)
Definition: PeriodicCounter.cpp:13
Statistics period
Definition: PeriodicCounter.hpp:35
void tick()
Definition: PeriodicCounter.cpp:26