移植tslib1.4
2017-02-22 07:17
218 查看
文章来源:http://blog.csdn.net/yf210yf/article/details/7352470
系统:Ubuntu 11.04
编译工具:arm-linux-gcc 4.3.2
编译目标:tslib1.4
(1)安装 arm-linux-gcc 4.3.2 ,请参照博客http://blog.csdn.net/yf210yf/article/details/6697387
(2)将tslib-1.4.tar.gz解压到任一目录
(3)进入tslib目录 cd tslib
由于tiny6410的一线触摸,所以需要改程序,照别人的:
打开tslib/plugins/input-raw.c
把其中的ts_input_read 函数改成如下:
[cpp] view plaincopyprint?
static int ts_input_read(struct tslib_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;
}
特别注意:
参照网上许多资料,上面讲的都是if (ret==-1) continue;做了以后,发现触摸屏能校准,但是运行qt程序时,光标能移动,但是点击无效。所以改成
if (ret==-1) return 0;问题解决。
(4)安装库支持:
sudo apt-get install autoconf automake libtool
(5)export PREFIX=/opt/tslib 设置目标位置
(6)./autogen.sh 用于生成configure脚本
(7)echo "ac_cv_func_malloc_0_nonnull=yes" >arm-linux.cache 产生一个cache文件arm-linux.cache,欺骗configure
(8)CC=arm-linux-gcc ./configure --host=arm-linux --prefix=$PREFIX --cache-file=arm-linux.cache
(9)make
(10)make install
编译成功后在目标位置产生/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)将/opt下的tslib文件夹拷贝到arm文件系统的/opt下
(13)设置环境变量脚本tslib.sh
[java] view plaincopyprint?
#!/bin/sh
export TSLIB_ROOT=/opt/tslib
export TSLIB_TSDEVICE=/dev/touchscreen-1wire
export TSLIB_CALIBFILE=$TSLIB_ROOT/etc/pointercal
export TSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.conf
export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts
export TSLIB_CONSOLEDEVICE=/dev/tty
export TSLIB_FBDEVICE=/dev/fb0
(14)启动arm板,命令行下执行脚本
source tslib.sh
(15)校准触摸屏
cd /opt/tslib/bin
./ts_calibrate
会出现校准画面,完成后生成pointercal 文件
(16)链接
ln -s /opt/tslib/etc/pointercal /etc/pointercal
至此,tslib1.4移植完成
系统:Ubuntu 11.04
编译工具:arm-linux-gcc 4.3.2
编译目标:tslib1.4
(1)安装 arm-linux-gcc 4.3.2 ,请参照博客http://blog.csdn.net/yf210yf/article/details/6697387
(2)将tslib-1.4.tar.gz解压到任一目录
(3)进入tslib目录 cd tslib
由于tiny6410的一线触摸,所以需要改程序,照别人的:
打开tslib/plugins/input-raw.c
把其中的ts_input_read 函数改成如下:
[cpp] view plaincopyprint?
static int ts_input_read(struct tslib_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;
}
特别注意:
参照网上许多资料,上面讲的都是if (ret==-1) continue;做了以后,发现触摸屏能校准,但是运行qt程序时,光标能移动,但是点击无效。所以改成
if (ret==-1) return 0;问题解决。
(4)安装库支持:
sudo apt-get install autoconf automake libtool
(5)export PREFIX=/opt/tslib 设置目标位置
(6)./autogen.sh 用于生成configure脚本
(7)echo "ac_cv_func_malloc_0_nonnull=yes" >arm-linux.cache 产生一个cache文件arm-linux.cache,欺骗configure
(8)CC=arm-linux-gcc ./configure --host=arm-linux --prefix=$PREFIX --cache-file=arm-linux.cache
(9)make
(10)make install
编译成功后在目标位置产生/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)将/opt下的tslib文件夹拷贝到arm文件系统的/opt下
(13)设置环境变量脚本tslib.sh
[java] view plaincopyprint?
#!/bin/sh
export TSLIB_ROOT=/opt/tslib
export TSLIB_TSDEVICE=/dev/touchscreen-1wire
export TSLIB_CALIBFILE=$TSLIB_ROOT/etc/pointercal
export TSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.conf
export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts
export TSLIB_CONSOLEDEVICE=/dev/tty
export TSLIB_FBDEVICE=/dev/fb0
(14)启动arm板,命令行下执行脚本
source tslib.sh
(15)校准触摸屏
cd /opt/tslib/bin
./ts_calibrate
会出现校准画面,完成后生成pointercal 文件
(16)链接
ln -s /opt/tslib/etc/pointercal /etc/pointercal
至此,tslib1.4移植完成
相关文章推荐
- tslib 1.4 在ARM板上移植(转)
- Tslib-1.4的移植
- 基于珠海鼎芯科技imx6开发板 tslib1.4的移植
- Tiny6410开发板+fedora9移植tslib-1.4
- Qt 4.5.3 +tslib1.4移植
- MiniGUI 1.6.10在SkyEye 1.3.1上的移植(基于tslib 1.4)
- tslib1.4移植到开发板中环境变量的设置
- real210开发板tslib1.4移植
- tslib-1.4的安装与移植
- Ubuntu 10.10下Mini2440 tslib1.4移植
- 珠海鼎芯科技imx6开发板 tslib1.4的移植
- tslib-1.4的安装与移植
- tslib1.4 移植全过程
- tslib-1.4的安装与移植
- tslib-1.4移植
- Qt4.5.3 和 tslib1.4 在 ubuntu10.10 下安装及移植
- 移植tslib1.4到友善之臂的mini2440, 终于搞定了,真是麻烦. tslib
- 移植QtEmbedded-4.5.2 tslib1.4 到 S3C2440
- Devkit8000(omap3530) tslib1.4+qtopia-core-opensource-src-4.3.5移植全记
- tslib 1.4 在ARM板上移植