|
|
|
@ -97,21 +97,28 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
// 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 |
|
|
|
|