您尚未登录。

楼主 #1 2019-08-13 10:33:36

无情一刀
会员
注册时间: 2018-09-04
已发帖子: 716
积分: 698

hy46系列的触摸 能读取到了坐标 也执行到上报坐标函数 但是好像Qt没有接受到 也就是可能没有上报成功

hy46系列的触摸 能读取到了坐标 也执行到上报坐标函数 我在触摸的屏幕的时候 在内核驱动能打印出触摸的坐标,但是就是好像没有上报成功样
2_20190813-1032.png
下面是打印的坐标数据
[  518.357043] event->touch_point == 1
[  518.360605] x ==358 y = 255,pressure = 5
[  518.368459] id=0 event=2 x=358 y=255
[  518.372045] event->touch_point == 1
[  518.375532] x ==358 y = 255,pressure = 5
[  518.383471] id=0 event=2 x=354 y=259
[  518.387064] event->touch_point == 1
[  518.390631] x ==354 y = 259,pressure = 5
[  518.398486] id=0 event=2 x=354 y=259
[  518.402073] event->touch_point == 1
[  518.405560] x ==354 y = 259,pressure = 5
[  518.413428] id=0 event=2 x=352 y=262
[  518.417021] event->touch_point == 1
[  518.420581] x ==352 y = 262,pressure = 5
[  518.428386] id=0 event=2 x=352 y=262
[  518.431970] event->touch_point == 1
[  518.435465] x ==352 y = 262,pressure = 5
[  518.443339] id=0 event=2 x=350 y=265
[  518.446934] event->touch_point == 1
[  518.450518] x ==350 y = 265,pressure

离线

楼主 #3 2019-08-13 10:51:59

无情一刀
会员
注册时间: 2018-09-04
已发帖子: 716
积分: 698

Re: hy46系列的触摸 能读取到了坐标 也执行到上报坐标函数 但是好像Qt没有接受到 也就是可能没有上报成功

晕哥 说:

怎么判断没有上报成功的?

我以前的触摸是可以的 就是在屏幕上双击会跳转到其他页面 但是这个hy的没有反应

离线

楼主 #5 2019-08-13 18:42:00

无情一刀
会员
注册时间: 2018-09-04
已发帖子: 716
积分: 698

Re: hy46系列的触摸 能读取到了坐标 也执行到上报坐标函数 但是好像Qt没有接受到 也就是可能没有上报成功

晕哥 说:

用 evtest 测试

这个evtest忘记了怎么测试了  晕哥有帖子吗 参考吗

离线

楼主 #7 2019-08-14 08:39:05

无情一刀
会员
注册时间: 2018-09-04
已发帖子: 716
积分: 698

Re: hy46系列的触摸 能读取到了坐标 也执行到上报坐标函数 但是好像Qt没有接受到 也就是可能没有上报成功

是这个吗
1_20190814-0838.png

离线

楼主 #8 2019-08-14 09:15:46

无情一刀
会员
注册时间: 2018-09-04
已发帖子: 716
积分: 698

Re: hy46系列的触摸 能读取到了坐标 也执行到上报坐标函数 但是好像Qt没有接受到 也就是可能没有上报成功

怎么我输入evtest没有哦哦

离线

楼主 #11 2019-08-14 10:35:10

无情一刀
会员
注册时间: 2018-09-04
已发帖子: 716
积分: 698

Re: hy46系列的触摸 能读取到了坐标 也执行到上报坐标函数 但是好像Qt没有接受到 也就是可能没有上报成功

出现这样的 但是我看了下 QT这一块还是没有跳转

evtest event0
Input driver version is 1.0.1
Input device ID: bus 0x0 vendor 0x0 product 0x0 version 0x0
Input device name: "hy46xx_ts"
Supported events:
  Event type 0 (EV_SYN)
  Event type 1 (EV_KEY)
    Event code 325 (BTN_TOOL_FINGER)
    Event code 328 (BTN_TOOL_QUINTTAP)
    Event code 330 (BTN_TOUCH)
    Event code 333 (BTN_TOOL_DOUBLETAP)
    Event code 334 (BTN_TOOL_TRIPLETAP)
    Event code 335 (BTN_TOOL_QUADTAP)
  Event type 3 (EV_ABS)
    Event code 47 (ABS_MT_SLOT)
      Value      0
      Min        0
      Max        4
    Event code 48 (ABS_MT_TOUCH_MAJOR)
      Value      0
      Min        0
      Max      255
    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     1279
    Event code 57 (ABS_MT_TRACKING_ID)
      Value      0
      Min        0
      Max    65535
