7.9.4. 测试指南
7.9.4.1. 测试环境
7.9.4.1.1. 硬件
带触屏功能的屏幕
带RTP接口的开发板
USB Type-C数据线,用于给开发板供电、烧写
USB 转串口的线,用于连接开发板的调试串口
手写笔,可以更方便精准的点击RTP
7.9.4.1.2. 软件
PC端的串口终端软件,用于PC和开发板进行串口通信
AiBurn烧写工具
tslib开源库,用于管理input设备和事件、以及坐标校准,openwrt中已集成
ts_draw测试工具,用于测试触屏的坐标事件、跳点统计等,openwrt中已集成
7.9.4.1.3. 软件配置
7.9.4.1.3.1. tslib
在openwrt的根目录下通过make menuconfig可以打开tslib:
Third-party packages
[*] tslib
7.9.4.1.3.2. ts_draw
在openwrt的根目录下通过make menuconfig可以打开,最终在板子上会看到工具ts_draw:
zx (openwrt)
sample-code
[*] test-touchscreen
备注
ts_draw会调用tslib接口,所以依赖tslib的运行环境,所以运行前必须先配置好tslib。
7.9.4.2. 配置tslib运行环境
在板子的shell中执行以下命令配置几个环境变量:
export TSLIB_FBDEVICE=/dev/fb0
export POINTERCAL_CALIBFILE=/usr/etc/ts-calib.conf
export TSLIB_CONSOLEDEVICE=none
export TSLIB_TSDEVICE=/dev/input/event0
export TSLIB_PLUGINDIR=/usr/lib/ts
export TSLIB_CALIBFILE=/tmp/pointercal
7.9.4.3. 坐标校准
配置好tslib运行环境后,在板子的shell中执行ts_calibrate工具,在触屏界面会出现一个校准界面,按照提示,点击5个小十字的中心,完成校准。
# ts_calibrate
xres = 1024, yres = 600
7.9.4.4. 读取坐标值
在板子的shell中执行ts_draw测试工具,点击触屏ts_draw会打印出每次坐标事件。
# ts_draw -d
FB res: X 1024, Y 600,Size 2457600, Border 0, Jump thd 4
1646290364.886053: X - 734 Y - 280 P - 34
1646290364.906078: X - 734 Y - 280 P - 49
1646290364.926056: X - 734 Y - 280 P - 65
1646290364.946044: X - 734 Y - 280 P - 76
1646290364.966063: X - 734 Y - 279 P - 98
1646290364.986043: X - 735 Y - 279 P - 117
小技巧
上述坐标是通过ts_calibrate校准后的坐标,如果要查看原始坐标可增加参数-r。
7.9.4.5. 跳点分析
ts_draw具备一个功能,就是统计跳点的个数,判断方法是看到连续出现的两个坐标间距太大就认为是跳点。“间距”门限默认是4,可以通过参数设置该值。
# ts_draw -h
Usage: ts_draw [Options], built on Apr 27 2022 14:42:38
-r, --raw Use the raw coordinate, default: disable
-d, --debug Open more debug information, default: disable
-b, --border The width of border(will ignore), default 0
-j, --jumb-thd The threshold to determinate jumb sample, default 4
-h, --help
# ts_draw -j 3
FB res: X 800, Y 480,Size 1536000, Boarder 0, Jump thd 3
Stats: Sum 44, Out 0(0.00%), Jump 1(2.27%), Period 5.06 ms
Stats: Sum 265, Out 0(0.00%), Jump 1(0.38%), Period 5.06 ms