lvgl/Kconfig

1352 lines
38 KiB
Plaintext

# Kconfig file for LVGL v8.0
menu "LVGL configuration"
# Define CONFIG_LV_CONF_SKIP so we can use LVGL
# without lv_conf.h file, the lv_conf_internal.h and
# lv_conf_kconfig.h files are used instead.
config LV_CONF_SKIP
bool "Check this to not use custom lv_conf.h"
default n
config LV_CONF_MINIMAL
bool "LVGL minimal configuration."
menu "Color settings"
choice LV_COLOR_DEPTH
prompt "Color depth."
default LV_COLOR_DEPTH_16
help
Color depth to be used.
config LV_COLOR_DEPTH_32
bool "32: ARGB8888"
config LV_COLOR_DEPTH_24
bool "24: RGB888"
config LV_COLOR_DEPTH_16
bool "16: RGB565"
config LV_COLOR_DEPTH_8
bool "8: RGB232"
config LV_COLOR_DEPTH_1
bool "1: 1 byte per pixel"
endchoice
config LV_COLOR_DEPTH
int
default 1 if LV_COLOR_DEPTH_1
default 8 if LV_COLOR_DEPTH_8
default 16 if LV_COLOR_DEPTH_16
default 24 if LV_COLOR_DEPTH_24
default 32 if LV_COLOR_DEPTH_32
config LV_COLOR_MIX_ROUND_OFS
int "Adjust color mix functions rounding"
default 128 if !LV_COLOR_DEPTH_32
default 0 if LV_COLOR_DEPTH_32
range 0 254
help
0: no adjustment, get the integer part of the result (round down)
64: round up from x.75
128: round up from half
192: round up from x.25
254: round up
config LV_OBJ_STYLE_CACHE
bool "Use cache to speed up getting object style properties"
default y
config LV_USE_OBJ_ID
bool "Add id field to obj."
default n
config LV_USE_OBJ_ID_BUILTIN
bool "Use builtin method to deal with obj ID"
default n
endmenu
menu "Memory settings"
choice
prompt "Malloc functions source"
default LV_USE_BUILTIN_MALLOC
config LV_USE_BUILTIN_MALLOC
bool "LVGL's built in implementation"
config LV_USE_CLIB_MALLOC
bool "Standard C functions malloc/realloc/free"
config LV_USE_CUSTOM_MALLOC
bool "Implement the functions externally"
endchoice # "Malloc functions"
choice
prompt "String functions source"
default LV_USE_BUILTIN_STRING
config LV_USE_BUILTIN_STRING
bool "LVGL's built in implementation"
config LV_USE_CLIB_STRING
bool "Standard C functions memcpy/memset/strlen/strcpy"
config LV_USE_CUSTOM_STRING
bool "Implement the functions externally"
endchoice # "String functions"
choice
prompt "Sprintf functions source"
default LV_USE_BUILTIN_SPRINTF
config LV_USE_BUILTIN_SPRINTF
bool "LVGL's built in implementation"
config LV_USE_CLIB_SPRINTF
bool "Standard C functions vsnprintf"
config LV_USE_CUSTOM_SPRINTF
bool "Implement the functions externally"
endchoice # "Sprintf functions"
config LV_MEM_SIZE_KILOBYTES
int "Size of the memory used by `lv_malloc()` in kilobytes (>= 2kB)"
default 32
depends on LV_USE_BUILTIN_MALLOC
config LV_MEM_POOL_EXPAND_SIZE_KILOBYTES
int "Size of the memory expand for `lv_malloc()` in kilobytes"
default 0
depends on LV_USE_BUILTIN_MALLOC
config LV_MEM_ADR
hex "Address for the memory pool instead of allocating it as a normal array"
default 0x0
depends on LV_USE_BUILTIN_MALLOC
config LV_MEM_BUF_MAX_NUM
int "Number of the memory buffer"
default 16
help
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.
endmenu
menu "HAL Settings"
config LV_DEF_REFR_PERIOD
int "Default refresh period (ms)."
default 33
config LV_DPI_DEF
int "Default Dots Per Inch (in px)."
default 130
help
Used to initialize default sizes such as widgets sized, style paddings.
(Not so important, you can adjust it to modify default sizes and spaces)
endmenu
menu "Feature configuration"
menu "Drawing"
config LV_DRAW_BUF_STRIDE_ALIGN
int "Buffer stride alignment"
default 1
help
Align the stride of all layers and images to this bytes.
config LV_DRAW_BUF_ALIGN
int "Buffer address alignment"
default 4
help
Align the start address of draw_buf addresses to this bytes.
config LV_LAYER_MAX_MEMORY_USAGE
int "Max layer memory usage(kB)"
default 150
help
Max. memory to be used for layers.
config LV_USE_DRAW_SW
bool "Enable software rendering"
default y
help
Required to draw anything on the screen.
config LV_DRAW_SW_DRAW_UNIT_CNT
int "Number of draw units"
default 1
help
> 1 requires an operating system enabled in `LV_USE_OS`
> 1 means multiply threads will render the screen in parallel
config LV_DRAW_SW_COMPLEX
bool "Enable complex draw engine"
default y
depends on LV_USE_DRAW_SW
help
Required to draw shadow, gradient, rounded corners, circles, arc, skew lines,
image transformations or any masks.
config LV_DRAW_SW_SHADOW_CACHE_SIZE
int "Allow buffering some shadow calculation"
depends on LV_DRAW_SW_COMPLEX
default 0
help
LV_DRAW_SW_SHADOW_CACHE_SIZE is the max shadow size to buffer, where
shadow size is `shadow_width + radius`.
Caching has LV_DRAW_SW_SHADOW_CACHE_SIZE^2 RAM cost.
config LV_DRAW_SW_CIRCLE_CACHE_SIZE
int "Set number of maximally cached circle data"
depends on LV_DRAW_SW_COMPLEX
default 4
help
The circumference of 1/4 circle are saved for anti-aliasing
radius * 4 bytes are used per circle (the most often used
radiuses are saved).
Set to 0 to disable caching.
config LV_DRAW_SW_LAYER_SIMPLE_BUF_SIZE
int "Optimal size to buffer the widget with opacity"
default 24576
depends on LV_USE_DRAW_SW
help
"Simple layers" are used when a widget has `style_opa < 255`
to buffer the widget into a layer and blend it as an image
with the given opacity. Note that `bg_opa`, `text_opa` etc
don't require buffering into layer.
config LV_IMG_CACHE_DEF_SIZE
int "Default image cache size. 0 to disable caching."
default 0
depends on LV_USE_DRAW_SW
help
If only the built-in image formats are used there is no real advantage of caching.
(I.e. no new image decoder is added).
With complex image decoders (e.g. PNG or JPG) caching can
save the continuous open/decode of images.
However the opened images might consume additional RAM.
config LV_GRADIENT_MAX_STOPS
int "Number of stops allowed per gradient."
default 2
depends on LV_USE_DRAW_SW
help
Increase this to allow more stops.
This adds (sizeof(lv_color_t) + 1) bytes per additional stop
config LV_GRAD_CACHE_DEF_SIZE
int "Default gradient buffer size."
default 0
depends on LV_USE_DRAW_SW
help
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.
config LV_DITHER_GRADIENT
bool "Allow dithering the gradients"
depends on LV_USE_DRAW_SW
help
Allow dithering the gradients (to achieve visual smooth color gradients on limited color depth display)
LV_DITHER_GRADIENT implies allocating one or two more lines of the object's rendering surface
The increase in memory consumption is (32 bits * object width) plus 24 bits * object width if using error diffusion
config LV_DITHER_ERROR_DIFFUSION
bool "Add support for error diffusion dithering"
depends on LV_DITHER_GRADIENT
help
Error diffusion dithering gets a much better visual result, but implies more CPU consumption and memory when drawing.
The increase in memory consumption is (24 bits * object's width)
config LV_DISP_ROT_MAX_BUF
int "Maximum buffer size to allocate for rotation"
default 10240
depends on LV_USE_DRAW_SW
help
Only used if software rotation is enabled in the display driver.
endmenu
menu "GPU"
config LV_USE_GPU_ARM2D
bool "Enable Arm's 2D image processing library (Arm-2D) for all Cortex-M processors."
default n
help
Must deploy arm-2d library to your project and add include PATH for "arm_2d.h".
config LV_USE_GPU_STM32_DMA2D
bool "Enable STM32 DMA2D (aka Chrom Art) GPU."
config LV_GPU_DMA2D_CMSIS_INCLUDE
string "include path of CMSIS header of target processor"
depends on LV_USE_GPU_STM32_DMA2D
default ""
help
Must be defined to include path of CMSIS header of target processor
e.g. "stm32f769xx.h" or "stm32f429xx.h"
config LV_USE_GPU_SWM341_DMA2D
bool "Enable SWM341 DMA2D GPU."
config LV_GPU_SWM341_DMA2D_INCLUDE
string "include path of CMSIS header of target processor"
depends on LV_USE_GPU_SWM341_DMA2D
default "SWM341.h"
help
Must be defined to include path of CMSIS header of target processor
e.g. "SWM341.h"
config LV_USE_DRAW_VGLITE
bool "Use NXP's VG-Lite GPU on iMX RTxxx platforms."
config LV_USE_DRAW_PXP
bool "Use NXP's PXP on iMX RTxxx platforms."
config LV_USE_GPU_SDL
bool "Use SDL renderer API"
default n
config LV_GPU_SDL_INCLUDE_PATH
string "include path of SDL header"
depends on LV_USE_GPU_SDL
default "SDL2/SDL.h"
config LV_GPU_SDL_LRU_SIZE
int "Maximum buffer size to allocate for rotation"
depends on LV_USE_GPU_SDL
default 8388608
help
Texture cache size, 8MB by default.
endmenu
menu "Logging"
config LV_USE_LOG
bool "Enable the log module"
choice
bool "Default log verbosity" if LV_USE_LOG
default LV_LOG_LEVEL_WARN
help
Specify how important log should be added.
config LV_LOG_LEVEL_TRACE
bool "A lot of logs to give detailed information"
config LV_LOG_LEVEL_INFO
bool "Log important events"
config LV_LOG_LEVEL_WARN
bool "Log if something unwanted happened but didn't cause a problem"
config LV_LOG_LEVEL_ERROR
bool "Only critical issues, when the system may fail"
config LV_LOG_LEVEL_USER
bool "Only logs added by the user"
config LV_LOG_LEVEL_NONE
bool "Do not log anything"
endchoice
config LV_LOG_LEVEL
int
default 0 if LV_LOG_LEVEL_TRACE
default 1 if LV_LOG_LEVEL_INFO
default 2 if LV_LOG_LEVEL_WARN
default 3 if LV_LOG_LEVEL_ERROR
default 4 if LV_LOG_LEVEL_USER
default 5 if LV_LOG_LEVEL_NONE
config LV_LOG_PRINTF
bool "Print the log with 'printf'" if LV_USE_LOG
help
Use printf for log output.
If not set the user needs to register a callback with `lv_log_register_print_cb`.
config LV_LOG_USE_TIMESTAMP
bool "Enable print timestamp"
default y
depends on LV_USE_LOG
config LV_LOG_TRACE_MEM
bool "Enable/Disable LV_LOG_TRACE in mem module"
default y
depends on LV_USE_LOG
config LV_LOG_TRACE_TIMER
bool "Enable/Disable LV_LOG_TRACE in timer module"
default y
depends on LV_USE_LOG
config LV_LOG_TRACE_INDEV
bool "Enable/Disable LV_LOG_TRACE in indev module"
default y
depends on LV_USE_LOG
config LV_LOG_TRACE_DISP_REFR
bool "Enable/Disable LV_LOG_TRACE in disp refr module"
default y
depends on LV_USE_LOG
config LV_LOG_TRACE_EVENT
bool "Enable/Disable LV_LOG_TRACE in event module"
default y
depends on LV_USE_LOG
config LV_LOG_TRACE_OBJ_CREATE
bool "Enable/Disable LV_LOG_TRACE in obj create module"
default y
depends on LV_USE_LOG
config LV_LOG_TRACE_LAYOUT
bool "Enable/Disable LV_LOG_TRACE in layout module"
default y
depends on LV_USE_LOG
config LV_LOG_TRACE_ANIM
bool "Enable/Disable LV_LOG_TRACE in anim module"
default y
depends on LV_USE_LOG
config LV_LOG_TRACE_MSG
bool "Enable/Disable LV_LOG_TRACE in msg module"
default y
depends on LV_USE_LOG
endmenu
menu "Asserts"
config LV_USE_ASSERT_NULL
bool "Check if the parameter is NULL. (Very fast, recommended)"
default y if !LV_CONF_MINIMAL
config LV_USE_ASSERT_MALLOC
bool "Checks if the memory is successfully allocated or no. (Very fast, recommended)"
default y if !LV_CONF_MINIMAL
config LV_USE_ASSERT_STYLE
bool "Check if the styles are properly initialized. (Very fast, recommended)"
config LV_USE_ASSERT_MEM_INTEGRITY
bool "Check the integrity of `lv_mem` after critical operations. (Slow)"
config LV_USE_ASSERT_OBJ
bool "Check NULL, the object's type and existence (e.g. not deleted). (Slow)."
config LV_ASSERT_HANDLER_INCLUDE
string "Header to include for the custom assert function"
default "assert.h"
endmenu
menu "Others"
config LV_USE_PERF_MONITOR
bool "Show CPU usage and FPS count."
depends on LV_USE_SYSMON
choice
prompt "Performance monitor position."
depends on LV_USE_PERF_MONITOR
default LV_PERF_MONITOR_ALIGN_BOTTOM_RIGHT
config LV_PERF_MONITOR_ALIGN_TOP_LEFT
bool "Top left"
config LV_PERF_MONITOR_ALIGN_TOP_MID
bool "Top middle"
config LV_PERF_MONITOR_ALIGN_TOP_RIGHT
bool "Top right"
config LV_PERF_MONITOR_ALIGN_BOTTOM_LEFT
bool "Bottom left"
config LV_PERF_MONITOR_ALIGN_BOTTOM_MID
bool "Bottom middle"
config LV_PERF_MONITOR_ALIGN_BOTTOM_RIGHT
bool "Bottom right"
config LV_PERF_MONITOR_ALIGN_LEFT_MID
bool "Left middle"
config LV_PERF_MONITOR_ALIGN_RIGHT_MID
bool "Right middle"
config LV_PERF_MONITOR_ALIGN_CENTER
bool "Center"
endchoice
config LV_USE_PERF_MONITOR_LOG_MODE
bool "Prints performance data using log"
depends on LV_USE_PERF_MONITOR
default n
config LV_USE_MEM_MONITOR
bool "Show the used memory and the memory fragmentation."
depends on !LV_MEM_CUSTOM
depends on LV_USE_SYSMON
choice
prompt "Memory monitor position."
depends on LV_USE_MEM_MONITOR
default LV_MEM_MONITOR_ALIGN_BOTTOM_LEFT
config LV_MEM_MONITOR_ALIGN_TOP_LEFT
bool "Top left"
config LV_MEM_MONITOR_ALIGN_TOP_MID
bool "Top middle"
config LV_MEM_MONITOR_ALIGN_TOP_RIGHT
bool "Top right"
config LV_MEM_MONITOR_ALIGN_BOTTOM_LEFT
bool "Bottom left"
config LV_MEM_MONITOR_ALIGN_BOTTOM_MID
bool "Bottom middle"
config LV_MEM_MONITOR_ALIGN_BOTTOM_RIGHT
bool "Bottom right"
config LV_MEM_MONITOR_ALIGN_LEFT_MID
bool "Left middle"
config LV_MEM_MONITOR_ALIGN_RIGHT_MID
bool "Right middle"
config LV_MEM_MONITOR_ALIGN_CENTER
bool "Center"
endchoice
config LV_USE_REFR_DEBUG
bool "Draw random colored rectangles over the redrawn areas."
config LV_USE_BUILTIN_SNPRINTF
bool "Use the built-in (v)snprintf functions"
default y
config LV_SPRINTF_USE_FLOAT
bool "Enable float in built-in (v)snprintf functions"
depends on LV_USE_BUILTIN_SNPRINTF
config LV_ENABLE_GLOBAL_CUSTOM
bool "Enable 'lv_global' customization"
config LV_GLOBAL_CUSTOM_INCLUDE
string "Header to include for the custom 'lv_global' function"
depends on LV_ENABLE_GLOBAL_CUSTOM
default "lv_global.h"
endmenu
menu "Compiler settings"
config LV_BIG_ENDIAN_SYSTEM
bool "For big endian systems set to 1"
config LV_ATTRIBUTE_MEM_ALIGN_SIZE
int "Required alignment size for buffers"
default 1
config LV_ATTRIBUTE_FAST_MEM_USE_IRAM
bool "Set IRAM as LV_ATTRIBUTE_FAST_MEM"
help
Set this option to configure IRAM as LV_ATTRIBUTE_FAST_MEM
config LV_USE_LARGE_COORD
bool "Extend the default -32k..32k coordinate range to -4M..4M by using int32_t for coordinates instead of int16_t"
endmenu
endmenu
menu "Font usage"
menu "Enable built-in fonts"
config LV_FONT_MONTSERRAT_8
bool "Enable Montserrat 8"
config LV_FONT_MONTSERRAT_10
bool "Enable Montserrat 10"
config LV_FONT_MONTSERRAT_12
bool "Enable Montserrat 12"
config LV_FONT_MONTSERRAT_14
bool "Enable Montserrat 14"
default y if !LV_CONF_MINIMAL
config LV_FONT_MONTSERRAT_16
bool "Enable Montserrat 16"
config LV_FONT_MONTSERRAT_18
bool "Enable Montserrat 18"
config LV_FONT_MONTSERRAT_20
bool "Enable Montserrat 20"
config LV_FONT_MONTSERRAT_22
bool "Enable Montserrat 22"
config LV_FONT_MONTSERRAT_24
bool "Enable Montserrat 24"
config LV_FONT_MONTSERRAT_26
bool "Enable Montserrat 26"
config LV_FONT_MONTSERRAT_28
bool "Enable Montserrat 28"
config LV_FONT_MONTSERRAT_30
bool "Enable Montserrat 30"
config LV_FONT_MONTSERRAT_32
bool "Enable Montserrat 32"
config LV_FONT_MONTSERRAT_34
bool "Enable Montserrat 34"
config LV_FONT_MONTSERRAT_36
bool "Enable Montserrat 36"
config LV_FONT_MONTSERRAT_38
bool "Enable Montserrat 38"
config LV_FONT_MONTSERRAT_40
bool "Enable Montserrat 40"
config LV_FONT_MONTSERRAT_42
bool "Enable Montserrat 42"
config LV_FONT_MONTSERRAT_44
bool "Enable Montserrat 44"
config LV_FONT_MONTSERRAT_46
bool "Enable Montserrat 46"
config LV_FONT_MONTSERRAT_48
bool "Enable Montserrat 48"
config LV_FONT_MONTSERRAT_12_SUBPX
bool "Enable Montserrat 12 sub-pixel"
config LV_FONT_MONTSERRAT_28_COMPRESSED
bool "Enable Montserrat 28 compressed"
config LV_FONT_DEJAVU_16_PERSIAN_HEBREW
bool "Enable Dejavu 16 Persian, Hebrew, Arabic letters"
config LV_FONT_SIMSUN_16_CJK
bool "Enable Simsun 16 CJK"
config LV_FONT_UNSCII_8
bool "Enable UNSCII 8 (Perfect monospace font)"
default y if LV_CONF_MINIMAL
config LV_FONT_UNSCII_16
bool "Enable UNSCII 16 (Perfect monospace font)"
endmenu
choice LV_FONT_DEFAULT
prompt "Select theme default title font"
default LV_FONT_DEFAULT_MONTSERRAT_14 if !LV_CONF_MINIMAL
default LV_FONT_DEFAULT_UNSCII_8 if LV_CONF_MINIMAL
help
Select theme default title font
config LV_FONT_DEFAULT_MONTSERRAT_8
bool "Montserrat 8"
select LV_FONT_MONTSERRAT_8
config LV_FONT_DEFAULT_MONTSERRAT_12
bool "Montserrat 12"
select LV_FONT_MONTSERRAT_12
config LV_FONT_DEFAULT_MONTSERRAT_14
bool "Montserrat 14"
select LV_FONT_MONTSERRAT_14
config LV_FONT_DEFAULT_MONTSERRAT_16
bool "Montserrat 16"
select LV_FONT_MONTSERRAT_16
config LV_FONT_DEFAULT_MONTSERRAT_18
bool "Montserrat 18"
select LV_FONT_MONTSERRAT_18
config LV_FONT_DEFAULT_MONTSERRAT_20
bool "Montserrat 20"
select LV_FONT_MONTSERRAT_20
config LV_FONT_DEFAULT_MONTSERRAT_22
bool "Montserrat 22"
select LV_FONT_MONTSERRAT_22
config LV_FONT_DEFAULT_MONTSERRAT_24
bool "Montserrat 24"
select LV_FONT_MONTSERRAT_24
config LV_FONT_DEFAULT_MONTSERRAT_26
bool "Montserrat 26"
select LV_FONT_MONTSERRAT_26
config LV_FONT_DEFAULT_MONTSERRAT_28
bool "Montserrat 28"
select LV_FONT_MONTSERRAT_28
config LV_FONT_DEFAULT_MONTSERRAT_30
bool "Montserrat 30"
select LV_FONT_MONTSERRAT_30
config LV_FONT_DEFAULT_MONTSERRAT_32
bool "Montserrat 32"
select LV_FONT_MONTSERRAT_32
config LV_FONT_DEFAULT_MONTSERRAT_34
bool "Montserrat 34"
select LV_FONT_MONTSERRAT_34
config LV_FONT_DEFAULT_MONTSERRAT_36
bool "Montserrat 36"
select LV_FONT_MONTSERRAT_36
config LV_FONT_DEFAULT_MONTSERRAT_38
bool "Montserrat 38"
select LV_FONT_MONTSERRAT_38
config LV_FONT_DEFAULT_MONTSERRAT_40
bool "Montserrat 40"
select LV_FONT_MONTSERRAT_40
config LV_FONT_DEFAULT_MONTSERRAT_42
bool "Montserrat 42"
select LV_FONT_MONTSERRAT_42
config LV_FONT_DEFAULT_MONTSERRAT_44
bool "Montserrat 44"
select LV_FONT_MONTSERRAT_44
config LV_FONT_DEFAULT_MONTSERRAT_46
bool "Montserrat 46"
select LV_FONT_MONTSERRAT_46
config LV_FONT_DEFAULT_MONTSERRAT_48
bool "Montserrat 48"
select LV_FONT_MONTSERRAT_48
config LV_FONT_DEFAULT_MONTSERRAT_12_SUBPX
bool "Montserrat 12 sub-pixel"
select LV_FONT_MONTSERRAT_12_SUBPX
config LV_FONT_DEFAULT_MONTSERRAT_28_COMPRESSED
bool "Montserrat 28 compressed"
select LV_FONT_MONTSERRAT_28_COMPRESSED
config LV_FONT_DEFAULT_DEJAVU_16_PERSIAN_HEBREW
bool "Dejavu 16 Persian, Hebrew, Arabic letters"
select LV_FONT_DEJAVU_16_PERSIAN_HEBREW
config LV_FONT_DEFAULT_SIMSUN_16_CJK
bool "Simsun 16 CJK"
select LV_FONT_SIMSUN_16_CJK
config LV_FONT_DEFAULT_UNSCII_8
bool "UNSCII 8 (Perfect monospace font)"
select LV_FONT_UNSCII_8
config LV_FONT_DEFAULT_UNSCII_16
bool "UNSCII 16 (Perfect monospace font)"
select LV_FONT_UNSCII_16
endchoice
config LV_FONT_FMT_TXT_LARGE
bool "Enable it if you have fonts with a lot of characters."
help
The limit depends on the font size, font face and bpp
but with > 10,000 characters if you see issues probably you
need to enable it.
config LV_USE_FONT_COMPRESSED
bool "Sets support for compressed fonts."
config LV_USE_FONT_SUBPX
bool "Enable subpixel rendering."
config LV_FONT_SUBPX_BGR
bool "Use BGR instead RGB for sub-pixel rendering."
depends on LV_USE_FONT_SUBPX
help
Set the pixel order of the display.
Important only if "subpx fonts" are used.
With "normal" font it doesn't matter.
config LV_USE_FONT_PLACEHOLDER
bool "Enable drawing placeholders when glyph dsc is not found."
default y
endmenu
menu "Text Settings"
choice LV_TXT_ENC
prompt "Select a character encoding for strings"
help
Select a character encoding for strings. Your IDE or editor should have the same character encoding.
default LV_TXT_ENC_UTF8 if !LV_CONF_MINIMAL
default LV_TXT_ENC_ASCII if LV_CONF_MINIMAL
config LV_TXT_ENC_UTF8
bool "UTF8"
config LV_TXT_ENC_ASCII
bool "ASCII"
endchoice
config LV_TXT_BREAK_CHARS
string "Can break (wrap) texts on these chars"
default " ,.;:-_)]}"
config LV_TXT_LINE_BREAK_LONG_LEN
int "Line break long length"
default 0
help
If a word is at least this long, will break wherever 'prettiest'.
To disable, set to a value <= 0.
config LV_TXT_LINE_BREAK_LONG_PRE_MIN_LEN
int "Min num chars before break"
default 3
depends on LV_TXT_LINE_BREAK_LONG_LEN > 0
help
Minimum number of characters in a long word to put on a line before a break.
config LV_TXT_LINE_BREAK_LONG_POST_MIN_LEN
int "Min num chars after break"
default 3
depends on LV_TXT_LINE_BREAK_LONG_LEN > 0
help
Minimum number of characters in a long word to put on a line after a break.
config LV_TXT_COLOR_CMD
string "The control character to use for signalling text recoloring"
default "#"
config LV_USE_BIDI
bool "Support bidirectional texts"
help
Allows mixing Left-to-Right and Right-to-Left texts.
The direction will be processed according to the Unicode Bidirectional Algorithm:
https://www.w3.org/International/articles/inline-bidi-markup/uba-basics
choice
prompt "Set the default BIDI direction"
default LV_BIDI_DIR_AUTO
depends on LV_USE_BIDI
config LV_BIDI_DIR_LTR
bool "Left-to-Right"
config LV_BIDI_DIR_RTL
bool "Right-to-Left"
config LV_BIDI_DIR_AUTO
bool "Detect texts base direction"
endchoice
config LV_USE_ARABIC_PERSIAN_CHARS
bool "Enable Arabic/Persian processing"
help
In these languages characters should be replaced with
an other form based on their position in the text.
endmenu
menu "Widget usage"
config LV_WIDGETS_HAS_DEFAULT_VALUE
bool "Widgets has default value."
default y if !LV_CONF_MINIMAL
config LV_USE_ARC
bool "Arc."
default y if !LV_CONF_MINIMAL
config LV_USE_BAR
bool "Bar."
default y if !LV_CONF_MINIMAL
config LV_USE_BTN
bool "Button."
default y if !LV_CONF_MINIMAL
config LV_USE_BTNMATRIX
bool "Button matrix."
default y if !LV_CONF_MINIMAL
config LV_USE_CANVAS
bool "Canvas. Dependencies: lv_img."
select LV_USE_IMG
default y if !LV_CONF_MINIMAL
config LV_USE_CHECKBOX
bool "Check Box"
default y if !LV_CONF_MINIMAL
config LV_USE_DROPDOWN
bool "Drop down list. Requires: lv_label."
select LV_USE_LABEL
default y if !LV_CONF_MINIMAL
config LV_USE_IMG
bool "Image. Requires: lv_label."
select LV_USE_LABEL
default y if !LV_CONF_MINIMAL
config LV_USE_LABEL
bool "Label."
default y if !LV_CONF_MINIMAL
config LV_LABEL_TEXT_SELECTION
bool "Enable selecting text of the label."
depends on LV_USE_LABEL
default y
config LV_LABEL_LONG_TXT_HINT
bool "Store extra some info in labels (12 bytes) to speed up drawing of very long texts."
depends on LV_USE_LABEL
default y
config LV_USE_LINE
bool "Line."
default y if !LV_CONF_MINIMAL
config LV_USE_ROLLER
bool "Roller. Requires: lv_label."
select LV_USE_LABEL
default y if !LV_CONF_MINIMAL
config LV_ROLLER_INF_PAGES
int "Number of extra 'pages' when the controller is infinite."
default 7
depends on LV_USE_ROLLER
config LV_USE_SCALE
bool "Scale."
default y if !LV_CONF_MINIMAL
config LV_USE_SLIDER
bool "Slider. Requires: lv_bar."
select LV_USE_BAR
default y if !LV_CONF_MINIMAL
config LV_USE_SWITCH
bool "Switch."
default y if !LV_CONF_MINIMAL
config LV_USE_TEXTAREA
bool "Text area. Requires: lv_label."
select LV_USE_LABEL
default y if !LV_CONF_MINIMAL
config LV_TEXTAREA_DEF_PWD_SHOW_TIME
int "Text area def. pwd show time [ms]."
default 1500
depends on LV_USE_TEXTAREA
config LV_USE_TABLE
bool "Table."
default y if !LV_CONF_MINIMAL
endmenu
menu "Extra Widgets"
config LV_USE_ANIMIMG
bool "Anim image."
default y if !LV_CONF_MINIMAL
config LV_USE_CALENDAR
bool "Calendar."
default y if !LV_CONF_MINIMAL
config LV_CALENDAR_WEEK_STARTS_MONDAY
bool "Calendar week starts monday."
depends on LV_USE_CALENDAR
config LV_USE_CALENDAR_HEADER_ARROW
bool "Use calendar header arrow"
depends on LV_USE_CALENDAR
default y
config LV_USE_CALENDAR_HEADER_DROPDOWN
bool "Use calendar header dropdown"
depends on LV_USE_CALENDAR
default y
config LV_USE_CHART
bool "Chart."
default y if !LV_CONF_MINIMAL
config LV_USE_IMGBTN
bool "Imgbtn."
default y if !LV_CONF_MINIMAL
config LV_USE_KEYBOARD
bool "Keyboard."
default y if !LV_CONF_MINIMAL
config LV_USE_LED
bool "LED."
default y if !LV_CONF_MINIMAL
config LV_USE_LIST
bool "List."
default y if !LV_CONF_MINIMAL
config LV_USE_MENU
bool "Menu."
default y if !LV_CONF_MINIMAL
config LV_USE_METER
bool "Meter."
default y if !LV_CONF_MINIMAL
config LV_USE_MSGBOX
bool "Msgbox."
default y if !LV_CONF_MINIMAL
config LV_USE_SPAN
bool "span"
default y if !LV_CONF_MINIMAL
config LV_SPAN_SNIPPET_STACK_SIZE
int "Maximum number of span descriptor"
default 64
depends on LV_USE_SPAN
config LV_USE_SPINBOX
bool "Spinbox."
default y if !LV_CONF_MINIMAL
config LV_USE_SPINNER
bool "Spinner."
default y if !LV_CONF_MINIMAL
config LV_USE_TABVIEW
bool "Tabview."
default y if !LV_CONF_MINIMAL
config LV_USE_TILEVIEW
bool "Tileview"
default y if !LV_CONF_MINIMAL
config LV_USE_WIN
bool "Win"
default y if !LV_CONF_MINIMAL
endmenu
menu "Themes"
config LV_USE_THEME_DEFAULT
bool "A simple, impressive and very complete theme"
default y if !LV_COLOR_DEPTH_1 && !LV_CONF_MINIMAL
config LV_THEME_DEFAULT_DARK
bool "Yes to set dark mode, No to set light mode"
depends on LV_USE_THEME_DEFAULT
config LV_THEME_DEFAULT_GROW
bool "Enable grow on press"
default y
depends on LV_USE_THEME_DEFAULT
config LV_THEME_DEFAULT_TRANSITION_TIME
int "Default transition time in [ms]"
default 80
depends on LV_USE_THEME_DEFAULT
config LV_USE_THEME_BASIC
bool "A very simple theme that is a good starting point for a custom theme"
default y if !LV_COLOR_DEPTH_1 && !LV_CONF_MINIMAL
config LV_USE_THEME_MONO
bool "Monochrome theme, suitable for some E-paper & dot matrix displays"
default y if LV_COLOR_DEPTH_1 && !LV_CONF_MINIMAL
endmenu
menu "Layouts"
config LV_USE_FLEX
bool "A layout similar to Flexbox in CSS."
default y if !LV_CONF_MINIMAL
config LV_USE_GRID
bool "A layout similar to Grid in CSS."
default y if !LV_CONF_MINIMAL
endmenu
menu "3rd Party Libraries"
config LV_USE_FS_STDIO
bool "File system on top of stdio API"
config LV_FS_STDIO_LETTER
int "Set an upper cased letter on which the drive will accessible (e.g. 'A' i.e. 65 )"
default 0
depends on LV_USE_FS_STDIO
config LV_FS_STDIO_PATH
string "Set the working directory"
depends on LV_USE_FS_STDIO
config LV_FS_STDIO_CACHE_SIZE
int ">0 to cache this number of bytes in lv_fs_read()"
default 0
depends on LV_USE_FS_STDIO
config LV_USE_FS_POSIX
bool "File system on top of posix API"
config LV_FS_POSIX_LETTER
int "Set an upper cased letter on which the drive will accessible (e.g. 'A' i.e. 65)"
default 0
depends on LV_USE_FS_POSIX
config LV_FS_POSIX_PATH
string "Set the working directory"
depends on LV_USE_FS_POSIX
config LV_FS_POSIX_CACHE_SIZE
int ">0 to cache this number of bytes in lv_fs_read()"
default 0
depends on LV_USE_FS_POSIX
config LV_USE_FS_WIN32
bool "File system on top of Win32 API"
config LV_FS_WIN32_LETTER
int "Set an upper cased letter on which the drive will accessible (e.g. 'A' i.e. 65)"
default 0
depends on LV_USE_FS_WIN32
config LV_FS_WIN32_PATH
string "Set the working directory"
depends on LV_USE_FS_WIN32
config LV_FS_WIN32_CACHE_SIZE
int ">0 to cache this number of bytes in lv_fs_read()"
default 0
depends on LV_USE_FS_WIN32
config LV_USE_FS_FATFS
bool "File system on top of FatFS"
config LV_FS_FATFS_LETTER
int "Set an upper cased letter on which the drive will accessible (e.g. 'A' i.e. 65)"
default 0
depends on LV_USE_FS_FATFS
config LV_FS_FATFS_CACHE_SIZE
int ">0 to cache this number of bytes in lv_fs_read()"
default 0
depends on LV_USE_FS_FATFS
config LV_USE_LODEPNG
bool "PNG decoder library"
config LV_USE_LIBPNG
bool "PNG decoder(libpng) library"
config LV_USE_BMP
bool "BMP decoder library"
config LV_USE_TJPGD
bool "TJPGD decoder library"
config LV_USE_LIBJPEG_TURBO
bool "libjpeg-turbo decoder library"
config LV_USE_GIF
bool "GIF decoder library"
config LV_USE_QRCODE
bool "QR code library"
config LV_USE_BARCODE
bool "Barcode library"
config LV_USE_FREETYPE
bool "FreeType library"
if LV_USE_FREETYPE
menu "FreeType cache config"
config LV_FREETYPE_CACHE_SIZE
int "Memory used by FreeType to cache characters [bytes]"
default 65535
config LV_FREETYPE_USE_LVGL_PORT
bool "Let FreeType to use LVGL memory and file porting"
default n
config LV_FREETYPE_SBIT_CACHE
bool "enable sbit cache"
default n
config LV_FREETYPE_CACHE_FT_FACES
int "The maximum number of FT_Face(0: use defaults)"
default 4
config LV_FREETYPE_CACHE_FT_SIZES
int "The maximum number of FT_Size(0: use defaults)"
default 4
endmenu
endif
config LV_USE_RLOTTIE
bool "Lottie library"
config LV_USE_FFMPEG
bool "FFmpeg library"
config LV_FFMPEG_DUMP_FORMAT
bool "Dump format"
depends on LV_USE_FFMPEG
default n
endmenu
menu "Others"
config LV_USE_SNAPSHOT
bool "Enable API to take snapshot"
default y if !LV_CONF_MINIMAL
config LV_USE_SYSMON
bool "Enable system monitor component"
default n
config LV_USE_MONKEY
bool "Enable Monkey test"
default n
config LV_USE_PROFILER
bool "Runtime performance profiler."
config LV_USE_PROFILER_BUILTIN
bool "Enable the built-in profiler"
depends on LV_USE_PROFILER
default y
config LV_PROFILER_INCLUDE
string "Header to include for the profiler"
depends on LV_USE_PROFILER
default "lvgl/src/misc/lv_profiler_builtin.h"
config LV_USE_GRIDNAV
bool "Enable grid navigation"
default n
config LV_USE_FRAGMENT
bool "Enable lv_obj fragment"
default n
config LV_USE_IMGFONT
bool "draw img in label or span obj"
default n
config LV_IMGFONT_PATH_MAX_LEN
int "Imgfont image file path maximum length"
depends on LV_USE_IMGFONT
default 64
config LV_IMGFONT_USE_IMG_CACHE_HEADER
bool "Use img cache to buffer header information"
depends on LV_USE_IMGFONT
default n
config LV_USE_MSG
bool "Enable a published subscriber based messaging system"
default n
config LV_USE_IME_PINYIN
bool "Enable Pinyin input method"
default n
config LV_IME_PINYIN_USE_K9_MODE
bool "Enable Pinyin input method 9 key input mode"
depends on LV_USE_IME_PINYIN
default n
config LV_IME_PINYIN_K9_CAND_TEXT_NUM
int "Maximum number of candidate panels for 9-key input mode"
depends on LV_IME_PINYIN_USE_K9_MODE
default 3
config LV_IME_PINYIN_USE_DEFAULT_DICT
bool "Use built-in Thesaurus"
depends on LV_USE_IME_PINYIN
default y
help
If you do not use the default thesaurus, be sure to use lv_ime_pinyin after setting the thesauruss
config LV_IME_PINYIN_CAND_TEXT_NUM
int "Maximum number of candidate panels"
depends on LV_USE_IME_PINYIN
default 6
help
Set the maximum number of candidate panels that can be displayed.
This needs to be adjusted according to the size of the screen.
config LV_USE_FILE_EXPLORER
bool "Enable file explorer"
default n
config LV_FILE_EXPLORER_PATH_MAX_LEN
int "Maximum length of path"
depends on LV_USE_FILE_EXPLORER
default 128
config LV_FILE_EXPLORER_QUICK_ACCESS
bool "Enable quick access bar"
depends on LV_USE_FILE_EXPLORER
default y
help
This can save some memory, but not much. After the quick access bar is created, it can be hidden by clicking the button at the top left corner of the browsing area, which is very useful for small screen devices.
endmenu
menu "Devices"
config LV_USE_SDL
bool "Use SDL to open window on PC and handle mouse and keyboard"
default n
config LV_SDL_INCLUDE_PATH
string "SDL include path"
depends on LV_USE_SDL
default "SDL/SDL2.h"
config LV_SDL_PARTIAL_MODE
bool "SDL partial mode"
depends on LV_USE_SDL
default n
config LV_SDL_FULLSCREEN
bool "SDL fullscreen"
depends on LV_USE_SDL
default n
config LV_SDL_DIRECT_EXIT
bool "Exit the application when all SDL widows are closed"
depends on LV_USE_SDL
default y
config LV_USE_LINUX_FBDEV
bool "Use Linux framebuffer device"
default n
config LV_LINUX_FBDEV_BSD
bool "Use BSD flavored framebuffer device"
depends on LV_USE_LINUX_FBDEV
default n
choice
prompt "Framebuffer device render mode"
depends on LV_USE_LINUX_FBDEV
default LV_LINUX_FBDEV_RENDER_MODE_PARTIAL
config LV_LINUX_FBDEV_RENDER_MODE_PARTIAL
bool "Partial mode"
help
Use the buffer(s) to render the screen is smaller parts. This way the buffers can be smaller then the display to save RAM. At least 1/10 screen size buffer(s) are recommended.
config LV_LINUX_FBDEV_RENDER_MODE_DIRECT
bool "Direct mode"
help
The buffer(s) has to be screen sized and LVGL will render into the correct location of the buffer. This way the buffer always contain the whole image. Only the changed ares will be updated. With 2 buffers the buffers' content are kept in sync automatically and in flush_cb only address change is required.
config LV_LINUX_FBDEV_RENDER_MODE_FULL
bool "Full mode"
help
Always redraw the whole screen even if only one pixel has been changed. With 2 buffers in flush_cb only and address change is required.
endchoice
choice
prompt "Framebuffer size"
depends on LV_USE_LINUX_FBDEV
default LV_LINUX_FBDEV_SINGLE_BUFFER
config LV_LINUX_FBDEV_SINGLE_BUFFER
bool "One screen-sized buffer"
config LV_LINUX_FBDEV_DOUBLE_BUFFER
bool "Two screen-sized buffer"
depends on !LV_LINUX_FBDEV_RENDER_MODE_PARTIAL
config LV_LINUX_FBDEV_CUSTOM_BUFFER
bool "Custom-sized buffer"
depends on LV_LINUX_FBDEV_RENDER_MODE_PARTIAL
endchoice
config LV_LINUX_FBDEV_BUFFER_COUNT
int
depends on LV_USE_LINUX_FBDEV
default 0 if LV_LINUX_FBDEV_CUSTOM_BUFFER
default 1 if LV_LINUX_FBDEV_SINGLE_BUFFER
default 2 if LV_LINUX_FBDEV_DOUBLE_BUFFER
config LV_LINUX_FBDEV_BUFFER_SIZE
int "Custom partial buffer size (in number of rows)"
depends on LV_USE_LINUX_FBDEV && LV_LINUX_FBDEV_CUSTOM_BUFFER
default 60
config LV_USE_NUTTX_FBDEV
bool "Use Nuttx framebuffer device"
default n
config LV_USE_NUTTX_LCD
bool "Use NuttX LCD device"
default n
choice
prompt "NuttX LCD buffer size"
depends on LV_USE_NUTTX_LCD
default LV_NUTTX_LCD_SINGLE_BUFFER
config LV_NUTTX_LCD_SINGLE_BUFFER
bool "One screen-sized buffer"
config LV_NUTTX_LCD_DOUBLE_BUFFER
bool "Two screen-sized buffer"
config LV_NUTTX_LCD_CUSTOM_BUFFER
bool "Custom-sized buffer"
endchoice
config LV_NUTTX_LCD_BUFFER_COUNT
int
depends on LV_USE_NUTTX_LCD
default 0 if LV_NUTTX_LCD_CUSTOM_BUFFER
default 1 if LV_NUTTX_LCD_SINGLE_BUFFER
default 2 if LV_NUTTX_LCD_DOUBLE_BUFFER
config LV_NUTTX_LCD_BUFFER_SIZE
int "Custom partial buffer size (in number of rows)"
depends on LV_USE_NUTTX_LCD && LV_NUTTX_LCD_CUSTOM_BUFFER
default 60
config LV_USE_LINUX_DRM
bool "Use Linux DRM device"
default n
config LV_USE_TFT_ESPI
bool "Use TFT_eSPI driver"
default n
config LV_USE_NUTTX_TOUCHSCREEN
bool "Use NuttX touchscreen driver"
default n
endmenu
menu "Examples"
config LV_BUILD_EXAMPLES
bool "Enable the examples to be built"
default y if !LV_CONF_MINIMAL
endmenu
menu "Demos"
config LV_USE_DEMO_WIDGETS
bool "Show some widget"
default n
config LV_DEMO_WIDGETS_SLIDESHOW
bool "Enable slide show"
depends on LV_USE_DEMO_WIDGETS
default n
config LV_USE_DEMO_KEYPAD_AND_ENCODER
bool "Demonstrate the usage of encoder and keyboard"
default n
config LV_USE_DEMO_BENCHMARK
bool "Benchmark your system"
default n
config LV_DEMO_BENCHMARK_RGB565A8
bool "Use RGB565A8 images with 16 bit color depth instead of ARGB8565"
depends on LV_USE_DEMO_BENCHMARK
default n
config LV_USE_DEMO_STRESS
bool "Stress test for LVGL"
default n
config LV_USE_DEMO_MUSIC
bool "Music player demo"
default n
config LV_DEMO_MUSIC_SQUARE
bool "Enable Square"
depends on LV_USE_DEMO_MUSIC
default n
config LV_DEMO_MUSIC_LANDSCAPE
bool "Enable Landscape"
depends on LV_USE_DEMO_MUSIC
default n
config LV_DEMO_MUSIC_ROUND
bool "Enable Round"
depends on LV_USE_DEMO_MUSIC
default n
config LV_DEMO_MUSIC_LARGE
bool "Enable Large"
depends on LV_USE_DEMO_MUSIC
default n
config LV_DEMO_MUSIC_AUTO_PLAY
bool "Enable Auto play"
depends on LV_USE_DEMO_MUSIC
default n
config LV_USE_DEMO_FLEX_LAYOUT
bool "Flex layout previewer"
default n
config LV_USE_DEMO_MULTILANG
bool "multi-language demo"
default n
endmenu
endmenu