summaryrefslogtreecommitdiff
path: root/lib/lvgl/docs/porting/tick.md
diff options
context:
space:
mode:
Diffstat (limited to 'lib/lvgl/docs/porting/tick.md')
m---------lib/lvgl0
-rw-r--r--lib/lvgl/docs/porting/tick.md31
2 files changed, 31 insertions, 0 deletions
diff --git a/lib/lvgl b/lib/lvgl
deleted file mode 160000
-Subproject 0732400e7b564dd0e7dc4a924619d8e19c5b23a
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
+
+```