lv_conf_internal.h

GENERATED FILE, DO NOT EDIT IT!

This file ensures all defines of lv_conf.h have a default value.

Defines

LV_OS_NONE
LV_OS_PTHREAD
LV_OS_FREERTOS
LV_OS_CMSIS_RTOS2
LV_OS_RTTHREAD
LV_OS_WINDOWS
LV_OS_MQX
LV_OS_SDL2
LV_OS_CUSTOM
LV_STDLIB_BUILTIN
LV_STDLIB_CLIB
LV_STDLIB_MICROPYTHON
LV_STDLIB_RTTHREAD
LV_STDLIB_CUSTOM
LV_DRAW_SW_ASM_NONE
LV_DRAW_SW_ASM_NEON
LV_DRAW_SW_ASM_HELIUM
LV_DRAW_SW_ASM_CUSTOM
LV_NEMA_HAL_CUSTOM
LV_NEMA_HAL_STM32
LV_TEXTAREA_DEF_PWD_SHOW_TIME

Handle special Kconfig options. Color depth: 1 (I1), 8 (L8), 16 (RGB565), 24 (RGB888), 32 (XRGB8888) Possible values

  • LV_STDLIB_BUILTIN: LVGL's built in implementation

  • LV_STDLIB_CLIB: Standard C functions, like malloc, strlen, etc

  • LV_STDLIB_MICROPYTHON: MicroPython implementation

  • LV_STDLIB_RTTHREAD: RT-Thread implementation

  • LV_STDLIB_CUSTOM: Implement the functions externally Possible values

  • LV_STDLIB_BUILTIN: LVGL's built in implementation

  • LV_STDLIB_CLIB: Standard C functions, like malloc, strlen, etc

  • LV_STDLIB_MICROPYTHON: MicroPython implementation

  • LV_STDLIB_RTTHREAD: RT-Thread implementation

  • LV_STDLIB_CUSTOM: Implement the functions externally Possible values

  • LV_STDLIB_BUILTIN: LVGL's built in implementation

  • LV_STDLIB_CLIB: Standard C functions, like malloc, strlen, etc

  • LV_STDLIB_MICROPYTHON: MicroPython implementation

  • LV_STDLIB_RTTHREAD: RT-Thread implementation

  • LV_STDLIB_CUSTOM: Implement the functions externally Size of memory available for lv_malloc() in bytes (>= 2kB) Size of the memory expand for lv_malloc() in bytes Set an address for the memory pool instead of allocating it as a normal array. Can be in external SRAM too. Default display refresh, input device read and animation step period. Default Dots Per Inch. Used to initialize default sizes such as widgets sized, style paddings. (Not so important, you can adjust it to modify default sizes and spaces.) Select operating system to use. Possible options:

  • LV_OS_NONE

  • LV_OS_PTHREAD

  • LV_OS_FREERTOS

  • LV_OS_CMSIS_RTOS2

  • LV_OS_RTTHREAD

  • LV_OS_WINDOWS

  • LV_OS_MQX

  • LV_OS_SDL2

  • LV_OS_CUSTOM Align stride of all layers and images to this bytes Align start address of draw_buf addresses to this bytes Using matrix for transformations. Requirements:

  • LV_USE_MATRIX = 1.

  • Rendering engine needs to support 3x3 matrix transformations. The target buffer size for simple layer chunks. Stack size of drawing thread. NOTE: If FreeType or ThorVG is enabled, it is recommended to set it to 32KB or more. Set number of draw units.

  • > 1 requires operating system to be enabled in LV_USE_OS.

  • > 1 means multiple threads will render the screen in parallel. Use Arm-2D to accelerate software (sw) rendering. Enable native helium assembly to be compiled.

  • 0: Use a simple renderer capable of drawing only simple rectangles with gradient, images, text, and straight lines only.

  • 1: Use a complex renderer capable of drawing rounded corners, shadow, skew lines, and arcs too. Allow buffering some shadow calculation. LV_DRAW_SW_SHADOW_CACHE_SIZE is the maximum shadow size to buffer, where shadow size is shadow_width + radius. Caching has LV_DRAW_SW_SHADOW_CACHE_SIZE^2 RAM cost. Set number of maximally-cached circle data. 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).

  • 0: disables caching Enable drawing complex gradients in software: linear at an angle, radial or conical Select which NemaGFX HAL to use. Possible options:

  • LV_NEMA_HAL_CUSTOM

  • LV_NEMA_HAL_STM32 Use NXP's VG-Lite GPU on iMX RTxxx platforms. Enable blit quality degradation workaround recommended for screen's dimension > 352 pixels. Enable VGLite asserts. Use NXP's PXP on iMX RTxxx platforms. Use PXP for drawing. Use PXP to rotate display. Enable PXP asserts. Use Renesas Dave2D on RA platforms. Draw using cached SDL textures Use VG-Lite GPU. Enable VG-Lite custom external 'gpu_init()' function Enable VG-Lite assert. VG-Lite flush commit trigger threshold. GPU will try to batch these many draw tasks. Enable border to simulate shadow. NOTE: which usually improves performance, but does not guarantee the same rendering quality as the software. VG-Lite gradient maximum cache number.

  • LV_LOG_LEVEL_TRACE Log detailed information.

  • LV_LOG_LEVEL_INFO Log important events.

  • LV_LOG_LEVEL_WARN Log if something unwanted happened but didn't cause a problem.

  • LV_LOG_LEVEL_ERROR Log only critical issues, when system may fail.

  • LV_LOG_LEVEL_USER Log only custom log messages added by the user.

  • LV_LOG_LEVEL_NONE Do not log anything.

  • 1: Print log with 'printf';

  • 0: User needs to register a callback with lv_log_register_print_cb(). Set callback to print logs. E.g my_print. The prototype should be void my_print(lv_log_level_t level, const char * buf). Can be overwritten by lv_log_register_print_cb.

  • 1: Enable printing timestamp;

  • 0: Disable printing timestamp.

  • 1: Print file and line number of the log;

  • 0: Do not print file and line number of the log. Add a custom handler when assert happens e.g. to restart MCU. 1: Draw random colored rectangles over the redrawn areas. 1: Draw a red overlay for ARGB layers and a green overlay for RGB layers 1: Adds the following behaviors for debugging:

  • Draw overlays with different colors for each draw_unit's tasks.

  • Draw index number of draw unit on white background.

  • For layers, draws index number of draw unit on black background. Default cache size in bytes. Used by image decoders such as lv_lodepng to keep the decoded image in memory. If size is not set to 0, the decoder will fail to decode when the cache is full. If size is 0, the cache function is not enabled and the decoded memory will be released immediately after use. Default number of image header cache entries. The cache is used to store the headers of images The main logic is like LV_CACHE_DEF_SIZE but for image headers. Number of stops allowed per gradient. Increase this to allow more stops. This adds (sizeof(lv_color_t) + 1) bytes per additional stop. Adjust color mix functions rounding. GPUs might calculate color mix (blending) differently.

  • 0: round down,

  • 64: round up from x.75,

  • 128: round up from half,

  • 192: round up from x.25,

  • 254: round up Add 2 x 32-bit variables to each lv_obj_t to speed up getting style properties Add id field to lv_obj_t Automatically assign an ID when obj is created Use builtin obj ID handler functions:

  • lv_obj_assign_id: Called when a widget is created. Use a separate counter for each widget class as an ID.

  • lv_obj_id_compare: Compare the ID to decide if it matches with a requested value.

  • lv_obj_stringify_id: Return string-ified identifier, e.g. "button3".

  • lv_obj_free_id: Does nothing, as there is no memory allocation for the ID. When disabled these functions needs to be implemented by the user. Use obj property set/get API. Enable property name support. Enable LVGL's blend mode support Enable YUV color format support Enable Linear gradient extension support Enable alignment on 16 pixels Buffer address alignment Enable multi-thread render For big endian systems set to 1 Define a custom attribute for lv_tick_inc function Define a custom attribute for lv_timer_handler function Define a custom attribute for lv_display_flush_ready function Align VG_LITE buffers on this number of bytes.

  • Requires LV_USE_FLOAT = 1 Include lvgl_private.h in lvgl.h to access internal data and functions by default Pixel perfect monospaced fonts Optionally declare custom fonts here.

