diff options
author | Nick Brassel <nick@tzarc.org> | 2021-01-28 10:52:59 +1100 |
---|---|---|
committer | Nick Brassel <nick@tzarc.org> | 2021-01-28 10:52:59 +1100 |
commit | d65db68f9f2614b91e3cb565086166b01400e473 (patch) | |
tree | 7477dbd7666a170444ffbf2ad29aa6d25189bf50 /tmk_core | |
parent | 99f3df28939d89b7fc2d2e7c0ee21b0879c7813f (diff) | |
parent | bad9592a18494e3f678c2a117a526ca5f2f2280d (diff) |
Merge remote-tracking branch 'upstream/master' into develop
Diffstat (limited to 'tmk_core')
-rw-r--r-- | tmk_core/common/keyboard.c | 11 | ||||
-rw-r--r-- | tmk_core/common/keyboard.h | 2 |
2 files changed, 11 insertions, 2 deletions
diff --git a/tmk_core/common/keyboard.c b/tmk_core/common/keyboard.c index 0ca4546128..1250c45aec 100644 --- a/tmk_core/common/keyboard.c +++ b/tmk_core/common/keyboard.c @@ -112,21 +112,28 @@ uint32_t last_encoder_activity_elapsed(void) { return timer_elapsed32(las void last_encoder_activity_trigger(void) { last_encoder_modification_time = last_input_modification_time = timer_read32(); } // Only enable this if console is enabled to print to -#if defined(DEBUG_MATRIX_SCAN_RATE) && defined(CONSOLE_ENABLE) +#if defined(DEBUG_MATRIX_SCAN_RATE) static uint32_t matrix_timer = 0; static uint32_t matrix_scan_count = 0; +static uint32_t last_matrix_scan_count = 0; void matrix_scan_perf_task(void) { matrix_scan_count++; uint32_t timer_now = timer_read32(); if (TIMER_DIFF_32(timer_now, matrix_timer) > 1000) { +# if defined(CONSOLE_ENABLE) dprintf("matrix scan frequency: %d\n", matrix_scan_count); - +# endif + last_matrix_scan_count = matrix_scan_count; matrix_timer = timer_now; matrix_scan_count = 0; } } + +uint32_t get_matrix_scan_rate(void) { + return last_matrix_scan_count; +} #else # define matrix_scan_perf_task() #endif diff --git a/tmk_core/common/keyboard.h b/tmk_core/common/keyboard.h index 88b3896e9e..eaf74bac58 100644 --- a/tmk_core/common/keyboard.h +++ b/tmk_core/common/keyboard.h @@ -82,6 +82,8 @@ uint32_t last_matrix_activity_elapsed(void); // Number of milliseconds since th uint32_t last_encoder_activity_time(void); // Timestamp of the last encoder activity uint32_t last_encoder_activity_elapsed(void); // Number of milliseconds since the last encoder activity +uint32_t get_matrix_scan_rate(void); + #ifdef __cplusplus } #endif |