]> git.donarmstrong.com Git - qmk_firmware.git/blob - keyboards/handwired/xealous/matrix_scanrate.c
Renamed DEBOUNCE_ALGO to DEBOUNCE_TYPE
[qmk_firmware.git] / keyboards / handwired / xealous / matrix_scanrate.c
1 #include <stdint.h>
2 #include <stdbool.h>
3 #include <avr/io.h>
4 #include "wait.h"
5 #include "print.h"
6 #include "debug.h"
7 #include "util.h"
8 #include "matrix.h"
9 #include "timer.h"
10
11 #ifdef CONSOLE_ENABLE
12 static uint16_t matrix_scan_count = 0;
13 static uint32_t matrix_timer = 0;
14 void matrix_check_scan_rate(void) {    
15     matrix_scan_count++;
16     if (matrix_scan_count > 1000) {
17         uint32_t timer_now = timer_read32();
18         uint16_t ms_per_thousand = TIMER_DIFF_32(timer_now, matrix_timer);
19         uint16_t rate_per_second = 1000000UL / ms_per_thousand;
20         print("scan_rate: ");
21         pdec(rate_per_second);
22         print("\n");
23         matrix_timer = timer_now;
24         matrix_scan_count = 0;
25     }    
26 }
27
28 static uint32_t last_scan_time = 0;
29 void matrix_time_between_scans(void) {    
30     if (timer_elapsed(last_scan_time) > 1)
31     {
32         print(">1ms elapsed since last scan: ");
33         pdec(timer_elapsed(last_scan_time));
34         print("\n");
35     }
36     last_scan_time = timer_read();
37     
38 }
39 #endif