From e444f96158dfe41f79834021d38912f5ec5d6e58 Mon Sep 17 00:00:00 2001 From: Jacob Alexander Date: Fri, 25 Apr 2014 23:53:46 -0700 Subject: [PATCH] Adding different algorithm to re-enable problem keys. - More generous to keys, and should reject all test points. --- Scan/DPH/scan_loop.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/Scan/DPH/scan_loop.c b/Scan/DPH/scan_loop.c index 132b39f..74032e0 100644 --- a/Scan/DPH/scan_loop.c +++ b/Scan/DPH/scan_loop.c @@ -484,7 +484,8 @@ inline void capsense_scan() } } - info_print("If problem keys were detected, and were being held down, they will be reset as soon as let go"); + info_print("If problem keys were detected, and were being held down, they will be reset as soon as let go."); + info_print("Some keys have unusually high sense values, on the first press they should be re-enabled."); break; } } @@ -765,9 +766,10 @@ void testColumn( uint8_t strobe ) // Check if this is a bad key (e.g. test point, or non-existent key) if ( keys_problem[key] ) { - // If the sample value of the problem key goes below full_avg (overall initial average) + // If the sample value of the problem key goes above initally recorded result + threshold // re-enable the key - if ( (db_sample = samples[strobe][mux] >> 1) < full_avg ) + if ( (db_sample = samples[strobe][mux] >> 1) > keys_problem[key] + threshold ) + //if ( (db_sample = samples[strobe][mux] >> 1) < high_avg ) { info_msg("Re-enabling problem key: "); printHex( key );