Properties:
  Property type 0 (INPUT_PROP_POINTER)
  Property type 3 (INPUT_PROP_SEMI_MT)
Testing ... (interrupt to exit)
[  198.325866] id=0 event=0 x=448 y=258
[  198.329494] event->touch_point == 1
[  198.332986] x ==448 y = 258,pressure = 5
Event: time 5464.167411, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 10
Event: time 5464.167411, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 448
Event: time 5464.167411, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 258
Event: tim[  198.355623] id=0 event=2 x=448 y=258
e 5464.167411, ++++++++++++++ SYN_MT_REPORT ++++++++++++
Event:[  198.362928] event->touch_point == 1
time 5464.167411, type 1 (EV_KEY), code 330 (BTN_TOUCH), value [  198.371959] x ==448 y = 258,pressure = 5
1
Event: time 5464.167411, -------------- SYN_REPORT ----------[  198.384905] id=0 event=2 x=448 y=258
--
Event: time 5464.211917, ++++++++++++++ SYN_MT_REPORT ++++++[  198.390644] event->touch_point == 1
++++++
Event: time 5464.211917, -------------- SYN_REPORT -----[  198.399665] x ==448 y = 258,pressure = 5
-------
Event: time 5464.239598, ++++++++++++++ SYN_MT_REPORT ++++++++++[  198.412649] id=0 event=1 x=448 y=258
++
Event: time 5464.239598, -------------- SYN_REPORT ---------[  198.419058] event->touch_point == 1
---
[  198.428209] uppoint ==0
Event: time 5464.261470, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value -1
Event: time 5464.261470, ++++++++++++++ SYN_MT_REPORT ++++++++++++
Event: time 5464.261470, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 0
Event: time 5464.261470, -------------- SYN_REPORT ------------

离线

楼主 #13 2019-08-14 11:01:28

无情一刀
会员
注册时间: 2018-09-04
已发帖子: 716
积分: 698

Re: hy46系列的触摸 能读取到了坐标 也执行到上报坐标函数 但是好像Qt没有接受到 也就是可能没有上报成功

晕哥 说:

分别按下 四个角和正中间,看输出的 xy 坐标是不是正确的,如果不对

你得找厂家要固件,看下手册,看选择硬烧还是软件更新

再不行就通过tslib 流程使用电容屏吧
ts_calibrate
ts_test


我用extest测试了坐标都是对的 ,
但是我用ts_test 打印出说没有这个文件

离线

楼主 #15 2019-08-14 11:12:20

无情一刀
会员
注册时间: 2018-09-04
已发帖子: 716
积分: 698

Re: hy46系列的触摸 能读取到了坐标 也执行到上报坐标函数 但是好像Qt没有接受到 也就是可能没有上报成功

晕哥 说:

没有哪个文件?

# ts_test event0
ts_open: No such file or directory
# ts_test
ts_open: No such file or directory

离线

楼主 #16 2019-08-14 11:49:00

无情一刀
会员
注册时间: 2018-09-04
已发帖子: 716
积分: 698

Re: hy46系列的触摸 能读取到了坐标 也执行到上报坐标函数 但是好像Qt没有接受到 也就是可能没有上报成功

晕哥 说:

没有哪个文件?

用evtest测试了坐标也对了 这说明是驱动没有问题

离线

楼主 #18 2019-08-14 11:56:08

无情一刀
会员
注册时间: 2018-09-04
已发帖子: 716
积分: 698

Re: hy46系列的触摸 能读取到了坐标 也执行到上报坐标函数 但是好像Qt没有接受到 也就是可能没有上报成功

Input device ID: bus 0x0 vendor 0x0 product 0x0 version 0x0
这个这里bus是0 对比下了ft5x06的是0x18会有影响吗
Input device ID: bus 0x18 vendor 0x0 product 0x0 version 0x0

离线

楼主 #20 2019-08-14 13:50:04

无情一刀
会员
注册时间: 2018-09-04
已发帖子: 716
积分: 698

