Linux·触摸板库tslib的编译和配置

article/2025/1/16 3:48:49

作为基本输入设备,触摸板几乎是交互式嵌入式系统的标配。当我们知道了可以通过设备节点读取触摸板数据后,我们需要进一步优化这些直接获取的原生数据,比如去抖、消噪、校准等。 优化触摸板的 raw (原生)数据是一项十分复杂的算法任务,涉及诸如矩阵运算、行列式等高等数学,一般需要有比较扎实的数学背景的算法工程师来做,他们的其中一项杰出成果,便是今天要介绍的 tslib 库了。

没有 使用 tslib 库之前,操作触摸板设备的代码样子是这样的:(丑翻天!!)

经过 tslib 库整容之后,操作触摸板的代码是这样子的:(美轩完!!)

可以看到,使用了 tslib 库之后不仅得到了各种牛逼算法的保驾护航,而且代码更加简练,逻辑更加清晰,整个人瞬间变美变帅有没有!

因此,投资点时间来搞 tslib 库是值得的,下面以粤嵌的嵌入式课程环境为例(含粤嵌的GEC210开发板),具体操作步骤如下:

1,上网搞个源码库,如果你可爱到不会用百度,呃。。。没关系,(http://download.csdn.net/detail/vincent040/9662825)。

2,将源代码丢到Ubuntu,并通过以下命令解压到Ubuntu的家目录下:

tar xjvf tslib-1.4.tar.bz2 -C ~

3,进入源码顶层目录,依次执行如下命令:

mkdir ~/tslib ./configure --prefix=/home/xxx/tslib --host=arm-none-linux-gnueabi make make install

当然,我以我多年栽坑经验告诉你,以上指令哪些地方需要注意,以便节约你宝贵的生命,没错请叫我雷锋,林雷锋。

A) --prefix= 后面的路径就是你要安装 tslib 库的路径,墙裂建议设置为家目录下的空目录(比如~/tslib),因为如果设置系统其它目录的话,后期 make install 的时候会让你解决权限的问题,当你自作聪明地使用sudo的时候,系统却又可能会抱怨找不到工具链,因此除非你是 Ubuntu科学家,对系统环境变量了如指掌,否则不要用小白的身份去作死,乖乖将 --prefix 指定为 ~/tslib 即可。

B) --host= 后面就是你工具链的前缀,注意别眼花写错了。

C) make的时候,一般会出现如下错误:

这个问题怎么解决呢?莫方,我看你有缘,今日将祖传秘方传授与你(默默承认我这年龄不应有的智慧和大度):那就是,将源码顶层目录下的 config.h文件的第181行,删除!然后重新 make ,问题解决。

最后,你将会在 /home/xxx/tslib 下发现如下目录:

接下来,你需要想办法,将这一堆文件搞到开发板里面去,一般先将它们打包压缩,然后通过串口或者网络协议传输到开发板,然后在开发板中解压即可。

库都拷贝到了开发板,是不是就万事大吉了呢?非也,你辛辛苦苦干的这些活儿,开发板系统是无知无觉的,你还必须这么做:

1,将 tslib/etc/ts.config 中的第2行,由原来这个样子:

改成这个样子

没错,就是把第 2 行前面的井号 # 和空格删除,注意,我说井号和空格,我没说井号,好之为之。

2,在开发板系统的 /etc/profile 文件中,增加如下内容(假设你把 tslib 库放到了开发板的根目录下,如果不是,以下路径请进行相应的修改):

export TSLIB_ROOT=/tslib/lib export TSLIB_TSDEVICE=/dev/event0 export TSLIB_FBDEVICE=/dev/fb0 export TSLIB_CONFFILE=/tslib/etc/ts.conf export TSLIB_PLUGINDIR=/tslib/lib/ts export TSLIB_CONSOLEDEVICE=none export TSLIB_CALIBFILE=/tslib/calibration export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/tslib/lib

解释一下上面的环境变量:

