测试指南
4 Dec 2024
Read time: 3 minute(s)
测试环境
- 硬件
-
带触屏功能的屏幕
-
带 RTP 接口的开发板
-
USB Type-C 数据线,用于给开发板供电、烧写
-
USB 转串口的线,用于连接开发板的调试串口
-
手写笔,可以更方便精准的点击 RTP
-
- 软件
-
PC 端的串口终端软件,用于 PC 和开发板进行串口通信
-
AiBurn 烧写工具
-
tslib 开源库,用于管理 input 设备和事件、以及坐标校准,luban 中已集成
-
ts_draw 测试工具,用于测试触屏的坐标事件、跳点统计等,luban 中已集成
-
软件配置
- tslib:在 Luban 的根目录下通过 make menuconfig 可以打开
tslib
:Third-party packages [*] tslib
- ts_draw:在 Luban 的根目录下通过 make menuconfig 可以打开,最终在板子上会看到工具 ts_draw:
Artinchip packages Sample code [*] test-touchscreen
ts_draw 会调用 tslib 接口,所以依赖 tslib 的运行环境,所以运行前必须先配置好 tslib。
配置 tslib 运行环境
在板子的 shell 中执行以下命令配置几个环境变量:
exportTSLIB_FBDEVICE=/dev/fb0
exportPOINTERCAL_CALIBFILE=/usr/etc/ts-calib.conf
exportTSLIB_CONSOLEDEVICE=none
exportTSLIB_TSDEVICE=/dev/input/event0
exportTSLIB_PLUGINDIR=/usr/lib/ts
exportTSLIB_CALIBFILE=/tmp/pointercal
坐标校准
配置好 tslib 运行环境后,在板子的 shell 中执行 ts_calibrate 工具,在触屏界面会出现一个校准界面,按照提示,点击 5 个小十字的中心,完成校准。
# ts_calibrate
xres = 1024, yres = 600
读取坐标值
在板子的 shell 中执行 ts_draw 测试工具,点击触屏 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
提示:
上述坐标是通过 calibrate 校准后的坐标,如果要查看原始坐标可增加参数-r。
跳点分析
ts_draw 具备一个功能,就是统计跳点的个数,判断方法是看到连续出现的两个坐标间距太大就认为是跳点。“间距”门限默认是 4,可以通过参数设置该值。
# ts_draw -h
Usage: ts_draw [Options], built on Apr 27202214: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