481|6

3787

帖子

3

TA的资源

版主

【米尔MYD-YG2LX开发板】触摸屏测试 [复制链接]

我们连接RGB的LCD屏后,先进入终端把开机启动的mxapp2关闭。有两种方式,一是killall mxapp2,二是用top查到mxapp2的进程,然后用kill 进程ID

执行测试


root@myir-yg2lx:~# framebuffer_test
The framebuffer device was opened successfully.
vinfo.xres=800
vinfo.yres=480
vinfo.bits_per_bits=32
vinfo.xoffset=0
vinfo.yoffset=0
red.offset=16
green.offset=8
blue.offset=0
transp.offset=0
finfo.line_length=3200
finfo.type = PACKED_PIXELS
The framebuffer device was mapped to memory successfully.
color: red   rgb_val: 00FF0000
color: green   rgb_val: 0000FF00
color: blue   rgb_val: 000000FF
color: r & g   rgb_val: 00FFFF00
color: g & b   rgb_val: 0000FFFF
color: r & b   rgb_val: 00FF00FF
color: white   rgb_val: 00FFFFFF
color: black   rgb_val: 00000000

 注意 如果有上述输出,但是屏没有显示,是因为设备树没有更新,需要进入uboot执行:

```
=> setenv fdt_file myb-rzg2l-disp.dtb
=> saveenv
```

触摸测试

需要连接带触摸的屏,我这里是MY-TFT070-K

终端执行行“evtest”进入测试界面


root@myir-yg2lx:~# evtest
No device specified, trying to scan all of /dev/input/event*
Available devices:
/dev/input/event0:      keyboard
/dev/input/event1:      generic ft5x06 (79)
/dev/input/event2:      A4TECH USB Device Keyboard
/dev/input/event3:      A4TECH USB Device System Control
/dev/input/event4:      A4TECH USB Device Consumer Control
/dev/input/event5:      A4TECH USB Device
/dev/input/event6:      A4TECH USB Device
Select the device event number [0-6]:

从结果我看到,触摸屏ft5x06为event1。我们输入1


Select the device event number [0-6]: 1
Input driver version is 1.0.1
Input device ID: bus 0x18 vendor 0x0 product 0x0 version 0x0
Input device name: "generic ft5x06 (79)"
Supported events:
  Event type 0 (EV_SYN)
  Event type 1 (EV_KEY)
    Event code 330 (BTN_TOUCH)
  Event type 3 (EV_ABS)
    Event code 0 (ABS_X)
      Value    155
      Min        0
      Max      799
    Event code 1 (ABS_Y)
      Value    476
      Min        0
      Max      479
    Event code 47 (ABS_MT_SLOT)
      Value      0
      Min        0
      Max        4
    Event code 53 (ABS_MT_POSITION_X)
      Value      0
      Min        0
      Max      799
    Event code 54 (ABS_MT_POSITION_Y)
      Value      0
      Min        0
      Max      479
    Event code 57 (ABS_MT_TRACKING_ID)
      Value      0
      Min        0
      Max    65535
Properties:
  Property type 1 (INPUT_PROP_DIRECT)
Testing ... (interrupt to exit)

然后我们点击屏就有相应的输出:

```
Event: time 3029532101.3029532101, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 34
Event: time 3029532101.3029532101, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 486
Event: time 3029532101.3029532101, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 172
Event: time 3029532101.3029532101, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 1
Event: time 3029532101.3029532101, type 3 (EV_ABS), code 0 (ABS_X), value 486
Event: time 3029532101.3029532101, type 3 (EV_ABS), code 1 (ABS_Y), value 172
Event: time 3029532101.3029532101, -------------- SYN_REPORT ------------
Event: time 3029532101.3029532101, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 485
Event: time 3029532101.3029532101, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 171
Event: time 3029532101.3029532101, type 3 (EV_ABS), code 0 (ABS_X), value 485
Event: time 3029532101.3029532101, type 3 (EV_ABS), code 1 (ABS_Y), value 171
Event: time 3029532101.3029532101, -------------- SYN_REPORT ------------
Event: time 3029532101.3029532101, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 484
Event: time 3029532101.3029532101, type 3 (EV_ABS), code 0 (ABS_X), value 484
Event: time 3029532101.3029532101, -------------- SYN_REPORT ------------
Event: time 3029532101.3029532101, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 485
Event: time 3029532101.30295322
Event: time 3029532101.3029532101, -------------- SYN_REPORT ------------
Event: time 3029532101.3029532101, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value -1
Event: time 3029532101.3029532101, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 0
Event: time 3029532101.3029532101, -------------- SYN_REPORT ------------
```

由上面可知,主要显示坐标值、键值,具体信息如下:

EV_SYN:同步事件

EV_KEY:按键事件,如 BTN_TOUCH 表示是触摸按键

EV_ABS:绝对坐标,如触摸屏上报的坐标

BTN_TOUCH:触摸按键

ABS_MT_SLOT:事件中对应的 value

ABS_MT_TRACKING_ID 表示采集信息开始

单点触摸信息是以 ABS 承载并按一定顺序发送,如:

ABS_X:是相对于屏幕绝对坐标 X

ABS_Y:是相对于屏幕绝对坐标 Y

而多点触摸信息则是以 ABS_MT 承载并按一定顺序发送,如:

ABS_MT_POSITION_X:表示屏幕接触面的中心点 x 坐标位置.

ABS_MT_POSITION_Y:表示屏幕接触面的中心点 Y 坐标位置
【小结】

这组测试可以测试LCD的各种 单 色显示以及测试触摸是否正常

此帖出自工控电子论坛

最新回复

touchGFX用的是中断,刷新一帧获取一次触摸的坐标。   详情 回复 发表于 3 小时前

回复

2449

帖子

1

TA的资源

版主

这里面直接就有驱动文件吗?   

此帖出自工控电子论坛

点评

对的,官方有驱动的设备树了的。  详情 回复 发表于 5 天前

回复

3787

帖子

3

TA的资源

版主

秦天qintian0303 发表于 2023-5-24 21:18 这里面直接就有驱动文件吗?   

对的,官方有驱动的设备树了的。

此帖出自工控电子论坛

回复

2449

帖子

1

TA的资源

版主

Linux测试有驱动就太好使了,直接调用就可以了  

此帖出自工控电子论坛

回复

3402

帖子

0

TA的资源

版主

看着好像还行,他是一直检测的吗?

此帖出自工控电子论坛

点评

应该有个任务来检测的,他是通过i2c来能信的。我原来用lvgl是有个任务的,不知道linux是用中断还是有个轮询任务。  详情 回复 发表于 3 小时前

回复

3787

帖子

3

TA的资源

版主

wangerxian 发表于 2023-5-30 10:35 看着好像还行,他是一直检测的吗?

应该有个任务来检测的,他是通过i2c来能信的。我原来用lvgl是有个任务的,不知道linux是用中断还是有个轮询任务。

此帖出自工控电子论坛

点评

touchGFX用的是中断,刷新一帧获取一次触摸的坐标。  详情 回复 发表于 3 小时前

回复

3402

帖子

0

TA的资源

版主

lugl4313820 发表于 2023-5-30 11:21 应该有个任务来检测的,他是通过i2c来能信的。我原来用lvgl是有个任务的,不知道linux是用中断还是有个轮 ...

touchGFX用的是中断,刷新一帧获取一次触摸的坐标。

此帖出自工控电子论坛

回复
您需要登录后才可以回帖 登录 | 注册

相关帖子
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2023 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表