移植tslib1.4到tiny6410

来源:互联网 发布:收发存excel怎么编程 编辑:程序博客网 时间:2024/05/21 17:13

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


由于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
0 0
原创粉丝点击