11306|16

1246

帖子

19

TA的资源

五彩晶圆(初级)

楼主
 

BeagleBone Black设计:BBB底板添加电容屏和tslib测试! [复制链接]

 
本帖最后由 anananjjj 于 2014-5-20 15:45 编辑

我的摇杆用到了ADC采样,而自带电阻屏用到ADC,不知道为什么,他工作突然不正常了!于是我添加电容屏!

原理图比较简单:I2C2加中断引脚即可!



首先,下载ft5x0x芯片的驱动!
放置在内核源码位置:
drivers/input/touchscreen/ft5x0x_ts.c
drivers/input/touchscreen/ft5x06_ts.c
include/linux/i2c/ft5x06_ts.h
include/linux/earlysuspend.h  这些都来自Android源码中,我在网络上搜索下载的!
其中测试ft5x0x_ts.c不是很好用!
所以最后决定使用ft5x06_ts.c

ft5x0x.zip (7.65 KB, 下载次数: 25, 售价: 1 分芯积分)
FocalTech_FT5x16_DataSheet__V0.1_-Preliminary.pdf (518.79 KB, 下载次数: 36)

然后就是编辑drivers/input/touchscreen 目录下的KconfigMakefile文件:
Kconfig文件中添加:



Makefile中添加:



这样在编译内核的配置菜单中就有触摸屏的选项了!
接下来修改板级文件:arch/arm/mach-omap2/board-am335xevm.c:
添加:
/* Pin mux for captive touch screen */
static void cap_tsc_init(int evm_id,int profile)
{

       setup_pin_mux(cap_tsc_pin_mux);

        return;
}

//触摸 2014519

static void bone_tsc_init(int evm_id, int profile)
{
       int err;

       setup_pin_mux(tsc_pin_mux);

       err =am33xx_register_mfd_tscadc(&tscadc);

       if (err)

       pr_err("failedto register touchscreen device\n");

}
之后在I2C2中添加设备地址:

static struct i2c_board_info __initdatacape_i2c_boardinfo[] = {

        {

             I2C_BOARD_INFO("tlv320aic3x",0x1b),

       },

       {

             /*FT5x06 Touch Screen Controller */

             I2C_BOARD_INFO(FT5X0X_NAME,0x38),

               // .irq =OMAP_GPIO_IRQ(CAP_TSC_INT),//将引脚设为中断,针对ft5x0x_ts

               },
}
再在初始化结构中添加对应函数:



OK
开始编译内核!!
具体编译内核操作就不再赘述了,以前就讲过!
注意配置菜单:



这是以前的截图,应该选择的是最后一个!
一路编译下去,将内核放入BBB板中!
启动,通过自己扩展的U转串,观察启动信息!



可以看到,驱动初始化成功!
进入文件系统,可以观察到:


/dev/input/下面有event0设备!

这个到底是不是呢?
再看看/sys/devices/virtual/input/目录



发现了启动信息里面的input0
进入input0
执行:
# cat uevent



就是我添加的电容屏设备了!
对应的就是event0
为了测试我的电容屏是正常的,进入目录/dev/input/

执行#cat event0 | hexdump

当我轻轻触摸电容屏之后,屏幕出现了如下信息:



至此,我的触摸屏正常工作了!

接下来就是添加tslib来进一步测试我的电容触摸屏工作情况!
Tslib库编译比较容易,网上教程较多:
简单说一下:
2.1 tslib_master.tar.gz,拷到Ubuntu下,解压:
tar zxvf  tslib_master.tar.gz  
2.2安装 autoconfautomakelibtool
#sudo apt-get install autoconf
#sudo apt-get install automake
#sudo apt-get install libtool
#sudo apt-get install g++
2.3进入tslib目录:
cd tslib
2.4设置环境变量
已经设置好!这个在编译内核时就搞定了

2.5tslib目录下运行脚本

./autogen-clean.sh
./autogen.sh
export ac_cv_func_malloc_0_nonnull=yes
export PATH=`pwd`:$PATH

2.6configure 生成Makefile.

./configureCC=/usr/local/ti-sdk-am335x-evm/linux-devkit/sysroots/i686-arago-linux/usr/bin/arm-linux-gnueabihf-gccCXX=/home/user/toolchain/linaro/bin/arm-linux-gnueabi-g++--host=arm-linux--prefix=/usr/local/tslib --enable-shared=yes --enable-static=yes



2.7 编译安装
make
make install

2.8编译完成后检查主机目录 /usr/local/tslib
修改etc文件夹下的‘ts.conf’,去掉“# module_raw_input”中的#号和空格。

