Fwd: Re: Openmoko Bug #1194: Touchscreen Jitter
Andy Green
andy at openmoko.com
Wed Jun 18 00:44:17 CEST 2008
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Somebody in the thread at some point said:
| Dunno whether that's you, Andy...
Yes it is, I went through triaging the trac bugs tonight and closing the
ones that honestly didn't look like they are going to get addressed.
| anyway, this very strongly suggests the jitter is associated to one
PLANE of
| the ts only (like I guessed quite some time ago). This means: either
It flat out says it, rather than strongly suggests it :-)
| the "long-axis" X+,Y- rails on powered pane are on the "inside"(near
LCD).
| Touchpoint contacts to the outer plane, and there some sort of hum,
EMI, RF,
| or god knows what is introduced to the relatively highZ "target"plane
from
| environment and is spoiling the A/D for this axis.
| OR outer and inner plane are reversed (means (+) and (-) rails are on the
| short parts of outer plane), and the interference comes from our
| LED-power-converter (or the LCD itself - though I can't imagine this)
| coupling to the inner plane that goes to A/D-in.
LED power didn't seem to have much ripple last I looked, but then I was
looking at 5V/div.
| Once more I like to ask whether one of the coder wizards can setup a
| simple "sample at 500k/s and dump to some file"-type debug helper tiny
| program, so we might analyze for the real waveform we see on "long axis".
|
| We may need this to improve hardware circuitry (filters!) of future
| resistive-ts designs, as well as to know what we have to tune the
ts-lib to
| cope with for recent devices.
|
| A *GOOD* scope probe printout _maybe_ is even better, but this simple
| A/D-thingy will serve perfectly for a first approach (a least we know for
| *sure* this is what the A/D-converter (and thus tslib) got)
As I mentioned it's hard to find a place to probe.
What I did is a weaker version of what you asked for, at
~ http://warmcat.com/ts-dump
is a short file made from
~ ts_print_raw > /tmp/ts-dump
Normally the ADC samples are averaged in batches of 32 in the kernel
(before whatever tslib plans to do), I cranked up the ADC speed to
500kHz and removed the averaging. I think by this method we miss a lot
of samples, but the samples that are captured should be truly raw single
ADC events.
The results in the file (with me holding a pencil head to the screen)
are pretty ugly in the first coordinate compared to the high stability
of the second coordinate -- the average is like 511, 590:
1213744740.484058: 511 589 1
1213744740.489078: 513 588 1
1213744740.494059: 511 588 1
1213744740.499058: 509 588 1
1213744740.504078: 485 591 1 <===
1213744740.509058: 509 591 1
1213744740.514079: 506 586 1
1213744740.519078: 511 589 1
1213744740.524078: 507 587 1
1213744740.529079: 511 586 1
1213744740.534059: 511 590 1
1213744740.539058: 509 590 1
1213744740.544078: 420 589 1 <===
1213744740.549079: 509 591 1
1213744740.554078: 501 589 1
1213744740.559078: 511 588 1
1213744740.564079: 490 589 1 <===
1213744740.569058: 511 589 1
1213744740.574078: 512 588 1
1213744740.579078: 511 589 1
1213744740.584078: 513 588 1
1213744740.589078: 512 583 1
1213744740.594079: 510 589 1
1213744740.599098: 514 589 1
1213744740.604078: 510 588 1
1213744740.609058: 509 588 1
1213744740.614058: 514 588 1
1213744740.619078: 511 589 1
1213744740.624059: 517 589 1
1213744740.629057: 505 589 1
1213744740.634058: 511 589 1
1213744740.639089: 523 589 1 <===
1213744740.644116: 508 590 1
So if the "selfselection" of samples from the firehose don't make it a
nonsense to look at it this way, it means we get excursions in the first
coordinate of up to +/- 20% at about 10% probability.
What we could do is refuse to accept samples too far outside a running
average into the average reported back to userspace....
- -Andy
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org
iEYEARECAAYFAkhYPjoACgkQOjLpvpq7dMobEACdFJ8d1qNA9ezHbD/H75zqms1r
E4MAoIfeRnAUbWj0/Go+d4aXsG4L2dSW
=HrZl
-----END PGP SIGNATURE-----
More information about the openmoko-kernel
mailing list