Re: hy46系列的触摸 能读取到了坐标 也执行到上报坐标函数 但是好像Qt没有接受到 也就是可能没有上报成功

晕哥 说:

这个应该没有影响,你看下 ts_test 不能画线,如果可以说明触摸没有问题。

ts_calibrate
ts_test
我这里用ts_test event0 触摸了有数据返回  但是没有你说的画线,是不可以的啊
ts_calibrate event0 就有数据出来    但是为什么是1024和600l   我的屏幕大小是800*480
# ts_calibrate event0
xres = 1024, yres = 600

离线

楼主 #22 2019-08-14 14:25:59

无情一刀
会员
注册时间: 2018-09-04
已发帖子: 716
积分: 698

Re: hy46系列的触摸 能读取到了坐标 也执行到上报坐标函数 但是好像Qt没有接受到 也就是可能没有上报成功

当我使用ts_test event0 这个的时候比如打印出来出 842     87    255    和我在内核里面打印读取到的坐标不一样
ts_calibrate event0  这个校正 只要执行了就可以了吗啊 要不要在屏幕上点击  主要是没有看到需要校正的地方
ts_calibrate event0
xres = 1024, yres = 600
^Csignal 2 caught
# ts_calibrate event0^C
# ts_test event0
[   72.746494] id=0 event=0 x=86 y=46
[   72.749945] event->touch_point == 1
[   72.753434] x ==86 y = 46,pressure = 5
19123.588199:    842     87    255
[   72.776197] id=0 event=2 x=86 y=46
[   72.779670] event->touch_point == 1
[   72.783159] x ==86 y = 46,pressure = 5
19123.617915:    842     87      0
[   72.790433] id=0 event=2 x=86 y=46
[   72.793843] event->touch_point == 1
[   72.797329] x ==86 y = 46,pressure = 5
[   72.805772] id=0 event=1 x=86 y=46
[   72.809258] event->touch_point == 1
[   72.812745] uppoint ==0
[   76.760685] id=0 event=0 x=277 y=64
[   76.764188] event->touch_point == 1
[   76.767716] x ==277 y = 64,pressure = 5
19127.602569:    791    200    255
[   76.790343] id=0 event=2 x=277 y=64
[   76.793850] event->touch_point == 1
[   76.797339] x ==277 y = 64,pressure = 5
19127.632232:    791    200      0[   76.804705] id=0 event=2 x=277 y=64

[   76.808370] event->touch_point == 1
[   76.811988] x ==277 y = 64,pressure = 5

离线

楼主 #24 2019-08-14 14:39:24

无情一刀
会员
注册时间: 2018-09-04
已发帖子: 716
积分: 698

Re: hy46系列的触摸 能读取到了坐标 也执行到上报坐标函数 但是好像Qt没有接受到 也就是可能没有上报成功

晕哥 说:

校正之后, 和原数据有线性关系。

ts_test 先点击中间那个按钮, 然后能在屏幕画线, 说明就正常了。


主要是我屏幕上没有任何的按钮  就是一个企鹅启动的界面

离线

楼主 #26 2019-08-14 14:46:22

无情一刀
会员
注册时间: 2018-09-04
已发帖子: 716
积分: 698

Re: hy46系列的触摸 能读取到了坐标 也执行到上报坐标函数 但是好像Qt没有接受到 也就是可能没有上报成功

晕哥 说:

运行 ts_test 也没有按钮?

不管运行那个都是这个界面
11.jpg

离线

楼主 #28 2019-08-14 14:56:54

无情一刀
会员
注册时间: 2018-09-04
已发帖子: 716
积分: 698

Re: hy46系列的触摸 能读取到了坐标 也执行到上报坐标函数 但是好像Qt没有接受到 也就是可能没有上报成功

晕哥 说:

这不说明你有 fb0, fb1 ... 嘛


https://whycan.cn/t_2758.html#p22291


是有两个屏幕  因为以前是用的ft5x06触摸芯片运行QT没有问题 另外一个屏幕就是上次用的SPIlt7381的 现在要用hy46触摸芯片

离线

楼主 #29 2019-08-14 15:02:45

无情一刀
会员
注册时间: 2018-09-04
已发帖子: 716
积分: 698

Re: hy46系列的触摸 能读取到了坐标 也执行到上报坐标函数 但是好像Qt没有接受到 也就是可能没有上报成功

