1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
|
# Kconfig file for LVGL v9.1.0
menu "LVGL configuration"
# Define CONFIG_LV_CONF_SKIP so we can use LVGL
# without lv_conf.h file, the lv_conf_internal.h and
# lv_conf_kconfig.h files are used instead.
config LV_CONF_SKIP
bool "Check this to not use custom lv_conf.h"
default y
config LV_CONF_MINIMAL
bool "LVGL minimal configuration"
menu "Color Settings"
choice LV_COLOR_DEPTH
prompt "Color depth"
default LV_COLOR_DEPTH_16
help
Color depth to be used.
config LV_COLOR_DEPTH_32
bool "32: XRGB8888"
config LV_COLOR_DEPTH_24
bool "24: RGB888"
config LV_COLOR_DEPTH_16
bool "16: RGB565"
config LV_COLOR_DEPTH_8
bool "8: RGB232"
config LV_COLOR_DEPTH_1
bool "1: 1 byte per pixel"
endchoice
config LV_COLOR_DEPTH
int
default 1 if LV_COLOR_DEPTH_1
default 8 if LV_COLOR_DEPTH_8
default 16 if LV_COLOR_DEPTH_16
default 24 if LV_COLOR_DEPTH_24
default 32 if LV_COLOR_DEPTH_32
endmenu
menu "Memory Settings"
choice
prompt "Malloc functions source"
default LV_USE_BUILTIN_MALLOC
config LV_USE_BUILTIN_MALLOC
bool "LVGL's built in implementation"
config LV_USE_CLIB_MALLOC
bool "Standard C functions malloc/realloc/free"
config LV_USE_MICROPYTHON_MALLOC
bool "MicroPython functions malloc/realloc/free"
config LV_USE_RTTHREAD_MALLOC
bool "RTThread functions malloc/realloc/free"
config LV_USE_CUSTOM_MALLOC
bool "Implement the functions externally"
endchoice # "Malloc functions"
choice
prompt "String functions source"
default LV_USE_BUILTIN_STRING
config LV_USE_BUILTIN_STRING
bool "LVGL's built in implementation"
config LV_USE_CLIB_STRING
bool "Standard C functions memcpy/memset/strlen/strcpy"
config LV_USE_CUSTOM_STRING
bool "Implement the functions externally"
endchoice # "String functions"
choice
prompt "Sprintf functions source"
default LV_USE_BUILTIN_SPRINTF
config LV_USE_BUILTIN_SPRINTF
bool "LVGL's built in implementation"
config LV_USE_CLIB_SPRINTF
bool "Standard C functions vsnprintf"
config LV_USE_CUSTOM_SPRINTF
bool "Implement the functions externally"
endchoice # "Sprintf functions"
config LV_MEM_SIZE_KILOBYTES
int "Size of the memory used by `lv_malloc()` in kilobytes (>= 2kB)"
default 64
depends on LV_USE_BUILTIN_MALLOC
config LV_MEM_POOL_EXPAND_SIZE_KILOBYTES
int "Size of the memory expand for `lv_malloc()` in kilobytes"
default 0
depends on LV_USE_BUILTIN_MALLOC
config LV_MEM_ADR
hex "Address for the memory pool instead of allocating it as a normal array"
default 0x0
depends on LV_USE_BUILTIN_MALLOC
endmenu
menu "HAL Settings"
config LV_DEF_REFR_PERIOD
int "Default refresh period (ms)"
default 33
help
Default display refresh, input device read and animation step period.
config LV_DPI_DEF
int "Default Dots Per Inch (in px/inch)"
default 130
help
Used to initialize default sizes such as widgets sized, style paddings.
(Not so important, you can adjust it to modify default sizes and spaces)
endmenu
menu "Operating System (OS)"
choice LV_USE_OS
prompt "Default operating system to use"
default LV_OS_NONE
config LV_OS_NONE
bool "0: NONE"
config LV_OS_PTHREAD
bool "1: PTHREAD"
config LV_OS_FREERTOS
bool "2: FREERTOS"
config LV_OS_CMSIS_RTOS2
bool "3: CMSIS_RTOS2"
config LV_OS_RTTHREAD
bool "4: RTTHREAD"
config LV_OS_WINDOWS
bool "5: WINDOWS"
config LV_OS_MQX
bool "6: MQX"
config LV_OS_CUSTOM
bool "255: CUSTOM"
endchoice
config LV_USE_OS
int
default 0 if LV_OS_NONE
default 1 if LV_OS_PTHREAD
default 2 if LV_OS_FREERTOS
default 3 if LV_OS_CMSIS_RTOS2
default 4 if LV_OS_RTTHREAD
default 5 if LV_OS_WINDOWS
default 6 if LV_OS_MQX
default 255 if LV_OS_CUSTOM
config LV_OS_CUSTOM_INCLUDE
string "Custom OS include header"
default "stdint.h"
depends on LV_OS_CUSTOM
endmenu
menu "Rendering Configuration"
config LV_DRAW_BUF_STRIDE_ALIGN
int "Buffer stride alignment"
default 1
help
Align the stride of all layers and images to this bytes.
config LV_DRAW_BUF_ALIGN
int "Buffer address alignment"
default 4
help
Align the start address of draw_buf addresses to this bytes.
config LV_DRAW_TRANSFORM_USE_MATRIX
bool "Using matrix for transformations"
default n
depends on LV_USE_MATRIX
help
Requirements: The rendering engine needs to support 3x3 matrix transformations.
config LV_DRAW_LAYER_SIMPLE_BUF_SIZE
int "Optimal size to buffer the widget with opacity"
default 24576
depends on LV_USE_DRAW_SW
help
If a widget has `style_opa < 255` (not `bg_opa`, `text_opa` etc) or not NORMAL blend mode
it is buffered into a "simple" layer before rendering. The widget can be buffered in smaller chunks.
"Transformed layers" (if `transform_angle/zoom` are set) use larger buffers and can't be drawn in chunks.
config LV_DRAW_THREAD_STACK_SIZE
int "Stack size of draw thread in bytes"
default 8192
depends on LV_USE_OS > 0
help
If FreeType or ThorVG is enabled, it is recommended to set it to 32KB or more.
config LV_USE_DRAW_SW
bool "Enable software rendering"
default y
help
Required to draw anything on the screen.
config LV_DRAW_SW_SUPPORT_RGB565
bool "Enable support for RGB565 color format"
default y
depends on LV_USE_DRAW_SW
config LV_DRAW_SW_SUPPORT_RGB565A8
bool "Enable support for RGB565A8 color format"
default y
depends on LV_USE_DRAW_SW
config LV_DRAW_SW_SUPPORT_RGB888
bool "Enable support for RGB888 color format"
default y
depends on LV_USE_DRAW_SW
config LV_DRAW_SW_SUPPORT_XRGB8888
bool "Enable support for XRGB8888 color format"
default y
depends on LV_USE_DRAW_SW
config LV_DRAW_SW_SUPPORT_ARGB8888
bool "Enable support for ARGB8888 color format"
default y
depends on LV_USE_DRAW_SW
config LV_DRAW_SW_SUPPORT_L8
bool "Enable support for L8 color format"
default y
depends on LV_USE_DRAW_SW
config LV_DRAW_SW_SUPPORT_AL88
bool "Enable support for AL88 color format"
default y
depends on LV_USE_DRAW_SW
config LV_DRAW_SW_SUPPORT_A8
bool "Enable support for A8 color format"
default y
depends on LV_USE_DRAW_SW
config LV_DRAW_SW_SUPPORT_I1
bool "Enable support for I1 color format"
default y
depends on LV_USE_DRAW_SW
config LV_DRAW_SW_DRAW_UNIT_CNT
int "Number of draw units"
default 1
depends on LV_USE_DRAW_SW
help
> 1 requires an operating system enabled in `LV_USE_OS`
> 1 means multiply threads will render the screen in parallel
config LV_USE_DRAW_ARM2D_SYNC
bool "Enable Arm's 2D image processing library (Arm-2D) for all Cortex-M processors"
default n
depends on LV_USE_DRAW_SW
help
Must deploy arm-2d library to your project and add include PATH for "arm_2d.h".
config LV_USE_NATIVE_HELIUM_ASM
bool "Enable native helium assembly"
default n
depends on LV_USE_DRAW_SW
help
Disabling this allows arm2d to work on its own (for testing only)
config LV_DRAW_SW_COMPLEX
bool "Enable complex draw engine"
default y
depends on LV_USE_DRAW_SW
help
0: use a simple renderer capable of drawing only simple rectangles with gradient, images, texts, and straight lines only,
1: use a complex renderer capable of drawing rounded corners, shadow, skew lines, and arcs too.
config LV_USE_DRAW_SW_COMPLEX_GRADIENTS
bool "Enable drawing complex gradients in software"
default n
depends on LV_USE_DRAW_SW
help
0: do not enable complex gradients
1: enable complex gradients (linear at an angle, radial or conical)
config LV_DRAW_SW_SHADOW_CACHE_SIZE
int "Allow buffering some shadow calculation"
depends on LV_DRAW_SW_COMPLEX
default 0
help
LV_DRAW_SW_SHADOW_CACHE_SIZE is the max shadow size to buffer, where
shadow size is `shadow_width + radius`.
Caching has LV_DRAW_SW_SHADOW_CACHE_SIZE^2 RAM cost.
config LV_DRAW_SW_CIRCLE_CACHE_SIZE
int "Set number of maximally cached circle data"
depends on LV_DRAW_SW_COMPLEX
default 4
help
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).
Set to 0 to disable caching.
choice LV_USE_DRAW_SW_ASM
prompt "Asm mode in sw draw"
default LV_DRAW_SW_ASM_NONE
depends on LV_USE_DRAW_SW
help
ASM mode to be used
config LV_DRAW_SW_ASM_NONE
bool "0: NONE"
config LV_DRAW_SW_ASM_NEON
bool "1: NEON"
config LV_DRAW_SW_ASM_HELIUM
bool "2: HELIUM"
config LV_DRAW_SW_ASM_CUSTOM
bool "255: CUSTOM"
endchoice
config LV_USE_DRAW_SW_ASM
int
default 0 if LV_DRAW_SW_ASM_NONE
default 1 if LV_DRAW_SW_ASM_NEON
default 2 if LV_DRAW_SW_ASM_HELIUM
default 255 if LV_DRAW_SW_ASM_CUSTOM
config LV_DRAW_SW_ASM_CUSTOM_INCLUDE
string "Set the custom asm include file"
default ""
depends on LV_DRAW_SW_ASM_CUSTOM
config LV_USE_DRAW_VGLITE
bool "Use NXP's VG-Lite GPU on iMX RTxxx platforms"
default n
config LV_USE_VGLITE_BLIT_SPLIT
bool "Enable blit quality degradation workaround recommended for screen's dimension > 352 pixels"
depends on LV_USE_DRAW_VGLITE
default n
config LV_USE_VGLITE_DRAW_ASYNC
bool "Enable VGLite draw async"
depends on LV_USE_DRAW_VGLITE && LV_USE_OS > 0
default y
help
Queue multiple tasks and flash them once to the GPU.
config LV_USE_VGLITE_ASSERT
bool "Enable VGLite asserts"
default n
depends on LV_USE_DRAW_VGLITE
config LV_USE_DRAW_PXP
bool "Use NXP's PXP on iMX RTxxx platforms"
default n
config LV_USE_PXP_ASSERT
bool "Enable PXP asserts"
default n
depends on LV_USE_DRAW_PXP
config LV_USE_DRAW_DAVE2D
bool "Use Renesas Dave2D on RA platforms"
default n
config LV_USE_DRAW_SDL
bool "Draw using cached SDL textures"
default n
help
Uses SDL renderer API
config LV_USE_DRAW_VG_LITE
bool "Use VG-Lite GPU"
default n
select LV_USE_MATRIX
config LV_VG_LITE_USE_GPU_INIT
bool "Enable VG-Lite custom external 'gpu_init()' function"
default n
depends on LV_USE_DRAW_VG_LITE
config LV_VG_LITE_USE_ASSERT
bool "Enable VG-Lite assert"
default n
depends on LV_USE_DRAW_VG_LITE
config LV_VG_LITE_FLUSH_MAX_COUNT
int "VG-Lite flush commit trigger threshold"
default 8
depends on LV_USE_DRAW_VG_LITE
help
GPU will try to batch these many draw tasks
config LV_VG_LITE_USE_BOX_SHADOW
bool "Enable border to simulate shadow"
default n
depends on LV_USE_DRAW_VG_LITE
help
which usually improves performance,
but does not guarantee the same rendering quality as the software.
config LV_VG_LITE_GRAD_CACHE_CNT
int "VG-Lite gradient maximum cache number."
default 32
depends on LV_USE_DRAW_VG_LITE
help
The memory usage of a single gradient:
linear: 4K bytes.
radial: radius * 4K bytes.
config LV_VG_LITE_STROKE_CACHE_CNT
int "VG-Lite stroke maximum cache number."
default 32
depends on LV_USE_DRAW_VG_LITE
config LV_USE_VECTOR_GRAPHIC
bool "Use Vector Graphic APIs"
default n
select LV_USE_MATRIX
help
Enable drawing support vector graphic APIs.
endmenu
menu "Feature Configuration"
menu "Logging"
config LV_USE_LOG
bool "Enable the log module"
choice
bool "Default log verbosity" if LV_USE_LOG
default LV_LOG_LEVEL_WARN
help
Specify how important log should be added.
config LV_LOG_LEVEL_TRACE
bool "A lot of logs to give detailed information"
config LV_LOG_LEVEL_INFO
bool "Log important events"
config LV_LOG_LEVEL_WARN
bool "Log if something unwanted happened but didn't cause a problem"
config LV_LOG_LEVEL_ERROR
bool "Only critical issues, when the system may fail"
config LV_LOG_LEVEL_USER
bool "Only logs added by the user"
config LV_LOG_LEVEL_NONE
bool "Do not log anything"
endchoice
config LV_LOG_LEVEL
int
default 0 if LV_LOG_LEVEL_TRACE
default 1 if LV_LOG_LEVEL_INFO
default 2 if LV_LOG_LEVEL_WARN
default 3 if LV_LOG_LEVEL_ERROR
default 4 if LV_LOG_LEVEL_USER
default 5 if LV_LOG_LEVEL_NONE
config LV_LOG_PRINTF
bool "Print the log with 'printf'" if LV_USE_LOG
help
Use printf for log output.
If not set the user needs to register a callback with `lv_log_register_print_cb`.
config LV_LOG_USE_TIMESTAMP
bool "Enable print timestamp"
default y
depends on LV_USE_LOG
config LV_LOG_USE_FILE_LINE
bool "Enable print file and line number"
default y
depends on LV_USE_LOG
config LV_LOG_TRACE_MEM
bool "Enable/Disable LV_LOG_TRACE in mem module"
default y
depends on LV_USE_LOG
config LV_LOG_TRACE_TIMER
bool "Enable/Disable LV_LOG_TRACE in timer module"
default y
depends on LV_USE_LOG
config LV_LOG_TRACE_INDEV
bool "Enable/Disable LV_LOG_TRACE in indev module"
default y
depends on LV_USE_LOG
config LV_LOG_TRACE_DISP_REFR
bool "Enable/Disable LV_LOG_TRACE in disp refr module"
default y
depends on LV_USE_LOG
config LV_LOG_TRACE_EVENT
bool "Enable/Disable LV_LOG_TRACE in event module"
default y
depends on LV_USE_LOG
config LV_LOG_TRACE_OBJ_CREATE
bool "Enable/Disable LV_LOG_TRACE in obj create module"
default y
depends on LV_USE_LOG
config LV_LOG_TRACE_LAYOUT
bool "Enable/Disable LV_LOG_TRACE in layout module"
default y
depends on LV_USE_LOG
config LV_LOG_TRACE_ANIM
bool "Enable/Disable LV_LOG_TRACE in anim module"
default y
depends on LV_USE_LOG
config LV_LOG_TRACE_CACHE
bool "Enable/Disable LV_LOG_TRACE in cache module"
default y
depends on LV_USE_LOG
endmenu
menu "Asserts"
config LV_USE_ASSERT_NULL
bool "Check if the parameter is NULL. (Very fast, recommended)"
default y if !LV_CONF_MINIMAL
config LV_USE_ASSERT_MALLOC
bool "Checks if the memory is successfully allocated or no. (Very fast, recommended)"
default y if !LV_CONF_MINIMAL
config LV_USE_ASSERT_STYLE
bool "Check if the styles are properly initialized. (Very fast, recommended)"
config LV_USE_ASSERT_MEM_INTEGRITY
bool "Check the integrity of `lv_mem` after critical operations. (Slow)"
config LV_USE_ASSERT_OBJ
bool "Check NULL, the object's type and existence (e.g. not deleted). (Slow)"
config LV_ASSERT_HANDLER_INCLUDE
string "Header to include for the custom assert function"
default "assert.h"
help
Add a custom handler when assert happens e.g. to restart the MCU
endmenu
menu "Debug"
config LV_USE_REFR_DEBUG
bool "Draw random colored rectangles over the redrawn areas"
config LV_USE_LAYER_DEBUG
bool "Draw a red overlay for ARGB layers and a green overlay for RGB layers"
config LV_USE_PARALLEL_DRAW_DEBUG
bool "Draw overlays with different colors for each draw_unit's tasks"
help
Also add the index number of the draw unit on white background.
For layers add the index number of the draw unit on black background.
endmenu
menu "Others"
config LV_ENABLE_GLOBAL_CUSTOM
bool "Enable 'lv_global' customization"
config LV_GLOBAL_CUSTOM_INCLUDE
string "Header to include for the custom 'lv_global' function"
depends on LV_ENABLE_GLOBAL_CUSTOM
default "lv_global.h"
config LV_CACHE_DEF_SIZE
int "Default image cache size. 0 to disable caching"
default 0
depends on LV_USE_DRAW_SW
help
If only the built-in image formats are used there is no real advantage of caching.
(I.e. no new image decoder is added).
With complex image decoders (e.g. PNG or JPG) caching can
save the continuous open/decode of images.
However the opened images might consume additional RAM.
config LV_IMAGE_HEADER_CACHE_DEF_CNT
int "Default image header cache count. 0 to disable caching"
default 0
depends on LV_USE_DRAW_SW
help
If only the built-in image formats are used there is no real advantage of caching.
(I.e. no new image decoder is added).
With complex image decoders (e.g. PNG or JPG) caching can
save the continuous getting header information of images.
However the records of opened images headers might consume additional RAM.
config LV_GRADIENT_MAX_STOPS
int "Number of stops allowed per gradient"
default 2
depends on LV_USE_DRAW_SW
help
Increase this to allow more stops.
This adds (sizeof(lv_color_t) + 1) bytes per additional stop
config LV_COLOR_MIX_ROUND_OFS
int "Adjust color mix functions rounding"
default 128 if !LV_COLOR_DEPTH_32
default 0 if LV_COLOR_DEPTH_32
range 0 254
help
0: no adjustment, get the integer part of the result (round down)
64: round up from x.75
128: round up from half
192: round up from x.25
254: round up
config LV_OBJ_STYLE_CACHE
bool "Use cache to speed up getting object style properties"
default n
help
Add 2 x 32 bit variables to each lv_obj_t to speed up getting style properties
config LV_USE_OBJ_ID
bool "Add id field to obj"
default n
config LV_OBJ_ID_AUTO_ASSIGN
bool "Automatically assign an ID when obj is created"
default y
depends on LV_USE_OBJ_ID
config LV_USE_OBJ_ID_BUILTIN
bool "Use builtin method to deal with obj ID"
default n
depends on LV_USE_OBJ_ID
config LV_USE_OBJ_PROPERTY
bool "Use obj property set/get API"
default n
config LV_USE_OBJ_PROPERTY_NAME
bool "Use name to access property"
default n
depends on LV_USE_OBJ_PROPERTY
help
Add a name table to every widget class, so the property can be accessed by name.
Note, the const table will increase flash usage.
config LV_USE_VG_LITE_THORVG
bool "VG-Lite Simulator"
default n
depends on LV_USE_THORVG
help
Use thorvg to simulate VG-Lite hardware behavior, it's useful
for debugging and testing on PC simulator. Enable LV_USE_THORVG,
Either internal ThorVG or external ThorVG library is required.
config LV_VG_LITE_THORVG_LVGL_BLEND_SUPPORT
bool "Enable LVGL blend mode support"
default n
depends on LV_USE_VG_LITE_THORVG
config LV_VG_LITE_THORVG_YUV_SUPPORT
bool "Enable YUV color format support"
default n
depends on LV_USE_VG_LITE_THORVG
config LV_VG_LITE_THORVG_LINEAR_GRADIENT_EXT_SUPPORT
bool "Enable linear gradient extension support"
default n
depends on LV_USE_VG_LITE_THORVG
config LV_VG_LITE_THORVG_16PIXELS_ALIGN
bool "Enable 16 pixels alignment"
default y
depends on LV_USE_VG_LITE_THORVG
config LV_VG_LITE_THORVG_BUF_ADDR_ALIGN
int "Buffer address alignment"
default 64
depends on LV_USE_VG_LITE_THORVG
config LV_VG_LITE_THORVG_THREAD_RENDER
bool "Enable multi-thread render"
default n
depends on LV_USE_VG_LITE_THORVG
endmenu
endmenu
menu "Compiler Settings"
config LV_BIG_ENDIAN_SYSTEM
bool "For big endian systems set to 1"
config LV_ATTRIBUTE_MEM_ALIGN_SIZE
int "Required alignment size for buffers"
default 1
config LV_ATTRIBUTE_FAST_MEM_USE_IRAM
bool "Set IRAM as LV_ATTRIBUTE_FAST_MEM"
help
Set this option to configure IRAM as LV_ATTRIBUTE_FAST_MEM
config LV_USE_FLOAT
bool "Use float as lv_value_precise_t"
default n
config LV_USE_MATRIX
bool "Enable matrix support"
default n
select LV_USE_FLOAT
endmenu
menu "Font Usage"
menu "Enable built-in fonts"
config LV_FONT_MONTSERRAT_8
bool "Enable Montserrat 8"
config LV_FONT_MONTSERRAT_10
bool "Enable Montserrat 10"
config LV_FONT_MONTSERRAT_12
bool "Enable Montserrat 12"
config LV_FONT_MONTSERRAT_14
bool "Enable Montserrat 14"
default y if !LV_CONF_MINIMAL
config LV_FONT_MONTSERRAT_16
bool "Enable Montserrat 16"
config LV_FONT_MONTSERRAT_18
bool "Enable Montserrat 18"
config LV_FONT_MONTSERRAT_20
bool "Enable Montserrat 20"
config LV_FONT_MONTSERRAT_22
bool "Enable Montserrat 22"
config LV_FONT_MONTSERRAT_24
bool "Enable Montserrat 24"
config LV_FONT_MONTSERRAT_26
bool "Enable Montserrat 26"
config LV_FONT_MONTSERRAT_28
bool "Enable Montserrat 28"
config LV_FONT_MONTSERRAT_30
bool "Enable Montserrat 30"
config LV_FONT_MONTSERRAT_32
bool "Enable Montserrat 32"
config LV_FONT_MONTSERRAT_34
bool "Enable Montserrat 34"
config LV_FONT_MONTSERRAT_36
bool "Enable Montserrat 36"
config LV_FONT_MONTSERRAT_38
bool "Enable Montserrat 38"
config LV_FONT_MONTSERRAT_40
bool "Enable Montserrat 40"
config LV_FONT_MONTSERRAT_42
bool "Enable Montserrat 42"
config LV_FONT_MONTSERRAT_44
bool "Enable Montserrat 44"
config LV_FONT_MONTSERRAT_46
bool "Enable Montserrat 46"
config LV_FONT_MONTSERRAT_48
bool "Enable Montserrat 48"
config LV_FONT_MONTSERRAT_28_COMPRESSED
bool "Enable Montserrat 28 compressed"
config LV_FONT_DEJAVU_16_PERSIAN_HEBREW
bool "Enable Dejavu 16 Persian, Hebrew, Arabic letters"
config LV_FONT_SIMSUN_14_CJK
bool "Enable Simsun 14 CJK"
config LV_FONT_SIMSUN_16_CJK
bool "Enable Simsun 16 CJK"
config LV_FONT_UNSCII_8
bool "Enable UNSCII 8 (Perfect monospace font)"
default y if LV_CONF_MINIMAL
config LV_FONT_UNSCII_16
bool "Enable UNSCII 16 (Perfect monospace font)"
endmenu
choice LV_FONT_DEFAULT
prompt "Select theme default title font"
default LV_FONT_DEFAULT_MONTSERRAT_14 if !LV_CONF_MINIMAL
default LV_FONT_DEFAULT_UNSCII_8 if LV_CONF_MINIMAL
help
Select theme default title font
config LV_FONT_DEFAULT_MONTSERRAT_8
bool "Montserrat 8"
select LV_FONT_MONTSERRAT_8
config LV_FONT_DEFAULT_MONTSERRAT_10
bool "Montserrat 10"
select LV_FONT_MONTSERRAT_10
config LV_FONT_DEFAULT_MONTSERRAT_12
bool "Montserrat 12"
select LV_FONT_MONTSERRAT_12
config LV_FONT_DEFAULT_MONTSERRAT_14
bool "Montserrat 14"
select LV_FONT_MONTSERRAT_14
config LV_FONT_DEFAULT_MONTSERRAT_16
bool "Montserrat 16"
select LV_FONT_MONTSERRAT_16
config LV_FONT_DEFAULT_MONTSERRAT_18
bool "Montserrat 18"
select LV_FONT_MONTSERRAT_18
config LV_FONT_DEFAULT_MONTSERRAT_20
bool "Montserrat 20"
select LV_FONT_MONTSERRAT_20
config LV_FONT_DEFAULT_MONTSERRAT_22
bool "Montserrat 22"
select LV_FONT_MONTSERRAT_22
config LV_FONT_DEFAULT_MONTSERRAT_24
bool "Montserrat 24"
select LV_FONT_MONTSERRAT_24
config LV_FONT_DEFAULT_MONTSERRAT_26
bool "Montserrat 26"
select LV_FONT_MONTSERRAT_26
config LV_FONT_DEFAULT_MONTSERRAT_28
bool "Montserrat 28"
select LV_FONT_MONTSERRAT_28
config LV_FONT_DEFAULT_MONTSERRAT_30
bool "Montserrat 30"
select LV_FONT_MONTSERRAT_30
config LV_FONT_DEFAULT_MONTSERRAT_32
bool "Montserrat 32"
select LV_FONT_MONTSERRAT_32
config LV_FONT_DEFAULT_MONTSERRAT_34
bool "Montserrat 34"
select LV_FONT_MONTSERRAT_34
config LV_FONT_DEFAULT_MONTSERRAT_36
bool "Montserrat 36"
select LV_FONT_MONTSERRAT_36
config LV_FONT_DEFAULT_MONTSERRAT_38
bool "Montserrat 38"
select LV_FONT_MONTSERRAT_38
config LV_FONT_DEFAULT_MONTSERRAT_40
bool "Montserrat 40"
select LV_FONT_MONTSERRAT_40
config LV_FONT_DEFAULT_MONTSERRAT_42
bool "Montserrat 42"
select LV_FONT_MONTSERRAT_42
config LV_FONT_DEFAULT_MONTSERRAT_44
bool "Montserrat 44"
select LV_FONT_MONTSERRAT_44
config LV_FONT_DEFAULT_MONTSERRAT_46
bool "Montserrat 46"
select LV_FONT_MONTSERRAT_46
config LV_FONT_DEFAULT_MONTSERRAT_48
bool "Montserrat 48"
select LV_FONT_MONTSERRAT_48
config LV_FONT_DEFAULT_MONTSERRAT_28_COMPRESSED
bool "Montserrat 28 compressed"
select LV_FONT_MONTSERRAT_28_COMPRESSED
config LV_FONT_DEFAULT_DEJAVU_16_PERSIAN_HEBREW
bool "Dejavu 16 Persian, Hebrew, Arabic letters"
select LV_FONT_DEJAVU_16_PERSIAN_HEBREW
config LV_FONT_DEFAULT_SIMSUN_14_CJK
bool "Simsun 14 CJK"
select LV_FONT_SIMSUN_14_CJK
config LV_FONT_DEFAULT_SIMSUN_16_CJK
bool "Simsun 16 CJK"
select LV_FONT_SIMSUN_16_CJK
config LV_FONT_DEFAULT_UNSCII_8
bool "UNSCII 8 (Perfect monospace font)"
select LV_FONT_UNSCII_8
config LV_FONT_DEFAULT_UNSCII_16
bool "UNSCII 16 (Perfect monospace font)"
select LV_FONT_UNSCII_16
endchoice
config LV_FONT_FMT_TXT_LARGE
bool "Enable it if you have fonts with a lot of characters"
help
The limit depends on the font size, font face and format
but with > 10,000 characters if you see issues probably you
need to enable it.
config LV_USE_FONT_COMPRESSED
bool "Sets support for compressed fonts"
config LV_USE_FONT_PLACEHOLDER
bool "Enable drawing placeholders when glyph dsc is not found"
default y
endmenu
menu "Text Settings"
choice LV_TXT_ENC
prompt "Select a character encoding for strings"
help
Select a character encoding for strings. Your IDE or editor should have the same character encoding.
default LV_TXT_ENC_UTF8 if !LV_CONF_MINIMAL
default LV_TXT_ENC_ASCII if LV_CONF_MINIMAL
config LV_TXT_ENC_UTF8
bool "UTF8"
config LV_TXT_ENC_ASCII
bool "ASCII"
endchoice
config LV_TXT_BREAK_CHARS
string "Can break (wrap) texts on these chars"
default " ,.;:-_)}"
config LV_TXT_LINE_BREAK_LONG_LEN
int "Line break long length"
default 0
help
If a word is at least this long, will break wherever 'prettiest'.
To disable, set to a value <= 0.
config LV_TXT_LINE_BREAK_LONG_PRE_MIN_LEN
int "Min num chars before break"
default 3
depends on LV_TXT_LINE_BREAK_LONG_LEN > 0
help
Minimum number of characters in a long word to put on a line before a break.
config LV_TXT_LINE_BREAK_LONG_POST_MIN_LEN
int "Min num chars after break"
default 3
depends on LV_TXT_LINE_BREAK_LONG_LEN > 0
help
Minimum number of characters in a long word to put on a line after a break
config LV_USE_BIDI
bool "Support bidirectional texts"
help
Allows mixing Left-to-Right and Right-to-Left texts.
The direction will be processed according to the Unicode Bidirectional Algorithm:
https://www.w3.org/International/articles/inline-bidi-markup/uba-basics
choice
prompt "Set the default BIDI direction"
default LV_BIDI_DIR_AUTO
depends on LV_USE_BIDI
config LV_BIDI_DIR_LTR
bool "Left-to-Right"
config LV_BIDI_DIR_RTL
bool "Right-to-Left"
config LV_BIDI_DIR_AUTO
bool "Detect texts base direction"
endchoice
config LV_USE_ARABIC_PERSIAN_CHARS
bool "Enable Arabic/Persian processing"
help
In these languages characters should be replaced with
another form based on their position in the text.
endmenu
menu "Widget Usage"
config LV_WIDGETS_HAS_DEFAULT_VALUE
bool "Widgets has default value"
default y if !LV_CONF_MINIMAL
config LV_USE_ANIMIMG
bool "Anim image"
default y if !LV_CONF_MINIMAL
config LV_USE_ARC
bool "Arc"
default y if !LV_CONF_MINIMAL
config LV_USE_BAR
bool "Bar"
default y if !LV_CONF_MINIMAL
config LV_USE_BUTTON
bool "Button"
default y if !LV_CONF_MINIMAL
config LV_USE_BUTTONMATRIX
bool "Button matrix"
default y if !LV_CONF_MINIMAL
config LV_USE_CALENDAR
bool "Calendar"
default y if !LV_CONF_MINIMAL
config LV_CALENDAR_WEEK_STARTS_MONDAY
bool "Calendar week starts monday"
depends on LV_USE_CALENDAR
config LV_USE_CALENDAR_HEADER_ARROW
bool "Use calendar header arrow"
depends on LV_USE_CALENDAR
default y
config LV_USE_CALENDAR_HEADER_DROPDOWN
bool "Use calendar header dropdown"
depends on LV_USE_CALENDAR
default y
config LV_USE_CALENDAR_CHINESE
bool "Use chinese calendar"
depends on LV_USE_CALENDAR
config LV_USE_CANVAS
bool "Canvas. Requires: lv_image"
imply LV_USE_IMAGE
default y if !LV_CONF_MINIMAL
config LV_USE_CHART
bool "Chart"
default y if !LV_CONF_MINIMAL
config LV_USE_CHECKBOX
bool "Check Box"
default y if !LV_CONF_MINIMAL
config LV_USE_DROPDOWN
bool "Drop down list. Requires: lv_label"
imply LV_USE_LABEL
default y if !LV_CONF_MINIMAL
config LV_USE_IMAGE
bool "Image. Requires: lv_label"
imply LV_USE_LABEL
default y if !LV_CONF_MINIMAL
config LV_USE_IMAGEBUTTON
bool "ImageButton"
default y if !LV_CONF_MINIMAL
config LV_USE_KEYBOARD
bool "Keyboard"
default y if !LV_CONF_MINIMAL
config LV_USE_LABEL
bool "Label"
default y if !LV_CONF_MINIMAL
config LV_LABEL_TEXT_SELECTION
bool "Enable selecting text of the label"
depends on LV_USE_LABEL
default y
config LV_LABEL_LONG_TXT_HINT
bool "Store extra some info in labels (12 bytes) to speed up drawing of very long texts"
depends on LV_USE_LABEL
default y
config LV_LABEL_WAIT_CHAR_COUNT
int "The count of wait chart"
depends on LV_USE_LABEL
default 3
config LV_USE_LED
bool "LED"
default y if !LV_CONF_MINIMAL
config LV_USE_LINE
bool "Line"
default y if !LV_CONF_MINIMAL
config LV_USE_LIST
bool "List"
default y if !LV_CONF_MINIMAL
config LV_USE_LOTTIE
bool "Lottie"
default n
depends on LV_USE_VECTOR_GRAPHIC && (LV_USE_THORVG_INTERNAL || LV_USE_THORVG_EXTERNAL)
help
Enable Lottie animations. Requires LV_USE_VECTOR_GRAPHIC and LV_USE_THORVG_INTERNAL or LV_USE_THORVG_EXTERNAL.
config LV_USE_MENU
bool "Menu"
default y if !LV_CONF_MINIMAL
config LV_USE_MSGBOX
bool "Msgbox"
default y if !LV_CONF_MINIMAL
config LV_USE_ROLLER
bool "Roller. Requires: lv_label"
imply LV_USE_LABEL
default y if !LV_CONF_MINIMAL
config LV_USE_SCALE
bool "Scale"
default y if !LV_CONF_MINIMAL
config LV_USE_SLIDER
bool "Slider. Requires: lv_bar"
imply LV_USE_BAR
default y if !LV_CONF_MINIMAL
config LV_USE_SPAN
bool "Span"
default y if !LV_CONF_MINIMAL
config LV_SPAN_SNIPPET_STACK_SIZE
int "Maximum number of span descriptor"
default 64
depends on LV_USE_SPAN
config LV_USE_SPINBOX
bool "Spinbox"
default y if !LV_CONF_MINIMAL
config LV_USE_SPINNER
bool "Spinner"
default y if !LV_CONF_MINIMAL
config LV_USE_SWITCH
bool "Switch"
default y if !LV_CONF_MINIMAL
config LV_USE_TEXTAREA
bool "Text area. Requires: lv_label"
select LV_USE_LABEL
default y if !LV_CONF_MINIMAL
config LV_TEXTAREA_DEF_PWD_SHOW_TIME
int "Text area def. pwd show time [ms]"
default 1500
depends on LV_USE_TEXTAREA
config LV_USE_TABLE
bool "Table"
default y if !LV_CONF_MINIMAL
config LV_USE_TABVIEW
bool "Tabview"
default y if !LV_CONF_MINIMAL
config LV_USE_TILEVIEW
bool "Tileview"
default y if !LV_CONF_MINIMAL
config LV_USE_WIN
bool "Win"
default y if !LV_CONF_MINIMAL
endmenu
menu "Themes"
config LV_USE_THEME_DEFAULT
bool "A simple, impressive and very complete theme"
default y if !LV_COLOR_DEPTH_1 && !LV_CONF_MINIMAL
config LV_THEME_DEFAULT_DARK
bool "Yes to set dark mode, No to set light mode"
depends on LV_USE_THEME_DEFAULT
config LV_THEME_DEFAULT_GROW
bool "Enable grow on press"
default y
depends on LV_USE_THEME_DEFAULT
config LV_THEME_DEFAULT_TRANSITION_TIME
int "Default transition time in [ms]"
default 80
depends on LV_USE_THEME_DEFAULT
config LV_USE_THEME_SIMPLE
bool "A very simple theme that is a good starting point for a custom theme"
default y if !LV_COLOR_DEPTH_1 && !LV_CONF_MINIMAL
config LV_USE_THEME_MONO
bool "Monochrome theme, suitable for some E-paper & dot matrix displays"
default y if LV_COLOR_DEPTH_1 && !LV_CONF_MINIMAL
endmenu
menu "Layouts"
config LV_USE_FLEX
bool "A layout similar to Flexbox in CSS"
default y if !LV_CONF_MINIMAL
config LV_USE_GRID
bool "A layout similar to Grid in CSS"
default y if !LV_CONF_MINIMAL
endmenu
menu "3rd Party Libraries"
config LV_USE_FS_STDIO
bool "File system on top of stdio API"
config LV_FS_STDIO_LETTER
int "Set an upper cased letter on which the drive will accessible (e.g. 'A' i.e. 65 )"
default 0
depends on LV_USE_FS_STDIO
config LV_FS_STDIO_PATH
string "Set the working directory"
depends on LV_USE_FS_STDIO
config LV_FS_STDIO_CACHE_SIZE
int ">0 to cache this number of bytes in lv_fs_read()"
default 0
depends on LV_USE_FS_STDIO
config LV_USE_FS_POSIX
bool "File system on top of posix API"
config LV_FS_POSIX_LETTER
int "Set an upper cased letter on which the drive will accessible (e.g. 'A' i.e. 65)"
default 0
depends on LV_USE_FS_POSIX
config LV_FS_POSIX_PATH
string "Set the working directory"
depends on LV_USE_FS_POSIX
config LV_FS_POSIX_CACHE_SIZE
int ">0 to cache this number of bytes in lv_fs_read()"
default 0
depends on LV_USE_FS_POSIX
config LV_USE_FS_WIN32
bool "File system on top of Win32 API"
config LV_FS_WIN32_LETTER
int "Set an upper cased letter on which the drive will accessible (e.g. 'A' i.e. 65)"
default 0
depends on LV_USE_FS_WIN32
config LV_FS_WIN32_PATH
string "Set the working directory"
depends on LV_USE_FS_WIN32
config LV_FS_WIN32_CACHE_SIZE
int ">0 to cache this number of bytes in lv_fs_read()"
default 0
depends on LV_USE_FS_WIN32
config LV_USE_FS_FATFS
bool "File system on top of FatFS"
config LV_FS_FATFS_LETTER
int "Set an upper cased letter on which the drive will accessible (e.g. 'A' i.e. 65)"
default 0
depends on LV_USE_FS_FATFS
config LV_FS_FATFS_CACHE_SIZE
int ">0 to cache this number of bytes in lv_fs_read()"
default 0
depends on LV_USE_FS_FATFS
config LV_USE_FS_MEMFS
bool "File system on top of memory-mapped API"
config LV_FS_MEMFS_LETTER
int "Set an upper cased letter on which the drive will accessible (e.g. 'A' i.e. 65)"
default 0
depends on LV_USE_FS_MEMFS
config LV_USE_FS_LITTLEFS
bool "File system on top of littlefs API"
config LV_FS_LITTLEFS_LETTER
int "Set an upper cased letter on which the drive will accessible (e.g. 'A' i.e. 65)"
default 0
depends on LV_USE_FS_LITTLEFS
config LV_USE_FS_ARDUINO_ESP_LITTLEFS
bool "File system on top of Arduino ESP littlefs API"
config LV_FS_ARDUINO_ESP_LITTLEFS_LETTER
int "Set an upper cased letter on which the drive will accessible (e.g. 'A' i.e. 65)"
default 0
depends on LV_USE_FS_ARDUINO_ESP_LITTLEFS
config LV_USE_FS_ARDUINO_SD
bool "File system on top of Arduino SD API"
config LV_FS_ARDUINO_SD_LETTER
int "Set an upper cased letter on which the drive will accessible (e.g. 'A' i.e. 65)"
default 0
depends on LV_USE_FS_ARDUINO_SD
config LV_FS_ARDUINO_SD_CS_PIN
int "Set the pin connected to the chip select line of the SD card"
default 0
depends on LV_USE_FS_ARDUINO_SD
config LV_FS_ARDUINO_SD_FREQUENCY
int "Set the frequency used by the chip of the SD CARD"
default 40000000
depends on LV_USE_FS_ARDUINO_SD
config LV_USE_LODEPNG
bool "PNG decoder library"
config LV_USE_LIBPNG
bool "PNG decoder(libpng) library"
config LV_USE_BMP
bool "BMP decoder library"
config LV_USE_TJPGD
bool "TJPGD decoder library"
config LV_USE_LIBJPEG_TURBO
bool "libjpeg-turbo decoder library"
config LV_USE_GIF
bool "GIF decoder library"
config LV_GIF_CACHE_DECODE_DATA
bool "Use extra 16KB RAM to cache decoded data to accelerate"
depends on LV_USE_GIF
config LV_BIN_DECODER_RAM_LOAD
bool "Decode whole image to RAM for bin decoder"
default n
config LV_USE_RLE
bool "LVGL's version of RLE compression method"
config LV_USE_QRCODE
bool "QR code library"
config LV_USE_BARCODE
bool "Barcode library"
config LV_USE_FREETYPE
bool "FreeType library"
config LV_FREETYPE_USE_LVGL_PORT
bool "Let FreeType to use LVGL memory and file porting"
default n
depends on LV_USE_FREETYPE
config LV_FREETYPE_CACHE_FT_GLYPH_CNT
int "The maximum number of Glyph in count"
default 256
depends on LV_USE_FREETYPE
config LV_USE_TINY_TTF
bool "Enable Tiny TTF decoder"
default n
config LV_TINY_TTF_FILE_SUPPORT
bool "Enable loading Tiny TTF data from files"
default n
depends on LV_USE_TINY_TTF
config LV_TINY_TTF_CACHE_GLYPH_CNT
bool "Tiny ttf cache entries count"
default 256
depends on LV_USE_TINY_TTF
config LV_USE_RLOTTIE
bool "Lottie library"
config LV_USE_THORVG
bool "ThorVG library"
choice
prompt "Use ThorVG config"
depends on LV_USE_THORVG
default LV_USE_THORVG_INTERNAL
config LV_USE_THORVG_INTERNAL
bool "Use ThorVG internal"
config LV_USE_THORVG_EXTERNAL
bool "Use ThorVG external"
endchoice
config LV_USE_LZ4
bool "Enable LZ4 compress/decompress lib"
choice
prompt "Choose lvgl built-in LZ4 lib or external lib"
depends on LV_USE_LZ4
default LV_USE_LZ4_INTERNAL
config LV_USE_LZ4_INTERNAL
bool "Use lvgl built-in LZ4 lib"
config LV_USE_LZ4_EXTERNAL
bool "Use external LZ4 library"
endchoice
config LV_USE_FFMPEG
bool "FFmpeg library"
config LV_FFMPEG_DUMP_FORMAT
bool "Dump format"
depends on LV_USE_FFMPEG
default n
endmenu
menu "Others"
config LV_USE_SNAPSHOT
bool "Enable API to take snapshot"
default n if !LV_CONF_MINIMAL
config LV_USE_SYSMON
bool "Enable system monitor component"
default n
config LV_USE_PERF_MONITOR
bool "Show CPU usage and FPS count"
depends on LV_USE_SYSMON
choice
prompt "Performance monitor position"
depends on LV_USE_PERF_MONITOR
default LV_PERF_MONITOR_ALIGN_BOTTOM_RIGHT
config LV_PERF_MONITOR_ALIGN_TOP_LEFT
bool "Top left"
config LV_PERF_MONITOR_ALIGN_TOP_MID
bool "Top middle"
config LV_PERF_MONITOR_ALIGN_TOP_RIGHT
bool "Top right"
config LV_PERF_MONITOR_ALIGN_BOTTOM_LEFT
bool "Bottom left"
config LV_PERF_MONITOR_ALIGN_BOTTOM_MID
bool "Bottom middle"
config LV_PERF_MONITOR_ALIGN_BOTTOM_RIGHT
bool "Bottom right"
config LV_PERF_MONITOR_ALIGN_LEFT_MID
bool "Left middle"
config LV_PERF_MONITOR_ALIGN_RIGHT_MID
bool "Right middle"
config LV_PERF_MONITOR_ALIGN_CENTER
bool "Center"
endchoice
config LV_USE_PERF_MONITOR_LOG_MODE
bool "Prints performance data using log"
depends on LV_USE_PERF_MONITOR
default n
config LV_USE_MEM_MONITOR
bool "Show the used memory and the memory fragmentation"
default n
depends on LV_STDLIB_BUILTIN && LV_USE_SYSMON
choice
prompt "Memory monitor position"
depends on LV_USE_MEM_MONITOR
default LV_MEM_MONITOR_ALIGN_BOTTOM_LEFT
config LV_MEM_MONITOR_ALIGN_TOP_LEFT
bool "Top left"
config LV_MEM_MONITOR_ALIGN_TOP_MID
bool "Top middle"
config LV_MEM_MONITOR_ALIGN_TOP_RIGHT
bool "Top right"
config LV_MEM_MONITOR_ALIGN_BOTTOM_LEFT
bool "Bottom left"
config LV_MEM_MONITOR_ALIGN_BOTTOM_MID
bool "Bottom middle"
config LV_MEM_MONITOR_ALIGN_BOTTOM_RIGHT
bool "Bottom right"
config LV_MEM_MONITOR_ALIGN_LEFT_MID
bool "Left middle"
config LV_MEM_MONITOR_ALIGN_RIGHT_MID
bool "Right middle"
config LV_MEM_MONITOR_ALIGN_CENTER
bool "Center"
endchoice
config LV_USE_PROFILER
bool "Runtime performance profiler"
config LV_USE_PROFILER_BUILTIN
bool "Enable the built-in profiler"
depends on LV_USE_PROFILER
default y
config LV_PROFILER_BUILTIN_BUF_SIZE
int "Default profiler trace buffer size in bytes"
depends on LV_USE_PROFILER_BUILTIN
default 16384
config LV_PROFILER_INCLUDE
string "Header to include for the profiler"
depends on LV_USE_PROFILER
default "lvgl/src/misc/lv_profiler_builtin.h"
config LV_USE_MONKEY
bool "Enable Monkey test"
default n
config LV_USE_GRIDNAV
bool "Enable grid navigation"
default n
config LV_USE_FRAGMENT
bool "Enable lv_obj fragment"
default n
config LV_USE_IMGFONT
bool "Support using images as font in label or span widgets"
default n
config LV_USE_OBSERVER
bool "Observer"
default y
config LV_USE_IME_PINYIN
bool "Enable Pinyin input method"
default n
config LV_IME_PINYIN_USE_K9_MODE
bool "Enable Pinyin input method 9 key input mode"
depends on LV_USE_IME_PINYIN
default n
config LV_IME_PINYIN_K9_CAND_TEXT_NUM
int "Maximum number of candidate panels for 9-key input mode"
depends on LV_IME_PINYIN_USE_K9_MODE
default 3
config LV_IME_PINYIN_USE_DEFAULT_DICT
bool "Use built-in Thesaurus"
depends on LV_USE_IME_PINYIN
default y
help
If you do not use the default thesaurus, be sure to use lv_ime_pinyin after setting the thesaurus
config LV_IME_PINYIN_CAND_TEXT_NUM
int "Maximum number of candidate panels"
depends on LV_USE_IME_PINYIN
default 6
help
Set the maximum number of candidate panels that can be displayed.
This needs to be adjusted according to the size of the screen.
config LV_USE_FILE_EXPLORER
bool "Enable file explorer"
default n
config LV_FILE_EXPLORER_PATH_MAX_LEN
int "Maximum length of path"
depends on LV_USE_FILE_EXPLORER
default 128
config LV_FILE_EXPLORER_QUICK_ACCESS
bool "Enable quick access bar"
depends on LV_USE_FILE_EXPLORER
default y
help
This can save some memory, but not much. After the quick access bar is created, it can be hidden by clicking the button at the top left corner of the browsing area, which is very useful for small screen devices.
endmenu
menu "Devices"
config LV_USE_SDL
bool "Use SDL to open window on PC and handle mouse and keyboard"
default n
config LV_SDL_INCLUDE_PATH
string "SDL include path"
depends on LV_USE_SDL
default "SDL2/SDL.h"
choice
prompt "SDL rendering mode"
depends on LV_USE_SDL
default LV_SDL_RENDER_MODE_DIRECT
help
LV_DISPLAY_RENDER_MODE_DIRECT is recommended for best performance
config LV_SDL_RENDER_MODE_PARTIAL
bool "Use the buffer(s) to render the screen is smaller parts"
config LV_SDL_RENDER_MODE_DIRECT
bool "Only the changed areas will be updated with 2 screen sized buffers"
config LV_SDL_RENDER_MODE_FULL
bool "Always redraw the whole screen even if only one pixel has been changed with 2 screen sized buffers"
endchoice
choice
prompt "SDL buffer size"
depends on LV_USE_SDL
default LV_SDL_SINGLE_BUFFER
config LV_SDL_SINGLE_BUFFER
bool "One screen-sized buffer"
config LV_SDL_DOUBLE_BUFFER
bool "Two screen-sized buffer"
depends on !LV_SDL_RENDER_MODE_PARTIAL
config LV_SDL_CUSTOM_BUFFER
bool "Custom-sized buffer"
depends on LV_SDL_RENDER_MODE_PARTIAL
endchoice
config LV_SDL_BUFFER_COUNT
int
depends on LV_USE_SDL
default 0 if LV_SDL_CUSTOM_BUFFER
default 1 if LV_SDL_SINGLE_BUFFER
default 2 if LV_SDL_DOUBLE_BUFFER
config LV_SDL_FULLSCREEN
bool "SDL fullscreen"
depends on LV_USE_SDL
default n
config LV_SDL_DIRECT_EXIT
bool "Exit the application when all SDL windows are closed"
depends on LV_USE_SDL
default y
choice
prompt "SDL mousewheel mode"
depends on LV_USE_SDL
default LV_SDL_MOUSEWHEEL_MODE_ENCODER
config LV_SDL_MOUSEWHEEL_MODE_ENCODER
bool "The mousewheel emulates an encoder input device"
config LV_SDL_MOUSEWHEEL_MODE_CROWN
bool "The mousewheel emulates a smart watch crown"
endchoice
config LV_SDL_MOUSEWHEEL_MODE
int
depends on LV_USE_SDL
default 0 if LV_SDL_MOUSEWHEEL_MODE_ENCODER
default 1 if LV_SDL_MOUSEWHEEL_MODE_CROWN
config LV_USE_X11
bool "Use X11 window manager to open window on Linux PC and handle mouse and keyboard"
default n
config LV_X11_DOUBLE_BUFFER
bool "Use double buffers for lvgl rendering"
depends on LV_USE_X11
default y
config LV_X11_DIRECT_EXIT
bool "Exit the application when all X11 windows have been closed"
depends on LV_USE_X11
default y
choice
prompt "X11 device render mode"
depends on LV_USE_X11
default LV_X11_RENDER_MODE_PARTIAL
config LV_X11_RENDER_MODE_PARTIAL
bool "Partial render mode (preferred)"
help
Use the buffer(s) to render the screen is smaller parts. This way the buffers can be smaller then the display to save RAM.
Appr. 1/10 screen size buffer(s) are used.
config LV_X11_RENDER_MODE_DIRECT
bool "Direct render mode"
help
The buffer(s) has to be screen sized and LVGL will render into the correct location of the buffer. This way the buffer always contain the whole image. Only the changed ares will be updated.
With 2 buffers the buffers' content are kept in sync automatically and in flush_cb only address change is required.
config LV_X11_RENDER_MODE_FULL
bool "Full render mode"
help
Always redraw the whole screen even if only one pixel has been changed.
With 2 buffers in flush_cb only and address change is required.
endchoice
config LV_USE_LINUX_FBDEV
bool "Use Linux framebuffer device"
default n
config LV_LINUX_FBDEV_BSD
bool "Use BSD flavored framebuffer device"
depends on LV_USE_LINUX_FBDEV
default n
choice
prompt "Framebuffer device render mode"
depends on LV_USE_LINUX_FBDEV
default LV_LINUX_FBDEV_RENDER_MODE_PARTIAL
config LV_LINUX_FBDEV_RENDER_MODE_PARTIAL
bool "Partial mode"
help
Use the buffer(s) to render the screen is smaller parts. This way the buffers can be smaller then the display to save RAM. At least 1/10 screen size buffer(s) are recommended.
config LV_LINUX_FBDEV_RENDER_MODE_DIRECT
bool "Direct mode"
help
The buffer(s) has to be screen sized and LVGL will render into the correct location of the buffer. This way the buffer always contain the whole image. Only the changed ares will be updated. With 2 buffers the buffers' content are kept in sync automatically and in flush_cb only address change is required.
config LV_LINUX_FBDEV_RENDER_MODE_FULL
bool "Full mode"
help
Always redraw the whole screen even if only one pixel has been changed. With 2 buffers in flush_cb only and address change is required.
endchoice
choice
prompt "Framebuffer size"
depends on LV_USE_LINUX_FBDEV
default LV_LINUX_FBDEV_SINGLE_BUFFER
config LV_LINUX_FBDEV_SINGLE_BUFFER
bool "One screen-sized buffer"
config LV_LINUX_FBDEV_DOUBLE_BUFFER
bool "Two screen-sized buffer"
depends on !LV_LINUX_FBDEV_RENDER_MODE_PARTIAL
config LV_LINUX_FBDEV_CUSTOM_BUFFER
bool "Custom-sized buffer"
depends on LV_LINUX_FBDEV_RENDER_MODE_PARTIAL
endchoice
config LV_LINUX_FBDEV_BUFFER_COUNT
int
depends on LV_USE_LINUX_FBDEV
default 0 if LV_LINUX_FBDEV_CUSTOM_BUFFER
default 1 if LV_LINUX_FBDEV_SINGLE_BUFFER
default 2 if LV_LINUX_FBDEV_DOUBLE_BUFFER
config LV_LINUX_FBDEV_BUFFER_SIZE
int "Custom partial buffer size (in number of rows)"
depends on LV_USE_LINUX_FBDEV && LV_LINUX_FBDEV_CUSTOM_BUFFER
default 60
config LV_USE_NUTTX
bool "Use Nuttx to open window and handle touchscreen"
default n
config LV_USE_NUTTX_LIBUV
bool "Use uv loop to replace default timer loop and other fb/indev timers"
depends on LV_USE_NUTTX
default n
config LV_USE_NUTTX_CUSTOM_INIT
bool "Use Custom Nuttx init API to open window and handle touchscreen"
depends on LV_USE_NUTTX
default n
config LV_USE_NUTTX_LCD
bool "Use NuttX LCD device"
depends on LV_USE_NUTTX
default n
choice
prompt "NuttX LCD buffer size"
depends on LV_USE_NUTTX_LCD
default LV_NUTTX_LCD_SINGLE_BUFFER
config LV_NUTTX_LCD_SINGLE_BUFFER
bool "One screen-sized buffer"
config LV_NUTTX_LCD_DOUBLE_BUFFER
bool "Two screen-sized buffer"
config LV_NUTTX_LCD_CUSTOM_BUFFER
bool "Custom-sized buffer"
endchoice
config LV_NUTTX_LCD_BUFFER_COUNT
int
depends on LV_USE_NUTTX_LCD
default 0 if LV_NUTTX_LCD_CUSTOM_BUFFER
default 1 if LV_NUTTX_LCD_SINGLE_BUFFER
default 2 if LV_NUTTX_LCD_DOUBLE_BUFFER
config LV_NUTTX_LCD_BUFFER_SIZE
int "Custom partial buffer size (in number of rows)"
depends on LV_USE_NUTTX_LCD && LV_NUTTX_LCD_CUSTOM_BUFFER
default 60
config LV_USE_NUTTX_TOUCHSCREEN
bool "Use NuttX touchscreen driver"
depends on LV_USE_NUTTX
default n
config LV_USE_LINUX_DRM
bool "Use Linux DRM device"
default n
config LV_USE_TFT_ESPI
bool "Use TFT_eSPI driver"
default n
config LV_USE_EVDEV
bool "Use evdev input driver"
default n
config LV_USE_LIBINPUT
bool "Use libinput input driver"
default n
config LV_LIBINPUT_BSD
bool "Use the BSD variant of the libinput input driver"
depends on LV_USE_LIBINPUT
default n
config LV_LIBINPUT_XKB
bool "Enable full keyboard support via XKB"
depends on LV_USE_LIBINPUT
default n
config LV_USE_ST7735
bool "Use ST7735 LCD driver"
default n
config LV_USE_ST7789
bool "Use ST7789 LCD driver"
default n
config LV_USE_ST7796
bool "Use ST7796 LCD driver"
default n
config LV_USE_ILI9341
bool "Use ILI9341 LCD driver"
default n
config LV_USE_GENERIC_MIPI
bool "Generic MIPI driver"
default y if LV_USE_ST7735 || LV_USE_ST7789 || LV_USE_ST7796 || LV_USE_ILI9341
config LV_USE_RENESAS_GLCDC
bool "Use Renesas GLCDC driver"
default n
config LV_USE_WINDOWS
bool "Use LVGL Windows backend"
depends on LV_OS_WINDOWS
default n
config LV_USE_OPENGLES
bool "Use GLFW and OpenGL to open window on PC and handle mouse and keyboard"
default n
config LV_USE_OPENGLES_DEBUG
bool "Enable debug mode for OpenGL"
depends on LV_USE_OPENGLES
default n
config LV_USE_QNX
bool "Use a QNX Screen window as a display"
default n
config LV_QNX_BUF_COUNT
int
depends on LV_USE_QNX
default 1
endmenu
menu "Examples"
config LV_BUILD_EXAMPLES
bool "Enable the examples to be built"
default y if !LV_CONF_MINIMAL
endmenu
menu "Demos"
config LV_USE_DEMO_WIDGETS
bool "Show some widget"
default n
config LV_USE_DEMO_KEYPAD_AND_ENCODER
bool "Demonstrate the usage of encoder and keyboard"
default n
config LV_USE_DEMO_BENCHMARK
bool "Benchmark your system"
default n
depends on LV_FONT_MONTSERRAT_14 && LV_FONT_MONTSERRAT_24 && LV_USE_DEMO_WIDGETS
config LV_USE_DEMO_RENDER
bool "Render test for each primitives. Requires at least 480x272 display"
default n
config LV_USE_DEMO_SCROLL
bool "Scroll settings test for LVGL"
default n
config LV_USE_DEMO_STRESS
bool "Stress test for LVGL"
default n
config LV_USE_DEMO_TRANSFORM
bool "Transform test for LVGL"
default n
depends on LV_FONT_MONTSERRAT_18
config LV_USE_DEMO_MUSIC
bool "Music player demo"
default n
config LV_DEMO_MUSIC_SQUARE
bool "Enable Square"
depends on LV_USE_DEMO_MUSIC
default n
config LV_DEMO_MUSIC_LANDSCAPE
bool "Enable Landscape"
depends on LV_USE_DEMO_MUSIC
default n
config LV_DEMO_MUSIC_ROUND
bool "Enable Round"
depends on LV_USE_DEMO_MUSIC
default n
config LV_DEMO_MUSIC_LARGE
bool "Enable Large"
depends on LV_USE_DEMO_MUSIC
default n
config LV_DEMO_MUSIC_AUTO_PLAY
bool "Enable Auto play"
depends on LV_USE_DEMO_MUSIC
default n
config LV_USE_DEMO_FLEX_LAYOUT
bool "Flex layout previewer"
default n
config LV_USE_DEMO_MULTILANG
bool "multi-language demo"
default n
config LV_USE_DEMO_VECTOR_GRAPHIC
bool "vector graphic demo"
default n
depends on LV_USE_VECTOR_GRAPHIC
endmenu
endmenu
|