| # 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 |