Added support for new features in LVGL v6.1 Signed-off-by: Jan Van Winkel <jan.van_winkel@dxplore.eu>
469 lines
10 KiB
Plaintext
469 lines
10 KiB
Plaintext
# 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_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.
|
|
|
|
if LVGL_COLOR_DEPTH_16
|
|
|
|
config LVGL_COLOR_16_SWAP
|
|
bool "RGB565 byte swap"
|
|
help
|
|
Swap the 2 bytes of a RGB565 pixel.
|
|
|
|
endif
|
|
|
|
if LVGL_COLOR_DEPTH_32
|
|
|
|
config LVGL_COLOR_SCREEN_TRANSP
|
|
bool "Transparency support"
|
|
help
|
|
Enable screen transparency. Useful for OSD or other overlapping GUISs.
|
|
|
|
endif
|
|
|
|
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*/
|
|
|
|
if LVGL_TEXT_USE_BIDI
|
|
|
|
choice LVGL_TEXT_BIDI_MODE
|
|
prompt "Bidirectional text processing direction"
|
|
default LVGL_TEXT_BIDI_DIR_AUTO
|
|
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
|
|
|
|
endif
|
|
|
|
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
|