Edit online

测试指南

4 Dec 2024
Read time: 3 minute(s)
测试环境
  • 硬件
    • 带触屏功能的屏幕

    • 带 RTP 接口的开发板

    • USB Type-C 数据线,用于给开发板供电、烧写

    • USB 转串口的线,用于连接开发板的调试串口

    • 手写笔,可以更方便精准的点击 RTP

  • 软件
    • PC 端的串口终端软件,用于 PC 和开发板进行串口通信

    • AiBurn 烧写工具

    • tslib 开源库,用于管理 input 设备和事件、以及坐标校准,luban 中已集成

    • ts_draw 测试工具,用于测试触屏的坐标事件、跳点统计等,luban 中已集成

软件配置

  1. tslib:在 Luban 的根目录下通过 make menuconfig 可以打开 tslib
    Third-party packages
        [*] tslib
  2. 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