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)   struct _silence_gcc_warning /*The default value just prevents GCC warning*/
 
#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 219 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 218 of file lv_conf.h.

◆ LV_ATTRIBUTE_DMA

#define LV_ATTRIBUTE_DMA

Definition at line 283 of file lv_conf.h.

◆ LV_ATTRIBUTE_FAST_MEM

#define LV_ATTRIBUTE_FAST_MEM

Definition at line 280 of file lv_conf.h.

◆ LV_ATTRIBUTE_FLUSH_READY

#define LV_ATTRIBUTE_FLUSH_READY

Definition at line 268 of file lv_conf.h.

◆ LV_ATTRIBUTE_LARGE_CONST

#define LV_ATTRIBUTE_LARGE_CONST

Definition at line 274 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 277 of file lv_conf.h.

◆ LV_ATTRIBUTE_MEM_ALIGN_SIZE

#define LV_ATTRIBUTE_MEM_ALIGN_SIZE   1

Definition at line 271 of file lv_conf.h.

◆ LV_ATTRIBUTE_TICK_INC

#define LV_ATTRIBUTE_TICK_INC

Definition at line 262 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 265 of file lv_conf.h.

◆ LV_BIG_ENDIAN_SYSTEM

#define LV_BIG_ENDIAN_SYSTEM   0

Definition at line 259 of file lv_conf.h.

◆ LV_COLOR_16_SWAP

#define LV_COLOR_16_SWAP   0

Definition at line 48 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 58 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 39 of file lv_conf.h.

◆ LV_COLOR_SCREEN_TRANSP

#define LV_COLOR_SCREEN_TRANSP   0

Definition at line 55 of file lv_conf.h.

◆ LV_DISP_DEF_REFR_PERIOD

#define LV_DISP_DEF_REFR_PERIOD   30 /*[ms]*/

Definition at line 98 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 145 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 105 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 117 of file lv_conf.h.

◆ LV_ENABLE_GC

#define LV_ENABLE_GC   0

Definition at line 249 of file lv_conf.h.

◆ LV_EXPORT_CONST_INT

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

Definition at line 287 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 142 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 135 of file lv_conf.h.

◆ LV_IMG_CACHE_DEF_SIZE

#define LV_IMG_CACHE_DEF_SIZE   0

Definition at line 131 of file lv_conf.h.

◆ LV_INDEV_DEF_READ_PERIOD

#define LV_INDEV_DEF_READ_PERIOD   30 /*[ms]*/

Definition at line 101 of file lv_conf.h.

◆ LV_MEM_ADR

#define LV_MEM_ADR   0 /*0: unused*/

Definition at line 79 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 88 of file lv_conf.h.

◆ LV_MEM_CUSTOM

#define LV_MEM_CUSTOM   0

Definition at line 65 of file lv_conf.h.

◆ LV_MEM_SIZE

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

Definition at line 74 of file lv_conf.h.

◆ LV_MEMCPY_MEMSET_STD

#define LV_MEMCPY_MEMSET_STD   1

Definition at line 91 of file lv_conf.h.

◆ LV_SPRINTF_CUSTOM

#define LV_SPRINTF_CUSTOM   0

Change the built in (v)snprintf functions.

Definition at line 236 of file lv_conf.h.

◆ LV_SPRINTF_USE_FLOAT

#define LV_SPRINTF_USE_FLOAT   0

Don't use float with sprintf.

Definition at line 242 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 212 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 214 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 211 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 215 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 213 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 159 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 170 of file lv_conf.h.

◆ LV_USE_GPU_STM32_DMA2D

#define LV_USE_GPU_STM32_DMA2D   0

Definition at line 151 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 290 of file lv_conf.h.

◆ LV_USE_LOG

#define LV_USE_LOG   0

Definition at line 177 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 230 of file lv_conf.h.

◆ LV_USE_PERF_MONITOR

#define LV_USE_PERF_MONITOR   0

Definition at line 226 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 233 of file lv_conf.h.

◆ LV_USE_USER_DATA

#define LV_USE_USER_DATA   1

Definition at line 245 of file lv_conf.h.