Kconfig 43 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140
  1. # Kconfig file for LVGL v8.0
  2. menu "LVGL configuration"
  3. # Define CONFIG_LV_CONF_SKIP so we can use LVGL
  4. # without lv_conf.h file, the lv_conf_internal.h and
  5. # lv_conf_kconfig.h files are used instead.
  6. config LV_CONF_SKIP
  7. bool "Uncheck this to use custom lv_conf.h"
  8. default y
  9. config LV_CONF_MINIMAL
  10. bool "LVGL minimal configuration."
  11. menu "Color settings"
  12. choice LV_COLOR_DEPTH
  13. prompt "Color depth."
  14. default LV_COLOR_DEPTH_16
  15. help
  16. Color depth to be used.
  17. config LV_COLOR_DEPTH_32
  18. bool "32: ARGB8888"
  19. config LV_COLOR_DEPTH_16
  20. bool "16: RGB565"
  21. config LV_COLOR_DEPTH_8
  22. bool "8: RGB232"
  23. config LV_COLOR_DEPTH_1
  24. bool "1: 1 byte per pixel"
  25. endchoice
  26. config LV_COLOR_DEPTH
  27. int
  28. default 1 if LV_COLOR_DEPTH_1
  29. default 8 if LV_COLOR_DEPTH_8
  30. default 16 if LV_COLOR_DEPTH_16
  31. default 32 if LV_COLOR_DEPTH_32
  32. config LV_COLOR_16_SWAP
  33. bool "Swap the 2 bytes of RGB565 color. Useful if the display has an 8-bit interface (e.g. SPI)."
  34. depends on LV_COLOR_DEPTH_16
  35. config LV_COLOR_SCREEN_TRANSP
  36. bool "Enable more complex drawing routines to manage screens transparency."
  37. help
  38. Can be used if the UI is above another layer, e.g. an OSD menu or video player.
  39. The screen's `bg_opa` should be set to non LV_OPA_COVER value
  40. config LV_COLOR_MIX_ROUND_OFS
  41. int "Adjust color mix functions rounding"
  42. default 128 if !LV_COLOR_DEPTH_32
  43. default 0 if LV_COLOR_DEPTH_32
  44. range 0 254
  45. help
  46. 0: no adjustment, get the integer part of the result (round down)
  47. 64: round up from x.75
  48. 128: round up from half
  49. 192: round up from x.25
  50. 254: round up
  51. config LV_COLOR_CHROMA_KEY_HEX
  52. hex "Images pixels with this color will not be drawn (if they are chroma keyed)."
  53. range 0x000000 0xFFFFFF
  54. default 0x00FF00
  55. help
  56. See misc/lv_color.h for some color values examples.
  57. endmenu
  58. menu "Memory settings"
  59. config LV_MEM_CUSTOM
  60. bool "If true use custom malloc/free, otherwise use the built-in `lv_mem_alloc()` and `lv_mem_free()`"
  61. config LV_MEM_SIZE_KILOBYTES
  62. int "Size of the memory used by `lv_mem_alloc` in kilobytes (>= 2kB)"
  63. range 2 128
  64. default 32
  65. depends on !LV_MEM_CUSTOM
  66. config LV_MEM_ADDR
  67. hex "Address for the memory pool instead of allocating it as a normal array"
  68. default 0x0
  69. depends on !LV_MEM_CUSTOM
  70. config LV_MEM_CUSTOM_INCLUDE
  71. string "Header to include for the custom memory function"
  72. default "stdlib.h"
  73. depends on LV_MEM_CUSTOM
  74. config LV_MEM_BUF_MAX_NUM
  75. int "Number of the memory buffer"
  76. default 16
  77. help
  78. Number of the intermediate memory buffer used during rendering and other
  79. internal processing mechanisms. You will see an error log message if
  80. there wasn't enough buffers.
  81. config LV_MEMCPY_MEMSET_STD
  82. bool "Use the standard memcpy and memset instead of LVGL's own functions"
  83. endmenu
  84. menu "HAL Settings"
  85. config LV_DISP_DEF_REFR_PERIOD
  86. int "Default display refresh period (ms)."
  87. default 30
  88. help
  89. Can be changed in the display driver (`lv_disp_drv_t`).
  90. config LV_INDEV_DEF_READ_PERIOD
  91. int "Input device read period [ms]."
  92. default 30
  93. config LV_TICK_CUSTOM
  94. bool "Use a custom tick source"
  95. config LV_TICK_CUSTOM_INCLUDE
  96. string "Header for the system time function"
  97. default "Arduino.h"
  98. depends on LV_TICK_CUSTOM
  99. config LV_DPI_DEF
  100. int "Default Dots Per Inch (in px)."
  101. default 130
  102. help
  103. Used to initialize default sizes such as widgets sized, style paddings.
  104. (Not so important, you can adjust it to modify default sizes and spaces)
  105. endmenu
  106. menu "Feature configuration"
  107. menu "Drawing"
  108. config LV_DRAW_COMPLEX
  109. bool "Enable complex draw engine"
  110. default y
  111. help
  112. Required to draw shadow, gradient, rounded corners, circles, arc, skew lines,
  113. image transformations or any masks.
  114. config LV_SHADOW_CACHE_SIZE
  115. int "Allow buffering some shadow calculation"
  116. depends on LV_DRAW_COMPLEX
  117. default 0
  118. help
  119. LV_SHADOW_CACHE_SIZE is the max shadow size to buffer, where
  120. shadow size is `shadow_width + radius`.
  121. Caching has LV_SHADOW_CACHE_SIZE^2 RAM cost.
  122. config LV_CIRCLE_CACHE_SIZE
  123. int "Set number of maximally cached circle data"
  124. depends on LV_DRAW_COMPLEX
  125. default 4
  126. help
  127. The circumference of 1/4 circle are saved for anti-aliasing
  128. radius * 4 bytes are used per circle (the most often used
  129. radiuses are saved).
  130. Set to 0 to disable caching.
  131. config LV_LAYER_SIMPLE_BUF_SIZE
  132. int "Optimal size to buffer the widget with opacity"
  133. default 24576
  134. help
  135. "Simple layers" are used when a widget has `style_opa < 255`
  136. to buffer the widget into a layer and blend it as an image
  137. with the given opacity. Note that `bg_opa`, `text_opa` etc
  138. don't require buffering into layer.
  139. config LV_IMG_CACHE_DEF_SIZE
  140. int "Default image cache size. 0 to disable caching."
  141. default 0
  142. help
  143. If only the built-in image formats are used there is no real advantage of caching.
  144. (I.e. no new image decoder is added).
  145. With complex image decoders (e.g. PNG or JPG) caching can
  146. save the continuous open/decode of images.
  147. However the opened images might consume additional RAM.
  148. config LV_GRADIENT_MAX_STOPS
  149. int "Number of stops allowed per gradient."
  150. default 2
  151. help
  152. Increase this to allow more stops.
  153. This adds (sizeof(lv_color_t) + 1) bytes per additional stop
  154. config LV_GRAD_CACHE_DEF_SIZE
  155. int "Default gradient buffer size."
  156. default 0
  157. help
  158. When LVGL calculates the gradient "maps" it can save them into a cache to avoid calculating them again.
  159. LV_GRAD_CACHE_DEF_SIZE sets the size of this cache in bytes.
  160. If the cache is too small the map will be allocated only while it's required for the drawing.
  161. 0 mean no caching.
  162. config LV_DITHER_GRADIENT
  163. bool "Allow dithering the gradients"
  164. help
  165. Allow dithering the gradients (to achieve visual smooth color gradients on limited color depth display)
  166. LV_DITHER_GRADIENT implies allocating one or two more lines of the object's rendering surface
  167. The increase in memory consumption is (32 bits * object width) plus 24 bits * object width if using error diffusion
  168. config LV_DITHER_ERROR_DIFFUSION
  169. bool "Add support for error diffusion dithering"
  170. depends on LV_DITHER_GRADIENT
  171. help
  172. Error diffusion dithering gets a much better visual result, but implies more CPU consumption and memory when drawing.
  173. The increase in memory consumption is (24 bits * object's width)
  174. config LV_DISP_ROT_MAX_BUF
  175. int "Maximum buffer size to allocate for rotation"
  176. default 10240
  177. help
  178. Only used if software rotation is enabled in the display driver.
  179. endmenu
  180. menu "GPU"
  181. config LV_USE_GPU_ARM2D
  182. bool "Enable Arm's 2D image processing library (Arm-2D) for all Cortex-M processors."
  183. default n
  184. help
  185. Must deploy arm-2d library to your project and add include PATH for "arm_2d.h".
  186. config LV_USE_GPU_STM32_DMA2D
  187. bool "Enable STM32 DMA2D (aka Chrom Art) GPU."
  188. config LV_GPU_DMA2D_CMSIS_INCLUDE
  189. string "include path of CMSIS header of target processor"
  190. depends on LV_USE_GPU_STM32_DMA2D
  191. default ""
  192. help
  193. Must be defined to include path of CMSIS header of target processor
  194. e.g. "stm32f769xx.h" or "stm32f429xx.h"
  195. config LV_USE_GPU_RA6M3_G2D
  196. bool "Enable RA6M3 G2D GPU."
  197. config LV_GPU_RA6M3_G2D_INCLUDE
  198. string "include path of target processor"
  199. depends on LV_USE_GPU_RA6M3_G2D
  200. default "hal_data.h"
  201. help
  202. Must be defined to include path of target processor
  203. e.g. "hal_data.h"
  204. config LV_USE_GPU_SWM341_DMA2D
  205. bool "Enable SWM341 DMA2D GPU."
  206. config LV_GPU_SWM341_DMA2D_INCLUDE
  207. string "include path of CMSIS header of target processor"
  208. depends on LV_USE_GPU_SWM341_DMA2D
  209. default "SWM341.h"
  210. help
  211. Must be defined to include path of CMSIS header of target processor
  212. e.g. "SWM341.h"
  213. config LV_USE_GPU_NXP_PXP
  214. bool "Use NXP's PXP GPU iMX RTxxx platforms."
  215. config LV_USE_GPU_NXP_PXP_AUTO_INIT
  216. bool "Call lv_gpu_nxp_pxp_init() automatically or manually."
  217. depends on LV_USE_GPU_NXP_PXP
  218. help
  219. 1: Add default bare metal and FreeRTOS interrupt handling
  220. routines for PXP (lv_gpu_nxp_pxp_osa.c) and call
  221. lv_gpu_nxp_pxp_init() automatically during lv_init().
  222. Note that symbol SDK_OS_FREE_RTOS has to be defined in order
  223. to use FreeRTOS OSA, otherwise bare-metal implementation is
  224. selected.
  225. 0: lv_gpu_nxp_pxp_init() has to be called manually before
  226. lv_init().
  227. config LV_USE_GPU_NXP_VG_LITE
  228. bool "Use NXP's VG-Lite GPU iMX RTxxx platforms."
  229. config LV_USE_GPU_SDL
  230. bool "Use SDL renderer API"
  231. default n
  232. config LV_GPU_SDL_INCLUDE_PATH
  233. string "include path of SDL header"
  234. depends on LV_USE_GPU_SDL
  235. default "SDL2/SDL.h"
  236. config LV_GPU_SDL_LRU_SIZE
  237. int "Maximum buffer size to allocate for rotation"
  238. depends on LV_USE_GPU_SDL
  239. default 8388608
  240. help
  241. Texture cache size, 8MB by default.
  242. endmenu
  243. menu "Logging"
  244. config LV_USE_LOG
  245. bool "Enable the log module"
  246. choice
  247. bool "Default log verbosity" if LV_USE_LOG
  248. default LV_LOG_LEVEL_WARN
  249. help
  250. Specify how important log should be added.
  251. config LV_LOG_LEVEL_TRACE
  252. bool "A lot of logs to give detailed information"
  253. config LV_LOG_LEVEL_INFO
  254. bool "Log important events"
  255. config LV_LOG_LEVEL_WARN
  256. bool "Log if something unwanted happened but didn't cause a problem"
  257. config LV_LOG_LEVEL_ERROR
  258. bool "Only critical issues, when the system may fail"
  259. config LV_LOG_LEVEL_USER
  260. bool "Only logs added by the user"
  261. config LV_LOG_LEVEL_NONE
  262. bool "Do not log anything"
  263. endchoice
  264. config LV_LOG_LEVEL
  265. int
  266. default 0 if LV_LOG_LEVEL_TRACE
  267. default 1 if LV_LOG_LEVEL_INFO
  268. default 2 if LV_LOG_LEVEL_WARN
  269. default 3 if LV_LOG_LEVEL_ERROR
  270. default 4 if LV_LOG_LEVEL_USER
  271. default 5 if LV_LOG_LEVEL_NONE
  272. config LV_LOG_PRINTF
  273. bool "Print the log with 'printf'" if LV_USE_LOG
  274. help
  275. Use printf for log output.
  276. If not set the user needs to register a callback with `lv_log_register_print_cb`.
  277. config LV_LOG_TRACE_MEM
  278. bool "Enable/Disable LV_LOG_TRACE in mem module"
  279. default y
  280. depends on LV_USE_LOG
  281. config LV_LOG_TRACE_TIMER
  282. bool "Enable/Disable LV_LOG_TRACE in timer module"
  283. default y
  284. depends on LV_USE_LOG
  285. config LV_LOG_TRACE_INDEV
  286. bool "Enable/Disable LV_LOG_TRACE in indev module"
  287. default y
  288. depends on LV_USE_LOG
  289. config LV_LOG_TRACE_DISP_REFR
  290. bool "Enable/Disable LV_LOG_TRACE in disp refr module"
  291. default y
  292. depends on LV_USE_LOG
  293. config LV_LOG_TRACE_EVENT
  294. bool "Enable/Disable LV_LOG_TRACE in event module"
  295. default y
  296. depends on LV_USE_LOG
  297. config LV_LOG_TRACE_OBJ_CREATE
  298. bool "Enable/Disable LV_LOG_TRACE in obj create module"
  299. default y
  300. depends on LV_USE_LOG
  301. config LV_LOG_TRACE_LAYOUT
  302. bool "Enable/Disable LV_LOG_TRACE in layout module"
  303. default y
  304. depends on LV_USE_LOG
  305. config LV_LOG_TRACE_ANIM
  306. bool "Enable/Disable LV_LOG_TRACE in anim module"
  307. default y
  308. depends on LV_USE_LOG
  309. endmenu
  310. menu "Asserts"
  311. config LV_USE_ASSERT_NULL
  312. bool "Check if the parameter is NULL. (Very fast, recommended)"
  313. default y if !LV_CONF_MINIMAL
  314. config LV_USE_ASSERT_MALLOC
  315. bool "Checks if the memory is successfully allocated or no. (Very fast, recommended)"
  316. default y if !LV_CONF_MINIMAL
  317. config LV_USE_ASSERT_STYLE
  318. bool "Check if the styles are properly initialized. (Very fast, recommended)"
  319. config LV_USE_ASSERT_MEM_INTEGRITY
  320. bool "Check the integrity of `lv_mem` after critical operations. (Slow)"
  321. config LV_USE_ASSERT_OBJ
  322. bool "Check NULL, the object's type and existence (e.g. not deleted). (Slow)."
  323. config LV_ASSERT_HANDLER_INCLUDE
  324. string "Header to include for the custom assert function"
  325. default "assert.h"
  326. endmenu
  327. menu "Others"
  328. config LV_USE_PERF_MONITOR
  329. bool "Show CPU usage and FPS count."
  330. choice
  331. prompt "Performance monitor position."
  332. depends on LV_USE_PERF_MONITOR
  333. default LV_PERF_MONITOR_ALIGN_BOTTOM_RIGHT
  334. config LV_PERF_MONITOR_ALIGN_TOP_LEFT
  335. bool "Top left"
  336. config LV_PERF_MONITOR_ALIGN_TOP_MID
  337. bool "Top middle"
  338. config LV_PERF_MONITOR_ALIGN_TOP_RIGHT
  339. bool "Top right"
  340. config LV_PERF_MONITOR_ALIGN_BOTTOM_LEFT
  341. bool "Bottom left"
  342. config LV_PERF_MONITOR_ALIGN_BOTTOM_MID
  343. bool "Bottom middle"
  344. config LV_PERF_MONITOR_ALIGN_BOTTOM_RIGHT
  345. bool "Bottom right"
  346. config LV_PERF_MONITOR_ALIGN_LEFT_MID
  347. bool "Left middle"
  348. config LV_PERF_MONITOR_ALIGN_RIGHT_MID
  349. bool "Right middle"
  350. config LV_PERF_MONITOR_ALIGN_CENTER
  351. bool "Center"
  352. endchoice
  353. config LV_USE_MEM_MONITOR
  354. bool "Show the used memory and the memory fragmentation."
  355. depends on !LV_MEM_CUSTOM
  356. choice
  357. prompt "Memory monitor position."
  358. depends on LV_USE_MEM_MONITOR
  359. default LV_MEM_MONITOR_ALIGN_BOTTOM_LEFT
  360. config LV_MEM_MONITOR_ALIGN_TOP_LEFT
  361. bool "Top left"
  362. config LV_MEM_MONITOR_ALIGN_TOP_MID
  363. bool "Top middle"
  364. config LV_MEM_MONITOR_ALIGN_TOP_RIGHT
  365. bool "Top right"
  366. config LV_MEM_MONITOR_ALIGN_BOTTOM_LEFT
  367. bool "Bottom left"
  368. config LV_MEM_MONITOR_ALIGN_BOTTOM_MID
  369. bool "Bottom middle"
  370. config LV_MEM_MONITOR_ALIGN_BOTTOM_RIGHT
  371. bool "Bottom right"
  372. config LV_MEM_MONITOR_ALIGN_LEFT_MID
  373. bool "Left middle"
  374. config LV_MEM_MONITOR_ALIGN_RIGHT_MID
  375. bool "Right middle"
  376. config LV_MEM_MONITOR_ALIGN_CENTER
  377. bool "Center"
  378. endchoice
  379. config LV_USE_REFR_DEBUG
  380. bool "Draw random colored rectangles over the redrawn areas."
  381. config LV_SPRINTF_CUSTOM
  382. bool "Change the built-in (v)snprintf functions"
  383. config LV_SPRINTF_INCLUDE
  384. string "Header to include for the custom sprintf function"
  385. depends on LV_SPRINTF_CUSTOM
  386. default "stdio.h"
  387. config LV_SPRINTF_USE_FLOAT
  388. bool "Enable float in built-in (v)snprintf functions"
  389. depends on !LV_SPRINTF_CUSTOM
  390. config LV_USE_USER_DATA
  391. bool "Add a 'user_data' to drivers and objects."
  392. default y
  393. config LV_ENABLE_GC
  394. bool "Enable garbage collector"
  395. config LV_GC_INCLUDE
  396. string "Header to include for the garbage collector related things"
  397. depends on LV_ENABLE_GC
  398. default "gc.h"
  399. endmenu
  400. menu "Compiler settings"
  401. config LV_BIG_ENDIAN_SYSTEM
  402. bool "For big endian systems set to 1"
  403. config LV_ATTRIBUTE_MEM_ALIGN_SIZE
  404. int "Required alignment size for buffers"
  405. default 1
  406. config LV_ATTRIBUTE_FAST_MEM_USE_IRAM
  407. bool "Set IRAM as LV_ATTRIBUTE_FAST_MEM"
  408. help
  409. Set this option to configure IRAM as LV_ATTRIBUTE_FAST_MEM
  410. config LV_USE_LARGE_COORD
  411. bool "Extend the default -32k..32k coordinate range to -4M..4M by using int32_t for coordinates instead of int16_t"
  412. endmenu
  413. endmenu
  414. menu "Font usage"
  415. menu "Enable built-in fonts"
  416. config LV_FONT_MONTSERRAT_8
  417. bool "Enable Montserrat 8"
  418. config LV_FONT_MONTSERRAT_10
  419. bool "Enable Montserrat 10"
  420. config LV_FONT_MONTSERRAT_12
  421. bool "Enable Montserrat 12"
  422. config LV_FONT_MONTSERRAT_14
  423. bool "Enable Montserrat 14"
  424. default y if !LV_CONF_MINIMAL
  425. config LV_FONT_MONTSERRAT_16
  426. bool "Enable Montserrat 16"
  427. config LV_FONT_MONTSERRAT_18
  428. bool "Enable Montserrat 18"
  429. config LV_FONT_MONTSERRAT_20
  430. bool "Enable Montserrat 20"
  431. config LV_FONT_MONTSERRAT_22
  432. bool "Enable Montserrat 22"
  433. config LV_FONT_MONTSERRAT_24
  434. bool "Enable Montserrat 24"
  435. config LV_FONT_MONTSERRAT_26
  436. bool "Enable Montserrat 26"
  437. config LV_FONT_MONTSERRAT_28
  438. bool "Enable Montserrat 28"
  439. config LV_FONT_MONTSERRAT_30
  440. bool "Enable Montserrat 30"
  441. config LV_FONT_MONTSERRAT_32
  442. bool "Enable Montserrat 32"
  443. config LV_FONT_MONTSERRAT_34
  444. bool "Enable Montserrat 34"
  445. config LV_FONT_MONTSERRAT_36
  446. bool "Enable Montserrat 36"
  447. config LV_FONT_MONTSERRAT_38
  448. bool "Enable Montserrat 38"
  449. config LV_FONT_MONTSERRAT_40
  450. bool "Enable Montserrat 40"
  451. config LV_FONT_MONTSERRAT_42
  452. bool "Enable Montserrat 42"
  453. config LV_FONT_MONTSERRAT_44
  454. bool "Enable Montserrat 44"
  455. config LV_FONT_MONTSERRAT_46
  456. bool "Enable Montserrat 46"
  457. config LV_FONT_MONTSERRAT_48
  458. bool "Enable Montserrat 48"
  459. config LV_FONT_MONTSERRAT_12_SUBPX
  460. bool "Enable Montserrat 12 sub-pixel"
  461. config LV_FONT_MONTSERRAT_28_COMPRESSED
  462. bool "Enable Montserrat 28 compressed"
  463. config LV_FONT_DEJAVU_16_PERSIAN_HEBREW
  464. bool "Enable Dejavu 16 Persian, Hebrew, Arabic letters"
  465. config LV_FONT_SIMSUN_16_CJK
  466. bool "Enable Simsun 16 CJK"
  467. config LV_FONT_UNSCII_8
  468. bool "Enable UNSCII 8 (Perfect monospace font)"
  469. default y if LV_CONF_MINIMAL
  470. config LV_FONT_UNSCII_16
  471. bool "Enable UNSCII 16 (Perfect monospace font)"
  472. config LV_FONT_CUSTOM
  473. bool "Enable the custom font"
  474. config LV_FONT_CUSTOM_DECLARE
  475. string "Header to include for the custom font"
  476. depends on LV_FONT_CUSTOM
  477. endmenu
  478. choice LV_FONT_DEFAULT
  479. prompt "Select theme default title font"
  480. default LV_FONT_DEFAULT_MONTSERRAT_14 if !LV_CONF_MINIMAL
  481. default LV_FONT_DEFAULT_UNSCII_8 if LV_CONF_MINIMAL
  482. help
  483. Select theme default title font
  484. config LV_FONT_DEFAULT_MONTSERRAT_8
  485. bool "Montserrat 8"
  486. select LV_FONT_MONTSERRAT_8
  487. config LV_FONT_DEFAULT_MONTSERRAT_12
  488. bool "Montserrat 12"
  489. select LV_FONT_MONTSERRAT_12
  490. config LV_FONT_DEFAULT_MONTSERRAT_14
  491. bool "Montserrat 14"
  492. select LV_FONT_MONTSERRAT_14
  493. config LV_FONT_DEFAULT_MONTSERRAT_16
  494. bool "Montserrat 16"
  495. select LV_FONT_MONTSERRAT_16
  496. config LV_FONT_DEFAULT_MONTSERRAT_18
  497. bool "Montserrat 18"
  498. select LV_FONT_MONTSERRAT_18
  499. config LV_FONT_DEFAULT_MONTSERRAT_20
  500. bool "Montserrat 20"
  501. select LV_FONT_MONTSERRAT_20
  502. config LV_FONT_DEFAULT_MONTSERRAT_22
  503. bool "Montserrat 22"
  504. select LV_FONT_MONTSERRAT_22
  505. config LV_FONT_DEFAULT_MONTSERRAT_24
  506. bool "Montserrat 24"
  507. select LV_FONT_MONTSERRAT_24
  508. config LV_FONT_DEFAULT_MONTSERRAT_26
  509. bool "Montserrat 26"
  510. select LV_FONT_MONTSERRAT_26
  511. config LV_FONT_DEFAULT_MONTSERRAT_28
  512. bool "Montserrat 28"
  513. select LV_FONT_MONTSERRAT_28
  514. config LV_FONT_DEFAULT_MONTSERRAT_30
  515. bool "Montserrat 30"
  516. select LV_FONT_MONTSERRAT_30
  517. config LV_FONT_DEFAULT_MONTSERRAT_32
  518. bool "Montserrat 32"
  519. select LV_FONT_MONTSERRAT_32
  520. config LV_FONT_DEFAULT_MONTSERRAT_34
  521. bool "Montserrat 34"
  522. select LV_FONT_MONTSERRAT_34
  523. config LV_FONT_DEFAULT_MONTSERRAT_36
  524. bool "Montserrat 36"
  525. select LV_FONT_MONTSERRAT_36
  526. config LV_FONT_DEFAULT_MONTSERRAT_38
  527. bool "Montserrat 38"
  528. select LV_FONT_MONTSERRAT_38
  529. config LV_FONT_DEFAULT_MONTSERRAT_40
  530. bool "Montserrat 40"
  531. select LV_FONT_MONTSERRAT_40
  532. config LV_FONT_DEFAULT_MONTSERRAT_42
  533. bool "Montserrat 42"
  534. select LV_FONT_MONTSERRAT_42
  535. config LV_FONT_DEFAULT_MONTSERRAT_44
  536. bool "Montserrat 44"
  537. select LV_FONT_MONTSERRAT_44
  538. config LV_FONT_DEFAULT_MONTSERRAT_46
  539. bool "Montserrat 46"
  540. select LV_FONT_MONTSERRAT_46
  541. config LV_FONT_DEFAULT_MONTSERRAT_48
  542. bool "Montserrat 48"
  543. select LV_FONT_MONTSERRAT_48
  544. config LV_FONT_DEFAULT_MONTSERRAT_12_SUBPX
  545. bool "Montserrat 12 sub-pixel"
  546. select LV_FONT_MONTSERRAT_12_SUBPX
  547. config LV_FONT_DEFAULT_MONTSERRAT_28_COMPRESSED
  548. bool "Montserrat 28 compressed"
  549. select LV_FONT_MONTSERRAT_28_COMPRESSED
  550. config LV_FONT_DEFAULT_DEJAVU_16_PERSIAN_HEBREW
  551. bool "Dejavu 16 Persian, Hebrew, Arabic letters"
  552. select LV_FONT_DEJAVU_16_PERSIAN_HEBREW
  553. config LV_FONT_DEFAULT_SIMSUN_16_CJK
  554. bool "Simsun 16 CJK"
  555. select LV_FONT_SIMSUN_16_CJK
  556. config LV_FONT_DEFAULT_UNSCII_8
  557. bool "UNSCII 8 (Perfect monospace font)"
  558. select LV_FONT_UNSCII_8
  559. config LV_FONT_DEFAULT_UNSCII_16
  560. bool "UNSCII 16 (Perfect monospace font)"
  561. select LV_FONT_UNSCII_16
  562. endchoice
  563. config LV_FONT_FMT_TXT_LARGE
  564. bool "Enable it if you have fonts with a lot of characters."
  565. help
  566. The limit depends on the font size, font face and bpp
  567. but with > 10,000 characters if you see issues probably you
  568. need to enable it.
  569. config LV_USE_FONT_COMPRESSED
  570. bool "Sets support for compressed fonts."
  571. config LV_USE_FONT_SUBPX
  572. bool "Enable subpixel rendering."
  573. config LV_FONT_SUBPX_BGR
  574. bool "Use BGR instead RGB for sub-pixel rendering."
  575. depends on LV_USE_FONT_SUBPX
  576. help
  577. Set the pixel order of the display.
  578. Important only if "subpx fonts" are used.
  579. With "normal" font it doesn't matter.
  580. config LV_USE_FONT_PLACEHOLDER
  581. bool "Enable drawing placeholders when glyph dsc is not found."
  582. default y
  583. endmenu
  584. menu "Text Settings"
  585. choice LV_TXT_ENC
  586. prompt "Select a character encoding for strings"
  587. help
  588. Select a character encoding for strings. Your IDE or editor should have the same character encoding.
  589. default LV_TXT_ENC_UTF8 if !LV_CONF_MINIMAL
  590. default LV_TXT_ENC_ASCII if LV_CONF_MINIMAL
  591. config LV_TXT_ENC_UTF8
  592. bool "UTF8"
  593. config LV_TXT_ENC_ASCII
  594. bool "ASCII"
  595. endchoice
  596. config LV_TXT_BREAK_CHARS
  597. string "Can break (wrap) texts on these chars"
  598. default " ,.;:-_"
  599. config LV_TXT_LINE_BREAK_LONG_LEN
  600. int "Line break long length"
  601. default 0
  602. help
  603. If a word is at least this long, will break wherever 'prettiest'.
  604. To disable, set to a value <= 0.
  605. config LV_TXT_LINE_BREAK_LONG_PRE_MIN_LEN
  606. int "Min num chars before break"
  607. default 3
  608. depends on LV_TXT_LINE_BREAK_LONG_LEN > 0
  609. help
  610. Minimum number of characters in a long word to put on a line before a break.
  611. config LV_TXT_LINE_BREAK_LONG_POST_MIN_LEN
  612. int "Min num chars after break"
  613. default 3
  614. depends on LV_TXT_LINE_BREAK_LONG_LEN > 0
  615. help
  616. Minimum number of characters in a long word to put on a line after a break.
  617. config LV_TXT_COLOR_CMD
  618. string "The control character to use for signalling text recoloring"
  619. default "#"
  620. config LV_USE_BIDI
  621. bool "Support bidirectional texts"
  622. help
  623. Allows mixing Left-to-Right and Right-to-Left texts.
  624. The direction will be processed according to the Unicode Bidirectional Algorithm:
  625. https://www.w3.org/International/articles/inline-bidi-markup/uba-basics
  626. choice
  627. prompt "Set the default BIDI direction"
  628. default LV_BIDI_DIR_AUTO
  629. depends on LV_USE_BIDI
  630. config LV_BIDI_DIR_LTR
  631. bool "Left-to-Right"
  632. config LV_BIDI_DIR_RTL
  633. bool "Right-to-Left"
  634. config LV_BIDI_DIR_AUTO
  635. bool "Detect texts base direction"
  636. endchoice
  637. config LV_USE_ARABIC_PERSIAN_CHARS
  638. bool "Enable Arabic/Persian processing"
  639. help
  640. In these languages characters should be replaced with
  641. an other form based on their position in the text.
  642. endmenu
  643. menu "Widget usage"
  644. config LV_USE_ARC
  645. bool "Arc."
  646. default y if !LV_CONF_MINIMAL
  647. config LV_USE_BAR
  648. bool "Bar."
  649. default y if !LV_CONF_MINIMAL
  650. config LV_USE_BTN
  651. bool "Button."
  652. default y if !LV_CONF_MINIMAL
  653. config LV_USE_BTNMATRIX
  654. bool "Button matrix."
  655. default y if !LV_CONF_MINIMAL
  656. config LV_USE_CANVAS
  657. bool "Canvas. Dependencies: lv_img."
  658. select LV_USE_IMG
  659. default y if !LV_CONF_MINIMAL
  660. config LV_USE_CHECKBOX
  661. bool "Check Box"
  662. default y if !LV_CONF_MINIMAL
  663. config LV_USE_DROPDOWN
  664. bool "Drop down list. Requires: lv_label."
  665. select LV_USE_LABEL
  666. default y if !LV_CONF_MINIMAL
  667. config LV_USE_IMG
  668. bool "Image. Requires: lv_label."
  669. select LV_USE_LABEL
  670. default y if !LV_CONF_MINIMAL
  671. config LV_USE_LABEL
  672. bool "Label."
  673. default y if !LV_CONF_MINIMAL
  674. config LV_LABEL_TEXT_SELECTION
  675. bool "Enable selecting text of the label."
  676. depends on LV_USE_LABEL
  677. default y
  678. config LV_LABEL_LONG_TXT_HINT
  679. bool "Store extra some info in labels (12 bytes) to speed up drawing of very long texts."
  680. depends on LV_USE_LABEL
  681. default y
  682. config LV_USE_LINE
  683. bool "Line."
  684. default y if !LV_CONF_MINIMAL
  685. config LV_USE_ROLLER
  686. bool "Roller. Requires: lv_label."
  687. select LV_USE_LABEL
  688. default y if !LV_CONF_MINIMAL
  689. config LV_ROLLER_INF_PAGES
  690. int "Number of extra 'pages' when the controller is infinite."
  691. default 7
  692. depends on LV_USE_ROLLER
  693. config LV_USE_SLIDER
  694. bool "Slider. Requires: lv_bar."
  695. select LV_USE_BAR
  696. default y if !LV_CONF_MINIMAL
  697. config LV_USE_SWITCH
  698. bool "Switch."
  699. default y if !LV_CONF_MINIMAL
  700. config LV_USE_TEXTAREA
  701. bool "Text area. Requires: lv_label."
  702. select LV_USE_LABEL
  703. default y if !LV_CONF_MINIMAL
  704. config LV_TEXTAREA_DEF_PWD_SHOW_TIME
  705. int "Text area def. pwd show time [ms]."
  706. default 1500
  707. depends on LV_USE_TEXTAREA
  708. config LV_USE_TABLE
  709. bool "Table."
  710. default y if !LV_CONF_MINIMAL
  711. endmenu
  712. menu "Extra Widgets"
  713. config LV_USE_ANIMIMG
  714. bool "Anim image."
  715. default y if !LV_CONF_MINIMAL
  716. config LV_USE_CALENDAR
  717. bool "Calendar."
  718. default y if !LV_CONF_MINIMAL
  719. config LV_CALENDAR_WEEK_STARTS_MONDAY
  720. bool "Calendar week starts monday."
  721. depends on LV_USE_CALENDAR
  722. config LV_USE_CALENDAR_HEADER_ARROW
  723. bool "Use calendar header arrow"
  724. depends on LV_USE_CALENDAR
  725. default y
  726. config LV_USE_CALENDAR_HEADER_DROPDOWN
  727. bool "Use calendar header dropdown"
  728. depends on LV_USE_CALENDAR
  729. default y
  730. config LV_USE_CHART
  731. bool "Chart."
  732. default y if !LV_CONF_MINIMAL
  733. config LV_USE_COLORWHEEL
  734. bool "Colorwheel."
  735. default y if !LV_CONF_MINIMAL
  736. config LV_USE_IMGBTN
  737. bool "Imgbtn."
  738. default y if !LV_CONF_MINIMAL
  739. config LV_USE_KEYBOARD
  740. bool "Keyboard."
  741. default y if !LV_CONF_MINIMAL
  742. config LV_USE_LED
  743. bool "LED."
  744. default y if !LV_CONF_MINIMAL
  745. config LV_USE_LIST
  746. bool "List."
  747. default y if !LV_CONF_MINIMAL
  748. config LV_USE_MENU
  749. bool "Menu."
  750. default y if !LV_CONF_MINIMAL
  751. config LV_USE_METER
  752. bool "Meter."
  753. default y if !LV_CONF_MINIMAL
  754. config LV_USE_MSGBOX
  755. bool "Msgbox."
  756. default y if !LV_CONF_MINIMAL
  757. config LV_USE_SPAN
  758. bool "span"
  759. default y if !LV_CONF_MINIMAL
  760. config LV_SPAN_SNIPPET_STACK_SIZE
  761. int "Maximum number of span descriptor"
  762. default 64
  763. depends on LV_USE_SPAN
  764. config LV_USE_SPINBOX
  765. bool "Spinbox."
  766. default y if !LV_CONF_MINIMAL
  767. config LV_USE_SPINNER
  768. bool "Spinner."
  769. default y if !LV_CONF_MINIMAL
  770. config LV_USE_TABVIEW
  771. bool "Tabview."
  772. default y if !LV_CONF_MINIMAL
  773. config LV_USE_TILEVIEW
  774. bool "Tileview"
  775. default y if !LV_CONF_MINIMAL
  776. config LV_USE_WIN
  777. bool "Win"
  778. default y if !LV_CONF_MINIMAL
  779. endmenu
  780. menu "Themes"
  781. config LV_USE_THEME_DEFAULT
  782. bool "A simple, impressive and very complete theme"
  783. default y if !LV_COLOR_DEPTH_1 && !LV_CONF_MINIMAL
  784. config LV_THEME_DEFAULT_DARK
  785. bool "Yes to set dark mode, No to set light mode"
  786. depends on LV_USE_THEME_DEFAULT
  787. config LV_THEME_DEFAULT_GROW
  788. bool "Enable grow on press"
  789. default y
  790. depends on LV_USE_THEME_DEFAULT
  791. config LV_THEME_DEFAULT_TRANSITION_TIME
  792. int "Default transition time in [ms]"
  793. default 80
  794. depends on LV_USE_THEME_DEFAULT
  795. config LV_USE_THEME_BASIC
  796. bool "A very simple theme that is a good starting point for a custom theme"
  797. default y if !LV_COLOR_DEPTH_1 && !LV_CONF_MINIMAL
  798. config LV_USE_THEME_MONO
  799. bool "Monochrome theme, suitable for some E-paper & dot matrix displays"
  800. default y if LV_COLOR_DEPTH_1 && !LV_CONF_MINIMAL
  801. endmenu
  802. menu "Layouts"
  803. config LV_USE_FLEX
  804. bool "A layout similar to Flexbox in CSS."
  805. default y if !LV_CONF_MINIMAL
  806. config LV_USE_GRID
  807. bool "A layout similar to Grid in CSS."
  808. default y if !LV_CONF_MINIMAL
  809. endmenu
  810. menu "3rd Party Libraries"
  811. config LV_USE_FS_STDIO
  812. bool "File system on top of stdio API"
  813. config LV_FS_STDIO_LETTER
  814. int "Set an upper cased letter on which the drive will accessible (e.g. 'A' i.e. 65 )"
  815. default 0
  816. depends on LV_USE_FS_STDIO
  817. config LV_FS_STDIO_PATH
  818. string "Set the working directory"
  819. depends on LV_USE_FS_STDIO
  820. config LV_FS_STDIO_CACHE_SIZE
  821. int ">0 to cache this number of bytes in lv_fs_read()"
  822. default 0
  823. depends on LV_USE_FS_STDIO
  824. config LV_USE_FS_POSIX
  825. bool "File system on top of posix API"
  826. config LV_FS_POSIX_LETTER
  827. int "Set an upper cased letter on which the drive will accessible (e.g. 'A' i.e. 65)"
  828. default 0
  829. depends on LV_USE_FS_POSIX
  830. config LV_FS_POSIX_PATH
  831. string "Set the working directory"
  832. depends on LV_USE_FS_POSIX
  833. config LV_FS_POSIX_CACHE_SIZE
  834. int ">0 to cache this number of bytes in lv_fs_read()"
  835. default 0
  836. depends on LV_USE_FS_POSIX
  837. config LV_USE_FS_WIN32
  838. bool "File system on top of Win32 API"
  839. config LV_FS_WIN32_LETTER
  840. int "Set an upper cased letter on which the drive will accessible (e.g. 'A' i.e. 65)"
  841. default 0
  842. depends on LV_USE_FS_WIN32
  843. config LV_FS_WIN32_PATH
  844. string "Set the working directory"
  845. depends on LV_USE_FS_WIN32
  846. config LV_FS_WIN32_CACHE_SIZE
  847. int ">0 to cache this number of bytes in lv_fs_read()"
  848. default 0
  849. depends on LV_USE_FS_WIN32
  850. config LV_USE_FS_FATFS
  851. bool "File system on top of FatFS"
  852. config LV_FS_FATFS_LETTER
  853. int "Set an upper cased letter on which the drive will accessible (e.g. 'A' i.e. 65)"
  854. default 0
  855. depends on LV_USE_FS_FATFS
  856. config LV_FS_FATFS_CACHE_SIZE
  857. int ">0 to cache this number of bytes in lv_fs_read()"
  858. default 0
  859. depends on LV_USE_FS_FATFS
  860. config LV_USE_FS_LITTLEFS
  861. bool "File system on top of LittleFS"
  862. config LV_FS_LITTLEFS_LETTER
  863. int "Set an upper cased letter on which the drive will accessible (e.g. 'A' i.e. 65)"
  864. default 0
  865. depends on LV_USE_FS_LITTLEFS
  866. config LV_FS_LITTLEFS_CACHE_SIZE
  867. int ">0 to cache this number of bytes in lv_fs_read()"
  868. default 0
  869. depends on LV_USE_FS_LITTLEFS
  870. config LV_USE_PNG
  871. bool "PNG decoder library"
  872. config LV_USE_BMP
  873. bool "BMP decoder library"
  874. config LV_USE_SJPG
  875. bool "JPG + split JPG decoder library"
  876. config LV_USE_GIF
  877. bool "GIF decoder library"
  878. config LV_USE_QRCODE
  879. bool "QR code library"
  880. config LV_USE_FREETYPE
  881. bool "FreeType library"
  882. if LV_USE_FREETYPE
  883. menu "FreeType cache config"
  884. config LV_FREETYPE_CACHE_SIZE
  885. int "Memory used by FreeType to cache characters [bytes] (-1: no caching)"
  886. default 16384
  887. if LV_FREETYPE_CACHE_SIZE >= 0
  888. config LV_FREETYPE_SBIT_CACHE
  889. bool "enable sbit cache"
  890. default n
  891. config LV_FREETYPE_CACHE_FT_FACES
  892. int "The maximum number of FT_Face(0: use defaults)"
  893. default 0
  894. config LV_FREETYPE_CACHE_FT_SIZES
  895. int "The maximum number of FT_Size(0: use defaults)"
  896. default 0
  897. endif
  898. endmenu
  899. endif
  900. config LV_USE_TINY_TTF
  901. bool "Tiny TTF library"
  902. config LV_TINY_TTF_FILE_SUPPORT
  903. bool "Load TTF data from files"
  904. depends on LV_USE_TINY_TTF
  905. default n
  906. config LV_USE_RLOTTIE
  907. bool "Lottie library"
  908. config LV_USE_FFMPEG
  909. bool "FFmpeg library"
  910. config LV_FFMPEG_DUMP_FORMAT
  911. bool "Dump format"
  912. depends on LV_USE_FFMPEG
  913. default n
  914. endmenu
  915. menu "Others"
  916. config LV_USE_SNAPSHOT
  917. bool "Enable API to take snapshot"
  918. default y if !LV_CONF_MINIMAL
  919. config LV_USE_MONKEY
  920. bool "Enable Monkey test"
  921. default n
  922. config LV_USE_GRIDNAV
  923. bool "Enable grid navigation"
  924. default n
  925. config LV_USE_FRAGMENT
  926. bool "Enable lv_obj fragment"
  927. default n
  928. config LV_USE_IMGFONT
  929. bool "draw img in label or span obj"
  930. default n
  931. config LV_USE_MSG
  932. bool "Enable a published subscriber based messaging system"
  933. default n
  934. config LV_USE_IME_PINYIN
  935. bool "Enable Pinyin input method"
  936. default n
  937. config LV_IME_PINYIN_USE_K9_MODE
  938. bool "Enable Pinyin input method 9 key input mode"
  939. depends on LV_USE_IME_PINYIN
  940. default n
  941. config LV_IME_PINYIN_K9_CAND_TEXT_NUM
  942. int "Maximum number of candidate panels for 9-key input mode"
  943. depends on LV_IME_PINYIN_USE_K9_MODE
  944. default 3
  945. config LV_IME_PINYIN_USE_DEFAULT_DICT
  946. bool "Use built-in Thesaurus"
  947. depends on LV_USE_IME_PINYIN
  948. default y
  949. help
  950. If you do not use the default thesaurus, be sure to use lv_ime_pinyin after setting the thesauruss
  951. config LV_IME_PINYIN_CAND_TEXT_NUM
  952. int "Maximum number of candidate panels"
  953. depends on LV_USE_IME_PINYIN
  954. default 6
  955. help
  956. Set the maximum number of candidate panels that can be displayed.
  957. This needs to be adjusted according to the size of the screen.
  958. endmenu
  959. menu "Examples"
  960. config LV_BUILD_EXAMPLES
  961. bool "Enable the examples to be built"
  962. default y if !LV_CONF_MINIMAL
  963. endmenu
  964. menu "Demos"
  965. config LV_USE_DEMO_WIDGETS
  966. bool "Show some widget"
  967. default n
  968. config LV_DEMO_WIDGETS_SLIDESHOW
  969. bool "Enable slide show"
  970. depends on LV_USE_DEMO_WIDGETS
  971. default n
  972. config LV_USE_DEMO_KEYPAD_AND_ENCODER
  973. bool "Demonstrate the usage of encoder and keyboard"
  974. default n
  975. config LV_USE_DEMO_BENCHMARK
  976. bool "Benchmark your system"
  977. default n
  978. config LV_DEMO_BENCHMARK_RGB565A8
  979. bool "Use RGB565A8 images with 16 bit color depth instead of ARGB8565"
  980. depends on LV_USE_DEMO_BENCHMARK
  981. default n
  982. config LV_USE_DEMO_STRESS
  983. bool "Stress test for LVGL"
  984. default n
  985. config LV_USE_DEMO_MUSIC
  986. bool "Music player demo"
  987. default n
  988. config LV_DEMO_MUSIC_SQUARE
  989. bool "Enable Square"
  990. depends on LV_USE_DEMO_MUSIC
  991. default n
  992. config LV_DEMO_MUSIC_LANDSCAPE
  993. bool "Enable Landscape"
  994. depends on LV_USE_DEMO_MUSIC
  995. default n
  996. config LV_DEMO_MUSIC_ROUND
  997. bool "Enable Round"
  998. depends on LV_USE_DEMO_MUSIC
  999. default n
  1000. config LV_DEMO_MUSIC_LARGE
  1001. bool "Enable Large"
  1002. depends on LV_USE_DEMO_MUSIC
  1003. default n
  1004. config LV_DEMO_MUSIC_AUTO_PLAY
  1005. bool "Enable Auto play"
  1006. depends on LV_USE_DEMO_MUSIC
  1007. default n
  1008. endmenu
  1009. endmenu