TSLIB_ROOT 指明TSLIB库在开发板中的具体位置,要以实际情况为准。 TSLIB_TSDEVICE 指明开发板触摸屏的设备节点文件名称。 TSLIB_FBDEVICE 指明开发板LCD的设备节点文件名称。 TSLIB_CONFFILE 指明TSLIB库的配置文件的具体位置,要以实际情况为准。 TSLIB_PLUGINDIR 指明TSLIB库的插件模块的具体位置,要以实际情况为准。 TSLIB_CONSOLEDEVICE 指明终端名称,none意为让系统自动匹配。 TSLIB_CALIBFILE 指明校正文件的位置,该文件在执行ts_calibrate之后自动生成。 LD_LIBRARY_PATH 是开发板系统的动态库链接路径

3,最后的最后,重启开发板,让系统重新读取 /etc/profile 文件的内容,有必要的话执行以下 /tslib/bin/ts_calibrate 校准屏幕,大功告成(再再一次默默承认这个年纪不该有的智慧)!


http://chatgpt.dhexx.cn/article/bMELXG3A.shtml

相关文章

嵌入式开发之tslib-1.4移植

目录 前言 一、下载tslib 二、编译和安装 1.编写编译脚本 2.编译时遇到的问题 三、移植到目标机 1.tslib文件移植 2.修改ts.conf内容 3.配置环境变量 4.测试 总结 前言 tslib是一个开源的程序,能够为触摸屏驱动获得的采样提供诸如滤波、去抖、校准等功能…

QT tslib安装编译

1.下载源码 git clone https://github.com/libts/tslib.git 2.安装其他工具 sudo apt-get install automake sudo apt-get install autogen autoconf sudo apt install automake libtool m4 autoconf 3.进入目录,配置 ubuntuubuntu:~/Downloads/tslib$ ./auto…

QT和tslib的移植

QT(5.12.9)和tslib(1.4)的移植 前提条件: 添加交叉编译工具链到环境变量中 vim ~/.bashrc export PATHtoolchain_absolute_dir:$PATH # 保存退出source ~/.bashrc# 验证 echo $PATHTSlib移植 1、tslib源码获取 # …

tslib-1.21 ts_setup详解

几个月前买了Imx6ull的开发板,跟着韦东山老师的课程,把linux应用,驱动基础学完了,紧跟着课程又完成了第一个linux项目-电子量产工具。 虽然做完了项目,但毕竟不是完全靠自己编写的,所以决定重头看一下项目的…

tslib库编译与移植

tslib库编译与移植 1.tslib库简介 tslib 是电阻式触摸屏用于校准的一个软件库,是一个开源的程序,能够为触摸屏驱动获得的采样提供诸如滤波、去抖、校准等功能,通常作为触摸屏驱动的适配层,为上层的应用提供了一个统一的接口。 2…

tslib安装以及使用

tslib的一些小问题:https://blog.csdn.net/xiaodingqq/article/details/80807362 1.先在网上下载 tslib-1.4.tar.gz压缩包 2.然后在ubuntu编译: tar xzf tslib-1.4.tar.gzcd tslib./autogen.sh      mkdir tmp          //创建安…

使用 tslib 库

tslib 是专门为触摸屏设备所开发的 Linux 应用层函数库,并且是开源。 tslib 为触摸屏驱动和应用层之间的适配层, 它把应用程序中读取触摸屏 struct input_event 类型数据(这是输入设备上报给应用层的原始数据)并进行解析的操作过程…

tslib 的安装与使用

5 tslib 需要安装好触摸屏驱动 tslib 是一个触摸屏的开源库,可以使用它来访问触摸屏设备,可以给输入设备添加各种“filter”(过滤器,就是各种处理),地址是:http://www.tslib.org/。 编译 tslib 后,可以得到…

第三方库介绍——tslib库

文章目录 tslib 简介tslib 框架分析tslib 的框架 交叉编译、测试 tslibtslib应用程序 tslib 简介 tslib 是一个触摸屏的开源库,可以使用它来访问触摸屏设备,可以给输入设备添加各种“ filter ”( 过滤器,就是各种处理) 编译 tslib 后&#…

tslib框架分析

