Browse Source

add get_matrix_scan_rate() to tmk_core/common/keyboard.c (#11489)

pull/11723/head 0.11.54
Takeshi ISHII 3 years ago
committed by GitHub
parent
commit
c27f16158d
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 13 additions and 2 deletions
  1. +2
    -0
      common_features.mk
  2. +9
    -2
      tmk_core/common/keyboard.c
  3. +2
    -0
      tmk_core/common/keyboard.h

+ 2
- 0
common_features.mk View File

@ -24,6 +24,8 @@ QUANTUM_SRC += \
ifeq ($(strip $(DEBUG_MATRIX_SCAN_RATE_ENABLE)), yes)
OPT_DEFS += -DDEBUG_MATRIX_SCAN_RATE
CONSOLE_ENABLE = yes
else ifeq ($(strip $(DEBUG_MATRIX_SCAN_RATE_ENABLE)), api)
OPT_DEFS += -DDEBUG_MATRIX_SCAN_RATE
endif
ifeq ($(strip $(API_SYSEX_ENABLE)), yes)


+ 9
- 2
tmk_core/common/keyboard.c View File

@ -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


+ 2
- 0
tmk_core/common/keyboard.h View File

@ -73,6 +73,8 @@ void keyboard_post_init_user(void);
void housekeeping_task_kb(void);
void housekeeping_task_user(void);
uint32_t get_matrix_scan_rate(void);
#ifdef __cplusplus
}
#endif

Loading…
Cancel
Save