The 'Graphical user interface' menu currently contains just the 'LittlevGL Support' symbol and its indented children. To remove one menu level, remove the 'Graphical user interface' menu, rename the symbol to 'LittlevGL GUI library' (consistent with e.g. 'Logging' and 'Bluetooth'), and turn it into a 'menuconfig' symbol. Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
375 lines
7.6 KiB
Plaintext
375 lines
7.6 KiB
Plaintext
#
|
|
# Copyright (c) 2018 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 0
|
|
help
|
|
Number of bits per pixel, in case the number of pixels should be derived
|
|
from the color depth set the number of pixels to zero.
|
|
|
|
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 NEWLIB_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
|
|
|
|
if !LVGL_TRUE_DOUBLE_BUFFERED
|
|
config LVGL_VDB_SIZE
|
|
int "Virtual Display Buffer Size"
|
|
default 10
|
|
range 1 100
|
|
help
|
|
Virtual Display Buffer (double buffering) size as a percentage of
|
|
total display size.
|
|
endif
|
|
|
|
config LVGL_VDB_STATIC
|
|
bool "Statically allocate virtual display buffer"
|
|
default y
|
|
help
|
|
Statically allocate virtual display buffer. If disabled pointer should be
|
|
passed via lv_vdb_set_adr().
|
|
|
|
config LVGL_DOUBLE_VDB
|
|
bool "Use 2 Virtual Display Buffers"
|
|
help
|
|
Use 2 virtual display buffers to render and flush data in parallel
|
|
|
|
if LVGL_DOUBLE_VDB
|
|
config LVGL_TRUE_DOUBLE_BUFFERED
|
|
bool "True double buffered"
|
|
help
|
|
Use true double buffering, VDB size will be set to 100%.
|
|
endif
|
|
|
|
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_MARK_PRESSED_POINTS
|
|
bool "Mark pressed points"
|
|
depends on LVGL_DIRECT_DRAW
|
|
help
|
|
Mark the pressed points on the screen.
|
|
|
|
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
|
|
|
|
config LVGL_UTF_8
|
|
bool "Enable UTF-8 support"
|
|
default y
|
|
help
|
|
Enable UTF-8 support
|
|
|
|
config LVGL_TEXT_BREAK_CHARACTERS
|
|
string "Text break characters"
|
|
default " ,.;:-_"
|
|
help
|
|
Characters on which a text break can take place
|
|
|
|
config LVGL_TEXT_BREAK_LONG_WORD_SIZE
|
|
int "Long word size for text break"
|
|
default 12
|
|
help
|
|
Number of characters in a word before considering a word for a text break
|
|
|
|
config LVGL_TEXT_BREAK_LONG_WORD_PRE_MIN_LEN
|
|
int "Minimum long word length before text break"
|
|
default 3
|
|
help
|
|
Minimum number of characters of a long word that should be put before a
|
|
break
|
|
|
|
config LVGL_TEXT_BREAK_LONG_WORD_POST_MIN_LEN
|
|
int "Minimum long word length after text break"
|
|
default 1
|
|
help
|
|
Minimum number of characters of a long word that should be placed after a
|
|
break
|
|
|
|
config LVGL_ANTIALIAS
|
|
bool "Enable anti-aliasing"
|
|
default y
|
|
help
|
|
Enable anti-aliasing
|
|
|
|
config LVGL_ANIMATION
|
|
bool "Enable animations"
|
|
default y
|
|
help
|
|
Enable animations
|
|
|
|
config LVGL_SHADOW
|
|
bool "Enable shadows"
|
|
default y
|
|
help
|
|
Enable shadows
|
|
|
|
config LVGL_GROUP
|
|
bool "Enable group support"
|
|
default y
|
|
help
|
|
Enable group support.
|
|
Used by keyboard and button input
|
|
|
|
config LVGL_GPU
|
|
bool "Enable GPU support"
|
|
help
|
|
Enable GPU support
|
|
|
|
config LVGL_DIRECT_DRAW
|
|
bool "Enable direct draw"
|
|
default y
|
|
help
|
|
Enable direct draw support.
|
|
Direct draw bypasses virtual display buffer and directly writes to
|
|
frame buffer
|
|
|
|
config LVGL_FILESYSTEM
|
|
bool "Enable file system"
|
|
depends on FILE_SYSTEM
|
|
default y if FILE_SYSTEM
|
|
help
|
|
Enable LittlevGL file system
|
|
|
|
config LVGL_MULTI_LANGUAGE
|
|
bool "Multi language support"
|
|
help
|
|
Enable multi language support
|
|
|
|
if LVGL_MULTI_LANGUAGE
|
|
config LVGL_NBR_OF_LANGUAGES
|
|
int "Number of languages"
|
|
default 1
|
|
help
|
|
Number of languages to support
|
|
endif
|
|
|
|
config LVGL_VLA_SUPPORT
|
|
bool "Enable variable length array support"
|
|
default y
|
|
help
|
|
Enable variable length array support
|
|
|
|
config LVGL_COMPILER_NON_CONST_INIT_SUPPORTED
|
|
bool "Enable non constant init"
|
|
default y
|
|
help
|
|
Indicate if initialization with non constant values is supported
|
|
|
|
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
|