tslib触摸校准库的移植与使用

目录

tslib触摸校准库的移植与使用

开发环境

一、获取tslib库的源码

二、拷贝源码压缩包到Ubuntu主机并解压

三、配置交叉编译工具链

四、编译tslib源码

五、将编译出来的相关文件拷贝到Linux开发板

六、测试tslib库


tslib触摸校准库的移植与使用

tslib是一个开源的第三方库。常用于对触摸屏的功能调试,对于触摸屏一般电阻触摸屏需要进行校准,而电容触摸屏一般不需要进行校准。下面开始对tslib库进行移植。

开发环境

debian10系统、RK3568开发板、PC主机(Ubuntu18.04)

一、获取tslib库的源码

tslib官网下载链接如下:

Releases · libts/tslib · GitHub

最新版本为tslib 1.23版本,这里我们下载 tslib-1.21.tar.gz 这个文件。

二、拷贝源码压缩包到Ubuntu主机并解压

首先使用以下命令在Ubuntu主机下创建一个tslib文件夹:

mkdir tslib

然后使用filezilla工具将下载的源码包发送给Ubuntu主机,放入到刚新建的tslib文件夹中。

接着在Ubuntu主机中使用以下命令进行解压:

tar xvf tslib-1.21.tar.gz

解压后得到tslib-1.21文件夹。

三、配置交叉编译工具链

首先,找到编译开发板内核时使用的交叉编译工具链目录,对于RK3568开发板,它的路径为:

SDK_TOP/prebuilts/gcc/linux-x86/aarch64/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin

其中:

SDK_TOP是存放RK3568的SDK包的顶层目录。这个需要根据实际存放的目录确定。

由于RK3568是64位的,它使用的交叉编译器为:

aarch64-linux-gnu-gcc

1、可以打开终端,使用以下命令配置RK3568的交叉编译工具链:

export ARCH=arm64
export CROSS_COMPILE=aarch64-linux-gnu-
export PATH=$PATH:SDK_TOP/prebuilts/gcc/linux-x86/aarch64/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin

注意:上面命令中的SDK_TOP需要按照实际的路径进行修改。

2、以上的配置还可以通过配置 .bashrc文件进行修改:

打开 .bashrc文件,将以上修改后的命令加入到文件的末尾,保存退出。之后使用以下命令更新.bashrc

source .bashrc

完成以上配置后可以使用以下命令进行测试配置是否成功:

aarch64-linux-gnu-gcc -v (使用 交叉编译工具器 -v 命令 打印交叉编译器的版本号)

如果能打印出交叉编译器的版本号,则配置成功。

四、编译tslib源码

在编译tslib的源码之前,首先使用以下命令安装相关工具:

sudo apt-get install autoconf
sudo apt-get install automake
sudo apt-get install libtool

接着,在tslib-1.21源码目录下,依次使用以下命令配置编译tslib库:

./configure --host=aarch64-linux-gnu --prefix=/

其中

--host用来指定交叉编译器,这个交叉编译器要和自己使用的对应;

--prefix用来指定宏TS_CONF路径为/etc/ts.conf;

make
make install DESTDIR=$PWD/tmp

其中

DESTDIR用来指定编译完待使用的文件路径在tslib-1.21文件夹下的tmp目录中。

执行完以上命令,在tslib-1.21目录下会有一个tmp文件夹,其下有以下五个文件夹:

bin etc include lib share

至此,tslib库已经编译成功。

五、将编译出来的相关文件拷贝到Linux开发板

首先,在ARM开发板上也创建一个名为tslib的文件夹。

接着可以使用NFS网络文件系统将上面编译出的五个文件夹拷贝到新创建的tslib文件夹中。

然后进入开发板的tslib目录,使用以下命令拷贝相关库文件和可执行文件到开发板目录中:

