|
|
@ -91,4 +91,32 @@ namespace Heck { |
|
|
|
float ret = min + (val * range); |
|
|
|
return ret; |
|
|
|
} |
|
|
|
} // namespace Heck
|
|
|
|
|
|
|
|
namespace Heck { |
|
|
|
|
|
|
|
void SWTimer::set_period(u32 time_units) |
|
|
|
{ |
|
|
|
time_period_ = time_units; |
|
|
|
} |
|
|
|
|
|
|
|
void SWTimer::set_callback(const Callback& cb) |
|
|
|
{ |
|
|
|
callback_ = cb; |
|
|
|
} |
|
|
|
|
|
|
|
bool SWTimer::is_it_already_time_again(u32 time_now) |
|
|
|
{ |
|
|
|
if (time_now - time_last_exec_ >= time_period_) { |
|
|
|
time_last_exec_ = time_now; |
|
|
|
if (callback_) { |
|
|
|
//todo: constexpr if metrics
|
|
|
|
callback_(); |
|
|
|
} |
|
|
|
return true; |
|
|
|
} |
|
|
|
return false; |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} // namespace Heck
|