ESP32 LVGL GUI开发 idf.py menuconfig 添加新的触摸芯片菜单

LVGL已经集成了非常多的液晶与触摸芯片支持,配置中选择对应芯片配置一下即可,非常方便,但开发中还会遇到其它没有添加到menuconfig中的芯片。

由于esp32引脚非常少,所以找到一款IIC接口的4线电阻触摸芯片控制器NS2009,记录一下怎么添加到menuconfig中

NS2009是一款带I2C接口的4线制电阻式触摸屏控制芯片

12位分辨率A D转换器。

可测量手指在触摸屏上的压力。

2.0-5V宽电压。

一、添加驱动芯片的.c源文件包含

打开LVGL驱动触摸驱动目录中的CMake文件,components\lvgl_esp32_drivers\lvgl_touch\CMakeLists.txt

在# Include only the source file of the selected display controller.下面添加你的新驱动芯片,按原有的格式添加即可,我这里添加的是NS2009 IIC总线4线电阻屏触摸控制器

二、添加idf.py menuconfig菜单项

打开LVGL驱动触摸驱动目录中的Kconfig文件,components\lvgl_esp32_drivers\lvgl_touch\Kconfig

在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的配置了

接下来把components\lvgl_esp32_drivers\lvgl_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要实现这两个函数

下载测试,手指越用力,压力读值越小

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值