Thread (3 messages) 3 messages, 3 authors, 2015-05-26

RE: AM335x touchscreen issues

From: Cooper Jr., Franklin <hidden>
Date: 2015-05-26 21:34:22
Also in: linux-iio

Possibly related (same subject, not in this thread)

-----Original Message-----
From: Michael Welling [mailto:mwelling79@gmail.com] On Behalf Of Michael
Welling
Sent: Tuesday, May 26, 2015 4:29 PM
To: Cooper Jr., Franklin
Cc: Balbi, Felipe; dmitry.torokhov@gmail.com; R, Vignesh; Griffis, Brad;
jic23@kernel.org; wsa@the-dreams.de; linux-input@vger.kernel.org;
GWilson@sakuraus.com; linux-iio@vger.kernel.org
Subject: Re: AM335x touchscreen issues

On Tue, May 26, 2015 at 09:15:53PM +0000, Cooper Jr., Franklin wrote:
quoted
Michael,

Can you send me the output of ts_test_raw after you done a 5 or so touch
down and touch up events? In the output let me know at which point in the
log that the issue you observed has occurred. Please try to avoid moving your
finger since I want to see the full output of that program but I'm not
interested any unnecessary pen down events.
quoted
Oddly the repeated pen up and down events do not occur when running
ts_print_raw:
root@som3517-som200:~# ts_print_raw
1418169393.147827:   1648   2075    206
1418169393.229976:   1725   1983    240
1418169393.312154:   1731   1980    240
1418169393.394333:   1706   2043    239
1418169393.476523:   1703   2028    241
1418169393.558708:   1714   2041    240
1418169393.640888:   1704   2041    240
1418169393.721556:      0      0      0
1418169395.283096:   2889   2512    192
1418169395.365236:   2947   2486    210
1418169395.447413:   2949   2470    211
1418169395.529606:   2943   2497    211
1418169395.611759:   2922   2506    211
1418169395.693935:   2866   2474    213
1418169395.776135:   2858   2481    214
1418169395.858305:   2861   2451    213
1418169395.938972:      0      0      0
1418169397.482867:   1083   1981    236
1418169397.565026:   1157   1832    254
1418169397.647217:   1161   1856    256
1418169397.729412:   1158   1883    255
1418169397.811583:   1159   1841    255
1418169397.893760:   1159   1864    256
1418169397.975947:   1158   1893    256
1418169398.056605:      0      0      0
1418169399.690290:   2299   2372    178
1418169399.772432:   2388   2160    221
1418169399.854611:   2391   2190    223
1418169399.936802:   2379   2207    223
1418169400.018966:   2389   2184    223
1418169400.101146:   2383   2208    224
1418169400.183338:   2381   2203    223
1418169400.264012:      0      0      0
1418169402.073266:   1230   2381    212
1418169402.155413:   1301   2097    247
1418169402.237590:   1313   2077    248
1418169402.319772:   1307   2126    248
1418169402.401948:   1304   2096    248
1418169402.484127:   4078   2155     58
1418169402.564801:      0      0      0

Here is what the output of ts_test looks like without even touching the
screen:
root@som3517-som200:~# ts_test
1418169549.722957:    816     17     58
1418169549.803604:    816     17      0
1418169549.817757:    816     25     58
1418169549.898411:    816     25      0
1418169549.912828:    816     41     59
1418169549.993463:    816     41      0
1418169550.007771:    816     28     58
1418169550.088404:    816     28      0
1418169550.102828:    816     33     58
1418169550.183486:    816     33      0
1418169550.197767:    816     42     59
1418169550.278401:    816     42      0
1418169550.292970:    816     23     58
1418169550.373604:    816     23      0
1418169550.387773:    816     28     58
1418169550.468404:    816     28      0
1418169550.482955:    816     32     59
1418169550.563600:    816     32      0
1418169550.577773:    816     25     58
1418169550.658406:    816     25      0
1418169550.672827:    816     35     59
1418169550.753464:    816     35      0
1418169550.767761:    816     42     59
1418169550.848407:    816     42      0
1418169550.862826:    816     41     59
1418169550.943462:    816     41      0
1418169550.958013:    816     37     59
1418169551.038655:    816     37      0
1418169551.052824:    816     41     59
1418169551.133475:    816     41      0
1418169551.147774:    816     28     58
1418169551.228406:    816     28      0
[Franklin] So your saying the above ts_test is being ran and you never touched the screen? Looking at the mailing list post you sent earlier it seems like the goal is for the ADC to be used at the same time. Is that the case when you ran both ts_test and ts_print_raw?

.
.
quoted
I recently encountered several touchscreen problems that I am working on
submitting to mainline. Below are the variety of issues I discovered and fixed
but its currently based on 3.14 kernel.
quoted
1. The x and y location right before a penup event is usually incorrect.
Visibly the causes the cursor to jump right before a touchup. So I
implemented a way to ignore that incorrect event.
quoted
2. I discovered that for some reason a series of touch up events are sent
back to back. So I added something to ignore consecutive pen up events.
quoted
3. Sometimes a pen down event is reported with a pressure of 0. I noticed
applications like ts_lib looked at the pressure and thought a pressure of 0
means a finger was lifted. So I added a patch that ignored 0 pressure pen
down events. This prevented premature touchups.
quoted
4. I added debouncing. Essentially the driver didn't report any touch events
for a user specified number of ms after a pen up occured. It was noticed
especially during touchscreen calibration that after a person lifted their finger
after touching the screen a combination of pen up and pen down events
were incorrectly detected.
quoted
Most likely a combination of 2-4 is your problem. I think the udelay acted
like an unintentional debounce which is probably why it wasn't discovered
sooner.
quoted
quoted
quoted
--
balbi
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help