]> git.donarmstrong.com Git - kiibohd-controller.git/commitdiff
Giving more breathing room for regular keys to be enable initially.
authorJacob Alexander <haata@kiibohd.com>
Fri, 25 Apr 2014 08:26:45 +0000 (01:26 -0700)
committerJacob Alexander <haata@kiibohd.com>
Fri, 25 Apr 2014 08:26:45 +0000 (01:26 -0700)
- Should be tested more on keyboards without test points (to see if more of a margin in necessary)
- Added more information messages on bootup

Scan/DPH/scan_loop.c

index 133493a67a62347ab514775c41583cf2232a166a..cd65a2af23a880603fd79791bba4c3ee558186bb 100644 (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.
        // 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 @@ inline void Scan_setup()
                }
        }
 
+       printInt8( total_strobes );
+       print( " strobes found." NL );
+
        // Setup Pins for Strobing
        DDRC  = C_MASK;
        PORTC = 0;
@@ -398,7 +403,8 @@ inline void capsense_scan()
                                }
 
                                // 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 @@ inline void capsense_scan()
                        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