Using the TSC driver with Linux, we see a behavior of the 4W resistive touch which happens on any kind of connected 4W RTP (Resistive Touch Panel), independent of the size and form-factor.
Basically, this is the behavior:
- If the touch is constant and finger presses the RTP firmly, the touch is correctly detected and cursor is positioned correctly
- If the RTP is slightly touched, just place the fingertip and move it, but without a firm pressure, then we see the TSC becomes crazy: the driver returns false touches and positions of touches (mainly pointing to top left corner near 0, 0). This is dangerous in machine applications in case your touch is not firm and strong, because the touch driver detects a touch elsewhere, and if happening on other "buttons" then unwanted actions happen.
- If we use the same RTP, but disconnected from iMX6UL, and use a 4W controller board with USB interface,
and we use it with same iMX6UL board, that controller does NOT "see" light touches; it only reacts to strong touches, so this behavior never happens.
- does anybody has detected same behavior?
- is it possible to set thresholds for the TSC?
- can anybody explain in detail if/where to put hands to modify this behavior?
Today (DEC 6th) we could apply some workaround, adding a s/w filter inside the Interrupt routine. This make the RTP response slower but a lot less sensitive to light touches, so the user has to give a good fairly strong touch and there are not false touch responses any more.
We are asking all users if anybody could ever see such behavior, and eventually how it could be fixed (in a different way than filtering coordinates by software).
Our RTP interface is exactly 1:1 the same circuitry used in the iMX6UL evaluation board.
Any feedback is welcome.
To help readers who find absurd info in the iMX6UL manual about internal ADC registers, see attached document.
Unfortunately it does not help so much understanding the erratic behavior of the touch interface, but anyway can help ADC users...