1
0
mirror of https://github.com/lvgl/lvgl.git synced 2025-01-14 06:42:58 +08:00
lvgl/docs/porting/tick.md
Kevin Thibedeau 7d9fe20a0e
docs(all) Proofread, fix typos and add clarifications in confusing areas (#2528)
Co-authored-by: Gabor Kiss-Vamosi <kisvegabor@gmail.com>
2021-09-06 10:55:37 +02:00

1.0 KiB

.. include:: /header.rst 
:github_url: |github_link_base|/porting/tick.md

Tick interface

LVGL needs a system tick to know elapsed time for animations and other tasks.

You need to call the lv_tick_inc(tick_period) function periodically and provide the call period in milliseconds. For example, lv_tick_inc(1) when calling every millisecond.

lv_tick_inc should be called in a higher priority routine than lv_task_handler() (e.g. in an interrupt) to precisely know the elapsed milliseconds even if the execution of lv_task_handler takes more time.

With FreeRTOS lv_tick_inc can be called in vApplicationTickHook.

On Linux based operating systems (e.g. on Raspberry Pi) lv_tick_inc can be called in a thread like below:

void * tick_thread (void *args)
{
      while(1) {
        usleep(5*1000);   /*Sleep for 5 millisecond*/
        lv_tick_inc(5);      /*Tell LVGL that 5 milliseconds were elapsed*/
    }
}

API


.. doxygenfile:: lv_hal_tick.h
  :project: lvgl