summaryrefslogtreecommitdiff
path: root/lib/lvgl/docs/porting/timer-handler.md
diff options
context:
space:
mode:
authorjacqueline <me@jacqueline.id.au>2023-06-01 15:41:47 +1000
committerjacqueline <me@jacqueline.id.au>2023-06-01 15:41:47 +1000
commitdd27c3530432ea0b09f01e604bf577f31d8ef841 (patch)
treebbf86cf81a78f0ff0b07f31f1c390db473f26fd3 /lib/lvgl/docs/porting/timer-handler.md
parent6fd588e970470b15936187980829916d0dbe77bb (diff)
downloadtangara-fw-dd27c3530432ea0b09f01e604bf577f31d8ef841.tar.gz
convert lvgl from submodule to a plain old directory
Diffstat (limited to 'lib/lvgl/docs/porting/timer-handler.md')
m---------lib/lvgl0
-rw-r--r--lib/lvgl/docs/porting/timer-handler.md38
2 files changed, 38 insertions, 0 deletions
diff --git a/lib/lvgl b/lib/lvgl
deleted file mode 160000
-Subproject 0732400e7b564dd0e7dc4a924619d8e19c5b23a
diff --git a/lib/lvgl/docs/porting/timer-handler.md b/lib/lvgl/docs/porting/timer-handler.md
new file mode 100644
index 00000000..2f086b59
--- /dev/null
+++ b/lib/lvgl/docs/porting/timer-handler.md
@@ -0,0 +1,38 @@
+# Timer Handler
+
+To handle the tasks of LVGL you need to call `lv_timer_handler()` periodically in one of the following:
+- *while(1)* of *main()* function
+- timer interrupt periodically (lower priority than `lv_tick_inc()`)
+- an OS task periodically
+
+The timing is not critical but it should be about 5 milliseconds to keep the system responsive.
+
+Example:
+```c
+while(1) {
+ lv_timer_handler();
+ my_delay_ms(5);
+}
+```
+
+If you want to use `lv_timer_handler()` in a super-loop, a helper function`lv_timer_handler_run_in_period()` is provided to simplify the porting:
+
+```c
+while(1) {
+ ...
+ lv_timer_handler_run_in_period(5); /* run lv_timer_handler() every 5ms */
+ ...
+}
+```
+
+ In an OS environment, you can use it together with the **delay** or **sleep** provided by OS to release CPU whenever possible:
+
+```c
+while (1) {
+ lv_timer_handler_run_in_period(5); /* run lv_timer_handler() every 5ms */
+ my_delay_ms(5); /* delay 5ms to avoid unnecessary polling */
+}
+```
+
+To learn more about timers visit the [Timer](/overview/timer) section.
+