Re: [RFC/RFT] [patch] Elo serial touchscreen driver

From: Vojtech Pavlik
Date: Wed Feb 09 2005 - 16:55:01 EST


On Wed, Feb 09, 2005 at 10:39:30PM +0100, Jan-Benedict Glaw wrote:
> On Wed, 2005-02-09 20:51:43 +0000, Paulo Marques <pmarques@xxxxxxxxxxxx>
> wrote in message <420A77DF.6040108@xxxxxxxxxxxx>:
> > Jan-Benedict Glaw wrote:
> > >On Wed, 2005-02-09 18:08:10 +0000, Paulo Marques <pmarques@xxxxxxxxxxxx>
> > >wrote in message <420A518A.9040500@xxxxxxxxxxxx>:
> > >That's IMHO not brain-damaged, but pure physics: just consider scratches
> > >or dust (or other substances) applied to the touch foil. This happens
> > >all the time, so the touch screen gets out of calibration. This won't
> > >happen on a screen used only twice a day. But think about a touch screen
> > >that's tortured all the day with pencils, finger rings, dirty fingers,
> >
> > The brain-damaged part wasn't the calibration. It was the calibration
> > being done in the touchscreen itself, instead of letting the PC handle
> > it for them. We will always need calibration, of course.
>
> Again, you cannot map 0..\inf Ohm or 0..\inf nF to a given set
> [0..0xffff] of coordinates. The physical characteristics of touchscreens
> *can* change, so you need to recalibrate the A/D converter itself.

Both 4-wire and 5-wire resistive touchscreens work as voltage dividers.

Thus the chip doesn't have to care about the total resistance, it just
applies voltage on two wires and the voltage on the other two
corresponds proportionally to the position. That's one axis measurement.
For the other axis, the role of the wires is simply swapped.

For capacitive touch sensors it's very much different, and the
controller usually is matched to the sensor, since the sensor usually has
several electrodes, so the controller 'knows' about the sensor because
they were manufactured together.

Regarding surface wave sensors, I'm not completely sure about the need
of calibration to get the range there. I'd assume that since they
measure wave reflections from reflector fins, and they know the number
of the fins (== number of reflections), that they'll be able to stretch
the range properly as well.

> > We let the touch screen send the widest range it can muster, so that we
> > don't have quantization errors. We then calibrate in software as for any
> > other touch screen, using the coordinates sent as "raw data".
>
> That cannot be done. Just hit a resistor-based touchscreen once with a
> hammer. You'll probably see that you need a physical recalibration
> then... Or flood it with water-solved citronic acid and let is on the
> screen for some days. That's funny, but it's real life...

You'll need a new touchscreen most likely. The hammer will break the
glass if you hit it properly, and if the citric acid gets between the
resistive layers, you get nonlinear distortion of the resistivity and
that cannot be calibrated for.

--
Vojtech Pavlik
SuSE Labs, SuSE CR
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/