1 /** 2 * GENERATED FILE, DO NOT EDIT IT! 3 * @file lv_conf_internal.h 4 * Make sure all the defines of lv_conf.h have a default value 5 **/ 6 7 #ifndef LV_CONF_INTERNAL_H 8 #define LV_CONF_INTERNAL_H 9 /* clang-format off */ 10 11 #include <stdint.h> 12 13 /* Handle special Kconfig options */ 14 #ifndef LV_KCONFIG_IGNORE 15 #include "lv_conf_kconfig.h" 16 #ifdef CONFIG_LV_CONF_SKIP 17 #define LV_CONF_SKIP 18 #endif 19 #endif 20 21 /*If "lv_conf.h" is available from here try to use it later.*/ 22 #ifdef __has_include 23 #if __has_include("lv_conf.h") 24 #ifndef LV_CONF_INCLUDE_SIMPLE 25 #define LV_CONF_INCLUDE_SIMPLE 26 #endif 27 #endif 28 #endif 29 30 /*If lv_conf.h is not skipped include it*/ 31 #ifndef LV_CONF_SKIP 32 #ifdef LV_CONF_PATH /*If there is a path defined for lv_conf.h use it*/ 33 #define __LV_TO_STR_AUX(x) #x 34 #define __LV_TO_STR(x) __LV_TO_STR_AUX(x) 35 #include __LV_TO_STR(LV_CONF_PATH) 36 #undef __LV_TO_STR_AUX 37 #undef __LV_TO_STR 38 #elif defined(LV_CONF_INCLUDE_SIMPLE) /*Or simply include lv_conf.h is enabled*/ 39 #include "lv_conf.h" 40 #else 41 #include "../../lv_conf.h" /*Else assume lv_conf.h is next to the lvgl folder*/ 42 #endif 43 #endif 44 45 #ifdef CONFIG_LV_COLOR_DEPTH 46 #define _LV_KCONFIG_PRESENT 47 #endif 48 49 /*---------------------------------- 50 * Start parsing lv_conf_template.h 51 -----------------------------------*/ 52 53 #include <stdint.h> 54 55 /*==================== 56 COLOR SETTINGS 57 *====================*/ 58 59 /*Color depth: 1 (1 byte per pixel), 8 (RGB332), 16 (RGB565), 32 (ARGB8888)*/ 60 #ifndef LV_COLOR_DEPTH 61 #ifdef CONFIG_LV_COLOR_DEPTH 62 #define LV_COLOR_DEPTH CONFIG_LV_COLOR_DEPTH 63 #else 64 #define LV_COLOR_DEPTH 16 65 #endif 66 #endif 67 68 /*Swap the 2 bytes of RGB565 color. Useful if the display has an 8-bit interface (e.g. SPI)*/ 69 #ifndef LV_COLOR_16_SWAP 70 #ifdef CONFIG_LV_COLOR_16_SWAP 71 #define LV_COLOR_16_SWAP CONFIG_LV_COLOR_16_SWAP 72 #else 73 #define LV_COLOR_16_SWAP 0 74 #endif 75 #endif 76 77 /*Enable more complex drawing routines to manage screens transparency. 78 *Can be used if the UI is above another layer, e.g. an OSD menu or video player. 79 *Requires `LV_COLOR_DEPTH = 32` colors and the screen's `bg_opa` should be set to non LV_OPA_COVER value*/ 80 #ifndef LV_COLOR_SCREEN_TRANSP 81 #ifdef CONFIG_LV_COLOR_SCREEN_TRANSP 82 #define LV_COLOR_SCREEN_TRANSP CONFIG_LV_COLOR_SCREEN_TRANSP 83 #else 84 #define LV_COLOR_SCREEN_TRANSP 0 85 #endif 86 #endif 87 88 /* Adjust color mix functions rounding. GPUs might calculate color mix (blending) differently. 89 * 0: round down, 64: round up from x.75, 128: round up from half, 192: round up from x.25, 254: round up */ 90 #ifndef LV_COLOR_MIX_ROUND_OFS 91 #ifdef CONFIG_LV_COLOR_MIX_ROUND_OFS 92 #define LV_COLOR_MIX_ROUND_OFS CONFIG_LV_COLOR_MIX_ROUND_OFS 93 #else 94 #define LV_COLOR_MIX_ROUND_OFS (LV_COLOR_DEPTH == 32 ? 0: 128) 95 #endif 96 #endif 97 98 /*Images pixels with this color will not be drawn if they are chroma keyed)*/ 99 #ifndef LV_COLOR_CHROMA_KEY 100 #ifdef CONFIG_LV_COLOR_CHROMA_KEY 101 #define LV_COLOR_CHROMA_KEY CONFIG_LV_COLOR_CHROMA_KEY 102 #else 103 #define LV_COLOR_CHROMA_KEY lv_color_hex(0x00ff00) /*pure green*/ 104 #endif 105 #endif 106 107 /*========================= 108 MEMORY SETTINGS 109 *=========================*/ 110 111 /*1: use custom malloc/free, 0: use the built-in `lv_mem_alloc()` and `lv_mem_free()`*/ 112 #ifndef LV_MEM_CUSTOM 113 #ifdef CONFIG_LV_MEM_CUSTOM 114 #define LV_MEM_CUSTOM CONFIG_LV_MEM_CUSTOM 115 #else 116 #define LV_MEM_CUSTOM 0 117 #endif 118 #endif 119 #if LV_MEM_CUSTOM == 0 120 /*Size of the memory available for `lv_mem_alloc()` in bytes (>= 2kB)*/ 121 #ifndef LV_MEM_SIZE 122 #ifdef CONFIG_LV_MEM_SIZE 123 #define LV_MEM_SIZE CONFIG_LV_MEM_SIZE 124 #else 125 #define LV_MEM_SIZE (48U * 1024U) /*[bytes]*/ 126 #endif 127 #endif 128 129 /*Set an address for the memory pool instead of allocating it as a normal array. Can be in external SRAM too.*/ 130 #ifndef LV_MEM_ADR 131 #ifdef CONFIG_LV_MEM_ADR 132 #define LV_MEM_ADR CONFIG_LV_MEM_ADR 133 #else 134 #define LV_MEM_ADR 0 /*0: unused*/ 135 #endif 136 #endif 137 /*Instead of an address give a memory allocator that will be called to get a memory pool for LVGL. E.g. my_malloc*/ 138 #if LV_MEM_ADR == 0 139 //#define LV_MEM_POOL_INCLUDE your_alloc_library /* Uncomment if using an external allocator*/ 140 //#define LV_MEM_POOL_ALLOC your_alloc /* Uncomment if using an external allocator*/ 141 #endif 142 143 #else /*LV_MEM_CUSTOM*/ 144 #ifndef LV_MEM_CUSTOM_INCLUDE 145 #ifdef CONFIG_LV_MEM_CUSTOM_INCLUDE 146 #define LV_MEM_CUSTOM_INCLUDE CONFIG_LV_MEM_CUSTOM_INCLUDE 147 #else 148 #define LV_MEM_CUSTOM_INCLUDE <stdlib.h> /*Header for the dynamic memory function*/ 149 #endif 150 #endif 151 #ifndef LV_MEM_CUSTOM_ALLOC 152 #ifdef CONFIG_LV_MEM_CUSTOM_ALLOC 153 #define LV_MEM_CUSTOM_ALLOC CONFIG_LV_MEM_CUSTOM_ALLOC 154 #else 155 #define LV_MEM_CUSTOM_ALLOC malloc 156 #endif 157 #endif 158 #ifndef LV_MEM_CUSTOM_FREE 159 #ifdef CONFIG_LV_MEM_CUSTOM_FREE 160 #define LV_MEM_CUSTOM_FREE CONFIG_LV_MEM_CUSTOM_FREE 161 #else 162 #define LV_MEM_CUSTOM_FREE free 163 #endif 164 #endif 165 #ifndef LV_MEM_CUSTOM_REALLOC 166 #ifdef CONFIG_LV_MEM_CUSTOM_REALLOC 167 #define LV_MEM_CUSTOM_REALLOC CONFIG_LV_MEM_CUSTOM_REALLOC 168 #else 169 #define LV_MEM_CUSTOM_REALLOC realloc 170 #endif 171 #endif 172 #endif /*LV_MEM_CUSTOM*/ 173 174 /*Number of the intermediate memory buffer used during rendering and other internal processing mechanisms. 175 *You will see an error log message if there wasn't enough buffers. */ 176 #ifndef LV_MEM_BUF_MAX_NUM 177 #ifdef CONFIG_LV_MEM_BUF_MAX_NUM 178 #define LV_MEM_BUF_MAX_NUM CONFIG_LV_MEM_BUF_MAX_NUM 179 #else 180 #define LV_MEM_BUF_MAX_NUM 16 181 #endif 182 #endif 183 184 /*Use the standard `memcpy` and `memset` instead of LVGL's own functions. (Might or might not be faster).*/ 185 #ifndef LV_MEMCPY_MEMSET_STD 186 #ifdef CONFIG_LV_MEMCPY_MEMSET_STD 187 #define LV_MEMCPY_MEMSET_STD CONFIG_LV_MEMCPY_MEMSET_STD 188 #else 189 #define LV_MEMCPY_MEMSET_STD 0 190 #endif 191 #endif 192 193 /*==================== 194 HAL SETTINGS 195 *====================*/ 196 197 /*Default display refresh period. LVG will redraw changed areas with this period time*/ 198 #ifndef LV_DISP_DEF_REFR_PERIOD 199 #ifdef CONFIG_LV_DISP_DEF_REFR_PERIOD 200 #define LV_DISP_DEF_REFR_PERIOD CONFIG_LV_DISP_DEF_REFR_PERIOD 201 #else 202 #define LV_DISP_DEF_REFR_PERIOD 30 /*[ms]*/ 203 #endif 204 #endif 205 206 /*Input device read period in milliseconds*/ 207 #ifndef LV_INDEV_DEF_READ_PERIOD 208 #ifdef CONFIG_LV_INDEV_DEF_READ_PERIOD 209 #define LV_INDEV_DEF_READ_PERIOD CONFIG_LV_INDEV_DEF_READ_PERIOD 210 #else 211 #define LV_INDEV_DEF_READ_PERIOD 30 /*[ms]*/ 212 #endif 213 #endif 214 215 /*Use a custom tick source that tells the elapsed time in milliseconds. 216 *It removes the need to manually update the tick with `lv_tick_inc()`)*/ 217 #ifndef LV_TICK_CUSTOM 218 #ifdef CONFIG_LV_TICK_CUSTOM 219 #define LV_TICK_CUSTOM CONFIG_LV_TICK_CUSTOM 220 #else 221 #define LV_TICK_CUSTOM 0 222 #endif 223 #endif 224 #if LV_TICK_CUSTOM 225 #ifndef LV_TICK_CUSTOM_INCLUDE 226 #ifdef CONFIG_LV_TICK_CUSTOM_INCLUDE 227 #define LV_TICK_CUSTOM_INCLUDE CONFIG_LV_TICK_CUSTOM_INCLUDE 228 #else 229 #define LV_TICK_CUSTOM_INCLUDE "Arduino.h" /*Header for the system time function*/ 230 #endif 231 #endif 232 #ifndef LV_TICK_CUSTOM_SYS_TIME_EXPR 233 #ifdef CONFIG_LV_TICK_CUSTOM_SYS_TIME_EXPR 234 #define LV_TICK_CUSTOM_SYS_TIME_EXPR CONFIG_LV_TICK_CUSTOM_SYS_TIME_EXPR 235 #else 236 #define LV_TICK_CUSTOM_SYS_TIME_EXPR (millis()) /*Expression evaluating to current system time in ms*/ 237 #endif 238 #endif 239 #endif /*LV_TICK_CUSTOM*/ 240 241 /*Default Dot Per Inch. Used to initialize default sizes such as widgets sized, style paddings. 242 *(Not so important, you can adjust it to modify default sizes and spaces)*/ 243 #ifndef LV_DPI_DEF 244 #ifdef CONFIG_LV_DPI_DEF 245 #define LV_DPI_DEF CONFIG_LV_DPI_DEF 246 #else 247 #define LV_DPI_DEF 130 /*[px/inch]*/ 248 #endif 249 #endif 250 251 /*======================= 252 * FEATURE CONFIGURATION 253 *=======================*/ 254 255 /*------------- 256 * Drawing 257 *-----------*/ 258 259 /*Enable complex draw engine. 260 *Required to draw shadow, gradient, rounded corners, circles, arc, skew lines, image transformations or any masks*/ 261 #ifndef LV_DRAW_COMPLEX 262 #ifdef _LV_KCONFIG_PRESENT 263 #ifdef CONFIG_LV_DRAW_COMPLEX 264 #define LV_DRAW_COMPLEX CONFIG_LV_DRAW_COMPLEX 265 #else 266 #define LV_DRAW_COMPLEX 0 267 #endif 268 #else 269 #define LV_DRAW_COMPLEX 1 270 #endif 271 #endif 272 #if LV_DRAW_COMPLEX != 0 273 274 /*Allow buffering some shadow calculation. 275 *LV_SHADOW_CACHE_SIZE is the max. shadow size to buffer, where shadow size is `shadow_width + radius` 276 *Caching has LV_SHADOW_CACHE_SIZE^2 RAM cost*/ 277 #ifndef LV_SHADOW_CACHE_SIZE 278 #ifdef CONFIG_LV_SHADOW_CACHE_SIZE 279 #define LV_SHADOW_CACHE_SIZE CONFIG_LV_SHADOW_CACHE_SIZE 280 #else 281 #define LV_SHADOW_CACHE_SIZE 0 282 #endif 283 #endif 284 285 /* Set number of maximally cached circle data. 286 * The circumference of 1/4 circle are saved for anti-aliasing 287 * radius * 4 bytes are used per circle (the most often used radiuses are saved) 288 * 0: to disable caching */ 289 #ifndef LV_CIRCLE_CACHE_SIZE 290 #ifdef CONFIG_LV_CIRCLE_CACHE_SIZE 291 #define LV_CIRCLE_CACHE_SIZE CONFIG_LV_CIRCLE_CACHE_SIZE 292 #else 293 #define LV_CIRCLE_CACHE_SIZE 4 294 #endif 295 #endif 296 #endif /*LV_DRAW_COMPLEX*/ 297 298 /*Default image cache size. Image caching keeps the images opened. 299 *If only the built-in image formats are used there is no real advantage of caching. (I.e. if no new image decoder is added) 300 *With complex image decoders (e.g. PNG or JPG) caching can save the continuous open/decode of images. 301 *However the opened images might consume additional RAM. 302 *0: to disable caching*/ 303 #ifndef LV_IMG_CACHE_DEF_SIZE 304 #ifdef CONFIG_LV_IMG_CACHE_DEF_SIZE 305 #define LV_IMG_CACHE_DEF_SIZE CONFIG_LV_IMG_CACHE_DEF_SIZE 306 #else 307 #define LV_IMG_CACHE_DEF_SIZE 0 308 #endif 309 #endif 310 311 /*Number of stops allowed per gradient. Increase this to allow more stops. 312 *This adds (sizeof(lv_color_t) + 1) bytes per additional stop*/ 313 #ifndef LV_GRADIENT_MAX_STOPS 314 #ifdef CONFIG_LV_GRADIENT_MAX_STOPS 315 #define LV_GRADIENT_MAX_STOPS CONFIG_LV_GRADIENT_MAX_STOPS 316 #else 317 #define LV_GRADIENT_MAX_STOPS 2 318 #endif 319 #endif 320 321 /*Default gradient buffer size. 322 *When LVGL calculates the gradient "maps" it can save them into a cache to avoid calculating them again. 323 *LV_GRAD_CACHE_DEF_SIZE sets the size of this cache in bytes. 324 *If the cache is too small the map will be allocated only while it's required for the drawing. 325 *0 mean no caching.*/ 326 #ifndef LV_GRAD_CACHE_DEF_SIZE 327 #ifdef CONFIG_LV_GRAD_CACHE_DEF_SIZE 328 #define LV_GRAD_CACHE_DEF_SIZE CONFIG_LV_GRAD_CACHE_DEF_SIZE 329 #else 330 #define LV_GRAD_CACHE_DEF_SIZE 0 331 #endif 332 #endif 333 334 /*Allow dithering the gradients (to achieve visual smooth color gradients on limited color depth display) 335 *LV_DITHER_GRADIENT implies allocating one or two more lines of the object's rendering surface 336 *The increase in memory consumption is (32 bits * object width) plus 24 bits * object width if using error diffusion */ 337 #ifndef LV_DITHER_GRADIENT 338 #ifdef CONFIG_LV_DITHER_GRADIENT 339 #define LV_DITHER_GRADIENT CONFIG_LV_DITHER_GRADIENT 340 #else 341 #define LV_DITHER_GRADIENT 0 342 #endif 343 #endif 344 #if LV_DITHER_GRADIENT 345 /*Add support for error diffusion dithering. 346 *Error diffusion dithering gets a much better visual result, but implies more CPU consumption and memory when drawing. 347 *The increase in memory consumption is (24 bits * object's width)*/ 348 #ifndef LV_DITHER_ERROR_DIFFUSION 349 #ifdef CONFIG_LV_DITHER_ERROR_DIFFUSION 350 #define LV_DITHER_ERROR_DIFFUSION CONFIG_LV_DITHER_ERROR_DIFFUSION 351 #else 352 #define LV_DITHER_ERROR_DIFFUSION 0 353 #endif 354 #endif 355 #endif 356 357 /*Maximum buffer size to allocate for rotation. 358 *Only used if software rotation is enabled in the display driver.*/ 359 #ifndef LV_DISP_ROT_MAX_BUF 360 #ifdef CONFIG_LV_DISP_ROT_MAX_BUF 361 #define LV_DISP_ROT_MAX_BUF CONFIG_LV_DISP_ROT_MAX_BUF 362 #else 363 #define LV_DISP_ROT_MAX_BUF (10*1024) 364 #endif 365 #endif 366 367 /*------------- 368 * GPU 369 *-----------*/ 370 371 /*Use STM32's DMA2D (aka Chrom Art) GPU*/ 372 #ifndef LV_USE_GPU_STM32_DMA2D 373 #ifdef CONFIG_LV_USE_GPU_STM32_DMA2D 374 #define LV_USE_GPU_STM32_DMA2D CONFIG_LV_USE_GPU_STM32_DMA2D 375 #else 376 #define LV_USE_GPU_STM32_DMA2D 0 377 #endif 378 #endif 379 #if LV_USE_GPU_STM32_DMA2D 380 /*Must be defined to include path of CMSIS header of target processor 381 e.g. "stm32f769xx.h" or "stm32f429xx.h"*/ 382 #ifndef LV_GPU_DMA2D_CMSIS_INCLUDE 383 #ifdef CONFIG_LV_GPU_DMA2D_CMSIS_INCLUDE 384 #define LV_GPU_DMA2D_CMSIS_INCLUDE CONFIG_LV_GPU_DMA2D_CMSIS_INCLUDE 385 #else 386 #define LV_GPU_DMA2D_CMSIS_INCLUDE 387 #endif 388 #endif 389 #endif 390 391 /*Use NXP's PXP GPU iMX RTxxx platforms*/ 392 #ifndef LV_USE_GPU_NXP_PXP 393 #ifdef CONFIG_LV_USE_GPU_NXP_PXP 394 #define LV_USE_GPU_NXP_PXP CONFIG_LV_USE_GPU_NXP_PXP 395 #else 396 #define LV_USE_GPU_NXP_PXP 0 397 #endif 398 #endif 399 #if LV_USE_GPU_NXP_PXP 400 /*1: Add default bare metal and FreeRTOS interrupt handling routines for PXP (lv_gpu_nxp_pxp_osa.c) 401 * and call lv_gpu_nxp_pxp_init() automatically during lv_init(). Note that symbol SDK_OS_FREE_RTOS 402 * has to be defined in order to use FreeRTOS OSA, otherwise bare-metal implementation is selected. 403 *0: lv_gpu_nxp_pxp_init() has to be called manually before lv_init() 404 */ 405 #ifndef LV_USE_GPU_NXP_PXP_AUTO_INIT 406 #ifdef CONFIG_LV_USE_GPU_NXP_PXP_AUTO_INIT 407 #define LV_USE_GPU_NXP_PXP_AUTO_INIT CONFIG_LV_USE_GPU_NXP_PXP_AUTO_INIT 408 #else 409 #define LV_USE_GPU_NXP_PXP_AUTO_INIT 0 410 #endif 411 #endif 412 #endif 413 414 /*Use NXP's VG-Lite GPU iMX RTxxx platforms*/ 415 #ifndef LV_USE_GPU_NXP_VG_LITE 416 #ifdef CONFIG_LV_USE_GPU_NXP_VG_LITE 417 #define LV_USE_GPU_NXP_VG_LITE CONFIG_LV_USE_GPU_NXP_VG_LITE 418 #else 419 #define LV_USE_GPU_NXP_VG_LITE 0 420 #endif 421 #endif 422 423 /*Use SDL renderer API*/ 424 #ifndef LV_USE_GPU_SDL 425 #ifdef CONFIG_LV_USE_GPU_SDL 426 #define LV_USE_GPU_SDL CONFIG_LV_USE_GPU_SDL 427 #else 428 #define LV_USE_GPU_SDL 0 429 #endif 430 #endif 431 #if LV_USE_GPU_SDL 432 #ifndef LV_GPU_SDL_INCLUDE_PATH 433 #ifdef CONFIG_LV_GPU_SDL_INCLUDE_PATH 434 #define LV_GPU_SDL_INCLUDE_PATH CONFIG_LV_GPU_SDL_INCLUDE_PATH 435 #else 436 #define LV_GPU_SDL_INCLUDE_PATH <SDL2/SDL.h> 437 #endif 438 #endif 439 /*Texture cache size, 8MB by default*/ 440 #ifndef LV_GPU_SDL_LRU_SIZE 441 #ifdef CONFIG_LV_GPU_SDL_LRU_SIZE 442 #define LV_GPU_SDL_LRU_SIZE CONFIG_LV_GPU_SDL_LRU_SIZE 443 #else 444 #define LV_GPU_SDL_LRU_SIZE (1024 * 1024 * 8) 445 #endif 446 #endif 447 /*Custom blend mode for mask drawing, disable if you need to link with older SDL2 lib*/ 448 #ifndef LV_GPU_SDL_CUSTOM_BLEND_MODE 449 #ifdef CONFIG_LV_GPU_SDL_CUSTOM_BLEND_MODE 450 #define LV_GPU_SDL_CUSTOM_BLEND_MODE CONFIG_LV_GPU_SDL_CUSTOM_BLEND_MODE 451 #else 452 #define LV_GPU_SDL_CUSTOM_BLEND_MODE (SDL_VERSION_ATLEAST(2, 0, 6)) 453 #endif 454 #endif 455 #endif 456 457 /*------------- 458 * Logging 459 *-----------*/ 460 461 /*Enable the log module*/ 462 #ifndef LV_USE_LOG 463 #ifdef CONFIG_LV_USE_LOG 464 #define LV_USE_LOG CONFIG_LV_USE_LOG 465 #else 466 #define LV_USE_LOG 0 467 #endif 468 #endif 469 #if LV_USE_LOG 470 471 /*How important log should be added: 472 *LV_LOG_LEVEL_TRACE A lot of logs to give detailed information 473 *LV_LOG_LEVEL_INFO Log important events 474 *LV_LOG_LEVEL_WARN Log if something unwanted happened but didn't cause a problem 475 *LV_LOG_LEVEL_ERROR Only critical issue, when the system may fail 476 *LV_LOG_LEVEL_USER Only logs added by the user 477 *LV_LOG_LEVEL_NONE Do not log anything*/ 478 #ifndef LV_LOG_LEVEL 479 #ifdef CONFIG_LV_LOG_LEVEL 480 #define LV_LOG_LEVEL CONFIG_LV_LOG_LEVEL 481 #else 482 #define LV_LOG_LEVEL LV_LOG_LEVEL_WARN 483 #endif 484 #endif 485 486 /*1: Print the log with 'printf'; 487 *0: User need to register a callback with `lv_log_register_print_cb()`*/ 488 #ifndef LV_LOG_PRINTF 489 #ifdef CONFIG_LV_LOG_PRINTF 490 #define LV_LOG_PRINTF CONFIG_LV_LOG_PRINTF 491 #else 492 #define LV_LOG_PRINTF 0 493 #endif 494 #endif 495 496 /*Enable/disable LV_LOG_TRACE in modules that produces a huge number of logs*/ 497 #ifndef LV_LOG_TRACE_MEM 498 #ifdef _LV_KCONFIG_PRESENT 499 #ifdef CONFIG_LV_LOG_TRACE_MEM 500 #define LV_LOG_TRACE_MEM CONFIG_LV_LOG_TRACE_MEM 501 #else 502 #define LV_LOG_TRACE_MEM 0 503 #endif 504 #else 505 #define LV_LOG_TRACE_MEM 1 506 #endif 507 #endif 508 #ifndef LV_LOG_TRACE_TIMER 509 #ifdef _LV_KCONFIG_PRESENT 510 #ifdef CONFIG_LV_LOG_TRACE_TIMER 511 #define LV_LOG_TRACE_TIMER CONFIG_LV_LOG_TRACE_TIMER 512 #else 513 #define LV_LOG_TRACE_TIMER 0 514 #endif 515 #else 516 #define LV_LOG_TRACE_TIMER 1 517 #endif 518 #endif 519 #ifndef LV_LOG_TRACE_INDEV 520 #ifdef _LV_KCONFIG_PRESENT 521 #ifdef CONFIG_LV_LOG_TRACE_INDEV 522 #define LV_LOG_TRACE_INDEV CONFIG_LV_LOG_TRACE_INDEV 523 #else 524 #define LV_LOG_TRACE_INDEV 0 525 #endif 526 #else 527 #define LV_LOG_TRACE_INDEV 1 528 #endif 529 #endif 530 #ifndef LV_LOG_TRACE_DISP_REFR 531 #ifdef _LV_KCONFIG_PRESENT 532 #ifdef CONFIG_LV_LOG_TRACE_DISP_REFR 533 #define LV_LOG_TRACE_DISP_REFR CONFIG_LV_LOG_TRACE_DISP_REFR 534 #else 535 #define LV_LOG_TRACE_DISP_REFR 0 536 #endif 537 #else 538 #define LV_LOG_TRACE_DISP_REFR 1 539 #endif 540 #endif 541 #ifndef LV_LOG_TRACE_EVENT 542 #ifdef _LV_KCONFIG_PRESENT 543 #ifdef CONFIG_LV_LOG_TRACE_EVENT 544 #define LV_LOG_TRACE_EVENT CONFIG_LV_LOG_TRACE_EVENT 545 #else 546 #define LV_LOG_TRACE_EVENT 0 547 #endif 548 #else 549 #define LV_LOG_TRACE_EVENT 1 550 #endif 551 #endif 552 #ifndef LV_LOG_TRACE_OBJ_CREATE 553 #ifdef _LV_KCONFIG_PRESENT 554 #ifdef CONFIG_LV_LOG_TRACE_OBJ_CREATE 555 #define LV_LOG_TRACE_OBJ_CREATE CONFIG_LV_LOG_TRACE_OBJ_CREATE 556 #else 557 #define LV_LOG_TRACE_OBJ_CREATE 0 558 #endif 559 #else 560 #define LV_LOG_TRACE_OBJ_CREATE 1 561 #endif 562 #endif 563 #ifndef LV_LOG_TRACE_LAYOUT 564 #ifdef _LV_KCONFIG_PRESENT 565 #ifdef CONFIG_LV_LOG_TRACE_LAYOUT 566 #define LV_LOG_TRACE_LAYOUT CONFIG_LV_LOG_TRACE_LAYOUT 567 #else 568 #define LV_LOG_TRACE_LAYOUT 0 569 #endif 570 #else 571 #define LV_LOG_TRACE_LAYOUT 1 572 #endif 573 #endif 574 #ifndef LV_LOG_TRACE_ANIM 575 #ifdef _LV_KCONFIG_PRESENT 576 #ifdef CONFIG_LV_LOG_TRACE_ANIM 577 #define LV_LOG_TRACE_ANIM CONFIG_LV_LOG_TRACE_ANIM 578 #else 579 #define LV_LOG_TRACE_ANIM 0 580 #endif 581 #else 582 #define LV_LOG_TRACE_ANIM 1 583 #endif 584 #endif 585 586 #endif /*LV_USE_LOG*/ 587 588 /*------------- 589 * Asserts 590 *-----------*/ 591 592 /*Enable asserts if an operation is failed or an invalid data is found. 593 *If LV_USE_LOG is enabled an error message will be printed on failure*/ 594 #ifndef LV_USE_ASSERT_NULL 595 #ifdef _LV_KCONFIG_PRESENT 596 #ifdef CONFIG_LV_USE_ASSERT_NULL 597 #define LV_USE_ASSERT_NULL CONFIG_LV_USE_ASSERT_NULL 598 #else 599 #define LV_USE_ASSERT_NULL 0 600 #endif 601 #else 602 #define LV_USE_ASSERT_NULL 1 /*Check if the parameter is NULL. (Very fast, recommended)*/ 603 #endif 604 #endif 605 #ifndef LV_USE_ASSERT_MALLOC 606 #ifdef _LV_KCONFIG_PRESENT 607 #ifdef CONFIG_LV_USE_ASSERT_MALLOC 608 #define LV_USE_ASSERT_MALLOC CONFIG_LV_USE_ASSERT_MALLOC 609 #else 610 #define LV_USE_ASSERT_MALLOC 0 611 #endif 612 #else 613 #define LV_USE_ASSERT_MALLOC 1 /*Checks is the memory is successfully allocated or no. (Very fast, recommended)*/ 614 #endif 615 #endif 616 #ifndef LV_USE_ASSERT_STYLE 617 #ifdef CONFIG_LV_USE_ASSERT_STYLE 618 #define LV_USE_ASSERT_STYLE CONFIG_LV_USE_ASSERT_STYLE 619 #else 620 #define LV_USE_ASSERT_STYLE 0 /*Check if the styles are properly initialized. (Very fast, recommended)*/ 621 #endif 622 #endif 623 #ifndef LV_USE_ASSERT_MEM_INTEGRITY 624 #ifdef CONFIG_LV_USE_ASSERT_MEM_INTEGRITY 625 #define LV_USE_ASSERT_MEM_INTEGRITY CONFIG_LV_USE_ASSERT_MEM_INTEGRITY 626 #else 627 #define LV_USE_ASSERT_MEM_INTEGRITY 0 /*Check the integrity of `lv_mem` after critical operations. (Slow)*/ 628 #endif 629 #endif 630 #ifndef LV_USE_ASSERT_OBJ 631 #ifdef CONFIG_LV_USE_ASSERT_OBJ 632 #define LV_USE_ASSERT_OBJ CONFIG_LV_USE_ASSERT_OBJ 633 #else 634 #define LV_USE_ASSERT_OBJ 0 /*Check the object's type and existence (e.g. not deleted). (Slow)*/ 635 #endif 636 #endif 637 638 /*Add a custom handler when assert happens e.g. to restart the MCU*/ 639 #ifndef LV_ASSERT_HANDLER_INCLUDE 640 #ifdef CONFIG_LV_ASSERT_HANDLER_INCLUDE 641 #define LV_ASSERT_HANDLER_INCLUDE CONFIG_LV_ASSERT_HANDLER_INCLUDE 642 #else 643 #define LV_ASSERT_HANDLER_INCLUDE <stdint.h> 644 #endif 645 #endif 646 #ifndef LV_ASSERT_HANDLER 647 #ifdef CONFIG_LV_ASSERT_HANDLER 648 #define LV_ASSERT_HANDLER CONFIG_LV_ASSERT_HANDLER 649 #else 650 #define LV_ASSERT_HANDLER while(1); /*Halt by default*/ 651 #endif 652 #endif 653 654 /*------------- 655 * Others 656 *-----------*/ 657 658 /*1: Show CPU usage and FPS count*/ 659 #ifndef LV_USE_PERF_MONITOR 660 #ifdef CONFIG_LV_USE_PERF_MONITOR 661 #define LV_USE_PERF_MONITOR CONFIG_LV_USE_PERF_MONITOR 662 #else 663 #define LV_USE_PERF_MONITOR 0 664 #endif 665 #endif 666 #if LV_USE_PERF_MONITOR 667 #ifndef LV_USE_PERF_MONITOR_POS 668 #ifdef CONFIG_LV_USE_PERF_MONITOR_POS 669 #define LV_USE_PERF_MONITOR_POS CONFIG_LV_USE_PERF_MONITOR_POS 670 #else 671 #define LV_USE_PERF_MONITOR_POS LV_ALIGN_BOTTOM_RIGHT 672 #endif 673 #endif 674 #endif 675 676 /*1: Show the used memory and the memory fragmentation 677 * Requires LV_MEM_CUSTOM = 0*/ 678 #ifndef LV_USE_MEM_MONITOR 679 #ifdef CONFIG_LV_USE_MEM_MONITOR 680 #define LV_USE_MEM_MONITOR CONFIG_LV_USE_MEM_MONITOR 681 #else 682 #define LV_USE_MEM_MONITOR 0 683 #endif 684 #endif 685 #if LV_USE_MEM_MONITOR 686 #ifndef LV_USE_MEM_MONITOR_POS 687 #ifdef CONFIG_LV_USE_MEM_MONITOR_POS 688 #define LV_USE_MEM_MONITOR_POS CONFIG_LV_USE_MEM_MONITOR_POS 689 #else 690 #define LV_USE_MEM_MONITOR_POS LV_ALIGN_BOTTOM_LEFT 691 #endif 692 #endif 693 #endif 694 695 /*1: Draw random colored rectangles over the redrawn areas*/ 696 #ifndef LV_USE_REFR_DEBUG 697 #ifdef CONFIG_LV_USE_REFR_DEBUG 698 #define LV_USE_REFR_DEBUG CONFIG_LV_USE_REFR_DEBUG 699 #else 700 #define LV_USE_REFR_DEBUG 0 701 #endif 702 #endif 703 704 /*Change the built in (v)snprintf functions*/ 705 #ifndef LV_SPRINTF_CUSTOM 706 #ifdef CONFIG_LV_SPRINTF_CUSTOM 707 #define LV_SPRINTF_CUSTOM CONFIG_LV_SPRINTF_CUSTOM 708 #else 709 #define LV_SPRINTF_CUSTOM 0 710 #endif 711 #endif 712 #if LV_SPRINTF_CUSTOM 713 #ifndef LV_SPRINTF_INCLUDE 714 #ifdef CONFIG_LV_SPRINTF_INCLUDE 715 #define LV_SPRINTF_INCLUDE CONFIG_LV_SPRINTF_INCLUDE 716 #else 717 #define LV_SPRINTF_INCLUDE <stdio.h> 718 #endif 719 #endif 720 #ifndef lv_snprintf 721 #ifdef CONFIG_LV_SNPRINTF 722 #define lv_snprintf CONFIG_LV_SNPRINTF 723 #else 724 #define lv_snprintf snprintf 725 #endif 726 #endif 727 #ifndef lv_vsnprintf 728 #ifdef CONFIG_LV_VSNPRINTF 729 #define lv_vsnprintf CONFIG_LV_VSNPRINTF 730 #else 731 #define lv_vsnprintf vsnprintf 732 #endif 733 #endif 734 #else /*LV_SPRINTF_CUSTOM*/ 735 #ifndef LV_SPRINTF_USE_FLOAT 736 #ifdef CONFIG_LV_SPRINTF_USE_FLOAT 737 #define LV_SPRINTF_USE_FLOAT CONFIG_LV_SPRINTF_USE_FLOAT 738 #else 739 #define LV_SPRINTF_USE_FLOAT 0 740 #endif 741 #endif 742 #endif /*LV_SPRINTF_CUSTOM*/ 743 744 #ifndef LV_USE_USER_DATA 745 #ifdef _LV_KCONFIG_PRESENT 746 #ifdef CONFIG_LV_USE_USER_DATA 747 #define LV_USE_USER_DATA CONFIG_LV_USE_USER_DATA 748 #else 749 #define LV_USE_USER_DATA 0 750 #endif 751 #else 752 #define LV_USE_USER_DATA 1 753 #endif 754 #endif 755 756 /*Garbage Collector settings 757 *Used if lvgl is bound to higher level language and the memory is managed by that language*/ 758 #ifndef LV_ENABLE_GC 759 #ifdef CONFIG_LV_ENABLE_GC 760 #define LV_ENABLE_GC CONFIG_LV_ENABLE_GC 761 #else 762 #define LV_ENABLE_GC 0 763 #endif 764 #endif 765 #if LV_ENABLE_GC != 0 766 #ifndef LV_GC_INCLUDE 767 #ifdef CONFIG_LV_GC_INCLUDE 768 #define LV_GC_INCLUDE CONFIG_LV_GC_INCLUDE 769 #else 770 #define LV_GC_INCLUDE "gc.h" /*Include Garbage Collector related things*/ 771 #endif 772 #endif 773 #endif /*LV_ENABLE_GC*/ 774 775 /*===================== 776 * COMPILER SETTINGS 777 *====================*/ 778 779 /*For big endian systems set to 1*/ 780 #ifndef LV_BIG_ENDIAN_SYSTEM 781 #ifdef CONFIG_LV_BIG_ENDIAN_SYSTEM 782 #define LV_BIG_ENDIAN_SYSTEM CONFIG_LV_BIG_ENDIAN_SYSTEM 783 #else 784 #define LV_BIG_ENDIAN_SYSTEM 0 785 #endif 786 #endif 787 788 /*Define a custom attribute to `lv_tick_inc` function*/ 789 #ifndef LV_ATTRIBUTE_TICK_INC 790 #ifdef CONFIG_LV_ATTRIBUTE_TICK_INC 791 #define LV_ATTRIBUTE_TICK_INC CONFIG_LV_ATTRIBUTE_TICK_INC 792 #else 793 #define LV_ATTRIBUTE_TICK_INC 794 #endif 795 #endif 796 797 /*Define a custom attribute to `lv_timer_handler` function*/ 798 #ifndef LV_ATTRIBUTE_TIMER_HANDLER 799 #ifdef CONFIG_LV_ATTRIBUTE_TIMER_HANDLER 800 #define LV_ATTRIBUTE_TIMER_HANDLER CONFIG_LV_ATTRIBUTE_TIMER_HANDLER 801 #else 802 #define LV_ATTRIBUTE_TIMER_HANDLER 803 #endif 804 #endif 805 806 /*Define a custom attribute to `lv_disp_flush_ready` function*/ 807 #ifndef LV_ATTRIBUTE_FLUSH_READY 808 #ifdef CONFIG_LV_ATTRIBUTE_FLUSH_READY 809 #define LV_ATTRIBUTE_FLUSH_READY CONFIG_LV_ATTRIBUTE_FLUSH_READY 810 #else 811 #define LV_ATTRIBUTE_FLUSH_READY 812 #endif 813 #endif 814 815 /*Required alignment size for buffers*/ 816 #ifndef LV_ATTRIBUTE_MEM_ALIGN_SIZE 817 #ifdef _LV_KCONFIG_PRESENT 818 #ifdef CONFIG_LV_ATTRIBUTE_MEM_ALIGN_SIZE 819 #define LV_ATTRIBUTE_MEM_ALIGN_SIZE CONFIG_LV_ATTRIBUTE_MEM_ALIGN_SIZE 820 #else 821 #define LV_ATTRIBUTE_MEM_ALIGN_SIZE 0 822 #endif 823 #else 824 #define LV_ATTRIBUTE_MEM_ALIGN_SIZE 1 825 #endif 826 #endif 827 828 /*Will be added where memories needs to be aligned (with -Os data might not be aligned to boundary by default). 829 * E.g. __attribute__((aligned(4)))*/ 830 #ifndef LV_ATTRIBUTE_MEM_ALIGN 831 #ifdef CONFIG_LV_ATTRIBUTE_MEM_ALIGN 832 #define LV_ATTRIBUTE_MEM_ALIGN CONFIG_LV_ATTRIBUTE_MEM_ALIGN 833 #else 834 #define LV_ATTRIBUTE_MEM_ALIGN 835 #endif 836 #endif 837 838 /*Attribute to mark large constant arrays for example font's bitmaps*/ 839 #ifndef LV_ATTRIBUTE_LARGE_CONST 840 #ifdef CONFIG_LV_ATTRIBUTE_LARGE_CONST 841 #define LV_ATTRIBUTE_LARGE_CONST CONFIG_LV_ATTRIBUTE_LARGE_CONST 842 #else 843 #define LV_ATTRIBUTE_LARGE_CONST 844 #endif 845 #endif 846 847 /*Compiler prefix for a big array declaration in RAM*/ 848 #ifndef LV_ATTRIBUTE_LARGE_RAM_ARRAY 849 #ifdef CONFIG_LV_ATTRIBUTE_LARGE_RAM_ARRAY 850 #define LV_ATTRIBUTE_LARGE_RAM_ARRAY CONFIG_LV_ATTRIBUTE_LARGE_RAM_ARRAY 851 #else 852 #define LV_ATTRIBUTE_LARGE_RAM_ARRAY 853 #endif 854 #endif 855 856 /*Place performance critical functions into a faster memory (e.g RAM)*/ 857 #ifndef LV_ATTRIBUTE_FAST_MEM 858 #ifdef CONFIG_LV_ATTRIBUTE_FAST_MEM 859 #define LV_ATTRIBUTE_FAST_MEM CONFIG_LV_ATTRIBUTE_FAST_MEM 860 #else 861 #define LV_ATTRIBUTE_FAST_MEM 862 #endif 863 #endif 864 865 /*Prefix variables that are used in GPU accelerated operations, often these need to be placed in RAM sections that are DMA accessible*/ 866 #ifndef LV_ATTRIBUTE_DMA 867 #ifdef CONFIG_LV_ATTRIBUTE_DMA 868 #define LV_ATTRIBUTE_DMA CONFIG_LV_ATTRIBUTE_DMA 869 #else 870 #define LV_ATTRIBUTE_DMA 871 #endif 872 #endif 873 874 /*Export integer constant to binding. This macro is used with constants in the form of LV_<CONST> that 875 *should also appear on LVGL binding API such as Micropython.*/ 876 #ifndef LV_EXPORT_CONST_INT 877 #ifdef CONFIG_LV_EXPORT_CONST_INT 878 #define LV_EXPORT_CONST_INT CONFIG_LV_EXPORT_CONST_INT 879 #else 880 #define LV_EXPORT_CONST_INT(int_value) struct _silence_gcc_warning /*The default value just prevents GCC warning*/ 881 #endif 882 #endif 883 884 /*Extend the default -32k..32k coordinate range to -4M..4M by using int32_t for coordinates instead of int16_t*/ 885 #ifndef LV_USE_LARGE_COORD 886 #ifdef CONFIG_LV_USE_LARGE_COORD 887 #define LV_USE_LARGE_COORD CONFIG_LV_USE_LARGE_COORD 888 #else 889 #define LV_USE_LARGE_COORD 0 890 #endif 891 #endif 892 893 /*================== 894 * FONT USAGE 895 *===================*/ 896 897 /*Montserrat fonts with ASCII range and some symbols using bpp = 4 898 *https://fonts.google.com/specimen/Montserrat*/ 899 #ifndef LV_FONT_MONTSERRAT_8 900 #ifdef CONFIG_LV_FONT_MONTSERRAT_8 901 #define LV_FONT_MONTSERRAT_8 CONFIG_LV_FONT_MONTSERRAT_8 902 #else 903 #define LV_FONT_MONTSERRAT_8 0 904 #endif 905 #endif 906 #ifndef LV_FONT_MONTSERRAT_10 907 #ifdef CONFIG_LV_FONT_MONTSERRAT_10 908 #define LV_FONT_MONTSERRAT_10 CONFIG_LV_FONT_MONTSERRAT_10 909 #else 910 #define LV_FONT_MONTSERRAT_10 0 911 #endif 912 #endif 913 #ifndef LV_FONT_MONTSERRAT_12 914 #ifdef CONFIG_LV_FONT_MONTSERRAT_12 915 #define LV_FONT_MONTSERRAT_12 CONFIG_LV_FONT_MONTSERRAT_12 916 #else 917 #define LV_FONT_MONTSERRAT_12 0 918 #endif 919 #endif 920 #ifndef LV_FONT_MONTSERRAT_14 921 #ifdef _LV_KCONFIG_PRESENT 922 #ifdef CONFIG_LV_FONT_MONTSERRAT_14 923 #define LV_FONT_MONTSERRAT_14 CONFIG_LV_FONT_MONTSERRAT_14 924 #else 925 #define LV_FONT_MONTSERRAT_14 0 926 #endif 927 #else 928 #define LV_FONT_MONTSERRAT_14 1 929 #endif 930 #endif 931 #ifndef LV_FONT_MONTSERRAT_16 932 #ifdef CONFIG_LV_FONT_MONTSERRAT_16 933 #define LV_FONT_MONTSERRAT_16 CONFIG_LV_FONT_MONTSERRAT_16 934 #else 935 #define LV_FONT_MONTSERRAT_16 0 936 #endif 937 #endif 938 #ifndef LV_FONT_MONTSERRAT_18 939 #ifdef CONFIG_LV_FONT_MONTSERRAT_18 940 #define LV_FONT_MONTSERRAT_18 CONFIG_LV_FONT_MONTSERRAT_18 941 #else 942 #define LV_FONT_MONTSERRAT_18 0 943 #endif 944 #endif 945 #ifndef LV_FONT_MONTSERRAT_20 946 #ifdef CONFIG_LV_FONT_MONTSERRAT_20 947 #define LV_FONT_MONTSERRAT_20 CONFIG_LV_FONT_MONTSERRAT_20 948 #else 949 #define LV_FONT_MONTSERRAT_20 0 950 #endif 951 #endif 952 #ifndef LV_FONT_MONTSERRAT_22 953 #ifdef CONFIG_LV_FONT_MONTSERRAT_22 954 #define LV_FONT_MONTSERRAT_22 CONFIG_LV_FONT_MONTSERRAT_22 955 #else 956 #define LV_FONT_MONTSERRAT_22 0 957 #endif 958 #endif 959 #ifndef LV_FONT_MONTSERRAT_24 960 #ifdef CONFIG_LV_FONT_MONTSERRAT_24 961 #define LV_FONT_MONTSERRAT_24 CONFIG_LV_FONT_MONTSERRAT_24 962 #else 963 #define LV_FONT_MONTSERRAT_24 0 964 #endif 965 #endif 966 #ifndef LV_FONT_MONTSERRAT_26 967 #ifdef CONFIG_LV_FONT_MONTSERRAT_26 968 #define LV_FONT_MONTSERRAT_26 CONFIG_LV_FONT_MONTSERRAT_26 969 #else 970 #define LV_FONT_MONTSERRAT_26 0 971 #endif 972 #endif 973 #ifndef LV_FONT_MONTSERRAT_28 974 #ifdef CONFIG_LV_FONT_MONTSERRAT_28 975 #define LV_FONT_MONTSERRAT_28 CONFIG_LV_FONT_MONTSERRAT_28 976 #else 977 #define LV_FONT_MONTSERRAT_28 0 978 #endif 979 #endif 980 #ifndef LV_FONT_MONTSERRAT_30 981 #ifdef CONFIG_LV_FONT_MONTSERRAT_30 982 #define LV_FONT_MONTSERRAT_30 CONFIG_LV_FONT_MONTSERRAT_30 983 #else 984 #define LV_FONT_MONTSERRAT_30 0 985 #endif 986 #endif 987 #ifndef LV_FONT_MONTSERRAT_32 988 #ifdef CONFIG_LV_FONT_MONTSERRAT_32 989 #define LV_FONT_MONTSERRAT_32 CONFIG_LV_FONT_MONTSERRAT_32 990 #else 991 #define LV_FONT_MONTSERRAT_32 0 992 #endif 993 #endif 994 #ifndef LV_FONT_MONTSERRAT_34 995 #ifdef CONFIG_LV_FONT_MONTSERRAT_34 996 #define LV_FONT_MONTSERRAT_34 CONFIG_LV_FONT_MONTSERRAT_34 997 #else 998 #define LV_FONT_MONTSERRAT_34 0 999 #endif 1000 #endif 1001 #ifndef LV_FONT_MONTSERRAT_36 1002 #ifdef CONFIG_LV_FONT_MONTSERRAT_36 1003 #define LV_FONT_MONTSERRAT_36 CONFIG_LV_FONT_MONTSERRAT_36 1004 #else 1005 #define LV_FONT_MONTSERRAT_36 0 1006 #endif 1007 #endif 1008 #ifndef LV_FONT_MONTSERRAT_38 1009 #ifdef CONFIG_LV_FONT_MONTSERRAT_38 1010 #define LV_FONT_MONTSERRAT_38 CONFIG_LV_FONT_MONTSERRAT_38 1011 #else 1012 #define LV_FONT_MONTSERRAT_38 0 1013 #endif 1014 #endif 1015 #ifndef LV_FONT_MONTSERRAT_40 1016 #ifdef CONFIG_LV_FONT_MONTSERRAT_40 1017 #define LV_FONT_MONTSERRAT_40 CONFIG_LV_FONT_MONTSERRAT_40 1018 #else 1019 #define LV_FONT_MONTSERRAT_40 0 1020 #endif 1021 #endif 1022 #ifndef LV_FONT_MONTSERRAT_42 1023 #ifdef CONFIG_LV_FONT_MONTSERRAT_42 1024 #define LV_FONT_MONTSERRAT_42 CONFIG_LV_FONT_MONTSERRAT_42 1025 #else 1026 #define LV_FONT_MONTSERRAT_42 0 1027 #endif 1028 #endif 1029 #ifndef LV_FONT_MONTSERRAT_44 1030 #ifdef CONFIG_LV_FONT_MONTSERRAT_44 1031 #define LV_FONT_MONTSERRAT_44 CONFIG_LV_FONT_MONTSERRAT_44 1032 #else 1033 #define LV_FONT_MONTSERRAT_44 0 1034 #endif 1035 #endif 1036 #ifndef LV_FONT_MONTSERRAT_46 1037 #ifdef CONFIG_LV_FONT_MONTSERRAT_46 1038 #define LV_FONT_MONTSERRAT_46 CONFIG_LV_FONT_MONTSERRAT_46 1039 #else 1040 #define LV_FONT_MONTSERRAT_46 0 1041 #endif 1042 #endif 1043 #ifndef LV_FONT_MONTSERRAT_48 1044 #ifdef CONFIG_LV_FONT_MONTSERRAT_48 1045 #define LV_FONT_MONTSERRAT_48 CONFIG_LV_FONT_MONTSERRAT_48 1046 #else 1047 #define LV_FONT_MONTSERRAT_48 0 1048 #endif 1049 #endif 1050 1051 /*Demonstrate special features*/ 1052 #ifndef LV_FONT_MONTSERRAT_12_SUBPX 1053 #ifdef CONFIG_LV_FONT_MONTSERRAT_12_SUBPX 1054 #define LV_FONT_MONTSERRAT_12_SUBPX CONFIG_LV_FONT_MONTSERRAT_12_SUBPX 1055 #else 1056 #define LV_FONT_MONTSERRAT_12_SUBPX 0 1057 #endif 1058 #endif 1059 #ifndef LV_FONT_MONTSERRAT_28_COMPRESSED 1060 #ifdef CONFIG_LV_FONT_MONTSERRAT_28_COMPRESSED 1061 #define LV_FONT_MONTSERRAT_28_COMPRESSED CONFIG_LV_FONT_MONTSERRAT_28_COMPRESSED 1062 #else 1063 #define LV_FONT_MONTSERRAT_28_COMPRESSED 0 /*bpp = 3*/ 1064 #endif 1065 #endif 1066 #ifndef LV_FONT_DEJAVU_16_PERSIAN_HEBREW 1067 #ifdef CONFIG_LV_FONT_DEJAVU_16_PERSIAN_HEBREW 1068 #define LV_FONT_DEJAVU_16_PERSIAN_HEBREW CONFIG_LV_FONT_DEJAVU_16_PERSIAN_HEBREW 1069 #else 1070 #define LV_FONT_DEJAVU_16_PERSIAN_HEBREW 0 /*Hebrew, Arabic, Persian letters and all their forms*/ 1071 #endif 1072 #endif 1073 #ifndef LV_FONT_SIMSUN_16_CJK 1074 #ifdef CONFIG_LV_FONT_SIMSUN_16_CJK 1075 #define LV_FONT_SIMSUN_16_CJK CONFIG_LV_FONT_SIMSUN_16_CJK 1076 #else 1077 #define LV_FONT_SIMSUN_16_CJK 0 /*1000 most common CJK radicals*/ 1078 #endif 1079 #endif 1080 1081 /*Pixel perfect monospace fonts*/ 1082 #ifndef LV_FONT_UNSCII_8 1083 #ifdef CONFIG_LV_FONT_UNSCII_8 1084 #define LV_FONT_UNSCII_8 CONFIG_LV_FONT_UNSCII_8 1085 #else 1086 #define LV_FONT_UNSCII_8 0 1087 #endif 1088 #endif 1089 #ifndef LV_FONT_UNSCII_16 1090 #ifdef CONFIG_LV_FONT_UNSCII_16 1091 #define LV_FONT_UNSCII_16 CONFIG_LV_FONT_UNSCII_16 1092 #else 1093 #define LV_FONT_UNSCII_16 0 1094 #endif 1095 #endif 1096 1097 /*Optionally declare custom fonts here. 1098 *You can use these fonts as default font too and they will be available globally. 1099 *E.g. #define LV_FONT_CUSTOM_DECLARE LV_FONT_DECLARE(my_font_1) LV_FONT_DECLARE(my_font_2)*/ 1100 #ifndef LV_FONT_CUSTOM_DECLARE 1101 #ifdef CONFIG_LV_FONT_CUSTOM_DECLARE 1102 #define LV_FONT_CUSTOM_DECLARE CONFIG_LV_FONT_CUSTOM_DECLARE 1103 #else 1104 #define LV_FONT_CUSTOM_DECLARE 1105 #endif 1106 #endif 1107 1108 /*Always set a default font*/ 1109 #ifndef LV_FONT_DEFAULT 1110 #ifdef CONFIG_LV_FONT_DEFAULT 1111 #define LV_FONT_DEFAULT CONFIG_LV_FONT_DEFAULT 1112 #else 1113 #define LV_FONT_DEFAULT &lv_font_montserrat_14 1114 #endif 1115 #endif 1116 1117 /*Enable handling large font and/or fonts with a lot of characters. 1118 *The limit depends on the font size, font face and bpp. 1119 *Compiler error will be triggered if a font needs it.*/ 1120 #ifndef LV_FONT_FMT_TXT_LARGE 1121 #ifdef CONFIG_LV_FONT_FMT_TXT_LARGE 1122 #define LV_FONT_FMT_TXT_LARGE CONFIG_LV_FONT_FMT_TXT_LARGE 1123 #else 1124 #define LV_FONT_FMT_TXT_LARGE 0 1125 #endif 1126 #endif 1127 1128 /*Enables/disables support for compressed fonts.*/ 1129 #ifndef LV_USE_FONT_COMPRESSED 1130 #ifdef CONFIG_LV_USE_FONT_COMPRESSED 1131 #define LV_USE_FONT_COMPRESSED CONFIG_LV_USE_FONT_COMPRESSED 1132 #else 1133 #define LV_USE_FONT_COMPRESSED 0 1134 #endif 1135 #endif 1136 1137 /*Enable subpixel rendering*/ 1138 #ifndef LV_USE_FONT_SUBPX 1139 #ifdef CONFIG_LV_USE_FONT_SUBPX 1140 #define LV_USE_FONT_SUBPX CONFIG_LV_USE_FONT_SUBPX 1141 #else 1142 #define LV_USE_FONT_SUBPX 0 1143 #endif 1144 #endif 1145 #if LV_USE_FONT_SUBPX 1146 /*Set the pixel order of the display. Physical order of RGB channels. Doesn't matter with "normal" fonts.*/ 1147 #ifndef LV_FONT_SUBPX_BGR 1148 #ifdef CONFIG_LV_FONT_SUBPX_BGR 1149 #define LV_FONT_SUBPX_BGR CONFIG_LV_FONT_SUBPX_BGR 1150 #else 1151 #define LV_FONT_SUBPX_BGR 0 /*0: RGB; 1:BGR order*/ 1152 #endif 1153 #endif 1154 #endif 1155 1156 /*================= 1157 * TEXT SETTINGS 1158 *=================*/ 1159 1160 /** 1161 * Select a character encoding for strings. 1162 * Your IDE or editor should have the same character encoding 1163 * - LV_TXT_ENC_UTF8 1164 * - LV_TXT_ENC_ASCII 1165 */ 1166 #ifndef LV_TXT_ENC 1167 #ifdef CONFIG_LV_TXT_ENC 1168 #define LV_TXT_ENC CONFIG_LV_TXT_ENC 1169 #else 1170 #define LV_TXT_ENC LV_TXT_ENC_UTF8 1171 #endif 1172 #endif 1173 1174 /*Can break (wrap) texts on these chars*/ 1175 #ifndef LV_TXT_BREAK_CHARS 1176 #ifdef CONFIG_LV_TXT_BREAK_CHARS 1177 #define LV_TXT_BREAK_CHARS CONFIG_LV_TXT_BREAK_CHARS 1178 #else 1179 #define LV_TXT_BREAK_CHARS " ,.;:-_" 1180 #endif 1181 #endif 1182 1183 /*If a word is at least this long, will break wherever "prettiest" 1184 *To disable, set to a value <= 0*/ 1185 #ifndef LV_TXT_LINE_BREAK_LONG_LEN 1186 #ifdef CONFIG_LV_TXT_LINE_BREAK_LONG_LEN 1187 #define LV_TXT_LINE_BREAK_LONG_LEN CONFIG_LV_TXT_LINE_BREAK_LONG_LEN 1188 #else 1189 #define LV_TXT_LINE_BREAK_LONG_LEN 0 1190 #endif 1191 #endif 1192 1193 /*Minimum number of characters in a long word to put on a line before a break. 1194 *Depends on LV_TXT_LINE_BREAK_LONG_LEN.*/ 1195 #ifndef LV_TXT_LINE_BREAK_LONG_PRE_MIN_LEN 1196 #ifdef CONFIG_LV_TXT_LINE_BREAK_LONG_PRE_MIN_LEN 1197 #define LV_TXT_LINE_BREAK_LONG_PRE_MIN_LEN CONFIG_LV_TXT_LINE_BREAK_LONG_PRE_MIN_LEN 1198 #else 1199 #define LV_TXT_LINE_BREAK_LONG_PRE_MIN_LEN 3 1200 #endif 1201 #endif 1202 1203 /*Minimum number of characters in a long word to put on a line after a break. 1204 *Depends on LV_TXT_LINE_BREAK_LONG_LEN.*/ 1205 #ifndef LV_TXT_LINE_BREAK_LONG_POST_MIN_LEN 1206 #ifdef CONFIG_LV_TXT_LINE_BREAK_LONG_POST_MIN_LEN 1207 #define LV_TXT_LINE_BREAK_LONG_POST_MIN_LEN CONFIG_LV_TXT_LINE_BREAK_LONG_POST_MIN_LEN 1208 #else 1209 #define LV_TXT_LINE_BREAK_LONG_POST_MIN_LEN 3 1210 #endif 1211 #endif 1212 1213 /*The control character to use for signalling text recoloring.*/ 1214 #ifndef LV_TXT_COLOR_CMD 1215 #ifdef CONFIG_LV_TXT_COLOR_CMD 1216 #define LV_TXT_COLOR_CMD CONFIG_LV_TXT_COLOR_CMD 1217 #else 1218 #define LV_TXT_COLOR_CMD "#" 1219 #endif 1220 #endif 1221 1222 /*Support bidirectional texts. Allows mixing Left-to-Right and Right-to-Left texts. 1223 *The direction will be processed according to the Unicode Bidirectional Algorithm: 1224 *https://www.w3.org/International/articles/inline-bidi-markup/uba-basics*/ 1225 #ifndef LV_USE_BIDI 1226 #ifdef CONFIG_LV_USE_BIDI 1227 #define LV_USE_BIDI CONFIG_LV_USE_BIDI 1228 #else 1229 #define LV_USE_BIDI 0 1230 #endif 1231 #endif 1232 #if LV_USE_BIDI 1233 /*Set the default direction. Supported values: 1234 *`LV_BASE_DIR_LTR` Left-to-Right 1235 *`LV_BASE_DIR_RTL` Right-to-Left 1236 *`LV_BASE_DIR_AUTO` detect texts base direction*/ 1237 #ifndef LV_BIDI_BASE_DIR_DEF 1238 #ifdef CONFIG_LV_BIDI_BASE_DIR_DEF 1239 #define LV_BIDI_BASE_DIR_DEF CONFIG_LV_BIDI_BASE_DIR_DEF 1240 #else 1241 #define LV_BIDI_BASE_DIR_DEF LV_BASE_DIR_AUTO 1242 #endif 1243 #endif 1244 #endif 1245 1246 /*Enable Arabic/Persian processing 1247 *In these languages characters should be replaced with an other form based on their position in the text*/ 1248 #ifndef LV_USE_ARABIC_PERSIAN_CHARS 1249 #ifdef CONFIG_LV_USE_ARABIC_PERSIAN_CHARS 1250 #define LV_USE_ARABIC_PERSIAN_CHARS CONFIG_LV_USE_ARABIC_PERSIAN_CHARS 1251 #else 1252 #define LV_USE_ARABIC_PERSIAN_CHARS 0 1253 #endif 1254 #endif 1255 1256 /*================== 1257 * WIDGET USAGE 1258 *================*/ 1259 1260 /*Documentation of the widgets: https://docs.lvgl.io/latest/en/html/widgets/index.html*/ 1261 1262 #ifndef LV_USE_ARC 1263 #ifdef _LV_KCONFIG_PRESENT 1264 #ifdef CONFIG_LV_USE_ARC 1265 #define LV_USE_ARC CONFIG_LV_USE_ARC 1266 #else 1267 #define LV_USE_ARC 0 1268 #endif 1269 #else 1270 #define LV_USE_ARC 1 1271 #endif 1272 #endif 1273 1274 #ifndef LV_USE_ANIMIMG 1275 #ifdef _LV_KCONFIG_PRESENT 1276 #ifdef CONFIG_LV_USE_ANIMIMG 1277 #define LV_USE_ANIMIMG CONFIG_LV_USE_ANIMIMG 1278 #else 1279 #define LV_USE_ANIMIMG 0 1280 #endif 1281 #else 1282 #define LV_USE_ANIMIMG 1 1283 #endif 1284 #endif 1285 1286 #ifndef LV_USE_BAR 1287 #ifdef _LV_KCONFIG_PRESENT 1288 #ifdef CONFIG_LV_USE_BAR 1289 #define LV_USE_BAR CONFIG_LV_USE_BAR 1290 #else 1291 #define LV_USE_BAR 0 1292 #endif 1293 #else 1294 #define LV_USE_BAR 1 1295 #endif 1296 #endif 1297 1298 #ifndef LV_USE_BTN 1299 #ifdef _LV_KCONFIG_PRESENT 1300 #ifdef CONFIG_LV_USE_BTN 1301 #define LV_USE_BTN CONFIG_LV_USE_BTN 1302 #else 1303 #define LV_USE_BTN 0 1304 #endif 1305 #else 1306 #define LV_USE_BTN 1 1307 #endif 1308 #endif 1309 1310 #ifndef LV_USE_BTNMATRIX 1311 #ifdef _LV_KCONFIG_PRESENT 1312 #ifdef CONFIG_LV_USE_BTNMATRIX 1313 #define LV_USE_BTNMATRIX CONFIG_LV_USE_BTNMATRIX 1314 #else 1315 #define LV_USE_BTNMATRIX 0 1316 #endif 1317 #else 1318 #define LV_USE_BTNMATRIX 1 1319 #endif 1320 #endif 1321 1322 #ifndef LV_USE_CANVAS 1323 #ifdef _LV_KCONFIG_PRESENT 1324 #ifdef CONFIG_LV_USE_CANVAS 1325 #define LV_USE_CANVAS CONFIG_LV_USE_CANVAS 1326 #else 1327 #define LV_USE_CANVAS 0 1328 #endif 1329 #else 1330 #define LV_USE_CANVAS 1 1331 #endif 1332 #endif 1333 1334 #ifndef LV_USE_CHECKBOX 1335 #ifdef _LV_KCONFIG_PRESENT 1336 #ifdef CONFIG_LV_USE_CHECKBOX 1337 #define LV_USE_CHECKBOX CONFIG_LV_USE_CHECKBOX 1338 #else 1339 #define LV_USE_CHECKBOX 0 1340 #endif 1341 #else 1342 #define LV_USE_CHECKBOX 1 1343 #endif 1344 #endif 1345 1346 #ifndef LV_USE_DROPDOWN 1347 #ifdef _LV_KCONFIG_PRESENT 1348 #ifdef CONFIG_LV_USE_DROPDOWN 1349 #define LV_USE_DROPDOWN CONFIG_LV_USE_DROPDOWN 1350 #else 1351 #define LV_USE_DROPDOWN 0 1352 #endif 1353 #else 1354 #define LV_USE_DROPDOWN 1 /*Requires: lv_label*/ 1355 #endif 1356 #endif 1357 1358 #ifndef LV_USE_IMG 1359 #ifdef _LV_KCONFIG_PRESENT 1360 #ifdef CONFIG_LV_USE_IMG 1361 #define LV_USE_IMG CONFIG_LV_USE_IMG 1362 #else 1363 #define LV_USE_IMG 0 1364 #endif 1365 #else 1366 #define LV_USE_IMG 1 /*Requires: lv_label*/ 1367 #endif 1368 #endif 1369 1370 #ifndef LV_USE_LABEL 1371 #ifdef _LV_KCONFIG_PRESENT 1372 #ifdef CONFIG_LV_USE_LABEL 1373 #define LV_USE_LABEL CONFIG_LV_USE_LABEL 1374 #else 1375 #define LV_USE_LABEL 0 1376 #endif 1377 #else 1378 #define LV_USE_LABEL 1 1379 #endif 1380 #endif 1381 #if LV_USE_LABEL 1382 #ifndef LV_LABEL_TEXT_SELECTION 1383 #ifdef _LV_KCONFIG_PRESENT 1384 #ifdef CONFIG_LV_LABEL_TEXT_SELECTION 1385 #define LV_LABEL_TEXT_SELECTION CONFIG_LV_LABEL_TEXT_SELECTION 1386 #else 1387 #define LV_LABEL_TEXT_SELECTION 0 1388 #endif 1389 #else 1390 #define LV_LABEL_TEXT_SELECTION 1 /*Enable selecting text of the label*/ 1391 #endif 1392 #endif 1393 #ifndef LV_LABEL_LONG_TXT_HINT 1394 #ifdef _LV_KCONFIG_PRESENT 1395 #ifdef CONFIG_LV_LABEL_LONG_TXT_HINT 1396 #define LV_LABEL_LONG_TXT_HINT CONFIG_LV_LABEL_LONG_TXT_HINT 1397 #else 1398 #define LV_LABEL_LONG_TXT_HINT 0 1399 #endif 1400 #else 1401 #define LV_LABEL_LONG_TXT_HINT 1 /*Store some extra info in labels to speed up drawing of very long texts*/ 1402 #endif 1403 #endif 1404 #endif 1405 1406 #ifndef LV_USE_LINE 1407 #ifdef _LV_KCONFIG_PRESENT 1408 #ifdef CONFIG_LV_USE_LINE 1409 #define LV_USE_LINE CONFIG_LV_USE_LINE 1410 #else 1411 #define LV_USE_LINE 0 1412 #endif 1413 #else 1414 #define LV_USE_LINE 1 1415 #endif 1416 #endif 1417 1418 #ifndef LV_USE_ROLLER 1419 #ifdef _LV_KCONFIG_PRESENT 1420 #ifdef CONFIG_LV_USE_ROLLER 1421 #define LV_USE_ROLLER CONFIG_LV_USE_ROLLER 1422 #else 1423 #define LV_USE_ROLLER 0 1424 #endif 1425 #else 1426 #define LV_USE_ROLLER 1 /*Requires: lv_label*/ 1427 #endif 1428 #endif 1429 #if LV_USE_ROLLER 1430 #ifndef LV_ROLLER_INF_PAGES 1431 #ifdef CONFIG_LV_ROLLER_INF_PAGES 1432 #define LV_ROLLER_INF_PAGES CONFIG_LV_ROLLER_INF_PAGES 1433 #else 1434 #define LV_ROLLER_INF_PAGES 7 /*Number of extra "pages" when the roller is infinite*/ 1435 #endif 1436 #endif 1437 #endif 1438 1439 #ifndef LV_USE_SLIDER 1440 #ifdef _LV_KCONFIG_PRESENT 1441 #ifdef CONFIG_LV_USE_SLIDER 1442 #define LV_USE_SLIDER CONFIG_LV_USE_SLIDER 1443 #else 1444 #define LV_USE_SLIDER 0 1445 #endif 1446 #else 1447 #define LV_USE_SLIDER 1 /*Requires: lv_bar*/ 1448 #endif 1449 #endif 1450 1451 #ifndef LV_USE_SWITCH 1452 #ifdef _LV_KCONFIG_PRESENT 1453 #ifdef CONFIG_LV_USE_SWITCH 1454 #define LV_USE_SWITCH CONFIG_LV_USE_SWITCH 1455 #else 1456 #define LV_USE_SWITCH 0 1457 #endif 1458 #else 1459 #define LV_USE_SWITCH 1 1460 #endif 1461 #endif 1462 1463 #ifndef LV_USE_TEXTAREA 1464 #ifdef _LV_KCONFIG_PRESENT 1465 #ifdef CONFIG_LV_USE_TEXTAREA 1466 #define LV_USE_TEXTAREA CONFIG_LV_USE_TEXTAREA 1467 #else 1468 #define LV_USE_TEXTAREA 0 1469 #endif 1470 #else 1471 #define LV_USE_TEXTAREA 1 /*Requires: lv_label*/ 1472 #endif 1473 #endif 1474 #if LV_USE_TEXTAREA != 0 1475 #ifndef LV_TEXTAREA_DEF_PWD_SHOW_TIME 1476 #ifdef CONFIG_LV_TEXTAREA_DEF_PWD_SHOW_TIME 1477 #define LV_TEXTAREA_DEF_PWD_SHOW_TIME CONFIG_LV_TEXTAREA_DEF_PWD_SHOW_TIME 1478 #else 1479 #define LV_TEXTAREA_DEF_PWD_SHOW_TIME 1500 /*ms*/ 1480 #endif 1481 #endif 1482 #endif 1483 1484 #ifndef LV_USE_TABLE 1485 #ifdef _LV_KCONFIG_PRESENT 1486 #ifdef CONFIG_LV_USE_TABLE 1487 #define LV_USE_TABLE CONFIG_LV_USE_TABLE 1488 #else 1489 #define LV_USE_TABLE 0 1490 #endif 1491 #else 1492 #define LV_USE_TABLE 1 1493 #endif 1494 #endif 1495 1496 /*================== 1497 * EXTRA COMPONENTS 1498 *==================*/ 1499 1500 /*----------- 1501 * Widgets 1502 *----------*/ 1503 #ifndef LV_USE_CALENDAR 1504 #ifdef _LV_KCONFIG_PRESENT 1505 #ifdef CONFIG_LV_USE_CALENDAR 1506 #define LV_USE_CALENDAR CONFIG_LV_USE_CALENDAR 1507 #else 1508 #define LV_USE_CALENDAR 0 1509 #endif 1510 #else 1511 #define LV_USE_CALENDAR 1 1512 #endif 1513 #endif 1514 #if LV_USE_CALENDAR 1515 #ifndef LV_CALENDAR_WEEK_STARTS_MONDAY 1516 #ifdef CONFIG_LV_CALENDAR_WEEK_STARTS_MONDAY 1517 #define LV_CALENDAR_WEEK_STARTS_MONDAY CONFIG_LV_CALENDAR_WEEK_STARTS_MONDAY 1518 #else 1519 #define LV_CALENDAR_WEEK_STARTS_MONDAY 0 1520 #endif 1521 #endif 1522 #if LV_CALENDAR_WEEK_STARTS_MONDAY 1523 #ifndef LV_CALENDAR_DEFAULT_DAY_NAMES 1524 #ifdef CONFIG_LV_CALENDAR_DEFAULT_DAY_NAMES 1525 #define LV_CALENDAR_DEFAULT_DAY_NAMES CONFIG_LV_CALENDAR_DEFAULT_DAY_NAMES 1526 #else 1527 #define LV_CALENDAR_DEFAULT_DAY_NAMES {"Mo", "Tu", "We", "Th", "Fr", "Sa", "Su"} 1528 #endif 1529 #endif 1530 #else 1531 #ifndef LV_CALENDAR_DEFAULT_DAY_NAMES 1532 #ifdef CONFIG_LV_CALENDAR_DEFAULT_DAY_NAMES 1533 #define LV_CALENDAR_DEFAULT_DAY_NAMES CONFIG_LV_CALENDAR_DEFAULT_DAY_NAMES 1534 #else 1535 #define LV_CALENDAR_DEFAULT_DAY_NAMES {"Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"} 1536 #endif 1537 #endif 1538 #endif 1539 1540 #ifndef LV_CALENDAR_DEFAULT_MONTH_NAMES 1541 #ifdef CONFIG_LV_CALENDAR_DEFAULT_MONTH_NAMES 1542 #define LV_CALENDAR_DEFAULT_MONTH_NAMES CONFIG_LV_CALENDAR_DEFAULT_MONTH_NAMES 1543 #else 1544 #define LV_CALENDAR_DEFAULT_MONTH_NAMES {"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"} 1545 #endif 1546 #endif 1547 #ifndef LV_USE_CALENDAR_HEADER_ARROW 1548 #ifdef _LV_KCONFIG_PRESENT 1549 #ifdef CONFIG_LV_USE_CALENDAR_HEADER_ARROW 1550 #define LV_USE_CALENDAR_HEADER_ARROW CONFIG_LV_USE_CALENDAR_HEADER_ARROW 1551 #else 1552 #define LV_USE_CALENDAR_HEADER_ARROW 0 1553 #endif 1554 #else 1555 #define LV_USE_CALENDAR_HEADER_ARROW 1 1556 #endif 1557 #endif 1558 #ifndef LV_USE_CALENDAR_HEADER_DROPDOWN 1559 #ifdef _LV_KCONFIG_PRESENT 1560 #ifdef CONFIG_LV_USE_CALENDAR_HEADER_DROPDOWN 1561 #define LV_USE_CALENDAR_HEADER_DROPDOWN CONFIG_LV_USE_CALENDAR_HEADER_DROPDOWN 1562 #else 1563 #define LV_USE_CALENDAR_HEADER_DROPDOWN 0 1564 #endif 1565 #else 1566 #define LV_USE_CALENDAR_HEADER_DROPDOWN 1 1567 #endif 1568 #endif 1569 #endif /*LV_USE_CALENDAR*/ 1570 1571 #ifndef LV_USE_CHART 1572 #ifdef _LV_KCONFIG_PRESENT 1573 #ifdef CONFIG_LV_USE_CHART 1574 #define LV_USE_CHART CONFIG_LV_USE_CHART 1575 #else 1576 #define LV_USE_CHART 0 1577 #endif 1578 #else 1579 #define LV_USE_CHART 1 1580 #endif 1581 #endif 1582 1583 #ifndef LV_USE_COLORWHEEL 1584 #ifdef _LV_KCONFIG_PRESENT 1585 #ifdef CONFIG_LV_USE_COLORWHEEL 1586 #define LV_USE_COLORWHEEL CONFIG_LV_USE_COLORWHEEL 1587 #else 1588 #define LV_USE_COLORWHEEL 0 1589 #endif 1590 #else 1591 #define LV_USE_COLORWHEEL 1 1592 #endif 1593 #endif 1594 1595 #ifndef LV_USE_IMGBTN 1596 #ifdef _LV_KCONFIG_PRESENT 1597 #ifdef CONFIG_LV_USE_IMGBTN 1598 #define LV_USE_IMGBTN CONFIG_LV_USE_IMGBTN 1599 #else 1600 #define LV_USE_IMGBTN 0 1601 #endif 1602 #else 1603 #define LV_USE_IMGBTN 1 1604 #endif 1605 #endif 1606 1607 #ifndef LV_USE_KEYBOARD 1608 #ifdef _LV_KCONFIG_PRESENT 1609 #ifdef CONFIG_LV_USE_KEYBOARD 1610 #define LV_USE_KEYBOARD CONFIG_LV_USE_KEYBOARD 1611 #else 1612 #define LV_USE_KEYBOARD 0 1613 #endif 1614 #else 1615 #define LV_USE_KEYBOARD 1 1616 #endif 1617 #endif 1618 1619 #ifndef LV_USE_LED 1620 #ifdef _LV_KCONFIG_PRESENT 1621 #ifdef CONFIG_LV_USE_LED 1622 #define LV_USE_LED CONFIG_LV_USE_LED 1623 #else 1624 #define LV_USE_LED 0 1625 #endif 1626 #else 1627 #define LV_USE_LED 1 1628 #endif 1629 #endif 1630 1631 #ifndef LV_USE_LIST 1632 #ifdef _LV_KCONFIG_PRESENT 1633 #ifdef CONFIG_LV_USE_LIST 1634 #define LV_USE_LIST CONFIG_LV_USE_LIST 1635 #else 1636 #define LV_USE_LIST 0 1637 #endif 1638 #else 1639 #define LV_USE_LIST 1 1640 #endif 1641 #endif 1642 1643 #ifndef LV_USE_MENU 1644 #ifdef _LV_KCONFIG_PRESENT 1645 #ifdef CONFIG_LV_USE_MENU 1646 #define LV_USE_MENU CONFIG_LV_USE_MENU 1647 #else 1648 #define LV_USE_MENU 0 1649 #endif 1650 #else 1651 #define LV_USE_MENU 1 1652 #endif 1653 #endif 1654 1655 #ifndef LV_USE_METER 1656 #ifdef _LV_KCONFIG_PRESENT 1657 #ifdef CONFIG_LV_USE_METER 1658 #define LV_USE_METER CONFIG_LV_USE_METER 1659 #else 1660 #define LV_USE_METER 0 1661 #endif 1662 #else 1663 #define LV_USE_METER 1 1664 #endif 1665 #endif 1666 1667 #ifndef LV_USE_MSGBOX 1668 #ifdef _LV_KCONFIG_PRESENT 1669 #ifdef CONFIG_LV_USE_MSGBOX 1670 #define LV_USE_MSGBOX CONFIG_LV_USE_MSGBOX 1671 #else 1672 #define LV_USE_MSGBOX 0 1673 #endif 1674 #else 1675 #define LV_USE_MSGBOX 1 1676 #endif 1677 #endif 1678 1679 #ifndef LV_USE_SPINBOX 1680 #ifdef _LV_KCONFIG_PRESENT 1681 #ifdef CONFIG_LV_USE_SPINBOX 1682 #define LV_USE_SPINBOX CONFIG_LV_USE_SPINBOX 1683 #else 1684 #define LV_USE_SPINBOX 0 1685 #endif 1686 #else 1687 #define LV_USE_SPINBOX 1 1688 #endif 1689 #endif 1690 1691 #ifndef LV_USE_SPINNER 1692 #ifdef _LV_KCONFIG_PRESENT 1693 #ifdef CONFIG_LV_USE_SPINNER 1694 #define LV_USE_SPINNER CONFIG_LV_USE_SPINNER 1695 #else 1696 #define LV_USE_SPINNER 0 1697 #endif 1698 #else 1699 #define LV_USE_SPINNER 1 1700 #endif 1701 #endif 1702 1703 #ifndef LV_USE_TABVIEW 1704 #ifdef _LV_KCONFIG_PRESENT 1705 #ifdef CONFIG_LV_USE_TABVIEW 1706 #define LV_USE_TABVIEW CONFIG_LV_USE_TABVIEW 1707 #else 1708 #define LV_USE_TABVIEW 0 1709 #endif 1710 #else 1711 #define LV_USE_TABVIEW 1 1712 #endif 1713 #endif 1714 1715 #ifndef LV_USE_TILEVIEW 1716 #ifdef _LV_KCONFIG_PRESENT 1717 #ifdef CONFIG_LV_USE_TILEVIEW 1718 #define LV_USE_TILEVIEW CONFIG_LV_USE_TILEVIEW 1719 #else 1720 #define LV_USE_TILEVIEW 0 1721 #endif 1722 #else 1723 #define LV_USE_TILEVIEW 1 1724 #endif 1725 #endif 1726 1727 #ifndef LV_USE_WIN 1728 #ifdef _LV_KCONFIG_PRESENT 1729 #ifdef CONFIG_LV_USE_WIN 1730 #define LV_USE_WIN CONFIG_LV_USE_WIN 1731 #else 1732 #define LV_USE_WIN 0 1733 #endif 1734 #else 1735 #define LV_USE_WIN 1 1736 #endif 1737 #endif 1738 1739 #ifndef LV_USE_SPAN 1740 #ifdef _LV_KCONFIG_PRESENT 1741 #ifdef CONFIG_LV_USE_SPAN 1742 #define LV_USE_SPAN CONFIG_LV_USE_SPAN 1743 #else 1744 #define LV_USE_SPAN 0 1745 #endif 1746 #else 1747 #define LV_USE_SPAN 1 1748 #endif 1749 #endif 1750 #if LV_USE_SPAN 1751 /*A line text can contain maximum num of span descriptor */ 1752 #ifndef LV_SPAN_SNIPPET_STACK_SIZE 1753 #ifdef CONFIG_LV_SPAN_SNIPPET_STACK_SIZE 1754 #define LV_SPAN_SNIPPET_STACK_SIZE CONFIG_LV_SPAN_SNIPPET_STACK_SIZE 1755 #else 1756 #define LV_SPAN_SNIPPET_STACK_SIZE 64 1757 #endif 1758 #endif 1759 #endif 1760 1761 /*----------- 1762 * Themes 1763 *----------*/ 1764 1765 /*A simple, impressive and very complete theme*/ 1766 #ifndef LV_USE_THEME_DEFAULT 1767 #ifdef _LV_KCONFIG_PRESENT 1768 #ifdef CONFIG_LV_USE_THEME_DEFAULT 1769 #define LV_USE_THEME_DEFAULT CONFIG_LV_USE_THEME_DEFAULT 1770 #else 1771 #define LV_USE_THEME_DEFAULT 0 1772 #endif 1773 #else 1774 #define LV_USE_THEME_DEFAULT 1 1775 #endif 1776 #endif 1777 #if LV_USE_THEME_DEFAULT 1778 1779 /*0: Light mode; 1: Dark mode*/ 1780 #ifndef LV_THEME_DEFAULT_DARK 1781 #ifdef CONFIG_LV_THEME_DEFAULT_DARK 1782 #define LV_THEME_DEFAULT_DARK CONFIG_LV_THEME_DEFAULT_DARK 1783 #else 1784 #define LV_THEME_DEFAULT_DARK 0 1785 #endif 1786 #endif 1787 1788 /*1: Enable grow on press*/ 1789 #ifndef LV_THEME_DEFAULT_GROW 1790 #ifdef _LV_KCONFIG_PRESENT 1791 #ifdef CONFIG_LV_THEME_DEFAULT_GROW 1792 #define LV_THEME_DEFAULT_GROW CONFIG_LV_THEME_DEFAULT_GROW 1793 #else 1794 #define LV_THEME_DEFAULT_GROW 0 1795 #endif 1796 #else 1797 #define LV_THEME_DEFAULT_GROW 1 1798 #endif 1799 #endif 1800 1801 /*Default transition time in [ms]*/ 1802 #ifndef LV_THEME_DEFAULT_TRANSITION_TIME 1803 #ifdef CONFIG_LV_THEME_DEFAULT_TRANSITION_TIME 1804 #define LV_THEME_DEFAULT_TRANSITION_TIME CONFIG_LV_THEME_DEFAULT_TRANSITION_TIME 1805 #else 1806 #define LV_THEME_DEFAULT_TRANSITION_TIME 80 1807 #endif 1808 #endif 1809 #endif /*LV_USE_THEME_DEFAULT*/ 1810 1811 /*A very simple theme that is a good starting point for a custom theme*/ 1812 #ifndef LV_USE_THEME_BASIC 1813 #ifdef _LV_KCONFIG_PRESENT 1814 #ifdef CONFIG_LV_USE_THEME_BASIC 1815 #define LV_USE_THEME_BASIC CONFIG_LV_USE_THEME_BASIC 1816 #else 1817 #define LV_USE_THEME_BASIC 0 1818 #endif 1819 #else 1820 #define LV_USE_THEME_BASIC 1 1821 #endif 1822 #endif 1823 1824 /*A theme designed for monochrome displays*/ 1825 #ifndef LV_USE_THEME_MONO 1826 #ifdef _LV_KCONFIG_PRESENT 1827 #ifdef CONFIG_LV_USE_THEME_MONO 1828 #define LV_USE_THEME_MONO CONFIG_LV_USE_THEME_MONO 1829 #else 1830 #define LV_USE_THEME_MONO 0 1831 #endif 1832 #else 1833 #define LV_USE_THEME_MONO 1 1834 #endif 1835 #endif 1836 1837 /*----------- 1838 * Layouts 1839 *----------*/ 1840 1841 /*A layout similar to Flexbox in CSS.*/ 1842 #ifndef LV_USE_FLEX 1843 #ifdef _LV_KCONFIG_PRESENT 1844 #ifdef CONFIG_LV_USE_FLEX 1845 #define LV_USE_FLEX CONFIG_LV_USE_FLEX 1846 #else 1847 #define LV_USE_FLEX 0 1848 #endif 1849 #else 1850 #define LV_USE_FLEX 1 1851 #endif 1852 #endif 1853 1854 /*A layout similar to Grid in CSS.*/ 1855 #ifndef LV_USE_GRID 1856 #ifdef _LV_KCONFIG_PRESENT 1857 #ifdef CONFIG_LV_USE_GRID 1858 #define LV_USE_GRID CONFIG_LV_USE_GRID 1859 #else 1860 #define LV_USE_GRID 0 1861 #endif 1862 #else 1863 #define LV_USE_GRID 1 1864 #endif 1865 #endif 1866 1867 /*--------------------- 1868 * 3rd party libraries 1869 *--------------------*/ 1870 1871 /*File system interfaces for common APIs */ 1872 1873 /*API for fopen, fread, etc*/ 1874 #ifndef LV_USE_FS_STDIO 1875 #ifdef CONFIG_LV_USE_FS_STDIO 1876 #define LV_USE_FS_STDIO CONFIG_LV_USE_FS_STDIO 1877 #else 1878 #define LV_USE_FS_STDIO 0 1879 #endif 1880 #endif 1881 #if LV_USE_FS_STDIO 1882 #ifndef LV_FS_STDIO_LETTER 1883 #ifdef CONFIG_LV_FS_STDIO_LETTER 1884 #define LV_FS_STDIO_LETTER CONFIG_LV_FS_STDIO_LETTER 1885 #else 1886 #define LV_FS_STDIO_LETTER '\0' /*Set an upper cased letter on which the drive will accessible (e.g. 'A')*/ 1887 #endif 1888 #endif 1889 #ifndef LV_FS_STDIO_PATH 1890 #ifdef CONFIG_LV_FS_STDIO_PATH 1891 #define LV_FS_STDIO_PATH CONFIG_LV_FS_STDIO_PATH 1892 #else 1893 #define LV_FS_STDIO_PATH "" /*Set the working directory. File/directory paths will be appended to it.*/ 1894 #endif 1895 #endif 1896 #ifndef LV_FS_STDIO_CACHE_SIZE 1897 #ifdef CONFIG_LV_FS_STDIO_CACHE_SIZE 1898 #define LV_FS_STDIO_CACHE_SIZE CONFIG_LV_FS_STDIO_CACHE_SIZE 1899 #else 1900 #define LV_FS_STDIO_CACHE_SIZE 0 /*>0 to cache this number of bytes in lv_fs_read()*/ 1901 #endif 1902 #endif 1903 #endif 1904 1905 /*API for open, read, etc*/ 1906 #ifndef LV_USE_FS_POSIX 1907 #ifdef CONFIG_LV_USE_FS_POSIX 1908 #define LV_USE_FS_POSIX CONFIG_LV_USE_FS_POSIX 1909 #else 1910 #define LV_USE_FS_POSIX 0 1911 #endif 1912 #endif 1913 #if LV_USE_FS_POSIX 1914 #ifndef LV_FS_POSIX_LETTER 1915 #ifdef CONFIG_LV_FS_POSIX_LETTER 1916 #define LV_FS_POSIX_LETTER CONFIG_LV_FS_POSIX_LETTER 1917 #else 1918 #define LV_FS_POSIX_LETTER '\0' /*Set an upper cased letter on which the drive will accessible (e.g. 'A')*/ 1919 #endif 1920 #endif 1921 #ifndef LV_FS_POSIX_PATH 1922 #ifdef CONFIG_LV_FS_POSIX_PATH 1923 #define LV_FS_POSIX_PATH CONFIG_LV_FS_POSIX_PATH 1924 #else 1925 #define LV_FS_POSIX_PATH "" /*Set the working directory. File/directory paths will be appended to it.*/ 1926 #endif 1927 #endif 1928 #ifndef LV_FS_POSIX_CACHE_SIZE 1929 #ifdef CONFIG_LV_FS_POSIX_CACHE_SIZE 1930 #define LV_FS_POSIX_CACHE_SIZE CONFIG_LV_FS_POSIX_CACHE_SIZE 1931 #else 1932 #define LV_FS_POSIX_CACHE_SIZE 0 /*>0 to cache this number of bytes in lv_fs_read()*/ 1933 #endif 1934 #endif 1935 #endif 1936 1937 /*API for CreateFile, ReadFile, etc*/ 1938 #ifndef LV_USE_FS_WIN32 1939 #ifdef CONFIG_LV_USE_FS_WIN32 1940 #define LV_USE_FS_WIN32 CONFIG_LV_USE_FS_WIN32 1941 #else 1942 #define LV_USE_FS_WIN32 0 1943 #endif 1944 #endif 1945 #if LV_USE_FS_WIN32 1946 #ifndef LV_FS_WIN32_LETTER 1947 #ifdef CONFIG_LV_FS_WIN32_LETTER 1948 #define LV_FS_WIN32_LETTER CONFIG_LV_FS_WIN32_LETTER 1949 #else 1950 #define LV_FS_WIN32_LETTER '\0' /*Set an upper cased letter on which the drive will accessible (e.g. 'A')*/ 1951 #endif 1952 #endif 1953 #ifndef LV_FS_WIN32_PATH 1954 #ifdef CONFIG_LV_FS_WIN32_PATH 1955 #define LV_FS_WIN32_PATH CONFIG_LV_FS_WIN32_PATH 1956 #else 1957 #define LV_FS_WIN32_PATH "" /*Set the working directory. File/directory paths will be appended to it.*/ 1958 #endif 1959 #endif 1960 #ifndef LV_FS_WIN32_CACHE_SIZE 1961 #ifdef CONFIG_LV_FS_WIN32_CACHE_SIZE 1962 #define LV_FS_WIN32_CACHE_SIZE CONFIG_LV_FS_WIN32_CACHE_SIZE 1963 #else 1964 #define LV_FS_WIN32_CACHE_SIZE 0 /*>0 to cache this number of bytes in lv_fs_read()*/ 1965 #endif 1966 #endif 1967 #endif 1968 1969 /*API for FATFS (needs to be added separately). Uses f_open, f_read, etc*/ 1970 #ifndef LV_USE_FS_FATFS 1971 #ifdef CONFIG_LV_USE_FS_FATFS 1972 #define LV_USE_FS_FATFS CONFIG_LV_USE_FS_FATFS 1973 #else 1974 #define LV_USE_FS_FATFS 0 1975 #endif 1976 #endif 1977 #if LV_USE_FS_FATFS 1978 #ifndef LV_FS_FATFS_LETTER 1979 #ifdef CONFIG_LV_FS_FATFS_LETTER 1980 #define LV_FS_FATFS_LETTER CONFIG_LV_FS_FATFS_LETTER 1981 #else 1982 #define LV_FS_FATFS_LETTER '\0' /*Set an upper cased letter on which the drive will accessible (e.g. 'A')*/ 1983 #endif 1984 #endif 1985 #ifndef LV_FS_FATFS_CACHE_SIZE 1986 #ifdef CONFIG_LV_FS_FATFS_CACHE_SIZE 1987 #define LV_FS_FATFS_CACHE_SIZE CONFIG_LV_FS_FATFS_CACHE_SIZE 1988 #else 1989 #define LV_FS_FATFS_CACHE_SIZE 0 /*>0 to cache this number of bytes in lv_fs_read()*/ 1990 #endif 1991 #endif 1992 #endif 1993 1994 /*PNG decoder library*/ 1995 #ifndef LV_USE_PNG 1996 #ifdef CONFIG_LV_USE_PNG 1997 #define LV_USE_PNG CONFIG_LV_USE_PNG 1998 #else 1999 #define LV_USE_PNG 0 2000 #endif 2001 #endif 2002 2003 /*BMP decoder library*/ 2004 #ifndef LV_USE_BMP 2005 #ifdef CONFIG_LV_USE_BMP 2006 #define LV_USE_BMP CONFIG_LV_USE_BMP 2007 #else 2008 #define LV_USE_BMP 0 2009 #endif 2010 #endif 2011 2012 /* JPG + split JPG decoder library. 2013 * Split JPG is a custom format optimized for embedded systems. */ 2014 #ifndef LV_USE_SJPG 2015 #ifdef CONFIG_LV_USE_SJPG 2016 #define LV_USE_SJPG CONFIG_LV_USE_SJPG 2017 #else 2018 #define LV_USE_SJPG 0 2019 #endif 2020 #endif 2021 2022 /*GIF decoder library*/ 2023 #ifndef LV_USE_GIF 2024 #ifdef CONFIG_LV_USE_GIF 2025 #define LV_USE_GIF CONFIG_LV_USE_GIF 2026 #else 2027 #define LV_USE_GIF 0 2028 #endif 2029 #endif 2030 2031 /*QR code library*/ 2032 #ifndef LV_USE_QRCODE 2033 #ifdef CONFIG_LV_USE_QRCODE 2034 #define LV_USE_QRCODE CONFIG_LV_USE_QRCODE 2035 #else 2036 #define LV_USE_QRCODE 0 2037 #endif 2038 #endif 2039 2040 /*FreeType library*/ 2041 #ifndef LV_USE_FREETYPE 2042 #ifdef CONFIG_LV_USE_FREETYPE 2043 #define LV_USE_FREETYPE CONFIG_LV_USE_FREETYPE 2044 #else 2045 #define LV_USE_FREETYPE 0 2046 #endif 2047 #endif 2048 #if LV_USE_FREETYPE 2049 /*Memory used by FreeType to cache characters [bytes] (-1: no caching)*/ 2050 #ifndef LV_FREETYPE_CACHE_SIZE 2051 #ifdef CONFIG_LV_FREETYPE_CACHE_SIZE 2052 #define LV_FREETYPE_CACHE_SIZE CONFIG_LV_FREETYPE_CACHE_SIZE 2053 #else 2054 #define LV_FREETYPE_CACHE_SIZE (16 * 1024) 2055 #endif 2056 #endif 2057 #if LV_FREETYPE_CACHE_SIZE >= 0 2058 /* 1: bitmap cache use the sbit cache, 0:bitmap cache use the image cache. */ 2059 /* sbit cache:it is much more memory efficient for small bitmaps(font size < 256) */ 2060 /* if font size >= 256, must be configured as image cache */ 2061 #ifndef LV_FREETYPE_SBIT_CACHE 2062 #ifdef CONFIG_LV_FREETYPE_SBIT_CACHE 2063 #define LV_FREETYPE_SBIT_CACHE CONFIG_LV_FREETYPE_SBIT_CACHE 2064 #else 2065 #define LV_FREETYPE_SBIT_CACHE 0 2066 #endif 2067 #endif 2068 /* Maximum number of opened FT_Face/FT_Size objects managed by this cache instance. */ 2069 /* (0:use system defaults) */ 2070 #ifndef LV_FREETYPE_CACHE_FT_FACES 2071 #ifdef CONFIG_LV_FREETYPE_CACHE_FT_FACES 2072 #define LV_FREETYPE_CACHE_FT_FACES CONFIG_LV_FREETYPE_CACHE_FT_FACES 2073 #else 2074 #define LV_FREETYPE_CACHE_FT_FACES 0 2075 #endif 2076 #endif 2077 #ifndef LV_FREETYPE_CACHE_FT_SIZES 2078 #ifdef CONFIG_LV_FREETYPE_CACHE_FT_SIZES 2079 #define LV_FREETYPE_CACHE_FT_SIZES CONFIG_LV_FREETYPE_CACHE_FT_SIZES 2080 #else 2081 #define LV_FREETYPE_CACHE_FT_SIZES 0 2082 #endif 2083 #endif 2084 #endif 2085 #endif 2086 2087 /*Rlottie library*/ 2088 #ifndef LV_USE_RLOTTIE 2089 #ifdef CONFIG_LV_USE_RLOTTIE 2090 #define LV_USE_RLOTTIE CONFIG_LV_USE_RLOTTIE 2091 #else 2092 #define LV_USE_RLOTTIE 0 2093 #endif 2094 #endif 2095 2096 /*FFmpeg library for image decoding and playing videos 2097 *Supports all major image formats so do not enable other image decoder with it*/ 2098 #ifndef LV_USE_FFMPEG 2099 #ifdef CONFIG_LV_USE_FFMPEG 2100 #define LV_USE_FFMPEG CONFIG_LV_USE_FFMPEG 2101 #else 2102 #define LV_USE_FFMPEG 0 2103 #endif 2104 #endif 2105 #if LV_USE_FFMPEG 2106 /*Dump input information to stderr*/ 2107 #ifndef LV_FFMPEG_AV_DUMP_FORMAT 2108 #ifdef CONFIG_LV_FFMPEG_AV_DUMP_FORMAT 2109 #define LV_FFMPEG_AV_DUMP_FORMAT CONFIG_LV_FFMPEG_AV_DUMP_FORMAT 2110 #else 2111 #define LV_FFMPEG_AV_DUMP_FORMAT 0 2112 #endif 2113 #endif 2114 #endif 2115 2116 /*----------- 2117 * Others 2118 *----------*/ 2119 2120 /*1: Enable API to take snapshot for object*/ 2121 #ifndef LV_USE_SNAPSHOT 2122 #ifdef CONFIG_LV_USE_SNAPSHOT 2123 #define LV_USE_SNAPSHOT CONFIG_LV_USE_SNAPSHOT 2124 #else 2125 #define LV_USE_SNAPSHOT 0 2126 #endif 2127 #endif 2128 2129 /*1: Enable Monkey test*/ 2130 #ifndef LV_USE_MONKEY 2131 #ifdef CONFIG_LV_USE_MONKEY 2132 #define LV_USE_MONKEY CONFIG_LV_USE_MONKEY 2133 #else 2134 #define LV_USE_MONKEY 0 2135 #endif 2136 #endif 2137 2138 /*1: Enable grid navigation*/ 2139 #ifndef LV_USE_GRIDNAV 2140 #ifdef CONFIG_LV_USE_GRIDNAV 2141 #define LV_USE_GRIDNAV CONFIG_LV_USE_GRIDNAV 2142 #else 2143 #define LV_USE_GRIDNAV 0 2144 #endif 2145 #endif 2146 2147 /*================== 2148 * EXAMPLES 2149 *==================*/ 2150 2151 /*Enable the examples to be built with the library*/ 2152 #ifndef LV_BUILD_EXAMPLES 2153 #ifdef _LV_KCONFIG_PRESENT 2154 #ifdef CONFIG_LV_BUILD_EXAMPLES 2155 #define LV_BUILD_EXAMPLES CONFIG_LV_BUILD_EXAMPLES 2156 #else 2157 #define LV_BUILD_EXAMPLES 0 2158 #endif 2159 #else 2160 #define LV_BUILD_EXAMPLES 1 2161 #endif 2162 #endif 2163 2164 /*=================== 2165 * DEMO USAGE 2166 ====================*/ 2167 2168 /*Show some widget. It might be required to increase `LV_MEM_SIZE` */ 2169 #ifndef LV_USE_DEMO_WIDGETS 2170 #ifdef CONFIG_LV_USE_DEMO_WIDGETS 2171 #define LV_USE_DEMO_WIDGETS CONFIG_LV_USE_DEMO_WIDGETS 2172 #else 2173 #define LV_USE_DEMO_WIDGETS 0 2174 #endif 2175 #endif 2176 #if LV_USE_DEMO_WIDGETS 2177 #ifndef LV_DEMO_WIDGETS_SLIDESHOW 2178 #ifdef CONFIG_LV_DEMO_WIDGETS_SLIDESHOW 2179 #define LV_DEMO_WIDGETS_SLIDESHOW CONFIG_LV_DEMO_WIDGETS_SLIDESHOW 2180 #else 2181 #define LV_DEMO_WIDGETS_SLIDESHOW 0 2182 #endif 2183 #endif 2184 #endif 2185 2186 /*Demonstrate the usage of encoder and keyboard*/ 2187 #ifndef LV_USE_DEMO_KEYPAD_AND_ENCODER 2188 #ifdef CONFIG_LV_USE_DEMO_KEYPAD_AND_ENCODER 2189 #define LV_USE_DEMO_KEYPAD_AND_ENCODER CONFIG_LV_USE_DEMO_KEYPAD_AND_ENCODER 2190 #else 2191 #define LV_USE_DEMO_KEYPAD_AND_ENCODER 0 2192 #endif 2193 #endif 2194 2195 /*Benchmark your system*/ 2196 #ifndef LV_USE_DEMO_BENCHMARK 2197 #ifdef CONFIG_LV_USE_DEMO_BENCHMARK 2198 #define LV_USE_DEMO_BENCHMARK CONFIG_LV_USE_DEMO_BENCHMARK 2199 #else 2200 #define LV_USE_DEMO_BENCHMARK 0 2201 #endif 2202 #endif 2203 2204 /*Stress test for LVGL*/ 2205 #ifndef LV_USE_DEMO_STRESS 2206 #ifdef CONFIG_LV_USE_DEMO_STRESS 2207 #define LV_USE_DEMO_STRESS CONFIG_LV_USE_DEMO_STRESS 2208 #else 2209 #define LV_USE_DEMO_STRESS 0 2210 #endif 2211 #endif 2212 2213 /*Music player demo*/ 2214 #ifndef LV_USE_DEMO_MUSIC 2215 #ifdef CONFIG_LV_USE_DEMO_MUSIC 2216 #define LV_USE_DEMO_MUSIC CONFIG_LV_USE_DEMO_MUSIC 2217 #else 2218 #define LV_USE_DEMO_MUSIC 0 2219 #endif 2220 #endif 2221 #if LV_USE_DEMO_MUSIC 2222 #ifndef LV_DEMO_MUSIC_SQUARE 2223 #ifdef CONFIG_LV_DEMO_MUSIC_SQUARE 2224 #define LV_DEMO_MUSIC_SQUARE CONFIG_LV_DEMO_MUSIC_SQUARE 2225 #else 2226 #define LV_DEMO_MUSIC_SQUARE 0 2227 #endif 2228 #endif 2229 #ifndef LV_DEMO_MUSIC_LANDSCAPE 2230 #ifdef CONFIG_LV_DEMO_MUSIC_LANDSCAPE 2231 #define LV_DEMO_MUSIC_LANDSCAPE CONFIG_LV_DEMO_MUSIC_LANDSCAPE 2232 #else 2233 #define LV_DEMO_MUSIC_LANDSCAPE 0 2234 #endif 2235 #endif 2236 #ifndef LV_DEMO_MUSIC_ROUND 2237 #ifdef CONFIG_LV_DEMO_MUSIC_ROUND 2238 #define LV_DEMO_MUSIC_ROUND CONFIG_LV_DEMO_MUSIC_ROUND 2239 #else 2240 #define LV_DEMO_MUSIC_ROUND 0 2241 #endif 2242 #endif 2243 #ifndef LV_DEMO_MUSIC_LARGE 2244 #ifdef CONFIG_LV_DEMO_MUSIC_LARGE 2245 #define LV_DEMO_MUSIC_LARGE CONFIG_LV_DEMO_MUSIC_LARGE 2246 #else 2247 #define LV_DEMO_MUSIC_LARGE 0 2248 #endif 2249 #endif 2250 #ifndef LV_DEMO_MUSIC_AUTO_PLAY 2251 #ifdef CONFIG_LV_DEMO_MUSIC_AUTO_PLAY 2252 #define LV_DEMO_MUSIC_AUTO_PLAY CONFIG_LV_DEMO_MUSIC_AUTO_PLAY 2253 #else 2254 #define LV_DEMO_MUSIC_AUTO_PLAY 0 2255 #endif 2256 #endif 2257 #endif 2258 2259 2260 2261 /*---------------------------------- 2262 * End of parsing lv_conf_template.h 2263 -----------------------------------*/ 2264 2265 LV_EXPORT_CONST_INT(LV_DPI_DEF); 2266 2267 #undef _LV_KCONFIG_PRESENT 2268 2269 2270 /*Set some defines if a dependency is disabled*/ 2271 #if LV_USE_LOG == 0 2272 #define LV_LOG_LEVEL LV_LOG_LEVEL_NONE 2273 #define LV_LOG_TRACE_MEM 0 2274 #define LV_LOG_TRACE_TIMER 0 2275 #define LV_LOG_TRACE_INDEV 0 2276 #define LV_LOG_TRACE_DISP_REFR 0 2277 #define LV_LOG_TRACE_EVENT 0 2278 #define LV_LOG_TRACE_OBJ_CREATE 0 2279 #define LV_LOG_TRACE_LAYOUT 0 2280 #define LV_LOG_TRACE_ANIM 0 2281 #endif /*LV_USE_LOG*/ 2282 2283 2284 /*If running without lv_conf.h add typedefs with default value*/ 2285 #ifdef LV_CONF_SKIP 2286 #if defined(_MSC_VER) && !defined(_CRT_SECURE_NO_WARNINGS) /*Disable warnings for Visual Studio*/ 2287 #define _CRT_SECURE_NO_WARNINGS 2288 #endif 2289 #endif /*defined(LV_CONF_SKIP)*/ 2290 2291 #endif /*LV_CONF_INTERNAL_H*/ 2292