62 lines
2.1 KiB
Plaintext
62 lines
2.1 KiB
Plaintext
|
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
|
||
|
require tuning of this threshold. The driver exposes some of it's
|
||
|
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.
|