development kernel tree: Changes to 'andy'

git at git.openmoko.org git at git.openmoko.org
Wed Jun 18 16:51:33 CEST 2008


 arch/arm/mach-s3c2440/mach-gta02.c     |   10 +-
 drivers/input/touchscreen/s3c2410_ts.c |  256 ++++++++++++++++++++++++--------
 include/asm-arm/arch-s3c2410/ts.h      |    8 +-
 3 files changed, 205 insertions(+), 69 deletions(-)

New commits:
commit 0230b5c0c9dee01065100f95bc19800fd5e56cc3
Author: Andy Green <andy at openmoko.com>
Date:   Wed Jun 18 15:50:01 2008 +0100

    touchscreen-meddling.patch
    
    Touchscreen on GTA01-02 experiences noise on the channel that serves the
    "tall axis" of the LCM.  The sample quality of the other axis is good.
    The bad samples have a characteristic of one shot excursions that can
    reach +/- 20% or more of the sample average.
    
    Previously, we had a simple averaging scheme going in the touchscreen
    driver that summed up 32 x and ys and then divided it by 32.  This patch
    first tidies up the existing code for style, then adds a new "running
    average" concept with a FIFO.  The running average is separate from the
    summing average mentioned above, and is accurate for the last n samples
    sample-by-sample, where n is set by 1 << excursion_filter_len_bits in the
    machine / platform stuff.
    
    The heuristic the patch implements for the filtering is to accept all
    samples, but tag the *previous* sample with a flag if it differed from
    the running average by more than reject_threshold_vs_avg in either
    axis.  The next sample time, a beauty contest is held if the flag was
    set to decide if we think the previous sample was a one-shot excursion
    (detected by the new sample being closer to the average than to the
    flagged previous sample), or if we believe we are moving (detected by
    the new sample being closer to the flagged previous sample than the
    average.  In the case that we believe the previous sample was an
    excursion, we simply overwrite it with the new data and adjust the
    summing average to use the new data instead of the excursion data.
    
    I only tested this by eyeballing the output of ts_print_raw, but it
    seemed to be quite a bit better.  Gross movement appeared to be
    tracked fine too.  If folks want to try different heuristics on top
    of this patch, be my guest; either way feedback on what it looks like
    with a graphical app would be good.
    
    Signed-off-by: Andy Green <andy at openmoko.com>





More information about the commitlog mailing list