X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Futils%2Ftimer.hpp;h=b34fdf643f13b234660e7aba32995e8ec4c94403;hb=4e2d038c42d6995d69239455ec4fbad9931fcfd5;hp=c8b7fb90aea7d0530bf49dc87d65cb014da3a887;hpb=78daa605c5abd64054dad9f5fcfee638f8c515e0;p=apps%2Flow-level-can-service.git diff --git a/src/utils/timer.hpp b/src/utils/timer.hpp index c8b7fb9..b34fdf6 100644 --- a/src/utils/timer.hpp +++ b/src/utils/timer.hpp @@ -17,14 +17,16 @@ #pragma once -#include - /* * @brief return epoch in milliseconds * * @return long long int epoch in milliseconds */ -typedef long long int (*TimeFunction)(); +typedef long long int (*time_function_t)(); + +long long int system_time_us(); +long long int system_time_ms(); +long long int system_time_s(); /** * @class frequency_clock_t @@ -43,8 +45,18 @@ class frequency_clock_t private: float frequency_; unsigned long last_tick_; - TimeFunction time_function_; + time_function_t time_function_; public: frequency_clock_t(); -} \ No newline at end of file + frequency_clock_t(float frequency); + frequency_clock_t(float frequency, unsigned long last_tick, time_function_t time_function); + + float get_frequency() const; + static float frequency_to_period(float frequency); + bool started(); + time_function_t get_time_function(); + bool elapsed(bool stagger); + + void tick(); +}; \ No newline at end of file