1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2025-01-17 05:12:57 +01:00

pkg/lvgl: prepare config variables for Kconfig

This commit is contained in:
Alexandre Abadie 2021-04-18 16:27:02 +02:00
parent f30065e61f
commit 438753f285
No known key found for this signature in database
GPG Key ID: 1C919A403CAE1405
3 changed files with 13 additions and 47 deletions

View File

@ -8,27 +8,6 @@ ifneq (,$(filter lvgl_contrib,$(USEMODULE)))
DIRS += $(RIOTBASE)/pkg/lvgl/contrib
endif
# Configuration options
# Graphical settings
LVGL_COLOR_DEPTH ?= 16
LVGL_COLOR_16_SWAP ?= 1
# Memory settings
LVGL_MEM_SIZE ?= 5U*1024U
# Engine settings
LVGL_INACTIVITY_PERIOD_MS ?= 5*MS_PER_SEC # 5s
LVGL_TASK_HANDLER_DELAY_US ?= 5*US_PER_MS # 5ms
LVGL_TASK_THREAD_PRIO ?= THREAD_PRIORITY_MAIN+1
# Set the CFLAGS variable accordingly
CFLAGS += -DLV_COLOR_DEPTH=$(LVGL_COLOR_DEPTH)
CFLAGS += -DLV_COLOR_16_SWAP=$(LVGL_COLOR_16_SWAP)
CFLAGS += -DLV_MEM_SIZE=$(LVGL_MEM_SIZE)
CFLAGS += -DLVGL_INACTIVITY_PERIOD_MS=$(LVGL_INACTIVITY_PERIOD_MS)
CFLAGS += -DLVGL_TASK_HANDLER_DELAY_US=$(LVGL_TASK_HANDLER_DELAY_US)
CFLAGS += -DLVGL_TASK_THREAD_PRIO=$(LVGL_TASK_THREAD_PRIO)
# lvgl module is not a concrete module, so declare it as a pseudomodule
PSEUDOMODULES += lvgl

View File

@ -26,7 +26,6 @@
#include "log.h"
#include "lvgl/lvgl.h"
#include "lv_conf.h"
#include "lvgl_riot.h"
#include "screen_dev.h"
@ -39,12 +38,12 @@
#define LVGL_COLOR_BUF_SIZE (LV_HOR_RES_MAX * 5)
#endif
#ifndef LVGL_INACTIVITY_PERIOD_MS
#define LVGL_INACTIVITY_PERIOD_MS (1 * MS_PER_SEC) /* 1s */
#ifndef CONFIG_LVGL_INACTIVITY_PERIOD_MS
#define CONFIG_LVGL_INACTIVITY_PERIOD_MS (5 * MS_PER_SEC) /* 5s */
#endif
#ifndef LVGL_TASK_HANDLER_DELAY_US
#define LVGL_TASK_HANDLER_DELAY_US (5 * US_PER_MS) /* 5ms */
#ifndef CONFIG_LVGL_TASK_HANDLER_DELAY_US
#define CONFIG_LVGL_TASK_HANDLER_DELAY_US (5 * US_PER_MS) /* 5ms */
#endif
#ifndef LVGL_THREAD_FLAG
@ -65,9 +64,9 @@ static void *_task_thread(void *arg)
(void)arg;
while (1) {
/* Normal operation (no sleep) in < LVGL_INACTIVITY_PERIOD_MS msec
/* Normal operation (no sleep) in < CONFIG_LVGL_INACTIVITY_PERIOD_MS msec
inactivity */
if (lv_disp_get_inactive_time(NULL) < LVGL_INACTIVITY_PERIOD_MS) {
if (lv_disp_get_inactive_time(NULL) < CONFIG_LVGL_INACTIVITY_PERIOD_MS) {
lv_task_handler();
}
else {
@ -78,7 +77,7 @@ static void *_task_thread(void *arg)
lv_disp_trig_activity(NULL);
}
xtimer_usleep(LVGL_TASK_HANDLER_DELAY_US);
xtimer_usleep(CONFIG_LVGL_TASK_HANDLER_DELAY_US);
}
return NULL;

View File

@ -8,26 +8,14 @@
## Configuration options
The package can be configured with using several variables. These variables can
either be passed directly to build command line or set in the application
Makefile.
### Graphical settings
- `LVGL_COLOR_DEPTH`: configure the color depth in bit of the screen (default: 16)
- `LVGL_COLOR_16_SWAP`: enable byte swap when communicating with the screen
driver (default: 1, enabled)
### Memory settings
`LVGL_MEM_SIZE`: configure the maximum memory size used by lvgl. This depends
on the number of lvgl widgets and objects used by the interface (default:
5U*1024U, 5KiB). Must be greater than 2KiB.
either be configured using CFLAGS or using Kconfig (via `make menuconfig`).
LVGL_TASK_THREAD_PRIO cannot be configured via Kconfig.
### Engine settings
- `LVGL_INACTIVITY_PERIOD_MS`: maximum inactivity period before going to sleep in ms.
(default: 1s)
- `LVGL_TASK_HANDLER_DELAY_US`: delay between lvgl task handle call in ms.
- `CONFIG_LVGL_INACTIVITY_PERIOD_MS`: maximum inactivity period before going to sleep in ms.
(default: 5s)
- `CONFIG_LVGL_TASK_HANDLER_DELAY_US`: delay between lvgl task handle call in us.
(default: 5ms)
- `LVGL_TASK_THREAD_PRIO`: lvgl task handler thread priority.
(default: THREAD_PRIORITY_MAIN - 1)
@ -35,7 +23,7 @@ on the number of lvgl widgets and objects used by the interface (default:
Example of command line for changing the max activity period to 5s:
```
LVGL_ACTIVITY_PERIOD=5000 make -C tests/pkg_lvgl
CFLAGS=-DCONFIG_LVGL_ACTIVITY_PERIOD=5000 make -C tests/pkg_lvgl
```
*/