aboutsummaryrefslogtreecommitdiffstats
path: root/CAN-binder/low-can-binding/utils/timer.cpp
diff options
context:
space:
mode:
authorRomain Forlot <romain.forlot@iot.bzh>2017-05-16 00:26:24 +0200
committerRomain Forlot <romain.forlot@iot.bzh>2017-05-19 11:36:42 +0200
commitc59a57338a488cc451482f1180fe672e7d5c9179 (patch)
tree3d1ffca26c1e824be79309a5fea829a785e110a3 /CAN-binder/low-can-binding/utils/timer.cpp
parentefc7297476bfee786e6f69800552ca03e20d128d (diff)
New function used to set timer in bcm_head msg.
As there will be more bcm socket and more need to set its timer values. May be there is a better method to separate integer and decimal parts from a float value. Change-Id: I0cd992dfde5fe8257b17b5b610482f5f5e09aa8c Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
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;