Touch calibration difficulties with NHD-7.0-800480FT-CSXV-T
We're developing an application with a NHD-7.0-800480FT-CSXV-T and a Parallax Propeller 2 as host MCU. Everything works fine except the touch calibration. Executing Cmd_Calibrate sometimes takes a dozen attempts before a good calibration occurs. There's no problem tapping the three dots and registering touches, but the transform registers A-F must not be calculating correctly because when I monitor REG_TOUCH_SCREEN_XY, the values are very nonsensical. They range from 0 to around 2000 when the screen is tapped and don't seem to have any relationship to the touch location. Some areas of the screen register a value of 65000+.
When I monitor REG_TOUCH_RAW_XY, however, the values are always as they should be. That is, ranging 0-1023 and increasing linearly across the screen. So it seems to have something to do with how the scaled value is being calculated.
Once a good calibration occurs, it is solid and I experience no further problems. I store the transform variables in EEPROM for retention across power cycles.
I thought perhaps it could be a defective screen but the behavior continued after I swapped it out with a different unit. I've tried all different kinds of styluses--soft, hard, pointy, dull--thinking it could be how the touch location is registered during the calibration.
We previously used our same code on this MCU with the 5" version (NHD-5.0-800480FT-CTXL-T) and had no problems with calibration, so I'd be surprised if there are any issues with our software. Are there any differences between the 5" and 7" models regarding the touch panel that we need to be aware of? Any other suggestions to solve this issue?
-
Hi,
Thank you for contacting us through email as well. This issue is being supported via email.
0 -
Just to follow up in case anyone else has this same issue... the solution was to adjust the REG_TOUCH_RZTHRESH value. This register controls the amount of force required to actuate the touchscreen. It defaults to 0xFFFF which causes even the lightest touch to be read. During calibration this was apparently causing errant position values to be registered during the three taps that set the calibration matrix. We reduced the value to around 0x300 which requires just a slightly harder push but has eliminated the touch calibration issues.
0 -
Hi,
Thank you for posting the solution!
0
Please sign in to leave a comment.
Comments
3 comments