TSLIB touchscreen

Hi!

I have been wrestling with optimizing a touchscreen for button pressing with a finger. I started by trying to set the tslib filters, variance and dejitter to eliminate the noise that we were seeing and and "quick motions" in favor of solid finger presses. These two filters helped but a lot of noise was still getting through, especially points on the center of one perimeter. so I decided to make my own filter that would average several raw readings together as well as throw out any reading that was outside of the average range. This new filter works excellently with tslib's ts_test. It only lets a very concentrated point through and stops any strokes or dragging. However, once I tried the new setup with a X server it stops working.

At first my new filter didn't work at all, but then I figured out that it would have to keep a history of raw readings as opposed to taking several readings all together in order to work. The filters and tslib are clearly setup to be able to be 'greedy' and give less output than input. The variance filter is, so I don't know why that was a problem. Now readings will come through to X server, but they are still off. Some readings are lost, some are one touch behind, some are averaged between past touches.

I've been struggling with this touch screen for quite some time and would love to have a few questions answered:

- Are touch screens supposed to be quite noisy? Specific noise sources on a perimeter?

- Are there some dejitter, variance or other tslib settings that I may have missed and should try?

- Is there any known reason why a filtering sequence that works well with ts_test would baulk with X server

- Is there a reason why x server wouldn't allow multiple raw readings by a filter?

Thank you, Nik

Reply to
nik
Loading thread data ...

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.