From dd27c3530432ea0b09f01e604bf577f31d8ef841 Mon Sep 17 00:00:00 2001 From: jacqueline Date: Thu, 1 Jun 2023 15:41:47 +1000 Subject: convert lvgl from submodule to a plain old directory --- lib/lvgl | 1 - lib/lvgl/docs/porting/tick.md | 31 +++++++++++++++++++++++++++++++ 2 files changed, 31 insertions(+), 1 deletion(-) delete mode 160000 lib/lvgl create mode 100644 lib/lvgl/docs/porting/tick.md (limited to 'lib/lvgl/docs/porting/tick.md') diff --git a/lib/lvgl b/lib/lvgl deleted file mode 160000 index 0732400e..00000000 --- a/lib/lvgl +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 0732400e7b564dd0e7dc4a924619d8e19c5b23a0 diff --git a/lib/lvgl/docs/porting/tick.md b/lib/lvgl/docs/porting/tick.md new file mode 100644 index 00000000..a3e8e94e --- /dev/null +++ b/lib/lvgl/docs/porting/tick.md @@ -0,0 +1,31 @@ +# 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: +```c +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 + +```eval_rst + +.. doxygenfile:: lv_hal_tick.h + :project: lvgl + +``` -- cgit v1.2.3