Toggle navigation
Documentation
The friendly Operating System for the Internet of Things
Loading...
Searching...
No Matches
lv_conf.h
1
/*
2
* SPDX-FileCopyrightText: 2019 Inria
3
* SPDX-License-Identifier: LGPL-2.1-only
4
*/
5
6
#pragma once
7
15
16
#ifdef __cplusplus
17
extern
"C"
{
18
#endif
19
20
#include <stdint.h>
21
#include "
kernel_defines.h
"
22
#include "
lvgl_riot_conf.h
"
23
25
#define LV_CONF_H 1
26
27
/*====================
28
COLOR SETTINGS
29
*====================*/
30
38
#ifndef LV_COLOR_DEPTH
39
# if IS_USED(MODULE_U8G2_DISP_DEV)
40
# define LV_COLOR_DEPTH 1
41
# else
42
# define LV_COLOR_DEPTH 16
43
# endif
44
#endif
45
50
#ifndef LV_COLOR_16_SWAP
51
# if IS_USED(MODULE_LCD)
52
# define LV_COLOR_16_SWAP 1
53
# else
54
# define LV_COLOR_16_SWAP 0
55
# if IS_USED(MODULE_LCD)
56
# define LV_COLOR_16_SWAP 1
57
# else
58
# define LV_COLOR_16_SWAP 0
59
# endif
60
# endif
61
#endif
62
69
#define LV_COLOR_SCREEN_TRANSP 0
70
75
#define LV_COLOR_CHROMA_KEY lv_color_hex(0x00ff00)
76
77
/*=========================
78
MEMORY SETTINGS
79
*=========================*/
80
86
#define LV_MEM_CUSTOM 0
87
#if LV_MEM_CUSTOM == 0
89
# ifndef LV_MEM_SIZE
90
# if (__SIZEOF_POINTER__ > 4)
91
/* 64-bit platforms require additional space because a lot of pointers are stored on the lvgl heap. */
92
# if IS_USED(MODULE_LVGL_EXTRA_THEME_DEFAULT_GROW)
93
# define LV_MEM_SIZE (9U * 1024U)
94
# else
95
# define LV_MEM_SIZE (8U * 1024U)
96
# endif
97
# else
98
# if IS_USED(MODULE_LVGL_EXTRA_THEME_DEFAULT_GROW)
99
# define LV_MEM_SIZE (6U * 1024U)
100
# else
101
# define LV_MEM_SIZE (5U * 1024U)
102
# endif
103
# endif
104
# endif
109
# define LV_MEM_ADR 0
/* 0: unused */
110
#else
/* LV_MEM_CUSTOM */
111
# define LV_MEM_CUSTOM_INCLUDE <stdlib.h>
/* Header for the dynamic memory function */
112
# define LV_MEM_CUSTOM_ALLOC malloc
113
# define LV_MEM_CUSTOM_FREE free
114
#endif
/* LV_MEM_CUSTOM */
115
121
#define LV_MEM_BUF_MAX_NUM 16
122
126
#define LV_MEMCPY_MEMSET_STD 1
127
128
/*====================
129
HAL SETTINGS
130
*====================*/
131
133
#define LV_DISP_DEF_REFR_PERIOD 30
/* [ms] */
134
136
#define LV_INDEV_DEF_READ_PERIOD 30
/* [ms] */
137
141
#define LV_DPI_DEF 130
/* [px/inch] */
142
143
/*=======================
144
* FEATURE CONFIGURATION
145
*=======================*/
146
147
/*-------------
148
* Drawing
149
*-----------*/
150
156
#define LV_DRAW_COMPLEX 1
157
#if LV_DRAW_COMPLEX != 0
158
164
# define LV_SHADOW_CACHE_SIZE 0
165
#endif
/* LV_DRAW_COMPLEX */
166
177
#define LV_IMG_CACHE_DEF_SIZE 0
178
184
#define LV_GRADIENT_MAX_STOPS 2
185
192
#define LV_GRAD_CACHE_DEF_SIZE 0
193
198
#define LV_DISP_ROT_MAX_BUF (10*1024)
199
/*-------------
200
* GPU
201
*-----------*/
202
204
#define LV_USE_GPU_STM32_DMA2D 0
205
#if LV_USE_GPU_STM32_DMA2D
209
# define LV_GPU_DMA2D_CMSIS_INCLUDE
210
#endif
211
213
#define LV_USE_GPU_NXP_PXP 0
214
#if LV_USE_GPU_NXP_PXP
215
223
# define LV_USE_GPU_NXP_PXP_AUTO_INIT 0
224
#endif
225
227
#define LV_USE_GPU_NXP_VG_LITE 0
228
229
/*-------------
230
* Logging
231
*-----------*/
232
234
#define LV_USE_LOG 0
235
#if LV_USE_LOG
236
246
# define LV_LOG_LEVEL LV_LOG_LEVEL_WARN
247
253
# define LV_LOG_PRINTF 0
254
256
# define LV_LOG_TRACE_MEM 1
257
# define LV_LOG_TRACE_TIMER 1
258
# define LV_LOG_TRACE_INDEV 1
259
# define LV_LOG_TRACE_DISP_REFR 1
260
# define LV_LOG_TRACE_EVENT 1
261
# define LV_LOG_TRACE_OBJ_CREATE 1
262
# define LV_LOG_TRACE_LAYOUT 1
263
# define LV_LOG_TRACE_ANIM 1
264
265
#endif
/* LV_USE_LOG */
266
267
/*-------------
268
* Asserts
269
*-----------*/
270
276
#define LV_USE_ASSERT_NULL 0
277
279
#define LV_USE_ASSERT_MALLOC 0
280
282
#define LV_USE_ASSERT_STYLE 0
283
285
#define LV_USE_ASSERT_MEM_INTEGRITY 0
286
288
#define LV_USE_ASSERT_OBJ 0
289
291
#define LV_ASSERT_HANDLER_INCLUDE <stdint.h>
292
#define LV_ASSERT_HANDLER while (1) {};
293
294
/*-------------
295
* Others
296
*-----------*/
297
299
#define LV_USE_PERF_MONITOR 0
300
304
#define LV_USE_MEM_MONITOR 0
305
307
#define LV_USE_REFR_DEBUG 0
308
310
#define LV_SPRINTF_CUSTOM 0
311
#if LV_SPRINTF_CUSTOM
312
# define LV_SPRINTF_INCLUDE <stdio.h>
313
# define lv_snprintf snprintf
314
# define lv_vsnprintf vsnprintf
315
#else
316
# define LV_SPRINTF_USE_FLOAT 0
317
#endif
/* LV_SPRINTF_CUSTOM */
318
319
#define LV_USE_USER_DATA 1
320
325
#define LV_ENABLE_GC 0
326
#if LV_ENABLE_GC != 0
327
# define LV_GC_INCLUDE "gc.h"
/* Include Garbage Collector related things */
328
#endif
/* LV_ENABLE_GC */
329
330
/*=====================
331
* COMPILER SETTINGS
332
*====================*/
333
335
#define LV_BIG_ENDIAN_SYSTEM 0
336
338
#define LV_ATTRIBUTE_TICK_INC
339
341
#define LV_ATTRIBUTE_TIMER_HANDLER
342
344
#define LV_ATTRIBUTE_FLUSH_READY
345
347
#define LV_ATTRIBUTE_MEM_ALIGN_SIZE 1
348
350
#define LV_ATTRIBUTE_LARGE_CONST
351
353
#define LV_ATTRIBUTE_LARGE_RAM_ARRAY
354
356
#define LV_ATTRIBUTE_FAST_MEM
357
362
#define LV_ATTRIBUTE_DMA
363
370
#define LV_EXPORT_CONST_INT(int_value) struct _silence_gcc_warning
371
375
#define LV_USE_LARGE_COORD 0
376
377
/*==================
378
* FONT USAGE
379
*===================*/
380
385
#define LV_FONT_MONTSERRAT_8 0
386
#define LV_FONT_MONTSERRAT_10 0
387
#define LV_FONT_MONTSERRAT_12 1
388
#define LV_FONT_MONTSERRAT_14 0
389
#define LV_FONT_MONTSERRAT_16 0
390
#define LV_FONT_MONTSERRAT_18 0
391
#define LV_FONT_MONTSERRAT_20 0
392
#define LV_FONT_MONTSERRAT_22 0
393
#define LV_FONT_MONTSERRAT_24 0
394
#define LV_FONT_MONTSERRAT_26 0
395
#define LV_FONT_MONTSERRAT_28 0
396
#define LV_FONT_MONTSERRAT_30 0
397
#define LV_FONT_MONTSERRAT_32 0
398
#define LV_FONT_MONTSERRAT_34 0
399
#define LV_FONT_MONTSERRAT_36 0
400
#define LV_FONT_MONTSERRAT_38 0
401
#define LV_FONT_MONTSERRAT_40 0
402
#define LV_FONT_MONTSERRAT_42 0
403
#define LV_FONT_MONTSERRAT_44 0
404
#define LV_FONT_MONTSERRAT_46 0
405
#define LV_FONT_MONTSERRAT_48 0
407
409
#define LV_FONT_MONTSERRAT_12_SUBPX 0
410
#define LV_FONT_MONTSERRAT_28_COMPRESSED 0
/* bpp = 3 */
411
#define LV_FONT_DEJAVU_16_PERSIAN_HEBREW 0
/* Hebrew, Arabic, Perisan letters and all their forms */
412
#define LV_FONT_SIMSUN_16_CJK 0
/* 1000 most common CJK radicals */
413
417
#define LV_FONT_UNSCII_8 0
418
#define LV_FONT_UNSCII_16 0
420
428
#define LV_FONT_CUSTOM_DECLARE
429
431
#define LV_FONT_DEFAULT &lv_font_montserrat_12
432
438
#define LV_FONT_FMT_TXT_LARGE 0
439
441
#define LV_USE_FONT_COMPRESSED 0
442
444
#define LV_USE_FONT_SUBPX 0
445
#if LV_USE_FONT_SUBPX
452
# define LV_FONT_SUBPX_BGR 0
453
#endif
454
455
/*=================
456
* TEXT SETTINGS
457
*=================*/
458
465
#define LV_TXT_ENC LV_TXT_ENC_ASCII
466
468
#define LV_TXT_BREAK_CHARS " ,.;:-_"
469
475
#define LV_TXT_LINE_BREAK_LONG_LEN 0
476
481
#define LV_TXT_LINE_BREAK_LONG_PRE_MIN_LEN 3
482
487
#define LV_TXT_LINE_BREAK_LONG_POST_MIN_LEN 3
488
490
#define LV_TXT_COLOR_CMD "#"
491
498
#define LV_USE_BIDI 0
499
#if LV_USE_BIDI
506
# define LV_BIDI_BASE_DIR_DEF LV_BASE_DIR_AUTO
507
#endif
508
514
#define LV_USE_ARABIC_PERSIAN_CHARS 0
515
516
/*==================
517
* WIDGET USAGE
518
*================*/
519
520
/* Documentation of the widgets: https://docs.lvgl.io/latest/en/html/widgets/index.html */
521
#define LV_USE_ARC IS_USED(MODULE_LVGL_WIDGET_ARC)
522
523
#define LV_USE_ANIMIMG IS_USED(MODULE_LVGL_EXTRA_WIDGET_ANIMIMG)
524
525
#define LV_USE_BAR IS_USED(MODULE_LVGL_WIDGET_BAR)
526
527
#define LV_USE_BTN IS_USED(MODULE_LVGL_WIDGET_BTN)
528
529
#define LV_USE_BTNMATRIX IS_USED(MODULE_LVGL_WIDGET_BTNMATRIX)
530
531
#define LV_USE_CANVAS IS_USED(MODULE_LVGL_WIDGET_CANVAS)
532
533
#define LV_USE_CHECKBOX IS_USED(MODULE_LVGL_WIDGET_CHECKBOX)
534
535
#define LV_USE_DROPDOWN IS_USED(MODULE_LVGL_WIDGET_DROPDOWN)
/* Requires: lv_label */
536
537
#define LV_USE_IMG IS_USED(MODULE_LVGL_WIDGET_IMG)
/* Requires: lv_label */
538
539
#define LV_USE_LABEL IS_USED(MODULE_LVGL_WIDGET_LABEL)
540
#if LV_USE_LABEL
541
#ifndef LV_LABEL_TEXT_SELECTION
542
#define LV_LABEL_TEXT_SELECTION 1
543
#endif
544
#ifndef LV_LABEL_LONG_TXT_HINT
545
547
#define LV_LABEL_LONG_TXT_HINT 1
548
#endif
549
#endif
550
551
#define LV_USE_LINE IS_USED(MODULE_LVGL_WIDGET_LINE)
552
553
#define LV_USE_ROLLER IS_USED(MODULE_LVGL_WIDGET_ROLLER)
/* Requires: lv_label */
554
#if LV_USE_ROLLER
555
# define LV_ROLLER_INF_PAGES 7
/* Number of extra "pages" when the roller is infinite */
556
#endif
557
558
#define LV_USE_SLIDER IS_USED(MODULE_LVGL_WIDGET_SLIDER)
/* Requires: lv_bar */
559
560
#define LV_USE_SWITCH IS_USED(MODULE_LVGL_WIDGET_SWITCH)
561
562
#define LV_USE_TEXTAREA IS_USED(MODULE_LVGL_WIDGET_TEXTAREA)
/* Requires: lv_label */
563
#if LV_USE_TEXTAREA != 0
564
# define LV_TEXTAREA_DEF_PWD_SHOW_TIME 1500
/* ms */
565
#endif
566
567
#define LV_USE_TABLE IS_USED(MODULE_LVGL_WIDGET_TABLE)
568
569
/*==================
570
* EXTRA COMPONENTS
571
*==================*/
572
573
/*-----------
574
* Widgets
575
*----------*/
576
577
#define LV_USE_CALENDAR IS_USED(MODULE_LVGL_EXTRA_WIDGET_CALENDAR)
578
#if LV_USE_CALENDAR
579
# define LV_CALENDAR_WEEK_STARTS_MONDAY 0
580
# if LV_CALENDAR_WEEK_STARTS_MONDAY
581
# define LV_CALENDAR_DEFAULT_DAY_NAMES {"Mo", "Tu", "We", "Th", "Fr", "Sa", "Su"}
582
# else
583
# define LV_CALENDAR_DEFAULT_DAY_NAMES {"Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"}
584
# endif
585
586
# define LV_CALENDAR_DEFAULT_MONTH_NAMES {"January", "February", "March", "April", "May", \
587
"June", "July", "August", "September", "October", \
588
"November", "December"}
589
# define LV_USE_CALENDAR_HEADER_ARROW 1
590
# define LV_USE_CALENDAR_HEADER_DROPDOWN 1
591
#endif
/*LV_USE_CALENDAR*/
592
593
#define LV_USE_CHART IS_USED(MODULE_LVGL_EXTRA_WIDGET_CHART)
594
595
#define LV_USE_COLORWHEEL IS_USED(MODULE_LVGL_EXTRA_WIDGET_COLORWHEEL)
596
597
#define LV_USE_IMGBTN IS_USED(MODULE_LVGL_EXTRA_WIDGET_IMGBTN)
598
599
#define LV_USE_KEYBOARD IS_USED(MODULE_LVGL_EXTRA_WIDGET_KEYBOARD)
600
601
#define LV_USE_LED IS_USED(MODULE_LVGL_EXTRA_WIDGET_LED)
602
603
#define LV_USE_LIST IS_USED(MODULE_LVGL_EXTRA_WIDGET_LIST)
604
605
#define LV_USE_MENU IS_USED(MODULE_LVGL_EXTRA_WIDGET_MENU)
606
607
#define LV_USE_METER IS_USED(MODULE_LVGL_EXTRA_WIDGET_METER)
608
609
#define LV_USE_MSGBOX IS_USED(MODULE_LVGL_EXTRA_WIDGET_MSGBOX)
610
611
#define LV_USE_SPINBOX IS_USED(MODULE_LVGL_EXTRA_WIDGET_SPINBOX)
612
613
#define LV_USE_SPINNER IS_USED(MODULE_LVGL_EXTRA_WIDGET_SPINNER)
614
615
#define LV_USE_TABVIEW IS_USED(MODULE_LVGL_EXTRA_WIDGET_TABVIEW)
616
617
#define LV_USE_TILEVIEW IS_USED(MODULE_LVGL_EXTRA_WIDGET_TILEVIEW)
618
619
#define LV_USE_WIN IS_USED(MODULE_LVGL_EXTRA_WIDGET_WIN)
620
621
#define LV_USE_SPAN IS_USED(MODULE_LVGL_EXTRA_WIDGET_SPAN)
622
#if LV_USE_SPAN
623
/*A line text can contain maximum num of span descriptor */
624
# define LV_SPAN_SNIPPET_STACK_SIZE 64
625
#endif
626
627
/*-----------
628
* Themes
629
*----------*/
631
#define LV_USE_THEME_DEFAULT IS_USED(MODULE_LVGL_EXTRA_THEME_DEFAULT)
632
637
#define LV_THEME_DEFAULT_DARK IS_USED(MODULE_LVGL_EXTRA_THEME_DEFAULT_DARK)
638
643
#define LV_THEME_DEFAULT_GROW IS_USED(MODULE_LVGL_EXTRA_THEME_DEFAULT_GROW)
644
646
# define LV_THEME_DEFAULT_TRANSITON_TIME 80
647
649
#define LV_USE_THEME_BASIC IS_USED(MODULE_LVGL_EXTRA_THEME_BASIC)
650
652
#define LV_USE_THEME_MONO IS_USED(MODULE_LVGL_EXTRA_THEME_MONO)
653
654
/*-----------
655
* Layouts
656
*----------*/
657
659
#define LV_USE_FLEX IS_USED(MODULE_LVGL_EXTRA_LAYOUT_FLEX)
660
662
#define LV_USE_GRID IS_USED(MODULE_LVGL_EXTRA_LAYOUT_GRID)
663
664
#ifdef __cplusplus
665
}
666
#endif
667
kernel_defines.h
Common macros and compiler attributes/pragmas configuration.
lvgl_riot_conf.h
Definitions specific to RIOT for the LVGL engine.
Generated on Thu Sep 24 2026 04:06:03 by
1.13.2