下图是我的交叉编译环境的版本: 1、下载tslib github下载地址:https://github.com/libts/tslib/releases/tag/1.22 tslib官网:http ://www.tslib.org/ 解压: tar xvf tslib-1.22.tar.gz cd tslib-1.22 依次执行: # step 1 . /_install --cache-file=arm-linux.cache # step 4 make -j8 && make install 可以查看一下: zh@zh-pc:~/桌面/soft/tslib -1.22$ cd _install/ zh@zh-pc:~/桌面/soft/tslib-1.22/_install$ zh@zh-pc:~/桌面/soft/tslib-1.22/_install$ tree . ├── etc │ └── ts.conf ├── include │ └── tslib.h └── lib ├── libts.la ├── libts.so
1.先在网上下载 tslib-1.4.tar.gz压缩包 2.然后在ubuntu编译: tar xzf tslib-1.4.tar.gz cd tslib . =/dev/event0 //ts设备文件(触摸屏):event0 export TSLIB_CALIBFILE=/etc/pointercal //校验文件(calibrate file),存放校验值 export TSLIB_CONFFILE=/etc/ts.conf //配置文件 export TSLIB_PLUGINDIR =/lib/ts //插件文件 export TSLIB_CONSOLEDEVICE=none //终端控制台设为NULL export TSLIB_FBDEVICE=/dev/fb0 //fb设备文件(LCD):fb0 校验测试: ts_calibrate
~/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_CONFFILE 指明TSLIB库的配置文件的具体位置,要以实际情况为准。 TSLIB_PLUGINDIR 指明TSLIB库的插件模块的具体位置,要以实际情况为准。
首发平台:微信公众号baiwenkeji 很多人在做触摸屏驱动实验,移植tslib库时,可能会出现错误提示“selected device is not a touchscreen I understand 原因非常简单:tslib中的输入系统和内核input系统版本不匹配,当然也有其他原因,不过这是最常见的情况,先分析一下tslib代码,观察这句话在什么情况下被打印就知道了。 将tslib库中c和H文件加入Source Insight,跟踪源码发现,在 input-raw.c文件中有这么一段代码: static int check_fd(struct tslib_input tslib中的input版本号是在交叉编译的时候指定的,赋值给version,而EV_VERSION是在内核中定义,笔者做tslib时,用的2.6.39内核,这个EV_VERSION定义在linux源码的 .将arm交叉编译工具中的头文件库中的 linux/input.h中的 define EV_VERSION 0x010000 改为 define EV_VERSION 0x010001 然后再编译tslib
1 tslib编译 tslib之前在测试触摸屏的时候使用过,这里再来记录一下编译过程。 -2/tslib make make install 编译完成后,make install会将编译成果复制到指定的tslib目录中: 将tslib文件夹先整个打包为arm-tslib.tar.bz2 2 /home/xxpcb/myTest/imx6ull/otherlib/tslib-2/tslib/include 为tslib 头文件路径。 3 /home/xxpcb/myTest/imx6ull/otherlib/tslib-2/tslib/lib 为tslib相关库文件路径。 =$TSLIB_ROOT/etc/ts.conf export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts export TSLIB_CALIBFILE=/etc/pointercal
编译 tar xJf tslib-1.21.tar.xz cd tslib-1.21 . -d /etc 使用tslib export TSLIB_TSDEVICE=/dev/input/event3 export TSLIB_CALIBFILE=/etc/pointercal export TSLIB_CONFFILE=/etc/ts.conf export TSLIB_PLUGINDIR=/lib/ts export TSLIB_CONSOLEDEVICE=none export TSLIB_FBDEVICE 可以自动扫描到触摸屏设备, 使用tslib时就不需要设置这些环境变量: export TSLIB_TSDEVICE=/dev/input/event3 export TSLIB_CALIBFILE=/ =none export TSLIB_FBDEVICE=/dev/fb0 slib可以自动扫描到触摸屏设备, 使用tslib时就不需要设置这些环境变量: export TSLIB_TSDEVICE=/
TSLib{ public static TAG:string = 'TS'; public libname:string = 'TSLib'; private name:string 测试文件两个JSTest和TSTest 2.1 js引用ts测试代码JSTest 2.1.1 引用ts库 import TSLib from '. /TSLib'; 2.1.2 调用ts库代码 if(JSLib ! /JSLib'); 2.2.2 调用js库代码 if(TSLib ! = null){ cc.log('js 调用 ts'); cc.log(TSLib); let ts = new TSLib(); ts.print(); cc.log
tslib对电阻屏的支持是比较好的,而且我的系统里也移植 了tslib相关的库,那么直接拿来用就好了。 1、tslib在文件系统中的配置 如果想要开机就自动加载tslib环境,则需要在rcS中添加 source /etc/profile ,让环境变量生效,这 样tslib环境在Linux系统启动后,进入文件系统的时候便能够自动将相关的环境变量加载成功 另外,还需要注意的地方是在Makefile中需要添加tslib的路径: # # Makefile # CC := arm-linux-gnueabihf-gcc LVGL_DIR_NAME ? = -lm -lts -lpthread -L/home/yangyx/share/tslib_1.22/lib/ BIN = wifi_scan_list ....省略.... .... 如上所示,我们需要在LDFLAGS处添加tslib库的路径: -L/home/yangyx/share/tslib_1.22/lib/ 这样才能识别我们在程序中调用的tslib接口。
1.1 tslib库移植 首先下载tslib库的源码:https://github.com/libts/tslib/tags 目前最新的是1.22,不过本篇先使用1.21版本 1.1.1 ubuntu 上编译tslib 将下载的源码拷贝到ubuntu虚拟机中,然后解压: tar xvf tslib-1.21.tar.bz2 编译 tslib 的时候需要先在 ubuntu 中安装一些文件 sudo apt-get TSLIB_PLUGINDIR=/lib/ts export TSLIB_CONSOLEDEVICE=none export TSLIB_FBDEVICE=/dev/fb0 TSLIB_TSDEVICE :校准文件,此文件可以不存在,校准的时候会自动生成 **TSLIB_CONFFILE **:触摸配置文件,在移植 tslib 的时候会生成 TSLIB_PLUGINDIR :tslib 插件目录位置 TSLIB_CONSOLEDEVICE :控制台设置,这里不设置,设为none TSLIB_FBDEVICE:FB 设备,也就是屏幕,也要根据实际情况配置设置为/dev/fb0或是其它 1.2 tslib
重启后执行: export TSLIB_TSDEVICE=/dev/input/event1 export TSLIB_CONFFILE=/etc/ts.conf export TSLIB_CALIBFILE =/etc/pointercal export TSLIB_PLUGINDIR=/usr/lib/ts export TSLIB_CONSOLEDEVICE=none export QT_QPA_FB_TSLIB =1 export QT_QPA_GENERIC_PLUGINS=tslib:/dev/input/event1 ts_calibrate c.
接下来我们准备下编译QT前先编译tslib这个在底层使用触摸屏的时候比较方便。 这里我选择的1.15版本的,这个都可以,本身Tina再构建的时候好像就带了tslib。 arm-openwrt-linux ac_cv_func_malloc_0_nonnull=yes--cache-file=arm-linux.cache -prefix=/home/v853/QT/tslib -1.15/arm-tslib 进行配置生成makefile文件。 然后直接make,make结束之后就是make install,这样就会在我们配置的文件夹中生成我们的arm-tslib。 这里其实也只是为了QT交叉编译找一下头文件库这些。 \ -I /home/v853/QT/tslib-1.15/arm-tslib/include \ -L /home/v853/QT/tslib-1.15/arm-tslib/lib
--importHelpers 标志和 tslib TypeScript 2.1 引入了一个新的 --importHelpers 标志,它使编译器从tslib(一个外部帮助库)导入帮助函数,而不是将它们内联到每个文件中 安装 tslib 方式如下: npm install tslib --save 再次编译 Reac t组件,这次使用 --importHelpers 标志: "use strict"; var tslib _1 = require("tslib"); var React = require("react"); var FooComponent = (function (_super) { tslib ") 调用和第5行中的 tslib_1. 此文件中不再内嵌帮助函数,而是从 tslib 模块导入 __extends 函数。这样,每个帮助函数仅在程序中包含一次,完美。
此外,我们开发并发布了时间序列库(TSLib),作为多种分析任务的深度时间序列模型的公平基准测试,TSLib实现了24个主流模型,涵盖了来自不同领域的30个数据集,并支持五个常见的分析任务。 第5部分介绍了提议的开源基准——时间序列库(TSLib),并展示了详细分析的广泛实验比较。第6部分简要讨论了未来的研究方向,第7部分总结了本次综述。 为有效解决这些问题,我们引入并实现了时间序列库(TSLib),这是一个公平和全面的基准,用于比较和评估深度时间序列模型在各种时间序列分析任务中的表现。 如图9所示,TSLib包含统一的模型实验管道、标准化的评估协议、广泛而多样的真实世界数据集、主流和先进的时间序列分析模型,以及统一的实验验证和分析过程。 结论 在本综述中,我们系统地回顾了时间序列分析中的深度模型,并引入了时间序列库(TSLib)作为各种分析任务中深度时间序列模型的公平基准。
## 触屏校准 export TSLIB_CALIBFILE=/etc/pointercal export TSLIB_CONFFILE=/etc/ts.conf export TSLIB_PLUGINDIR =/usr/lib/ts export TSLIB_CONSOLEDEVICE=none export TSLIB_FBDEVICE=/dev/fb0 export TSLIB_TSDEVICE=/dev
cfbcopyarea.ko insmod cfbfillrect.ko insmod cfbimgblt.ko insmod 9th_lcd.ko 使用echo和cat命令试验 5.1 安装tslib ,试验 1)首先编译触摸屏驱动 2)然后安装tslib,参考: http://www.cnblogs.com/lifexy/p/7628780.html 测试时,打印"selected device is not a touchscreen I understand",指配置的触摸屏环境里的设备不正确 这是因为 3.4内核的input系统和tslib的input输入系统版本号不匹配. 3.4内核自带了版本号 ,为0x010001: include/linux/input.h:37:#define EV_VERSION 0x010001 而tslib没有自带版本号,用的是编译器的版本号 所以接下来修改编译器的EV_VERSION,将: #define EV_VERSION 0x010000 改为: #define EV_VERSION 0x010001 然后进入tslib
使用--importHelpers和tslib减少代码大小 在上面的代码示例中,__values和__read 辅助函数被内联到生成的 JS 代码中。 解决方案是使用--importHelpers编译器选项和tslib 包。当指定时,--importHelpers 会告诉TypeScript 编译器从tslib导入所有帮助函数。 下面经过编译器运行后得到的JS代码: "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var tslib _1 = require("tslib"); var digits = new Map([ [0, "zero"], [1, "one"], [2, "two"], [3 digits_1_1.done; digits_1_1 = digits_1.next()) { var _a = tslib_1.
": "~8.2.14", + "@angular/router": "~9.0.0", - "rxjs": "~6.4.0", + "rxjs": "~6.4.0", - "tslib ": "^1.10.0", + "tslib": "^1.10.0", - "zone.js": "~0.9.1", + "zone.js": "~0.9.1" } } 开发依赖项 zhHans, 'zh-Hans', zhHansEx); projects/app-shared/package.json 对等依赖项 peerDependencies 升级至 ^9.0.0 , 增加了对 tslib "@angular/common": "^9.0.0", - "@angular/core": "^8.2.14" + "@angular/core": "^9.0.0", + "tslib
--importHelpers 标志和 tslib TypeScript 2.1 引入了一个新的 --importHelpers 标志,它使编译器从tslib(一个外部帮助库)导入帮助函数,而不是将它们内联到每个文件中 安装 tslib 方式如下: npm install tslib --save 再次编译 Reac t组件,这次使用 --importHelpers 标志: "use strict"; var tslib _1 = require("tslib"); var React = require("react"); var FooComponent = (function (_super) { tslib ") 调用和第5行中的 tslib_1. 此文件中不再内嵌帮助函数,而是从 tslib 模块导入 __extends 函数。这样,每个帮助函数仅在程序中包含一次,完美。
QString mousedev; if (device.isEmpty()) { mousedev =QLatin1String("/dev/event0"); 4.需要安装tslib 的需要先将tslib库解压好,我的不需要,故不要了,跳过 5.配置编译QTE vim arm_build.sh echo yes | . /qteconfig.log source arm_build.sh 便开始进行配置了,其中我删除了有关tslib选项,有需要的要加上 接着会出错: /root/built_qt/qte
QLatin1String("/dev/h3600_ts"); # endif #else mousedev =QLatin1String("/dev/ts"); #endif */ 4.需要安装tslib 的需要先将tslib库解压好,我的不需要,故不要了,跳过 5.配置编译QTE vim arm_build.sh echo yes | . /qteconfig.log source arm_build.sh 便开始进行配置了,其中我删除了有关tslib选项,有需要的要加上 接着会出错: /root/built_qt/qte/src