You can use any of these fonts as the default font too and they will be available globally. Example:

#define LV_FONT_CUSTOM_DECLARE   LV_FONT_DECLARE(my_font_1) LV_FONT_DECLARE(my_font_2)
Always set a default font Enable handling large font and/or fonts with a lot of characters. The limit depends on the font size, font face and bpp. A compiler error will be triggered if a font needs it. Enables/disables support for compressed fonts. Enable drawing placeholders when glyph dsc is not found. Select a character encoding for strings. Your IDE or editor should have the same character encoding.
  • LV_TXT_ENC_UTF8

  • LV_TXT_ENC_ASCII While rendering text strings, break (wrap) text on these chars. If a word is at least this long, will break wherever "prettiest". To disable, set to a value <= 0. Minimum number of characters in a long word to put on a line before a break. Depends on LV_TXT_LINE_BREAK_LONG_LEN. Minimum number of characters in a long word to put on a line after a break. Depends on LV_TXT_LINE_BREAK_LONG_LEN. Support bidirectional text. Allows mixing Left-to-Right and Right-to-Left text. The direction will be processed according to the Unicode Bidirectional Algorithm: https://www.w3.org/International/articles/inline-bidi-markup/uba-basics Enable Arabic/Persian processing In these languages characters should be replaced with another form based on their position in the text 1: Causes these widgets to be given default values at creation time.

  • lv_buttonmatrix_t: Get default maps: {"Btn1", "Btn2", "Btn3", "\n", "Btn4", "Btn5", ""}, else map not set.

  • lv_checkbox_t : String label set to "Check box", else set to empty string.

  • lv_dropdown_t : Options set to "Option 1", "Option 2", "Option 3", else no values are set.

  • lv_roller_t : Options set to "Option 1", "Option 2", "Option 3", "Option 4", "Option 5", else no values are set.

  • lv_label_t : Text set to "Text", else empty string. A line of text can contain this maximum number of span descriptors. [ms]

