Lines Matching refs:timer
34 static bool lv_timer_exec(lv_timer_t * timer);
35 static uint32_t lv_timer_time_remaining(lv_timer_t * timer);
188 void lv_timer_set_cb(lv_timer_t * timer, lv_timer_cb_t timer_cb) in lv_timer_set_cb() argument
190 LV_ASSERT_NULL(timer); in lv_timer_set_cb()
191 timer->timer_cb = timer_cb; in lv_timer_set_cb()
194 void lv_timer_delete(lv_timer_t * timer) in lv_timer_delete() argument
196 lv_ll_remove(timer_ll_p, timer); in lv_timer_delete()
199 lv_free(timer); in lv_timer_delete()
202 void lv_timer_pause(lv_timer_t * timer) in lv_timer_pause() argument
204 LV_ASSERT_NULL(timer); in lv_timer_pause()
205 timer->paused = true; in lv_timer_pause()
208 void lv_timer_resume(lv_timer_t * timer) in lv_timer_resume() argument
210 LV_ASSERT_NULL(timer); in lv_timer_resume()
211 timer->paused = false; in lv_timer_resume()
215 void lv_timer_set_period(lv_timer_t * timer, uint32_t period) in lv_timer_set_period() argument
217 LV_ASSERT_NULL(timer); in lv_timer_set_period()
218 timer->period = period; in lv_timer_set_period()
221 void lv_timer_ready(lv_timer_t * timer) in lv_timer_ready() argument
223 LV_ASSERT_NULL(timer); in lv_timer_ready()
224 timer->last_run = lv_tick_get() - timer->period - 1; in lv_timer_ready()
227 void lv_timer_set_repeat_count(lv_timer_t * timer, int32_t repeat_count) in lv_timer_set_repeat_count() argument
229 LV_ASSERT_NULL(timer); in lv_timer_set_repeat_count()
230 timer->repeat_count = repeat_count; in lv_timer_set_repeat_count()
233 void lv_timer_set_auto_delete(lv_timer_t * timer, bool auto_delete) in lv_timer_set_auto_delete() argument
235 LV_ASSERT_NULL(timer); in lv_timer_set_auto_delete()
236 timer->auto_delete = auto_delete; in lv_timer_set_auto_delete()
239 void lv_timer_set_user_data(lv_timer_t * timer, void * user_data) in lv_timer_set_user_data() argument
241 LV_ASSERT_NULL(timer); in lv_timer_set_user_data()
242 timer->user_data = user_data; in lv_timer_set_user_data()
245 void lv_timer_reset(lv_timer_t * timer) in lv_timer_reset() argument
247 LV_ASSERT_NULL(timer); in lv_timer_reset()
248 timer->last_run = lv_tick_get(); in lv_timer_reset()
275 lv_timer_t * lv_timer_get_next(lv_timer_t * timer) in lv_timer_get_next() argument
277 if(timer == NULL) return lv_ll_get_head(timer_ll_p); in lv_timer_get_next()
278 else return lv_ll_get_next(timer_ll_p, timer); in lv_timer_get_next()
292 void * lv_timer_get_user_data(lv_timer_t * timer) in lv_timer_get_user_data() argument
294 return timer->user_data; in lv_timer_get_user_data()
297 bool lv_timer_get_paused(lv_timer_t * timer) in lv_timer_get_paused() argument
299 return timer->paused; in lv_timer_get_paused()
311 static bool lv_timer_exec(lv_timer_t * timer) in lv_timer_exec() argument
313 if(timer->paused) return false; in lv_timer_exec()
316 if(lv_timer_time_remaining(timer) == 0) { in lv_timer_exec()
320 int32_t original_repeat_count = timer->repeat_count; in lv_timer_exec()
321 if(timer->repeat_count > 0) timer->repeat_count--; in lv_timer_exec()
322 timer->last_run = lv_tick_get(); in lv_timer_exec()
323 LV_TRACE_TIMER("calling timer callback: %p", *((void **)&timer->timer_cb)); in lv_timer_exec()
325 if(timer->timer_cb && original_repeat_count != 0) { in lv_timer_exec()
327 timer->timer_cb(timer); in lv_timer_exec()
332 LV_TRACE_TIMER("timer callback %p finished", *((void **)&timer->timer_cb)); in lv_timer_exec()
343 if(timer->repeat_count == 0) { /*The repeat count is over, delete the timer*/ in lv_timer_exec()
344 if(timer->auto_delete) { in lv_timer_exec()
345 …("deleting timer with %p callback because the repeat count is over", *((void **)&timer->timer_cb)); in lv_timer_exec()
346 lv_timer_delete(timer); in lv_timer_exec()
349 …R("pausing timer with %p callback because the repeat count is over", *((void **)&timer->timer_cb)); in lv_timer_exec()
350 lv_timer_pause(timer); in lv_timer_exec()
363 static uint32_t lv_timer_time_remaining(lv_timer_t * timer) in lv_timer_time_remaining() argument
366 uint32_t elp = lv_tick_elaps(timer->last_run); in lv_timer_time_remaining()
367 if(elp >= timer->period) in lv_timer_time_remaining()
369 return timer->period - elp; in lv_timer_time_remaining()