Loading...
Searching...
No Matches
LVGL - Open-Source Embedded GUI Library

LVGL package for RIOT. More...

Detailed Description

LVGL package for RIOT.

See also
https://github.com/LVGL/lvgl

Configuration options

The package can be configured with using several variables. These variables can either be configured using CFLAGS or using Kconfig (via make menuconfig). LVGL_TASK_THREAD_PRIO cannot be configured via Kconfig.

Engine settings

Example of command line for changing the max activity period to 5s:

CFLAGS=-DCONFIG_LVGL_ACTIVITY_PERIOD=5000 make -C tests/pkg/lvgl

SDL Usage

See LVGL Drivers.

Files

file  lvgl_riot.h
 Definition for the LVGL engine initialization.
 
file  lvgl_riot_conf.h
 Definitions specific to RIOT for the LVGL engine.
 
#define LV_COLOR_DEPTH   16
 LVGL configuration macros.
 
#define LV_COLOR_16_SWAP   0
 
#define LV_COLOR_SCREEN_TRANSP   0
 
#define LV_COLOR_CHROMA_KEY   lv_color_hex(0x00ff00) /*pure green*/
 Images pixels with this color will not be drawn if they are chroma keyed)
 
#define LV_MEM_CUSTOM   0
 
#define LV_MEM_SIZE   (5U * 1024U) /*[bytes]*/
 
#define LV_MEM_ADR   0 /*0: unused*/
 
#define LV_MEM_BUF_MAX_NUM   16
 Number of the intermediate memory buffer used during rendering and other internal processing mechanisms.
 
#define LV_MEMCPY_MEMSET_STD   1
 
#define LV_DISP_DEF_REFR_PERIOD   30 /*[ms]*/
 
#define LV_INDEV_DEF_READ_PERIOD   30 /*[ms]*/
 
#define LV_DPI_DEF   130 /*[px/inch]*/
 Default Dot Per Inch.
 
#define LV_DRAW_COMPLEX   1
 Enable complex draw engine.
 
#define LV_IMG_CACHE_DEF_SIZE   0
 
#define LV_GRADIENT_MAX_STOPS   2
 Number of stops allowed per gradient.
 
#define LV_GRAD_CACHE_DEF_SIZE   0
 Default gradient buffer size.
 
#define LV_DISP_ROT_MAX_BUF   (10*1024)
 Maximum buffer size to allocate for rotation.
 
#define LV_USE_GPU_STM32_DMA2D   0
 
#define LV_USE_GPU_NXP_PXP   0
 Use NXP's PXP GPU iMX RTxxx platforms.
 
#define LV_USE_GPU_NXP_VG_LITE   0
 Use NXP's VG-Lite GPU iMX RTxxx platforms.
 
#define LV_USE_LOG   0
 
#define LV_USE_ASSERT_NULL   0
 Check if the parameter is NULL.
 
#define LV_USE_ASSERT_MALLOC   0
 Checks is the memory is successfully allocated or no.
 
#define LV_USE_ASSERT_STYLE   0
 Check if the styles are properly initialized.
 
#define LV_USE_ASSERT_MEM_INTEGRITY   0
 Check the integrity of lv_mem after critical operations.
 
#define LV_USE_ASSERT_OBJ   0
 Check the object's type and existence (e.g.
 
#define LV_ASSERT_HANDLER_INCLUDE   <stdint.h>
 Add a custom handler when assert happens e.g.
 
#define LV_ASSERT_HANDLER   while(1);
 Halt by default.
 
#define LV_USE_PERF_MONITOR   0
 
#define LV_USE_MEM_MONITOR   0
 1: Show the used memory and the memory fragmentation in the left bottom corner Requires LV_MEM_CUSTOM = 0
 
#define LV_USE_REFR_DEBUG   0
 1: Draw random colored rectangles over the redrawn areas
 
#define LV_SPRINTF_CUSTOM   0
 Change the built in (v)snprintf functions.
 
#define LV_SPRINTF_USE_FLOAT   0
 Don't use float with sprintf.
 
#define LV_USE_USER_DATA   1
 
#define LV_ENABLE_GC   0
 
#define LV_BIG_ENDIAN_SYSTEM   0
 
#define LV_ATTRIBUTE_TICK_INC
 
#define LV_ATTRIBUTE_TIMER_HANDLER
 Define a custom attribute to lv_timer_handler function.
 
#define LV_ATTRIBUTE_FLUSH_READY
 
#define LV_ATTRIBUTE_MEM_ALIGN_SIZE   1
 
#define LV_ATTRIBUTE_LARGE_CONST
 
#define LV_ATTRIBUTE_LARGE_RAM_ARRAY
 Compiler prefix for a big array declaration in RAM.
 
#define LV_ATTRIBUTE_FAST_MEM
 
#define LV_ATTRIBUTE_DMA
 
#define LV_EXPORT_CONST_INT(int_value)
 
