Q: My touch panel calibration is drifting over time. It doesn't seem to stay calibrated.
This behavior often shows up after an analog-resistive touch screen has been in use for some time. One cause of this is touch panel delamination (the small, clear adhesive spacers that hold the two sheets of conductive plastic apart no longer are doing their job). Once this starts happening, no matter how many times you recalibrate, the calibration usually continues to drift.
Try connecting a new touch panel to your system. You can just stick it right on top of the existing one for test.
Other areas that can cause drift and touch panel mis-registration problems are:
problems in A/D readings (possible timing mismatch for panel)
intermittency in the touch panel cable (try a new cable with known-good crimps)
loose electromechanical connection in the flatflex connector coming off the touch panel (common if connection is flexed often)
delamination or other aging of the touch panel.
Testing with another touch panel and cable takes care of three of the four. If you think there might be a problem with A/D timing, probe the X and Y signals at the board. You should see clusters of square waves on the display when you press the touch panel; the positive and negative for X and Y will be roughly inverses of each other. If the waveforms are noisy or irregular, or any one of the signals doesn't look like the others, it can point to a problem with the cable. If the waveforms are not square, the touch panel driver timings (in ADSLOAD.REG) may not match the panel you're using.