晕哥  我接上另外一个快屏幕后  那个按钮在那个屏幕上了 这个要怎么弄过来哦哦  另外一块是不带触摸的 就是显示的

最近编辑记录 无情一刀 (2019-08-14 15:04:50)

离线

楼主 #31 2019-08-14 15:18:54

无情一刀
会员
注册时间: 2018-09-04
已发帖子: 716
积分: 698

Re: hy46系列的触摸 能读取到了坐标 也执行到上报坐标函数 但是好像Qt没有接受到 也就是可能没有上报成功

晕哥 说:

https://whycan.cn/t_2758.html#p22291

这个链接没看吗?

###根据实际情况填写###
export TSLIB_CALIBFILE='/etc/pointercal'
export TSLIB_CONFFILE='/etc/ts.conf'
export TSLIB_FBDEVICE='/dev/fb0'
export TSLIB_PLUGINDIR='/usr/lib/ts'
export TSLIB_TSDEVICE='/dev/input/event0'

ts_calibrate
ts_test

看了啊 我现在是要只要校正和ts_test所以我就添加了  这两个,
export TSLIB_CALIBFILE='/etc/pointercal'
export TSLIB_TSDEVICE='/dev/input/event0'

离线

楼主 #32 2019-08-14 15:25:37

无情一刀
会员
注册时间: 2018-09-04
已发帖子: 716
积分: 698

Re: hy46系列的触摸 能读取到了坐标 也执行到上报坐标函数 但是好像Qt没有接受到 也就是可能没有上报成功

无情一刀 说:
晕哥 说:

https://whycan.cn/t_2758.html#p22291

这个链接没看吗?

###根据实际情况填写###
export TSLIB_CALIBFILE='/etc/pointercal'
export TSLIB_CONFFILE='/etc/ts.conf'
export TSLIB_FBDEVICE='/dev/fb0'
export TSLIB_PLUGINDIR='/usr/lib/ts'
export TSLIB_TSDEVICE='/dev/input/event0'

ts_calibrate
ts_test

看了啊 我现在是要只要校正和ts_test所以我就添加了  这两个,
export TSLIB_CALIBFILE='/etc/pointercal'
export TSLIB_TSDEVICE='/dev/input/event0'


改了fb1了

离线

楼主 #33 2019-08-14 15:29:42

无情一刀
会员
注册时间: 2018-09-04
已发帖子: 716
积分: 698

Re: hy46系列的触摸 能读取到了坐标 也执行到上报坐标函数 但是好像Qt没有接受到 也就是可能没有上报成功

我现在用ts_test 可以拖动中间的那个箭头   
但是当我点击了那个draw 去画的时候不能画线 我触摸屏幕  拖动了很长只有一个小点点
12.jpg

最近编辑记录 无情一刀 (2019-08-14 15:31:08)

离线

楼主 #35 2019-08-14 16:06:41

无情一刀
会员
注册时间: 2018-09-04
已发帖子: 716
积分: 698

Re: hy46系列的触摸 能读取到了坐标 也执行到上报坐标函数 但是好像Qt没有接受到 也就是可能没有上报成功

QT 是可以运行起来 就是点击屏幕没有反应 
  在触摸驱动中读取到了触摸的数据   但是好像中断里面上报的时候有些不成功
下面是中断上报数据函数
2_20190813-1032.png

离线

楼主 #37 2019-08-14 16:25:16

无情一刀
会员
注册时间: 2018-09-04
已发帖子: 716
积分: 698

Re: hy46系列的触摸 能读取到了坐标 也执行到上报坐标函数 但是好像Qt没有接受到 也就是可能没有上报成功

晕哥 说:

驱动自己写的?感觉驱动有问题, ts_test 画不了线条。

是的  人家给驱动不是Linux下面的 是高通  然后移植到Linux下了

离线

楼主 #39 2019-08-14 16:35:26

无情一刀
会员
注册时间: 2018-09-04
已发帖子: 716
积分: 698

Re: hy46系列的触摸 能读取到了坐标 也执行到上报坐标函数 但是好像Qt没有接受到 也就是可能没有上报成功

晕哥 说:

高通跑什么系统?

从文档里面来看应该也是linux的
只是直接复制到里面去不管用  所以就移植了下

离线

