aboutsummaryrefslogtreecommitdiffstats
path: root/CAN-binder/low-can-binding/utils/timer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'CAN-binder/low-can-binding/utils/timer.cpp')
-rw-r--r--CAN-binder/low-can-binding/utils/timer.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/CAN-binder/low-can-binding/utils/timer.cpp b/CAN-binder/low-can-binding/utils/timer.cpp
index 3bc96a3a..8c6215b0 100644
--- a/CAN-binder/low-can-binding/utils/timer.cpp
+++ b/CAN-binder/low-can-binding/utils/timer.cpp
@@ -17,6 +17,7 @@
#include <time.h>
#include <stdlib.h>
+#include <cmath>
#include "timer.hpp"
@@ -65,6 +66,16 @@ float frequency_clock_t::frequency_to_period()
return frequency_ == 0 ? 0 : 1 / frequency_ * unit_;
}
+const struct timeval frequency_clock_t::get_timeval_from_period() const
+{
+ struct timeval freq = {0, 0};
+ float f;
+ freq.tv_usec = (long int)std::modf(frequency_, &f);
+ freq.tv_sec = (time_t)f;
+
+ return freq;
+}
+
bool frequency_clock_t::started()
{
return last_tick_ != 0;