LittlevGL - Open-Source Embedded GUI Library

LittlevGL package for RIOT. More...

Detailed Description

LittlevGL package for RIOT.

See also
https://github.com/littlevgl/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 LittlevGL Drivers.

Files

file  lvgl_riot.h
 Definition for the LittlevGL engine initialization.
 
file  lvgl_riot_conf.h
 Definitions specific to RIOT for the LittlevGL engine.
 
#define LV_COLOR_DEPTH   16
 LittlevGL configuration macros. More...
 
#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. More...
 
#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. More...
 
#define LV_DRAW_COMPLEX   1
 Enable complex draw engine. More...
 
#define LV_SHADOW_CACHE_SIZE   0
 Allow buffering some shadow calculation. More...
 
#define LV_IMG_CACHE_DEF_SIZE   0
 
#define LV_GRADIENT_MAX_STOPS   2
 Number of stops allowed per gradient. More...
 
#define LV_GRAD_CACHE_DEF_SIZE   0
 Default gradient buffer size. More...
 
#define LV_DISP_ROT_MAX_BUF   (10*1024)
 Maximum buffer size to allocate for rotation. More...
 
#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. More...
 
#define LV_USE_ASSERT_MALLOC   0
 Checks is the memory is successfully allocated or no. More...
 
#define LV_USE_ASSERT_STYLE   0
 Check if the styles are properly initialized. More...
 
#define LV_USE_ASSERT_MEM_INTEGRITY   0
 Check the integrity of lv_mem after critical operations. More...
 
#define LV_USE_ASSERT_OBJ   0
 Check the object's type and existence (e.g. More...
 
#define LV_ASSERT_HANDLER_INCLUDE   <stdint.h>
 Add a custom handler when assert happens e.g. More...
 
#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_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_COLOR_DEPTH

#define LV_COLOR_DEPTH   16

LittlevGL 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_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_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_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_SHADOW_CACHE_SIZE

#define LV_SHADOW_CACHE_SIZE   0

Allow buffering some shadow calculation.

LV_SHADOW_CACHE_SIZE is the max. shadow size to buffer, where shadow size is shadow_width + radius Caching has LV_SHADOW_CACHE_SIZE^2 RAM cost

Definition at line 123 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.