I cannot get the CRTOUCH to report a successful calibration with my 5-Wire resistive touch screen and I continue to get touches where the final X/Y points are 50+ pixels off of actual pressed location. When using evtest the presses will be in the correct location right-up until the last few X/Y reports that precede the BTN_TOUCH release. It creates an anomaly where the mouse jumps from where the screen was touched.
What does it take to get the CRTOUCH to properly calibrate? Does anyone have any suggestions on what to look at? I could hack up the driver to modify what the last reported event is before the BTN_TOUCH event sent reported, but some of this should be handled by the chip and the calibration.
- Custom i.MX6 board with CRTOUCH and 5-Wire Resistive touchscreen
- Linux (3.10.53) Driver is the provided Linux example that has been adapted to:
- Add Device Tree Support w/ interrupt support
- Remove Multi-touch as it is not supported by the 5-Wire setup and it was preventing Linux from registering touch events (though in evtest it looked correct)
- Calibration Tool is the same one provided with the Linux Examples for the CRTOUCH
I checked that the calibration tool was properly getting the screen resolution. I have also tried calibrating with both a stylus and a finger multiple times. I would say about 70% of the time the jump is not that noticeable. I can replicate the the problem with both short taps and longer touch events.
EVTEST results from touch event stream where last X/Y was off:
BTN_TOUCH = 1
BTN_TOUCH = 0
Events were being reported ~ every 0.05 seconds
NOTE: When I calibrate a CRTOUCH the first time, the X axis is inverted while the Y axis operates as expected. I did not see a problem with my schematic on a quick check.