#define LV_USE_LARGE_COORD   0
 Extend the default -32k..32k coordinate range to -4M..4M by using int32_t for coordinates instead of int16_t.
 

Macro Definition Documentation

◆ LV_ASSERT_HANDLER

#define LV_ASSERT_HANDLER   while(1);

Halt by default.

Definition at line 230 of file lv_conf.h.

◆ LV_ASSERT_HANDLER_INCLUDE

#define LV_ASSERT_HANDLER_INCLUDE   <stdint.h>

Add a custom handler when assert happens e.g.

to restart the MCU

Definition at line 229 of file lv_conf.h.

◆ LV_ATTRIBUTE_DMA

#define LV_ATTRIBUTE_DMA

Definition at line 294 of file lv_conf.h.

◆ LV_ATTRIBUTE_FAST_MEM

#define LV_ATTRIBUTE_FAST_MEM

Definition at line 291 of file lv_conf.h.

◆ LV_ATTRIBUTE_FLUSH_READY

#define LV_ATTRIBUTE_FLUSH_READY

Definition at line 279 of file lv_conf.h.

◆ LV_ATTRIBUTE_LARGE_CONST

#define LV_ATTRIBUTE_LARGE_CONST

Definition at line 285 of file lv_conf.h.

◆ LV_ATTRIBUTE_LARGE_RAM_ARRAY

#define LV_ATTRIBUTE_LARGE_RAM_ARRAY

Compiler prefix for a big array declaration in RAM.

Definition at line 288 of file lv_conf.h.

◆ LV_ATTRIBUTE_MEM_ALIGN_SIZE

#define LV_ATTRIBUTE_MEM_ALIGN_SIZE   1

Definition at line 282 of file lv_conf.h.

◆ LV_ATTRIBUTE_TICK_INC

#define LV_ATTRIBUTE_TICK_INC

Definition at line 273 of file lv_conf.h.

◆ LV_ATTRIBUTE_TIMER_HANDLER

#define LV_ATTRIBUTE_TIMER_HANDLER

Define a custom attribute to lv_timer_handler function.

Definition at line 276 of file lv_conf.h.

◆ LV_BIG_ENDIAN_SYSTEM

#define LV_BIG_ENDIAN_SYSTEM   0

Definition at line 270 of file lv_conf.h.

◆ LV_COLOR_16_SWAP

#define LV_COLOR_16_SWAP   0

Definition at line 52 of file lv_conf.h.

◆ LV_COLOR_CHROMA_KEY

#define LV_COLOR_CHROMA_KEY   lv_color_hex(0x00ff00) /*pure green*/

Images pixels with this color will not be drawn if they are chroma keyed)

Definition at line 62 of file lv_conf.h.

◆ LV_COLOR_DEPTH

#define LV_COLOR_DEPTH   16

LVGL configuration macros.

Author
Alexandre Abadie alexa.nosp@m.ndre.nosp@m..abad.nosp@m.ie@i.nosp@m.nria..nosp@m.fr

Definition at line 42 of file lv_conf.h.

◆ LV_COLOR_SCREEN_TRANSP

#define LV_COLOR_SCREEN_TRANSP   0

Definition at line 59 of file lv_conf.h.

◆ LV_DISP_DEF_REFR_PERIOD

#define LV_DISP_DEF_REFR_PERIOD   30 /*[ms]*/

Definition at line 109 of file lv_conf.h.

◆ LV_DISP_ROT_MAX_BUF

#define LV_DISP_ROT_MAX_BUF   (10*1024)

Maximum buffer size to allocate for rotation.

Only used if software rotation is enabled in the display driver.

Definition at line 156 of file lv_conf.h.

◆ LV_DPI_DEF

#define LV_DPI_DEF   130 /*[px/inch]*/

Default Dot Per Inch.

Used to initialize default sizes such as widgets sized, style paddings. (Not so important, you can adjust it to modify default sizes and spaces)

Definition at line 116 of file lv_conf.h.

◆ LV_DRAW_COMPLEX

#define LV_DRAW_COMPLEX   1

Enable complex draw engine.

Required to draw shadow, gradient, rounded corners, circles, arc, skew lines, image transformations or any masks

Definition at line 128 of file lv_conf.h.

◆ LV_ENABLE_GC

#define LV_ENABLE_GC   0

Definition at line 260 of file lv_conf.h.

◆ LV_EXPORT_CONST_INT

#define LV_EXPORT_CONST_INT ( int_value)
Value:
struct _silence_gcc_warning /*The default value just prevents GCC warning*/

Definition at line 298 of file lv_conf.h.

◆ LV_GRAD_CACHE_DEF_SIZE

#define LV_GRAD_CACHE_DEF_SIZE   0

Default gradient buffer size.

When LVGL calculates the gradient "maps" it can save them into a cache to avoid calculating them again. LV_GRAD_CACHE_DEF_SIZE sets the size of this cache in bytes. If the cache is too small the map will be allocated only while it's required for the drawing. 0 mean no caching.