然后将整个tslib文件夹,下载到开发板的对应路径下(/usr/local)。
2.9、开发板配置环境变量
通过超级终端,# vi /etc/profile
添加如下内容:
-------------------------------------------------------------------------------------------------------
export TSLIB_TSEVENTTYPE=INPUT
export TSLIB_TSDEVICE=/dev/input/event0
export TSLIB_CALIBFILE=/etc/pointercal
export TSLIB_CONFFILE=/usr/local/tslib/etc/ts.conf
export TSLIB_PLUGINDIR=/usr/local/tslib/lib/ts
export TSLIB_FBDEVICE=/dev/fb0
export TSLIB_CONSOLEDEVICE=none
export TSTS_INFO_FILE=/sys/devices/virtual/input/input0/uevent
export QWS_MOUSE_PROTO=tslib:/dev/input/event0
export PATH=$PATH:/usr/local/tslib/bin


板子上电,进入目录:/usr/local/tslib/bin

执行./ts_calibrate

可以看到:



触摸屏校准成功喽!


试一试ts_test


完美支持!至此,我的电容屏完全可以使用了!
上一段测试视频:


接下来彻底换下电阻屏,然后调节串口程序接受无线数据,
并添加摇杆和Qt程序,最后再去攻克MySQL吧!



最新回复

非常棒 ,谢谢!  详情 回复 发表于 2016-5-3 15:34

赞赏

1

查看全部赞赏

点赞 关注(2)
个人签名
 

回复
举报

126

帖子

0

TA的资源

一粒金砂(中级)

沙发
 
好棒呀
 
 

回复

189

帖子

0

TA的资源

纯净的硅(初级)

板凳
 
不错!赞!我也遇到电阻屏和ADC冲突了。不会编译内核是块巨大的短板啊……

点评

现在我的ADC可以尽情的用啦!!触摸已经加入Ti的SDK的应用中去了!工作完美!其自带Qt支持!接下来直接编应用程序就行啦!  详情 回复 发表于 2014-5-20 22:27
个人签名更多BBB经验分享,请访问我的博客http://blog.csdn.net/wyt2013
 
 
 

回复

1246

帖子

19

TA的资源

五彩晶圆(初级)

4
 
本帖最后由 anananjjj 于 2014-5-20 22:30 编辑
wytalfred 发表于 2014-5-20 22:12
不错!赞!我也遇到电阻屏和ADC冲突了。不会编译内核是块巨大的短板啊……

现在我的ADC可以尽情的用啦!!电容屏触摸已经加入Ti的SDK的应用中去了!工作完美!其自带Qt支持!接下来直接编应用程序就行啦!
个人签名
 
 
 

回复

774

帖子

2

TA的资源

纯净的硅(中级)

5
 
我这屏幕用不了触屏  自己也不会调
只能用鼠标操作,,可惜效果就差远了
 
 
 

回复

373

帖子

0

TA的资源

纯净的硅(中级)

6
 
高端大气上档次,太强了
 
 
 

回复

95

帖子

4

TA的资源

一粒金砂(中级)

7
 
楼主几寸大屏啊,

点评

7寸的!  详情 回复 发表于 2014-5-21 20:59
 
 
 

回复

1246

帖子

19

TA的资源

五彩晶圆(初级)

8
 

7寸的!

点评

楼主,你好,我想请教下你的7寸屏这个参数是怎么配置到ft5x06的? 还有,如果LCD屏不是7寸的,该怎么配置,谢谢。  详情 回复 发表于 2015-3-13 16:23
个人签名
 
 
 

回复

40

帖子

0

TA的资源

一粒金砂(中级)

9
 
太强大了,想你学习
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

10
 
搞个电容屏试试
 
 
 

回复

15

帖子

0

TA的资源

一粒金砂(中级)

11
 
你这是要做个什么产品呢?
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

12
 

楼主,你好,我想请教下你的7寸屏这个参数是怎么配置到ft5x06的?
还有,如果LCD屏不是7寸的,该怎么配置,谢谢。


 
 
 

回复

5979

帖子

8

TA的资源

版主

13
 
这个和触摸屏相关 和 配置没关系

点评

工作后好久没玩了!!  详情 回复 发表于 2015-3-17 21:50
个人签名生活就是油盐酱醋再加一点糖,快活就是一天到晚乐呵呵的忙
===================================
做一个简单的人,踏实而务实,不沉溺幻想,不庸人自扰
 
 
 

回复

1246

帖子

19

TA的资源

五彩晶圆(初级)

14
 
chenzhufly 发表于 2015-3-13 16:26
这个和触摸屏相关 和 配置没关系

工作后好久没玩了!!

个人签名
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

15
 
anananjjj 发表于 2015-3-17 21:50
工作后好久没玩了!!

希望楼主继续啊
 
 
 

回复

2

帖子

0

TA的资源

一粒金砂(初级)

16
 
楼主用电阻屏了吗?
 
 
 

回复

2

帖子

1

TA的资源

一粒金砂(初级)

17
 
非常棒 ,谢谢!
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表