forked from mirrors/qmk_firmware
add get_matrix_scan_rate() to tmk_core/common/keyboard.c (#11489)
This commit is contained in:
parent
6937f1d70e
commit
c27f16158d
3 changed files with 13 additions and 2 deletions
|
@ -24,6 +24,8 @@ QUANTUM_SRC += \
|
||||||
ifeq ($(strip $(DEBUG_MATRIX_SCAN_RATE_ENABLE)), yes)
|
ifeq ($(strip $(DEBUG_MATRIX_SCAN_RATE_ENABLE)), yes)
|
||||||
OPT_DEFS += -DDEBUG_MATRIX_SCAN_RATE
|
OPT_DEFS += -DDEBUG_MATRIX_SCAN_RATE
|
||||||
CONSOLE_ENABLE = yes
|
CONSOLE_ENABLE = yes
|
||||||
|
else ifeq ($(strip $(DEBUG_MATRIX_SCAN_RATE_ENABLE)), api)
|
||||||
|
OPT_DEFS += -DDEBUG_MATRIX_SCAN_RATE
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(strip $(API_SYSEX_ENABLE)), yes)
|
ifeq ($(strip $(API_SYSEX_ENABLE)), yes)
|
||||||
|
|
|
@ -97,21 +97,28 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Only enable this if console is enabled to print to
|
// 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_timer = 0;
|
||||||
static uint32_t matrix_scan_count = 0;
|
static uint32_t matrix_scan_count = 0;
|
||||||
|
static uint32_t last_matrix_scan_count = 0;
|
||||||
|
|
||||||
void matrix_scan_perf_task(void) {
|
void matrix_scan_perf_task(void) {
|
||||||
matrix_scan_count++;
|
matrix_scan_count++;
|
||||||
|
|
||||||
uint32_t timer_now = timer_read32();
|
uint32_t timer_now = timer_read32();
|
||||||
if (TIMER_DIFF_32(timer_now, matrix_timer) > 1000) {
|
if (TIMER_DIFF_32(timer_now, matrix_timer) > 1000) {
|
||||||
|
# if defined(CONSOLE_ENABLE)
|
||||||
dprintf("matrix scan frequency: %d\n", matrix_scan_count);
|
dprintf("matrix scan frequency: %d\n", matrix_scan_count);
|
||||||
|
# endif
|
||||||
|
last_matrix_scan_count = matrix_scan_count;
|
||||||
matrix_timer = timer_now;
|
matrix_timer = timer_now;
|
||||||
matrix_scan_count = 0;
|
matrix_scan_count = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
uint32_t get_matrix_scan_rate(void) {
|
||||||
|
return last_matrix_scan_count;
|
||||||
|
}
|
||||||
#else
|
#else
|
||||||
# define matrix_scan_perf_task()
|
# define matrix_scan_perf_task()
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -73,6 +73,8 @@ void keyboard_post_init_user(void);
|
||||||
void housekeeping_task_kb(void);
|
void housekeeping_task_kb(void);
|
||||||
void housekeeping_task_user(void);
|
void housekeeping_task_user(void);
|
||||||
|
|
||||||
|
uint32_t get_matrix_scan_rate(void);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in a new issue