tslib时一个触摸屏的开源库,可以使用它来访问触摸屏设备,可以输入给设备添加各种"filter",地址这里 编译tslib后,可以得到libts库,还可以得到各种工具:校准工具、测试工具 一、tslib框架分析 …

暑假实训成果及心得

暑假实训成果及心得 本次暑假实训主要从大数据的现况及前景出发,通过大数据发展的趋势及鲲鹏云大数据对大数据有了一个全新的认识。 自我介绍 本着对大数据热爱,我毅然决然的踏上了这条大数据的不归路。第一次接触大数据是在高三的语文试卷里&#xf…

大学生mysql实训心得_大学生实训心得体会范文(精选3篇)

大学生实训心得体会范文(精选3篇) 当在某些事情上我们有很深的体会时,往往会写一篇心得体会,这样可以帮助我们总结以往思想、工作和学习。一起来学习心得体会是如何写的吧,以下是小编为大家收集的大学生实训心得体会范文(精选3篇),仅供参考,欢迎大家阅读。 大学生实训心得…

谈谈我的实习感受~

写在前面 有粉丝私信说,让我出一篇关于工作感受的文章,今天他来了。 初来乍到 刚入职的时候,一个词形容——一脸懵逼,不过有人带着会好很多,他会告诉你需要做什么,当然了刚来的一两周一般都是熟悉公司业务&…

c语言实验报告总结通用版,大学生实训心得体会(通用11篇)

大学生实训心得体会(通用11篇) 我们心里有一些收获后,好好地写一份心得体会,这样能够培养人思考的习惯。很多人都十分头疼怎么写一篇精彩的心得体会,以下是小编精心整理的大学生实训心得体会(通用11篇),欢迎大家分享。 大学生实训心得体会1 在我们过去的读书生涯中,有一个…

云计算实训报告总结_实训报告心得体会(通用5篇)

实训报告心得体会(通用5篇) 我们在一些事情上受到启发后,马上将其记录下来,这样就可以总结出具体的经验和想法。那么如何写心得体会才能更有感染力呢?以下是小编帮大家整理的实训报告心得体会(通用5篇),欢迎阅读,希望大家能够喜欢。 实训报告心得体会1 我对于visualbasic的…

大学生html5实训报告,大学生实训心得体会范文(精选5篇)

大学生实训心得体会范文(精选5篇) 当我们积累了新的体会时,应该马上记录下来,写一篇心得体会,如此就可以提升我们写作能力了。你想好怎么写心得体会了吗?下面是小编整理的大学生实训心得体会范文(精选5篇),仅供参考,大家一起来看看吧。 大学生实训心得体会1 五月,在各种…

html5实训总结200字,实训心得体会范文200字(通用5篇)

实训心得体会范文200字(通用5篇) 当我们心中积累了不少感想和见解时,写心得体会是一个不错的选择,这样就可以通过不断总结,丰富我们的思想。那么心得体会怎么写才恰当呢?下面是小编收集整理的实训心得体会范文200字(通用5篇),仅供参考,大家一起来看看吧。 实训心得体会1 …

大学生html5实训心得体会,实训心得体会600字(精选5篇)

实训心得体会600字(精选5篇) 当我们心中积累了不少感想和见解时,写一篇心得体会,记录下来,这样我们就可以提高对思维的训练。但是心得体会有什么要求呢?下面是小编帮大家整理的实训心得体会600字(精选5篇),欢迎阅读,希望大家能够喜欢。 实训心得体会600字1 时间过的真快,…

上第一次实训课感想

上第一次Java实训课感想 第一天开始实训,有点担心自己不会做,但第一天分配的任务比我想象的要简单一点,是用navicat创建数据表,用到了mysql的知识。 比较麻烦的就是给表导入数据,因为数据比较多,所以比较麻烦,但总体来说还好。 然后用百度脑图创建了一张思维导图,如下…

html怎么制作表单,HTML如何制作表单

制作表单的方法:首先使用form标签创建表单,搭建表单框架;然后使用input标签创建文本输入框和提交按钮;接着使用select和option标签创建下拉列表;最后使用textarea标签创建文本区域即可。 本教程操作环境:wi…