blob: f3c44fc22d92b637c71eeea323be423b35f1891a [file] [log] [blame]
# Copyright (c) 2018-2019 Jan Van Winkel <jan.van_winkel@dxplore.eu>
# SPDX-License-Identifier: Apache-2.0
menuconfig LVGL
bool "LittlevGL GUI library"
help
This option enables the LittlevGL GUI library.
if LVGL
module = LVGL
module-str = lvgl
source "subsys/logging/Kconfig.template.log_config"
config LVGL_DISPLAY_DEV_NAME
string "Display device name"
default "DISPLAY"
help
Name of the display device to use for rendering.
config LVGL_POINTER_KSCAN
bool "Keyboard scan pointer input"
depends on KSCAN
help
Enable keyboard scan pointer input
if LVGL_POINTER_KSCAN
config LVGL_POINTER_KSCAN_DEV_NAME
string "Keyboard scan device name for pointer input"
default "KSCAN"
help
Name of the keyboard scan device to use for pointer input.
config LVGL_POINTER_KSCAN_MSGQ_COUNT
int "Keyboard scan message queue count maximum"
default 10
help
Maximum number of items in the keyboard scan message queue.
endif # LVGL_POINTER_KSCAN
config LVGL_HOR_RES
int "Horizontal Screen Resolution"
default 320
help
Horizontal screen resolution in pixels
config LVGL_VER_RES
int "Vertical Screen Resolution"
default 240
help
Vertical screen resolution in pixels
config LVGL_DPI
int "DPI"
default 100
help
Dots per inch (DPI)
choice LVGL_COLOR_DEPTH
prompt "Color Depth"
default LVGL_COLOR_DEPTH_32
help
Color depth to be used by library
config LVGL_COLOR_DEPTH_32
bool "32-bit"
config LVGL_COLOR_DEPTH_16
bool "16-bit"
config LVGL_COLOR_DEPTH_8
bool "8-bit"
config LVGL_COLOR_DEPTH_1
bool "1-bit"
endchoice
config LVGL_BITS_PER_PIXEL
int "Bits per pixel"
default 32
range 1 32
depends on LVGL_BUFFER_ALLOC_STATIC
help
Number of bits per pixel.
config LVGL_COLOR_16_SWAP
bool "RGB565 byte swap"
depends on LVGL_COLOR_DEPTH_16
help
Swap the 2 bytes of a RGB565 pixel.
config LVGL_COLOR_SCREEN_TRANSP
bool "Transparency support"
depends on LVGL_COLOR_DEPTH_32
help
Enable screen transparency. Useful for OSD or other overlapping GUISs.
choice
prompt "Chroma key color"
default LVGL_CHROMA_KEY_GREEN
help
Color to to use as chroma key
config LVGL_CHROMA_KEY_RED
bool "Red"
config LVGL_CHROMA_KEY_GREEN
bool "Green"
config LVGL_CHROMA_KEY_BLUE
bool "Blue"
config LVGL_CHROMA_KEY_CUSTOM
bool "Custom"
endchoice
if LVGL_CHROMA_KEY_CUSTOM
config LVGL_CUSTOM_CHROMA_KEY_RED
hex "Chroma Key Red"
range 0x00 0xFF
default 0x00
help
Value of the color red to be used in the chroma key
config LVGL_CUSTOM_CHROMA_KEY_GREEN
hex "Chroma Key Green"
range 0x00 0xFF
default 0xFF
help
Value of the color green to be used in the chroma key
config LVGL_CUSTOM_CHROMA_KEY_BLUE
hex "Chroma Key Blue"
range 0x00 0xFF
default 0x00
help
Value of the color blue to be used in the chroma key
endif
choice
prompt "Memory pool"
default LVGL_MEM_POOL_HEAP_KERNEL
help
Memory pool to use for lvgl allocated objects
config LVGL_MEM_POOL_HEAP_KERNEL
bool "Kernel Heap"
depends on HEAP_MEM_POOL_SIZE != 0
help
Use k_malloc and k_free to allocate objects on the kernel heap
config LVGL_MEM_POOL_HEAP_LIB_C
bool "C library Heap"
depends on !MINIMAL_LIBC || (MINIMAL_LIBC_MALLOC_ARENA_SIZE != 0)
help
Use C library malloc and free to allocate objects on the C library heap
config LVGL_MEM_POOL_KERNEL
bool "Kernel space lvgl pool"
help
Use a dedicated memory pool in kernel space to allocate lvgl objects
on
config LVGL_MEM_POOL_USER
bool "User space lvgl pool"
help
Use a dedicated memory pool in user space to allocate lvgl objects on
endchoice
if LVGL_MEM_POOL_KERNEL || LVGL_MEM_POOL_USER
config LVGL_MEM_POOL_MIN_SIZE
int "Minimum memory pool block size"
default 16
help
Size of the smallest block in the memory pool in bytes
config LVGL_MEM_POOL_MAX_SIZE
int "Maximum memory pool block size"
default 2048
help
Size of the largest block in the memory pool in bytes
config LVGL_MEM_POOL_NUMBER_BLOCKS
int "Number of max size blocks in memory pool"
default 1
help
Number of maximum sized blocks in the memory pool.
endif
config LVGL_VDB_SIZE
int "Rendering buffer size"
default 10
range 1 100
help
Size of the buffer used for rendering screen content as a percentage
of total display size.
config LVGL_DOUBLE_VDB
bool "Use two rendering buffers"
help
Use two buffers to render and flush data in parallel
choice
prompt "Rendering Buffer Allocation"
default LVGL_BUFFER_ALLOC_STATIC
help
Type of allocation that should be used for allocating rendering buffers
config LVGL_BUFFER_ALLOC_STATIC
bool "Static"
help
Rendering buffers are statically allocated based on the following
configuration parameters:
* Horizontal screen resolution
* Vertical screen resolution
* Rendering buffer size
* Bytes per pixel
config LVGL_BUFFER_ALLOC_DYNAMIC
bool "Dynamic"
help
Rendering buffers are dynamically allocated based on the actual
display parameters
endchoice
config LVGL_SCREEN_REFRESH_PERIOD
int "Screen refresh period"
default 50
help
Screen refresh period in milliseconds
config LVGL_INPUT_REFRESH_PERIOD
int "Input device refresh period"
default 50
help
Refresh period for input devices in milliseconds
config LVGL_INPUT_DRAG_THRESHOLD
int "Drag Threshold"
default 10
help
Threshold in pixels before entering drag mode
config LVGL_INPUT_DRAG_THROW_SLOW_DOWN
int "Drag throw slow-down"
default 20
range 0 100
help
Percentage of slow down of a throw following a drag.
Greater percentage means faster slow-down.
config LVGL_INPUT_LONG_PRESS_TIME
int "Long press time"
default 400
help
Period in milliseconds before a press is seen as a long press
config LVGL_INPUT_LONG_RESS_REPEAT_TIME
int "Long press repeat time"
default 100
help
Period in milliseconds after which a new trigger is generated
for a long press
choice
prompt "String character encoding"
default LVGL_TXT_ENC_ASCII
config LVGL_TXT_ENC_ASCII
bool "ASCII string encoding"
config LVGL_TXT_ENC_UTF8
bool "UTF-8 string encoding"
endchoice
config LVGL_TEXT_BREAK_CHARACTERS
string "Text break characters"
default " ,.;:-_"
help
Characters on which a text break can take place
config LVGL_TEXT_LINE_BREAK_LONG_LEN
int "Minimal word length for line break"
default 12
help
If a word is at least this long, a line break is allowed in the word.
If the length is 0, no line break is allowed in the middle of a word.
config LVGL_TEXT_LINE_BREAK_LONG_PRE_MIN_LEN
int "Minimal number of characters on line before line break"
default 3
help
Minimal number of characters to place on a line before a line break
in the middle of a word can occur.
config LVGL_TEXT_LINE_BREAK_LONG_POST_MIN_LEN
int "Minimal number of characters on line after line break"
default 3
help
Minimal number of characters to place on a line after a line break
occurred in the middle of a word.
config LVGL_TEXT_COLOR_CMD
string "Text recoloring control character"
default "#"
help
Control character to use for signalling text recoloring
config LVGL_TEXT_USE_BIDI
bool "Enable bidirectional text support"
help
Enable bidirectional text support
The direction of the text will be processed according to the
Unicode Bidirectional Algorithm:
https://www.w3.org/International/articles/inline-bidi-markup/uba-basics*/
choice LVGL_TEXT_BIDI_MODE
prompt "Bidirectional text processing direction"
default LVGL_TEXT_BIDI_DIR_AUTO
depends on LVGL_TEXT_USE_BIDI
help
Direction of bidirectional text processing
config LVGL_TEXT_BIDI_DIR_AUTO
bool "Automatically detect direction"
config LVGL_TEXT_BIDI_DIR_LTR
bool "Left-to-right"
config LVGL_TEXT_BIDI_DIR_RTL
bool "Right-to-left"
endchoice
config LVGL_ANTIALIAS
bool "Enable anti-aliasing"
help
Enable anti-aliasing
config LVGL_ANIMATION
bool "Enable animations"
help
Enable animations
config LVGL_SHADOW
bool "Enable shadows"
help
Enable shadows
config LVGL_GROUP
bool "Enable group support"
help
Enable group support.
Used by keyboard and button input
config LVGL_GPU
bool "Enable GPU support"
help
Enable GPU support
config LVGL_IMG_CF_INDEXED
bool "Enable indexed image support"
default y
help
Enable support for indexed images
config LVGL_IMG_CF_ALPHA
bool "Enable alpha indexed image support"
default y
help
Enable support for alpha indexed images
config LVGL_IMG_INDEXED_CHROMA
bool "Enable chroma keying for indexed images"
help
Enable chroma keying for indexed images
config LVGL_FILESYSTEM
bool "Enable file system"
depends on FILE_SYSTEM
default y if FILE_SYSTEM
help
Enable LittlevGL file system
config LVGL_IMG_CACHE_DEF_SIZE
int "Default image cache size"
default 1
help
Default image cache size, image caching keeps the images open.
If only the built-in image formats are used there is no real
advantage of caching. With complex image decoders (e.g. PNG or JPG)
caching can save the continuous decoding of images. However the
opened images might consume additional RAM.
config LVGL_USE_DEBUG
bool "Enable debug support"
default y if TEST
help
Enable debug support.
If debug support is enabled LVGL will validate the parameters of
any function call made and if an invalid parameter is found __ASSERT
is called.
if LVGL_USE_DEBUG
config LVGL_USE_ASSERT_NULL
bool "Enable null pointer assertion"
default y if TEST
help
Enable null pointer assertion
Check if a null pointer is passed as a parameter (Quite fast)
config LVGL_USE_ASSERT_MEM
bool "Enable memory allocation assertion"
default y if TEST
help
Enable memory allocation assertion
Check if memory allocation is successful (Quite fast)
config LVGL_USE_ASSERT_STR
bool "Enable string assertion"
default y if TEST
help
Enable string assertion
Check if the string is not a NULL pointer, unusually long string,
contains invalid characters or contains unusual repetitions. (Slow)
If this option is disabled and NULL pointer checking is enabled, the
NULL pointer check is executed instead.
config LVGL_USE_ASSERT_OBJ
bool "Enable object assertion"
default y if TEST
help
Enable object assertion
Check if an object is not a NULL pointer, has the correct type and
does exists. (Quite Slow)
If this option is disabled and NULL pointer checking is enabled, the
NULL pointer check is executed instead.
config LVGL_USE_ASSERT_STYLE
bool "Enable style assertion"
default y if TEST
help
Enable style assertion
Check if a used style is correctly initialized. (Fast)
endif
rsource "Kconfig.themes"
rsource "Kconfig.fonts"
rsource "Kconfig.objects"
config APP_LINK_WITH_LVGL
bool "Link 'app' with LVGL"
default y
help
Add LVGL header files to the 'app' include path. It may be
disabled if the include paths for LVGL are causing aliasing
issues for 'app'.
endif # LVGL