[Full]
完整版
[Rss]
订阅
[Xml]
无图版
[Xhtml]
无图版
Rss
& SiteMap
曙海教育集团论坛
http://www.bjzhda.cn
曙海教育集团论坛
◎
曙海教育集团论坛
→
ARM技术讨论专区
→
Arm-Linux 之 tslib
共1 条记录, 每页显示 10 条, 页签:
[1]
[浏览完整版]
标题:Arm-Linux 之 tslib
1楼
wangxinxin
发表于:2010-11-18 9:27:26
以下内容含脚本,或可能导致页面不正常的代码
<font color="#000000"><font face="宋体 "><font style="FONT-SIZE: 16pt">1. </font></font><font face="宋体 "><font style="FONT-SIZE: 16pt"><span class="t_tag" onclick="tagshow(event)" href="tag.php?name=tslib">tslib</span></font></font><font face="宋体 "><font style="FONT-SIZE: 16pt">是什么</font></font></font> <p align="left"> <p align="left"><font color="#000000"><font face="宋体 "><font style="FONT-SIZE: 12pt">tslib</font></font><font face="宋体 "><font style="FONT-SIZE: 12pt">是一个开源的触摸屏支持库,它</font></font><font face="宋体 "><font style="FONT-SIZE: 12pt">是</font></font><font face="宋体 "><font style="FONT-SIZE: 12pt">handhelds.org</font></font><font face="宋体 "><font style="FONT-SIZE: 12pt">上<span class="t_tag" onclick="tagshow(event)" href="tag.php?name=%E5%BC%80%E5%8F%91">开发</span>的</font></font><font face="宋体 "><font style="FONT-SIZE: 12pt">,</font></font><font face="宋体 "><font style="FONT-SIZE: 12pt">作者是</font></font><font face="宋体 "><font style="FONT-SIZE: 12pt">Russul King,Douglas Lowder</font></font><font face="宋体 "><font style="FONT-SIZE: 12pt">和</font></font><font face="宋体 "><font style="FONT-SIZE: 12pt">Chris Larson</font></font><font face="宋体 "><font style="FONT-SIZE: 12pt">。</font></font><font face="宋体 "><font style="FONT-SIZE: 12pt">它给上层的<span class="t_tag" onclick="tagshow(event)" href="tag.php?name=%E5%BA%94%E7%94%A8">应用</span><span class="t_tag" onclick="tagshow(event)" href="tag.php?name=%E7%A8%8B%E5%BA%8F">程序</span></font></font><font face="宋体 "><font style="FONT-SIZE: 12pt">,</font></font> </font><font face="宋体 "><font style="FONT-SIZE: 12pt">为不同的触摸屏提供了一个统一的<span class="t_tag" onclick="tagshow(event)" href="tag.php?name=%E6%8E%A5%E5%8F%A3">接口</span>。它提供诸如滤波、去抖、校准之类的<span class="t_tag" onclick="tagshow(event)" href="tag.php?name=%E5%8A%9F%E8%83%BD">功能</span>。下面是一段英文的介绍,我英文水平有限,怕翻译错了,因此直接附在下面。</font></font> <font face="宋体 "><font size="3"><font color="#000000">Tslib About</font></font></font> <font face="宋体 "><font size="3"><font color="#000000">Tslib is an abstraction <span class="t_tag" onclick="tagshow(event)" href="tag.php?name=layer">layer</span> for touchscreen panel events, as well as a filter stack for the manipulation of those events. It was created by Russell King, of <span class="t_tag" onclick="tagshow(event)" href="tag.php?name=arm">arm</span>.linux.org.uk. Examples of implemented filters include jitter smoothing and the calibration transform.</font></font></font> <font face="宋体 "><font size="3"><font color="#000000">Tslib is generally used on embedded devices to provide a common user space interface to touchscreen functionality. It is supported by Kdrive (aka TinyX) and OPIE as well as being used on a number of commercial Linux devices including the Nokia 770.</font></font></font> <p align="left"> <p align="left"><font face="宋体 "><font style="FONT-SIZE: 12pt"></font></font> <p align="left"> <p align="left"><font face="宋体 "><font style="FONT-SIZE: 12pt"></font></font> <p align="left"> <p align="left"><font face="宋体 "><font style="FONT-SIZE: 12pt"></font></font> <p align="left"> <p align="left"><font face="宋体 "><font style="FONT-SIZE: 16pt">2. </font></font><font face="宋体 "><font style="FONT-SIZE: 16pt">如何取得tslib源码</font></font> <p align="left"> <p align="left"><font face="宋体 "><font style="FONT-SIZE: 12pt">tslib</font></font><font face="宋体 "><font style="FONT-SIZE: 12pt">的<span class="t_tag" onclick="tagshow(event)" href="tag.php?name=%E5%AE%98%E6%96%B9">官方</span><span class="t_tag" onclick="tagshow(event)" href="tag.php?name=%E4%B8%8B%E8%BD%BD">下载</span>地址为一个CVS服务器,下载方法为:</font></font> <p align="left"> <p align="left"><font face="宋体 "><font style="FONT-SIZE: 12pt">#export CVSROOT=:pserver:cvs@pubcvs.arm.linux.org.uk:/mnt/src/cvsroot</font></font> <p align="left"> <p align="left"><font face="宋体 "><font style="FONT-SIZE: 12pt">#cvs login</font></font> <p align="left"> <p align="left"><font face="宋体 "><font style="FONT-SIZE: 12pt">(passwd: anoncvs)</font></font> <p align="left"> <p align="left"><font face="宋体 "><font style="FONT-SIZE: 12pt">#cvs co tslib</font></font> <font face="宋体 "><font color="#000000"></font></font> <font face="宋体 "><font color="#000000">也许是因为<span class="t_tag" onclick="tagshow(event)" href="tag.php?name=%E7%BD%91%E7%BB%9C">网络</span>的原因,我的代码并不是通过这种方式获得的。在网上可以找到两个版本:1.3及1.4,还有个叫release 1.0的,我用的就是这个,其实也就是tslib 1.4。建议使用新版本的。我的是从下面这个地址下载的</font></font> <font style="FONT-SIZE: 9pt"><a href="http://prdownload.berlios.de/tslib/tslib-1.0.tar.bz2" target="_blank"><font color="#800080">http://prdownload.berlios.de/tslib/tslib-1.0.tar.bz2</font></a></font><font face="宋体 "></font> <font face="宋体 "><font color="#000000"></font></font> <font color="#000000"><font face="宋体 "><font style="FONT-SIZE: 15pt">3. </font></font><font face="宋体 "><font style="FONT-SIZE: 15pt">tslib 1.4</font></font><font face="宋体 "><font style="FONT-SIZE: 15pt">的<span class="t_tag" onclick="tagshow(event)" href="tag.php?name=%E7%BC%96%E8%AF%91">编译</span></font></font></font> <font face="宋体 "><font color="#000000">#export PREFIX=/usr/armlinux/tslib</font></font> <font color="#000000"><font face="Calibri ">#./autogen.sh<font face="宋体 "></font></font></font> <font face="宋体 "><font color="#000000">#echo "ac_cv_func_malloc_0_nonnull=yes" >arm-linux.cache </font></font> <font face="宋体 "><font color="#000000">#./configure --host=arm-linux --prefix=$PREFIX --cache-file=arm-linux.cache</font></font> <font face="宋体 "><font color="#000000">#<span class="t_tag" onclick="tagshow(event)" href="tag.php?name=make">make</span></font></font> <font face="宋体 "><font color="#000000">#make install</font></font> <font face="宋体 "><font color="#000000">对于PREFIX,可以随便指定其他目录,建议与<span class="t_tag" onclick="tagshow(event)" href="tag.php?name=%E8%BF%90%E8%A1%8C">运行</span><span class="t_tag" onclick="tagshow(event)" href="tag.php?name=%E7%8E%AF%E5%A2%83">环境</span>一致。</font></font> <font color="#000000"><font face="宋体 "><font style="FONT-SIZE: 15pt">4. </font></font><font face="宋体 "><font style="FONT-SIZE: 15pt">tslib 1.4</font></font><font face="宋体 "><font style="FONT-SIZE: 15pt">的配置</font></font></font> <font color="#000000"><font face="宋体 ">tslib</font><font face="宋体 ">的config信息首先从<span class="t_tag" onclick="tagshow(event)" href="tag.php?name=%E7%B3%BB%E7%BB%9F">系统</span>的环境变量读取,从环境变量读取的参数有下面一些</font></font> <font color="#000000"><font face="宋体 ">TSLIB_TSEVENTTYPE </font><font face="宋体 ">虽然很多文档提到了这个参数,但我在tslib 1.4的源代码里面没有找到这个参数,这个参数应该已经没有什么用了</font></font> <font color="#000000"><font face="宋体 ">TSLIB_CONSOLEDEVICE </font><font face="宋体 ">控制台<span class="t_tag" onclick="tagshow(event)" href="tag.php?name=%E8%AE%BE%E5%A4%87">设备</span><span class="t_tag" onclick="tagshow(event)" href="tag.php?name=%E6%96%87%E4%BB%B6">文件</span>名</font></font> <font color="#000000"><font face="宋体 ">TSLIB_FBDEVICE <span class="t_tag" onclick="tagshow(event)" href="tag.php?name=framebuffer">framebuffer</span></font><font face="宋体 ">的文件名</font></font> <font color="#000000"><font face="宋体 ">TSLIB_TSDEVICE </font><font face="宋体 ">触屏的文件名</font></font> <font color="#000000"><font face="宋体 ">TSLIB_CALIBFILE </font><font face="宋体 ">触屏校正信息保存文件</font></font> <font color="#000000"><font face="宋体 ">TSLIB_CONFFILE tslib</font><font face="宋体 ">配置文件</font></font> <font color="#000000"><font face="宋体 ">TSLIB_PLUGINDIR tslib</font><font face="宋体 ">需要加载模块所在的目录</font></font> <font face="宋体 "><font color="#000000">我们可以使用下面的指令<span class="t_tag" onclick="tagshow(event)" href="tag.php?name=%E8%AE%BE%E7%BD%AE">设置</span>以上参数</font></font> <font face="宋体 "><font color="#000000">#export TSLIB_CONSOLEDEVICE=none</font></font> <font face="宋体 "><font color="#000000">#export TSLIB_FBDEVICE=/dev/fb0</font></font> <font face="宋体 "><font color="#000000">#export TSLIB_TSDEVICE=/dev/touchscreen/0</font></font> <font face="宋体 "><font color="#000000">#export TSLIB_CALIBFILE=/etc/pointercal</font></font> <font face="宋体 "><font color="#000000">#export TSLIB_CONFFILE=/etc/ts.conf</font></font> <font face="宋体 "><font color="#000000">#export TSLIB_PLUGINDIR=/lib/ts</font></font> <font color="#000000"><font face="宋体 ">tslib</font><font face="宋体 ">的还有一些config信息从TSLIB_CONFFILE所指定的文件给出,一般的这个文件的名字叫ts.conf,它给出的信息主要是指运行时需要加载哪些模块。在源码的etc目录下有个ts.conf文件, 但这个ts.conf文件是无法用的,首先他注释了加载哪个所有的module_raw, 而且他的大小超过了512个字节,因为tslib里读取ts.conf的buffer只有512个字节,超过512字节的ts.conf可能会引起不可预知的错误,所以建议选定你所需要加载的module_raw模块后,删除所有不需要的行。一个完整tslib 1.4的ts.conf文件如下:</font></font> <font face="Calibri "><font color="#000000">module_raw input module pthres pmin=1 module variance delta=30 module dejitter delta=100 module linear</font></font> <font color="#000000"><font face="宋体 ">第一行告诉</font><font face="Calibri ">tslib</font><font face="宋体 ">从</font><font face="Calibri ">linux</font><font face="宋体 ">的<span class="t_tag" onclick="tagshow(event)" href="tag.php?name=%E8%BE%93%E5%85%A5">输入</span>设备读取<span class="t_tag" onclick="tagshow(event)" href="tag.php?name=%E6%95%B0%E6%8D%AE">数据</span>,需要用到的模块,这里指定的模块为</font><font face="Calibri ">input</font><font face="宋体 ">,具体需要用到哪个模块,需要参考其他数据;第二行的</font><font face="Calibri ">pthres </font><font face="宋体 ">为</font><font face="Calibri ">Tslib </font><font face="宋体 ">提供的触摸屏灵敏度门槛插件;第三行指定的模块</font><font face="Calibri ">variance </font><font face="宋体 ">为</font><font face="Calibri ">Tslib </font><font face="宋体 ">提供的触摸屏滤波算法插件;第四行的</font><font face="Calibri ">dejitter </font><font face="宋体 ">为</font><font face="Calibri ">Tslib </font><font face="宋体 ">提供的触摸屏去噪算法插件;第五行</font><font face="Calibri ">linear </font><font face="宋体 ">为</font><font face="Calibri ">Tslib </font><font face="宋体 ">提供的触摸屏坐标变换插件。这些需要加载的模块从</font><font face="宋体 ">TSLIB_PLUGINDIR</font><font face="宋体 ">指定的目录加载。</font></font> <font color="#000000"><font face="宋体 "><font style="FONT-SIZE: 16pt">5. </font></font><font face="宋体 "><font style="FONT-SIZE: 16pt">Tslib</font></font><font face="宋体 "><font style="FONT-SIZE: 16pt">的测试</font></font></font> <font face="宋体 "><font color="#000000">编译和配置完成后,将相关文件复制到arm的运行环境下,配置好后,运行ts_calibrate进行校正,如果能够正常校正,恭喜你,你可以做其他事情了,如果不能,查查什么地方配置错了吧</font></font>
说明:
上面显示的是代码内容。您可以先检查过代码没问题,或修改之后再运行.
共1 条记录, 每页显示 10 条, 页签:
[1]
Copyright © 2000 - 2009
曙海
教育集团
Powered By
曙海教育集团
Version 2.2
Processed in .01563 s, 2 queries.
[Full]
完整版
[Rss]
订阅
[Xml]
无图版
[Xhtml]
无图版