improvements in Bj computation and implementing a timer to compute time elapsed since last Bj update
This commit is contained in:
@@ -1011,6 +1011,8 @@ bool nr_timer_tick(NR_timer_t *timer)
|
||||
bool expired = false;
|
||||
if (timer->active) {
|
||||
timer->counter += timer->step;
|
||||
if (timer->target == UINT_MAX) // infinite target, never expires
|
||||
return false;
|
||||
expired = nr_timer_expired(*timer);
|
||||
if (expired)
|
||||
timer->active = false;
|
||||
@@ -1020,9 +1022,16 @@ bool nr_timer_tick(NR_timer_t *timer)
|
||||
|
||||
bool nr_timer_expired(NR_timer_t timer)
|
||||
{
|
||||
if (timer.target == UINT_MAX) // infinite target, never expires
|
||||
return false;
|
||||
return (timer.counter >= timer.target);
|
||||
}
|
||||
|
||||
uint32_t nr_timer_elapsed_time(NR_timer_t timer)
|
||||
{
|
||||
return timer.counter;
|
||||
}
|
||||
|
||||
void nr_timer_setup(NR_timer_t *timer, const uint32_t target, const uint32_t step)
|
||||
{
|
||||
timer->target = target;
|
||||
|
||||
@@ -158,6 +158,13 @@ bool nr_timer_expired(NR_timer_t timer);
|
||||
* @return Indication if the timer is active or not
|
||||
*/
|
||||
bool is_nr_timer_active(NR_timer_t timer);
|
||||
/**
|
||||
* @brief To return how much time has passed since start of timer
|
||||
* @param timer Timer to be checked
|
||||
* @return Time passed since start of timer
|
||||
*/
|
||||
uint32_t nr_timer_elapsed_time(NR_timer_t timer);
|
||||
|
||||
|
||||
extern const nr_bandentry_t nr_bandtable[];
|
||||
|
||||
|
||||
Reference in New Issue
Block a user