On Wed, Feb 16, 2005 at 06:38:23PM -0500, Dan Streetman wrote:
> 
> On Wed, 16 Feb 2005, Vojtech Pavlik wrote:
> 
> >> But can't the app/computer can still do software calibration using the
> >> hardware-calibrated coordinates instead of raw coordinates?
> >
> >It can, but there is information loss in the process.
> 
> I don't understand...what information is lost?

If the raw resolution is larger than the cooked resolution, which is
usually the case, multiplication and division will be carried out to
transform in the controller.

Let's assume a screen width of 1280, calibrated resolution 1920, real HW
resolution of 16384. 

Direct scaling from 16384 will be smooth, whereas scaling from 1920 to
1280 will be 'jumpy, because most pixels will map 1:1, but some 1:2.

For a screen resolution equal to the calibrated resolution it can be
even worse if you use software resolution in addition to the hardware
resolution. Assume you need to stretch the touchscreen coordinates a
bit. Then you'll have screen coordinates that are never reachable
through the touchscreen.

So we definitely want to do an one step calibration and want as much
resolution in the input data as the HW gives us.

> >> The benefit of hardware calibration (as I see it) is that it's stored in
> >> the head, so calibration isn't needed if the touch screen is replaced 
> >> (assuming additional software calibration isn't being used).
> >
> >I see. That'll only work if you replace both the panel, and the
> >controller, and the display at the same time.
> 
> True enough, I've only ever seen integrated panels.
> 
> What about for a system where the hardware doesn't change but the software
> is replaced?  Either the software calibration would have to be stored and
> re-used (for each system, if managing multiple systems), or software
> calibration would need to be re-run...

In that case the best option is to store the calibration in the
touchscreen, but still use the raw coordinates and have the controlller
report the recommended calibration to the OS.

> >In the case of software calibration, you also have to replace the config
> >file.
> >
> >I'm not yet convinced that hardware calibration brings enough benefit to
> >be supported at all.
> 
> Do you agree that for integrated touch panels, it is better to use 
> hardware calibration, as no software calibration should be needed?

"Should" is the correct word here. Often it is needed due to
nonlinearities where multi-point calibration is required, and moreso for
integrated touch panels, where you don't want to replace the whole thing
just because the panel is not so perfect anymore after long time use.

> >> I guess my opinion essentially is, reporting raw coordinates requires 
> >> software calibration, while reporting calibrated coordinates makes 
> >> software calibration optional...
> >
> >We'll have to have software calibration for devices which don't have it
> >in hardware (and many don't), anyway.
> 
> Sure, sure, I'm just saying, why _force_ software calibration?  If the 3M 
> panel reports only raw coordinates, I _have_ to use software calibration.  
> If it reports hardware-calibrated coordinates, I don't have to use 
> software calibration...

One reason is to make the behavior of all touchscreens as similar as
possible, so that applications don't have to care.

Another is the information loss above.

Another is if you switch video modes (think CRT display), you have to do
software coordinate transforms, even with a perfectly calibrated
touchscreen.
 
If you can get the 3M panel to send you the calibration coefficients,
you'll still use software calibration, with all the benefits of the HW
one.

-- 
Vojtech Pavlik
SuSE Labs, SuSE CR


-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to