移植tslib1.4到tiny6410

本文介绍如何针对Tiny6410进行一线触摸改造,包括修改ts_input_read函数的具体实现,安装所需库,配置及编译tslib,以及移植后的配置步骤。

因为很久之前写的,不记得参考了哪些文献,如果涉及到版权问题,请联系本人。


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

打开tslib/plugins/input-raw.c

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

static int ts_input_read(structtslib_module_info *inf, 

   struct ts_sample *samp, int nr) 

   printf ("HEAD=== ts_input_read in INPUT-RAW.C\n"); 

   struct tslib_input *i = (struct tslib_input*)inf; 

   struct tsdev *ts = inf->dev; 

   struct input_event ev; 

   int ret = nr; 

   int total = 0; 

   unsigned long jjts; 

   while(total<nr) 

   { 

   ret =read(ts->fd, &jjts,sizeof(jjts)); 

   //if (ret==-1) continue; 

   if (ret==-1) return 0; 

   samp->pressure=(jjts>>31)& 0x01; 

   samp->x=(jjts>>16)& 0xffff; 

    samp->y=jjts & 0xffff; 

   samp++; 

   total++; 

   } 

 ret=total; 

 return ret; 

 

安装所需要的库:

apt-get install  autoconf automake  libtool

 

在tslib文件夹下执行

export PREFIX=/opt/tslib   

./autogen.sh 

echo"ac_cv_func_malloc_0_nonnull=yes" >arm-linux.cache    产生一个cache文件arm-linux.cache,欺骗configure

CC=arm-linux-gcc ./configure--host=arm-linux --prefix=$PREFIX --cache-file=arm-linux.cache

make

make install

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

module_raw input

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

将/opt下的tslib文件夹拷贝到arm文件系统的/opt下

 

进入arm开发板设置/etc/profile

vi /etc/profile

在文件末加入:

source /etc/profile

使其生效

确保/opt/tslib/etc 和/etc下都没有pointercal.有的话删除

将ts__calibrate设为开机启动,校准后生成pointercal 文件

链接ln -s /opt/tslib/etc/pointercal /etc/pointercal

至此,tslib1.4移植完成

进入/opt/tslib /bin
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值