#pragma once
-#include <sys/timeb.h>
-
/*
* @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
private:
float frequency_;
unsigned long last_tick_;
- TimeFunction time_function_;
+ time_function_t time_function_;
public:
frequency_clock_t();
+ 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