概述
LVGL已经集成了非常多的液晶与触摸芯片支持,配置中选择对应芯片配置一下即可,非常方便,但开发中还会遇到其它没有添加到menuconfig中的芯片。
由于esp32引脚非常少,所以找到一款IIC接口的4线电阻触摸芯片控制器NS2009,记录一下怎么添加到menuconfig中
NS2009是一款带I2C接口的4线制电阻式触摸屏控制芯片
12位分辨率A D转换器。
可测量手指在触摸屏上的压力。
2.0-5V宽电压。
一、添加驱动芯片的.c源文件包含
打开LVGL驱动触摸驱动目录中的CMake文件,componentslvgl_esp32_driverslvgl_touchCMakeLists.txt
在# Include only the source file of the selected display controller.下面添加你的新驱动芯片,按原有的格式添加即可,我这里添加的是NS2009 IIC总线4线电阻屏触摸控制器
二、添加idf.py menuconfig菜单项
打开LVGL驱动触摸驱动目录中的Kconfig文件,componentslvgl_esp32_driverslvgl_touchKconfig
在config LVGL_TOUCH_CONTROLLER下添加一行新的驱动芯片,如下图,我添加的是NS2009,序号往上加即可。
同文件中继续添加菜单显示选择项,如下图,我添加的NS2009是IIC接口,所以按FT6X06的配置即可,配置为I2C接口
相同文件下,接着添加配置对应IIC端口选择菜单和XY轴调换菜单,X轴翻转,Y轴翻转菜单,按FT6X06的配置修改即可
三、添加驱动文件下载验证
在工程路径下执行idf.py menuconfig命令
配置界面进入Component config → LVGL Touch controller → Select a touch panel controller model. 触摸芯片选择菜单中,如下图,发现已经有NS2009选项了,我们选中它回车键
发现下面的菜单变成了I2C接口选择和引脚选择还有触摸配置菜单可以配置XY轴调换,X轴翻转,Y轴翻转
保存退出菜单,返回到VSCode中,打开项目根目录中的sdkconfig文件,发现LVGL Touch controller配置全部变为NS2009的配置了
接下来把componentslvgl_esp32_driverslvgl_touch中的ft6x36.c和.h文件复制一份,修改名称为NS2009.c.h
修改touch_driver.c 和.h文件。touch_driver.h文件添加NS2009配置定义包含头文件。touch_driver.c修改LVGL的触摸初始化和触摸读取的接口函数NS2009_init,NS2009_read(drv, data),在NS2009.C要实现这两个函数
下载测试,手指越用力,压力读值越小
最后
以上就是大胆胡萝卜为你收集整理的ESP32 LVGL GUI开发 idf.py menuconfig 添加新的触摸芯片菜单一、添加驱动芯片的.c源文件包含二、添加idf.py menuconfig菜单项三、添加驱动文件下载验证的全部内容,希望文章能够帮你解决ESP32 LVGL GUI开发 idf.py menuconfig 添加新的触摸芯片菜单一、添加驱动芯片的.c源文件包含二、添加idf.py menuconfig菜单项三、添加驱动文件下载验证所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复