12 static uint16_t matrix_scan_count = 0;
13 static uint32_t matrix_timer = 0;
14 void matrix_check_scan_rate(void) {
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;
21 pdec(rate_per_second);
23 matrix_timer = timer_now;
24 matrix_scan_count = 0;
28 static uint32_t last_scan_time = 0;
29 void matrix_time_between_scans(void) {
30 if (timer_elapsed(last_scan_time) > 1)
32 print(">1ms elapsed since last scan: ");
33 pdec(timer_elapsed(last_scan_time));
36 last_scan_time = timer_read();