Note

The memory usage of a single gradient image is 4K bytes. VG-Lite stroke maximum cache number. Accelerate blends, fills, etc. with STM32 DMA2D Draw using cached OpenGLES textures Enable log module Set value to one of the following levels of logging detail:

Note

vglite_src_buf_aligned() uses this value to validate alignment of passed buffer pointers. Will be added where memory needs to be aligned (with -Os data might not be aligned to boundary by default). E.g. attribute((aligned(4))) Attribute to mark large constant arrays, for example for font bitmaps Compiler prefix for a large array declaration in RAM Place performance critical functions into a faster memory (e.g RAM) Export integer constant to binding. This macro is used with constants in the form of LV_<CONST> that should also appear on LVGL binding API such as MicroPython. Prefix all global extern data with this Use float as lv_value_precise_t Enable matrix support

LV_USE_ANIMIMAGE

A simple, impressive and very complete theme 0: Light mode; 1: Dark mode 1: Enable grow on press Default transition time in ms. A very simple theme that is a good starting point for a custom theme A theme designed for monochrome displays A layout similar to Flexbox in CSS. A layout similar to Grid in CSS. Setting a default driver letter allows skipping the driver prefix in filepaths. API for fopen, fread, etc. API for open, read, etc. API for CreateFile, ReadFile, etc. API for FATFS (needs to be added separately). Uses f_open, f_read, etc. API for memory-mapped file access. API for LittleFs. API for Arduino LittleFs. API for Arduino Sd. API for UEFI LODEPNG decoder library PNG decoder(libpng) library BMP decoder library JPG + split JPG decoder library. Split JPG is a custom format optimized for embedded systems. libjpeg-turbo decoder library.

  • Supports complete JPEG specifications and high-performance JPEG decoding. GIF decoder library GIF decoder accelerate Decode bin images to RAM RLE decompress library QR code library Barcode code library FreeType library Let FreeType use LVGL memory and file porting Cache count of glyphs in FreeType, i.e. number of glyphs that can be cached. The higher the value, the more memory will be used. Built-in TTF decoder Rlottie library Enable Vector Graphic APIs

  • Requires LV_USE_MATRIX = 1 Enable ThorVG (vector graphics library) from the src/libs folder Enable ThorVG by assuming that its installed and linked to the project Use lvgl built-in LZ4 lib Use external LZ4 library FFmpeg library for image decoding and playing videos. Supports all major image formats so do not enable other image decoder with it. Dump input information to stderr Use lvgl file path in FFmpeg Player widget You won't be able to open URLs after enabling this feature. Note that FFmpeg image decoder will always use lvgl file system. 1: Enable API to take snapshot for object 1: Enable system monitor component Get the idle percentage. E.g. uint32_t my_get_idle(void); 1: Show CPU usage and FPS count.

  • Requires LV_USE_SYSMON = 1 0: Displays performance data on the screen; 1: Prints performance data using log. 1: Show used memory and memory fragmentation.

    • Requires LV_USE_STDLIB_MALLOC = LV_STDLIB_BUILTIN

    • Requires LV_USE_SYSMON = 1 1: Enable runtime performance profiler 1: Enable Monkey test 1: Enable grid navigation 1: Enable lv_obj fragment logic 1: Support using images as font in label or span widgets 1: Enable an observer pattern implementation 1: Enable Pinyin input method

  • Requires: lv_keyboard 1: Use default thesaurus.

  • Requires: lv_table Maximum length of path Quick access bar, 1:use, 0:do not use.

  • Requires: lv_list 1: Enable freetype font manager

  • Requires: LV_USE_FREETYPE Font manager name max length Enable loading XML UIs runtime Use SDL to open window on PC and handle mouse and keyboard. Use X11 to open window on Linux desktop and handle mouse and keyboard Use Wayland to open a window and handle input on Linux or BSD desktops Driver for /dev/fb Use Nuttx to open window and handle touchscreen Use Nuttx custom init API to open window and handle touchscreen Driver for /dev/lcd Driver for /dev/input Driver for /dev/dri/card Interface for TFT_eSPI Driver for evdev input devices Driver for libinput input devices Full keyboard support Driver for Renesas GLCD Driver for ST LTDC LVGL Windows backend LVGL UEFI backend Use OpenGL to open window on PC and handle mouse and keyboard QNX Screen display and input drivers Enable examples to be built with the library. Show some widgets. This might be required to increase LV_MEM_SIZE. Demonstrate usage of encoder and keyboard. Benchmark your system Render test for each primitive.

  • Requires at least 480x272 display. Stress test for LVGL Music player demo Flex layout demo Smart-phone like multi-language demo Widget transformation demo Demonstrate scroll settings Vector graphic demo High-resolution demo

Note

If you do not use the default thesaurus, be sure to use lv_ime_pinyin after setting the thesaurus. Set maximum number of candidate panels that can be displayed.

Note

This needs to be adjusted according to size of screen. Use 9-key input (k9). 1: Enable file explorer.

LV_USE_LZ4
LV_USE_THORVG
LV_FS_IS_VALID_LETTER(l)