cp lib/*so* -d /lib
cp lib/ts /lib -rf
cp bin/* /bin
cp etc/ts.conf -d /etc

再接着打开/etc/ts.conf配置文件,找到这一行:

module_raw input

查看前面是否使用#号进行了屏蔽,如果有#号屏蔽的话,去掉#号。然后保存退出。

最后打开/etc/profile文件,将以下命令添加到文件末尾:

 export TSLIB_TSDEVICE=/dev/input/event1
 export TSLIB_CALIBFILE=/etc/pointercal
 export TSLIB_CONFFILE=/etc/ts.conf
 export TSLIB_PLUGINDIR=/lib/ts
 export TSLIB_CONSOLEDEVICE=none
 export TSLIB_FBDEVICE=/dev/fb0

这里需要注意,环境变量TSLIB_TSDEVICE是表示触摸屏设备的文件,后面的event1需要根据实际情况进行确定。

可以使用以下命令查看自己的触摸屏设备的相关信息及event文件的序号:

cat /proc/bus/input/devices

环境变量TSLIB_CALIBFILE表示校准文件,这个文件在校准后会自动生成。

环境变量TSLIB_CONFFILE是触摸配置文件。

环境变量TSLIB_PLUGINDIR表示插件文件的位置。

环境变量TSLIB_CONSOLEDEVICE表示控制台,这里使用none不进行设置。

环境变量TSLIB_FBDEVICE表示屏幕设备。这里需要根据实际情况确定。

经过上面的流程,tslib在ARM开发板上就配置好了,接着重启开发板进行测试。

六、测试tslib库

对于触摸屏一般电阻屏需要进行校准,而电容屏一般不需要进行校准。

1、电阻屏校准使用以下命令:

ts_calibrate

执行命令后,屏幕上会出现十字架,依次点击屏幕上的十字架即可生成/etc/pointercal校准文件。

2、对于多点触摸屏,使用以下命令进行测试即可:

ts_test_mt

完结。。。

  • 25
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 校准是指通过对触摸屏进行一系列操作和调整,使其能够准确地感知和响应手指或其他触摸操作。在Qt5.9.9中,tslib1.22是一个触摸校准工具。 校准触摸屏可以提高触摸精度和准确性,使得用户在使用触摸屏设备时能够更加方便和流畅地进行操作。校准旨在消除触摸屏的误差和漂移,确保触摸点与实际点击位置一致。 在Qt5.9.9中,使用tslib1.22进行触摸校准的步骤如下: 1. 确保系统已经安装了tslib1.22。如果没有安装,可以通过包管理器或在官方网站上下载并安装。 2. 打开终端或命令行界面,并进入tslib1.22安装目录。 3. 运行命令"calibrate",启动触摸校准工具。 4. 根据屏幕上的指示,依次点击几个目标点,使校准工具准确计算出触摸屏的误差和漂移。 5. 完成所有目标点的点击后,校准工具将显示校准结果。 6. 根据校准工具的指示,确认校准结果是否满意。 7. 如果满意,保存校准结果,并重启系统使之生效。 8. 如果不满意,可以重新进行校准,或者调整校准参数,直到满意为止。 通过使用tslib1.22进行触摸校准,可以提高触摸屏的精度和准确性,为用户提供更好的触摸体验。不同设备可能有不同的校准步骤或工具,可以根据具体情况选择合适的方法进行校准。 ### 回答2: 校准在qt5.9.9中是通过tslib1.22实现的。Qt是一款跨平台的开发框架,它允许开发使用C++编写高效且易于维护的应用程序。而tslib是一个触摸校准工具,用于校准触摸屏设备。 在qt5.9.9的安装过程中,tslib1.22是一个常用的工具,它能够检测触摸屏的坐标并进行校准,以确保在使用触摸屏进行交互时,触摸点的准确性和精度。 校准过程主要分为三个步骤:采集样本、计算参数和应用参数。 首先,通过ts_calibrate命令行工具或者使用图形界面的Qt触摸校准程序进行采集样本。在这个步骤中,用户需要按照指示在屏幕上轻触几个指定的位置,以获取屏幕的触摸信息。 接下来,根据采集到的样本数据,计算出校准参数。这些参数将用于校准算法,以进行更准确的触摸点转换。 最后,应用参数到系统中,以使系统能够正确地将触摸点转换为屏幕上的坐标。这样,在使用触摸屏设备时,就能够获得准确和精确的触摸体验。 总的来说,通过在qt5.9.9中使用tslib1.22进行校准,可以很好地提高触摸屏设备的准确性。这样,用户在使用触摸屏进行交互时将获得更好的用户体验。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

牧以南歌〆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值