Archived
1
0

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
This commit is contained in:
Jacob Alexander 2014-04-25 01:26:45 -07:00
parent ca1bf4fab9
commit 1a5ae7fd68

View File

@ -213,6 +213,8 @@ inline void Scan_setup()
// This means, the strobe GPIO can be set to Tri-State pull-up to detect which strobe lines are not used. // 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. // 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 // 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; DDRC = 0;
PORTC = C_MASK; PORTC = C_MASK;
DDRD = 0; DDRD = 0;
@ -278,6 +280,9 @@ inline void Scan_setup()
} }
} }
printInt8( total_strobes );
print( " strobes found." NL );
// Setup Pins for Strobing // Setup Pins for Strobing
DDRC = C_MASK; DDRC = C_MASK;
PORTC = 0; PORTC = 0;
@ -398,7 +403,8 @@ inline void capsense_scan()
} }
// If sample is higher than previous high_avg, then mark as "problem key" // 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 // Prepare for next average
cur_full_avg += sample; cur_full_avg += sample;
@ -462,6 +468,9 @@ inline void capsense_scan()
printInt8( low_count ); printInt8( low_count );
print("): "); print("): ");
printHex( low_avg ); printHex( low_avg );
print(" Rejection threshold: ");
printHex( high_avg + (high_avg - full_avg) );
print( NL ); print( NL );
// Display problem keys, and the sense value at the time // Display problem keys, and the sense value at the time