### 前言
lvgl已经出到9.x版本了,github上的lv_port_esp32还是7.x版本,由于我自己有Linux和esp32两种设备的开发需求,esp32的RAM和Flash也不算小,
我手上的板子也不少,干脆修改一下默认板型的屏幕配置吧。
#### 修改Kconfig配置
添加两个板型的屏幕默认配置,LV_PREDEFINED_DISPLAY_WAVESHARE_169 和 LV_PREDEFINED_DISPLAY_BOARD_169
添加这些配置之后,就可以直接在菜单里选择对应的板型,然后就可以直接切换板子配置,编译运行了。
以下就是修改后生成的patch文件
```c
--- a/lvgl_tft/Kconfig
+++ b/lvgl_tft/Kconfig
@@ -76,6 +76,16 @@ menu "LVGL TFT Display controller"
bool "Wireless Tag WT32-SC01"
select LV_TFT_DISPLAY_CONTROLLER_ST7796S
select LV_TFT_DISPLAY_PROTOCOL_SPI
+ config LV_PREDEFINED_DISPLAY_BOARD_169
+ bool "Board 1.69 st7789"
+ select LV_TFT_DISPLAY_PROTOCOL_SPI
+ select LV_TFT_DISPLAY_CONTROLLER_ST7789
+ select LV_TFT_DISPLAY_OFFSETS
+ config LV_PREDEFINED_DISPLAY_WAVESHARE_169
+ bool "Waveshare touch 1.69"
+ select LV_TFT_DISPLAY_PROTOCOL_SPI
+ select LV_TFT_DISPLAY_CONTROLLER_ST7789
+ select LV_TFT_DISPLAY_OFFSETS
endchoice
# START of helper symbols.
@@ -757,6 +767,8 @@ menu "LVGL TFT Display controller"
default 19 if LV_PREDEFINED_DISPLAY_TTGO
default 19 if LV_PREDEFINED_DISPLAY_TTGO_CAMERA_PLUS
default 13 if LV_PREDEFINED_DISPLAY_WT32_SC01
+ default 7 if LV_PREDEFINED_DISPLAY_WAVESHARE_169
+ default 22 if LV_PREDEFINED_DISPLAY_BOARD_169
default 13
help
Configure the display MOSI pin here.
@@ -816,6 +828,8 @@ menu "LVGL TFT Display controller"
default 18 if LV_PREDEFINED_DISPLAY_TTGO
default 21 if LV_PREDEFINED_DISPLAY_TTGO_CAMERA_PLUS
default 14 if LV_PREDEFINED_DISPLAY_WT32_SC01
+ default 6 if LV_PREDEFINED_DISPLAY_WAVESHARE_169
+ default 23 if LV_PREDEFINED_DISPLAY_BOARD_169
default 14
help
@@ -842,6 +856,8 @@ menu "LVGL TFT Display controller"
default 5 if LV_PREDEFINED_DISPLAY_TTGO
default 12 if LV_PREDEFINED_DISPLAY_TTGO_CAMERA_PLUS
default 15 if LV_PREDEFINED_DISPLAY_WT32_SC01
+ default 5 if LV_PREDEFINED_DISPLAY_WAVESHARE_169
+ default 19 if LV_PREDEFINED_DISPLAY_BOARD_169
default 15
help
@@ -869,6 +885,8 @@ menu "LVGL TFT Display controller"
default 17 if LV_PREDEFINED_DISPLAY_ATAG
default 16 if LV_PREDEFINED_DISPLAY_TTGO
default 15 if LV_PREDEFINED_DISPLAY_TTGO_CAMERA_PLUS
+ default 4 if LV_PREDEFINED_DISPLAY_WAVESHARE_169
+ default 20 if LV_PREDEFINED_DISPLAY_BOARD_169
default 2
help
@@ -901,6 +919,8 @@ menu "LVGL TFT Display controller"
default 23 if LV_PREDEFINED_DISPLAY_TTGO
default 33 if LV_PREDEFINED_DISPLAY_TTGO_CAMERA_PLUS
default 22 if LV_PREDEFINED_DISPLAY_WT32_SC01
+ default 8 if LV_PREDEFINED_DISPLAY_WAVESHARE_169
+ default 21 if LV_PREDEFINED_DISPLAY_BOARD_169
default 4
help
@@ -973,6 +993,8 @@ menu "LVGL TFT Display controller"
default y if LV_PREDEFINED_DISPLAY_TTGO
default y if LV_PREDEFINED_DISPLAY_TTGO_CAMERA_PLUS
default y if LV_PREDEFINED_DISPLAY_WT32_SC01
+ default y if LV_PREDEFINED_DISPLAY_WAVESHARE_169
+ default y if LV_PREDEFINED_DISPLAY_BOARD_169
help
Some backlights are turned on with a high signal, others held low.
If enabled, a value of 1 will be sent to the display to enable the backlight,
@@ -993,6 +1015,8 @@ menu "LVGL TFT Display controller"
default 4 if LV_PREDEFINED_DISPLAY_TTGO
default 2 if LV_PREDEFINED_DISPLAY_TTGO_CAMERA_PLUS
default 23 if LV_PREDEFINED_DISPLAY_WT32_SC01
+ default 15 if LV_PREDEFINED_DISPLAY_WAVESHARE_169
+ default 18 if LV_PREDEFINED_DISPLAY_BOARD_169
default -1
```
#### 菜单展示
修改完以后,可以看到菜单里增加了对应板型的配置。也可以看到选择了对应板型之后,配置文件也正确选择了屏幕spi的引脚。
制作完毕后编译,烧录到开发板上,可以看到lvgl测试程序已经顺利跑起来了。
源码已经开源在 https://gitee.com/walker2048/lv_esp32 仓库里,子仓库的修改内容,放在附件里了。
0001-fix-idf-5.1-add-board.patch
(96.34 KB, 下载次数: 1)