【FireBeetle 2 ESP32 C6开发板】7、适配lvgl 9.1-- 添加默认板型配置,运行程序
<div class='showpostmsg'>### 前言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 7if 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 6if 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 5if 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 4if 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 8if 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 18if LV_PREDEFINED_DISPLAY_BOARD_169
default -1
```
#### 菜单展示
修改完以后,可以看到菜单里增加了对应板型的配置。也可以看到选择了对应板型之后,配置文件也正确选择了屏幕spi的引脚。
制作完毕后编译,烧录到开发板上,可以看到lvgl测试程序已经顺利跑起来了。
源码已经开源在 https://gitee.com/walker2048/lv_esp32 仓库里,子仓库的修改内容,放在附件里了。
<br/><br/>
</div><script> var loginstr = '<div class="locked">查看本帖全部内容,请<a href="javascript:;" style="color:#e60000" class="loginf">登录</a>或者<a href="https://bbs.eeworld.com.cn/member.php?mod=register_eeworld.php&action=wechat" style="color:#e60000" target="_blank">注册</a></div>';
if(parseInt(discuz_uid)==0){
} </script><script type="text/javascript">(function(d,c){var a=d.createElement("script"),m=d.getElementsByTagName("script"),eewurl="//counter.eeworld.com.cn/pv/count/";a.src=eewurl+c;m.parentNode.insertBefore(a,m)})(document,523)</script>
页:
[1]