楼主 #41 2019-08-14 17:55:54

无情一刀
会员
注册时间: 2018-09-04
已发帖子: 716
积分: 698

Re: hy46系列的触摸 能读取到了坐标 也执行到上报坐标函数 但是好像Qt没有接受到 也就是可能没有上报成功

我现在是驱动可以了  但是不知道为什么最左上角出现了一个鼠标箭头标志

离线

楼主 #44 2019-08-14 18:04:03

无情一刀
会员
注册时间: 2018-09-04
已发帖子: 716
积分: 698

Re: hy46系列的触摸 能读取到了坐标 也执行到上报坐标函数 但是好像Qt没有接受到 也就是可能没有上报成功

主要是下面这个中断  他们是先读取完了后   
另外一个函数/hy46xx_report_value(hy46xx_ts)去上报坐标点,所以我吧这个函数屏蔽了
static irqreturn_t hy46xx_ts_interrupt(int irq, void *dev_id)
{
    struct hy46xx_ts_data *hy46xx_ts = dev_id;   
    disable_irq_nosync(hy46xx_ts->irq);
    hy46xx_read_Touchdata(hy46xx_ts);
    //hy46xx_report_value(hy46xx_ts);
    enable_irq(hy46xx_ts->irq);
    return IRQ_HANDLED;
}

在hy46xx_read_Touchdata里面直接读取到了一个坐标点我就上报如下图
出现的可能性 一直点着不动的时候 不断数据上报不及时 ,
现在虽然可以跑起来了  但是不不知道为什么左上角总有一个鼠标箭头标志
1_20190814-1801.png

离线

楼主 #45 2019-08-14 18:05:41

无情一刀
会员
注册时间: 2018-09-04
已发帖子: 716
积分: 698

Re: hy46系列的触摸 能读取到了坐标 也执行到上报坐标函数 但是好像Qt没有接受到 也就是可能没有上报成功

晕哥 说:

https://stackoverflow.com/questions/18053330/qt-for-embedded-linux-hide-cursor-on-startup

Qt4 用这个方法试一试 :

QWSServer *server = QWSServer::instance();
if(server) {
    server->setCursorVisible(false);
}

我的是Qt5的版本   关键是我用ft5x06的触摸不会出现   就是用hy46的就会有鼠标箭头  所以我觉得跟QT没有关心  应该是内核里面的鼠标箭头

最近编辑记录 无情一刀 (2019-08-14 18:07:38)

离线

楼主 #48 2019-08-14 18:12:00

无情一刀
会员
注册时间: 2018-09-04
已发帖子: 716
积分: 698

Re: hy46系列的触摸 能读取到了坐标 也执行到上报坐标函数 但是好像Qt没有接受到 也就是可能没有上报成功

晕哥 说:

感觉这个和触摸芯片没有关系, 应该是 Qt 软件的事情, 搜了一圈, 没发现Qt5 怎么处理的。

但是在启动界面 就是有企鹅的时候 不会出现,用了hy46的触摸芯片启动QT就有, 但是 ft5x06启动QT工程都没有  很奇怪,

离线

楼主 #49 2019-08-14 18:14:14

无情一刀
会员
注册时间: 2018-09-04
已发帖子: 716
积分: 698

Re: hy46系列的触摸 能读取到了坐标 也执行到上报坐标函数 但是好像Qt没有接受到 也就是可能没有上报成功

晕哥 说:
晕哥 说:

感觉这个和触摸芯片没有关系, 应该是 Qt 软件的事情, 搜了一圈, 没发现Qt5 怎么处理的。

export QT_QPA_FB_HIDECURSOR=1
./qtapp -platform linuxfb


试一试上面酱紫看看

export QT_QPA_FB_HIDECURSOR=1
./TableMeet_GUI  -platform linuxfb:fb=/dev/fb1

这样QT工程会出现断错误 哈哈

离线

楼主 #50 2019-08-14 18:27:21

无情一刀
会员
注册时间: 2018-09-04
已发帖子: 716
积分: 698

Re: hy46系列的触摸 能读取到了坐标 也执行到上报坐标函数 但是好像Qt没有接受到 也就是可能没有上报成功

this->setCursor(Qt::BlankCursor);
用了这个函数可以去除掉了  但是不清楚的是为什么用这个触摸后就会出来箭头

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn