2006-05-16 18:41:43 +08:00
|
|
|
README on the ADC/Touchscreen Controller
|
|
|
|
========================================
|
|
|
|
|
|
|
|
The LH79524 and LH7A404 include a built-in Analog to Digital
|
|
|
|
controller (ADC) that is used to process input from a touchscreen.
|
|
|
|
The driver only implements a four-wire touch panel protocol.
|
|
|
|
|
|
|
|
The touchscreen driver is maintenance free except for the pen-down or
|
|
|
|
touch threshold. Some resistive displays and board combinations may
|
2010-04-23 06:08:02 +08:00
|
|
|
require tuning of this threshold. The driver exposes some of its
|
2006-05-16 18:41:43 +08:00
|
|
|
internal state in the sys filesystem. If the kernel is configured
|
|
|
|
with it, CONFIG_SYSFS, and sysfs is mounted at /sys, there will be a
|
|
|
|
directory
|
|
|
|
|
|
|
|
/sys/devices/platform/adc-lh7.0
|
|
|
|
|
|
|
|
containing these files.
|
|
|
|
|
|
|
|
-r--r--r-- 1 root root 4096 Jan 1 00:00 samples
|
|
|
|
-rw-r--r-- 1 root root 4096 Jan 1 00:00 threshold
|
|
|
|
-r--r--r-- 1 root root 4096 Jan 1 00:00 threshold_range
|
|
|
|
|
|
|
|
The threshold is the current touch threshold. It defaults to 750 on
|
|
|
|
most targets.
|
|
|
|
|
|
|
|
# cat threshold
|
|
|
|
750
|
|
|
|
|
|
|
|
The threshold_range contains the range of valid values for the
|
|
|
|
threshold. Values outside of this range will be silently ignored.
|
|
|
|
|
|
|
|
# cat threshold_range
|
|
|
|
0 1023
|
|
|
|
|
|
|
|
To change the threshold, write a value to the threshold file.
|
|
|
|
|
|
|
|
# echo 500 > threshold
|
|
|
|
# cat threshold
|
|
|
|
500
|
|
|
|
|
|
|
|
The samples file contains the most recently sampled values from the
|
|
|
|
ADC. There are 12. Below are typical of the last sampled values when
|
|
|
|
the pen has been released. The first two and last two samples are for
|
|
|
|
detecting whether or not the pen is down. The third through sixth are
|
|
|
|
X coordinate samples. The seventh through tenth are Y coordinate
|
|
|
|
samples.
|
|
|
|
|
|
|
|
# cat samples
|
|
|
|
1023 1023 0 0 0 0 530 529 530 529 1023 1023
|
|
|
|
|
|
|
|
To determine a reasonable threshold, press on the touch panel with an
|
|
|
|
appropriate stylus and read the values from samples.
|
|
|
|
|
|
|
|
# cat samples
|
|
|
|
1023 676 92 103 101 102 855 919 922 922 1023 679
|
|
|
|
|
|
|
|
The first and eleventh samples are discarded. Thus, the important
|
|
|
|
values are the second and twelfth which are used to determine if the
|
|
|
|
pen is down. When both are below the threshold, the driver registers
|
|
|
|
that the pen is down. When either is above the threshold, it
|
|
|
|
registers then pen is up.
|