Definition at line 153 of file lv_conf.h.

◆ LV_GRADIENT_MAX_STOPS

#define LV_GRADIENT_MAX_STOPS   2

Number of stops allowed per gradient.

Increase this to allow more stops. This adds (sizeof(lv_color_t) + 1) bytes per additional stop

Definition at line 146 of file lv_conf.h.

◆ LV_IMG_CACHE_DEF_SIZE

#define LV_IMG_CACHE_DEF_SIZE   0

Definition at line 142 of file lv_conf.h.

◆ LV_INDEV_DEF_READ_PERIOD

#define LV_INDEV_DEF_READ_PERIOD   30 /*[ms]*/

Definition at line 112 of file lv_conf.h.

◆ LV_MEM_ADR

#define LV_MEM_ADR   0 /*0: unused*/

Definition at line 90 of file lv_conf.h.

◆ LV_MEM_BUF_MAX_NUM

#define LV_MEM_BUF_MAX_NUM   16

Number of the intermediate memory buffer used during rendering and other internal processing mechanisms.

You will see an error log message if there wasn't enough buffers.

Definition at line 99 of file lv_conf.h.

◆ LV_MEM_CUSTOM

#define LV_MEM_CUSTOM   0

Definition at line 69 of file lv_conf.h.

◆ LV_MEM_SIZE

#define LV_MEM_SIZE   (5U * 1024U) /*[bytes]*/

Definition at line 84 of file lv_conf.h.

◆ LV_MEMCPY_MEMSET_STD

#define LV_MEMCPY_MEMSET_STD   1

Definition at line 102 of file lv_conf.h.

◆ LV_SPRINTF_CUSTOM

#define LV_SPRINTF_CUSTOM   0

Change the built in (v)snprintf functions.

Definition at line 247 of file lv_conf.h.

◆ LV_SPRINTF_USE_FLOAT

#define LV_SPRINTF_USE_FLOAT   0

Don't use float with sprintf.

Definition at line 253 of file lv_conf.h.

◆ LV_USE_ASSERT_MALLOC

#define LV_USE_ASSERT_MALLOC   0

Checks is the memory is successfully allocated or no.

(Very fast, recommended)

Definition at line 223 of file lv_conf.h.

◆ LV_USE_ASSERT_MEM_INTEGRITY

#define LV_USE_ASSERT_MEM_INTEGRITY   0

Check the integrity of lv_mem after critical operations.

(Slow)

Definition at line 225 of file lv_conf.h.

◆ LV_USE_ASSERT_NULL

#define LV_USE_ASSERT_NULL   0

Check if the parameter is NULL.

(Very fast, recommended)

Definition at line 222 of file lv_conf.h.

◆ LV_USE_ASSERT_OBJ

#define LV_USE_ASSERT_OBJ   0

Check the object's type and existence (e.g.

not deleted). (Slow)

Definition at line 226 of file lv_conf.h.

◆ LV_USE_ASSERT_STYLE

#define LV_USE_ASSERT_STYLE   0

Check if the styles are properly initialized.

(Very fast, recommended)

Definition at line 224 of file lv_conf.h.

◆ LV_USE_GPU_NXP_PXP

#define LV_USE_GPU_NXP_PXP   0

Use NXP's PXP GPU iMX RTxxx platforms.

Definition at line 170 of file lv_conf.h.

◆ LV_USE_GPU_NXP_VG_LITE

#define LV_USE_GPU_NXP_VG_LITE   0

Use NXP's VG-Lite GPU iMX RTxxx platforms.

Definition at line 181 of file lv_conf.h.

◆ LV_USE_GPU_STM32_DMA2D

#define LV_USE_GPU_STM32_DMA2D   0

Definition at line 162 of file lv_conf.h.

◆ LV_USE_LARGE_COORD

#define LV_USE_LARGE_COORD   0

Extend the default -32k..32k coordinate range to -4M..4M by using int32_t for coordinates instead of int16_t.

Definition at line 301 of file lv_conf.h.

◆ LV_USE_LOG

#define LV_USE_LOG   0

Definition at line 188 of file lv_conf.h.

◆ LV_USE_MEM_MONITOR

#define LV_USE_MEM_MONITOR   0

1: Show the used memory and the memory fragmentation in the left bottom corner Requires LV_MEM_CUSTOM = 0

Definition at line 241 of file lv_conf.h.

◆ LV_USE_PERF_MONITOR

#define LV_USE_PERF_MONITOR   0

Definition at line 237 of file lv_conf.h.

◆ LV_USE_REFR_DEBUG

#define LV_USE_REFR_DEBUG   0

1: Draw random colored rectangles over the redrawn areas

Definition at line 244 of file lv_conf.h.

◆ LV_USE_USER_DATA

#define LV_USE_USER_DATA   1

Definition at line 256 of file lv_conf.h.