关于 tslib-1.4配置Tiny6410触摸屏

环境:ubuntu
触摸屏插件: tslib-1.4.tar.gz
交叉编译器:arm-linux-gcc4.5.1


由于tiny6410的一线触摸,所以需要改程序,照别人的: 

 

打开tslib/plugins/input-raw.c

把其中的ts_input_read 函数改成如下:

  1. static int ts_input_read(struct tslib_module_info *inf,  
  2.     struct ts_sample *samp, int nr)  
  3. {  
  4.     printf ("HEAD=== ts_input_read in INPUT-RAW.C\n");  
  5.     struct tslib_input *i = (struct tslib_input*)inf;  
  6.     struct tsdev *ts = inf->dev;  
  7.     struct input_event ev;  
  8.     int ret = nr;  
  9.     int total = 0;  
  10.     unsigned long jjts;  
  11.     while(total<nr)  
  12.     {  
  13.         ret =read(ts->fd, &jjts,sizeof(jjts));  
  14.   
  15.        if (ret==-1continue;  
  16.   
  17.       samp->pressure=(jjts>>31)& 0x01;  
  18.       samp->x=(jjts>>16)& 0xffff;  
  19.       samp->y=jjts & 0xffff;  
  20.           
  21.       samp++;  
  22.       total++;  
  23.     }  
  24.   
  25.     ret=total;  
  26.     return ret;  
  27.   


一.下载并编译tslib-1.4
export PATH=/usr/local/arm/3.4.1/bin:$PATH(若交叉编译器已设置好,此步可省)
tar xzvf tslib-1.4.tar.gz
cd tslib/
./autogen.sh
echo "ac_cv_func_malloc_0_nonnull=yes" >arm-linux.cache
./configure --host=arm-linux --cache-file=arm-linux.cache --enable-inputapi=no -prefix=/usr/local/tslib-1.4

make

make install

cd /usr/local/tslib-1.4/etc
vi ts.conf
去掉module_raw input前面的#号
我的最终ts.conf内容为:
module_raw input
module pthres pmin=1
module variance delta=30
module dejitter delta=100
module linear

编译成功后在目标位置产生/bin、/etc、/include、/lib 4个文件夹
(11)修改/opt/tslib/etc/ts.conf 文件,删除其中内容,改为

           module_raw input

           module pthres pmin=1
           module variance delta=30
           module dejitter delta=100
           module linear

第一行是tslib从linux的输入设备读取数据时需要用到的模块,这里指定的模块为input,具体需要用到哪个模块,需要参考其他数据。
第二行的pthres为Tslib提供的触摸屏灵敏度门槛插件。
第三行的variance为Tslib提供的触摸屏滤波算法插件。
第四行的dejitter为Tslib 提供的触摸屏去噪算法插件。
第五行linear为Tslib提供的触摸屏坐标变换插件。

(12)将/usr/local下的tslib-1.4文件夹拷贝到arm文件系统的/usr/local/下

(13)设置环境变量脚本tslib.sh

  1.    #!/bin/sh  
  2. export TSLIB_ROOT=/usr/local/tslib-1.4
  3. export TSLIB_TSDEVICE=/dev/touchscreen-1wire  
  4. export TSLIB_CALIBFILE=$TSLIB_ROOT/etc/pointercal  
  5. export TSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.conf  
  6. export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts  
  7. export TSLIB_CONSOLEDEVICE=/dev/tty  
  8. export TSLIB_FBDEVICE=/dev/fb0     

(14)启动arm板,命令行下执行脚本

          source tslib.sh


在tiny6410板子上 cd /usr/local/tslib-1.4/ bin
./.....即可(几个测试例子)


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值