Poor/ reduced accuracy when running ts_uinput
OOHehir opened this issue · 2 comments
Hello,
Thanks for all your work on this project.
I'm using your library with a SAMA5D4 Xplained board with a touchscreen connected to it's inbuilt peripheral. I'm using the screen in connection with a Microchip version of Qt (EGT).
I've run ts_calibrate & the ts_test_mt which works very accurately.
However after running:
ts_uinput -d -v
I've noticed no improvement in the accuracy of the screen (as opposed when ts_uinput is not running) & indeed running ts_test_mt it's possible to see that the touches to the bottom of the screen are appearing at the top.
Here's some info:
Available devices:
/dev/input/event0: at91_adc
/dev/input/event1: gpio_keys
/dev/input/event2: ts_uinput
Select the device event number [0-2]: 2
Input driver version is 1.0.1
Input device ID: bus 0x6 vendor 0x0 product 0x0 version 0x0
Input device name: "ts_uinput"
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 368
Min 0
Max 1151
Event code 1 (ABS_Y)
Value 298
Min 0
Max 767
Event code 24 (ABS_PRESSURE)
Value 8936
Min 0
Max 16777215
Properties:
Testing ... (interrupt to exit)
Event: time 1701000814.1701000814, type 3 (EV_ABS), code 0 (ABS_X), value 519
Event: time 1701000814.1701000814, type 3 (EV_ABS), code 1 (ABS_Y), value 394
Event: time 1701000814.1701000814, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 3597
Event: time 1701000814.1701000814, -------------- SYN_REPORT ------------
Event: time 1701000814.1701000814, type 3 (EV_ABS), code 0 (ABS_X), value 518
Event: time 1701000814.1701000814, type 3 (EV_ABS), code 1 (ABS_Y), value 407
Event: time 1701000814.1701000814, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 3399
Event: time 1701000814.1701000814, -------------- SYN_REPORT ------------
Event: time 1701000814.1701000814, type 3 (EV_ABS), code 0 (ABS_X), value 519
Event: time 1701000814.1701000814, type 3 (EV_ABS), code 1 (ABS_Y), value 415
Event: time 1701000814.1701000814, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 3518
Event: time 1701000814.1701000814, -------------- SYN_REPORT ------------
Event: time 1701000814.1701000814, type 3 (EV_ABS), code 0 (ABS_X), value 520
Event: time 1701000814.1701000814, type 3 (EV_ABS), code 1 (ABS_Y), value 416
Event: time 1701000814.1701000814, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 3563
Event: time 1701000814.1701000814, -------------- SYN_REPORT ------------
/etc/ts.conf:
# Uncomment if you wish to use the linux input layer event interface
module_raw input
# Uncomment if you're using a Sharp Zaurus SL-5500/SL-5000d
# module_raw collie
# Uncomment if you're using a Sharp Zaurus SL-C700/C750/C760/C860
# module_raw corgi
# Uncomment if you're using a device with a UCB1200/1300/1400 TS interface
# module_raw ucb1x00
# Uncomment if you're using an HP iPaq h3600 or similar
# module_raw h3600
# Uncomment if you're using a Hitachi Webpad
# module_raw mk712
# Uncomment if you're using an IBM Arctic II
# module_raw arctic2
module pthres pmin=1
module variance delta=30
module dejitter delta=100
module linear
Would you have any suggestions as to where I'm going wrong?
Thanks for looking!
In order to further troubleshoot the issue I removed (rm) /dev/input/event0, i.e. the 'raw' device feed of the touchscreen as generated by the on-chip ADC.
Subsequently my application appears to not get any touchscreen events even after calling running:
EGT_INPUT_DEVICE=tslib:/dev/input/event2 /usr/share/egtApp
However the ts_uinput device still seems to be working:
ts_verify /dev/input/event2
tslib 1.21 / libts ABI version 0 (0x000A03)
Release-Date: 2019-10-22
===================== test run 0 =====================
TEST ts_read_mt (blocking) 1 ...... PASS
TEST ts_read_mt (blocking) 5 ...... PASS
TEST ts_read_mt (nonblocking) 1 ...... PASS
TEST ts_read_mt (nonblocking) 5 ...... PASS
TEST ts_read (blocking) 1 ...... PASS
TEST ts_read (blocking) 5 ...... PASS
TEST ts_read (nonblocking) 1 ...... PASS
TEST ts_read_raw_mt (blocking) 1 ...... PASS
TEST ts_read_raw_mt (blocking) 5 ...... PASS
TEST ts_read_raw_mt (nonblocking) 1...... PASS
TEST ts_read_raw_mt (nonblocking) 5...... PASS
TEST ts_read_raw(blocking) 1 ...... PASS
I'm now trying to work out if the issue is the EGT application not receiving the events or if there's a missing link somewhere between the device & the EGT application.
Looks like this is an issue with the GUI application, not tslib so closing