changeset 155:7b4155f3b1b7

Giving more breathing room for regular keys to be enable initially. - Should be tested more on keyboards without test points (to see if more of a margin in necessary) - Added more information messages on bootup
author Jacob Alexander <haata@kiibohd.com>
date Fri, 25 Apr 2014 01:26:45 -0700
parents a2be5e8fc3d7
children f663391a20f1
files Scan/DPH/scan_loop.c
diffstat 1 files changed, 10 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/Scan/DPH/scan_loop.c	Fri Apr 25 01:08:15 2014 -0700
+++ b/Scan/DPH/scan_loop.c	Fri Apr 25 01:26:45 2014 -0700
@@ -213,6 +213,8 @@
 	//       This means, the strobe GPIO can be set to Tri-State pull-up to detect which strobe lines are not used.
 	// NOTE2: This will *NOT* detect floating strobes.
 	// NOTE3: Rev 0.4, the strobe numbers are reversed, so D0 is actually strobe 0 and C7 is strobe 17
+	info_msg("Detecting Strobes...");
+
 	DDRC  = 0;
 	PORTC = C_MASK;
 	DDRD  = 0;
@@ -278,6 +280,9 @@
 		}
 	}
 
+	printInt8( total_strobes );
+	print( " strobes found." NL );
+
 	// Setup Pins for Strobing
 	DDRC  = C_MASK;
 	PORTC = 0;
@@ -398,7 +403,8 @@
 				}
 
 				// If sample is higher than previous high_avg, then mark as "problem key"
-				keys_problem[strobe_line + mux] = sample > high_avg ? sample : 0;
+				// XXX Giving a bit more margin to pass (high_avg vs. high_avg + high_avg - full_avg) -HaaTa
+				keys_problem[strobe_line + mux] = sample > high_avg + (high_avg - full_avg) ? sample : 0;
 
 				// Prepare for next average
 				cur_full_avg += sample;
@@ -462,6 +468,9 @@
 			printInt8( low_count );
 			print("): ");
 			printHex( low_avg );
+
+			print("  Rejection threshold: ");
+			printHex( high_avg + (high_avg - full_avg) );
 			print( NL );
 
 			// Display problem keys, and the sense value at the time