summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTakeshi ISHII <2170248+mtei@users.noreply.github.com>2021-01-28 02:34:50 +0900
committerDrashna Jael're <drashna@live.com>2021-02-02 09:48:18 -0800
commitfa1a47fd1a2153a1fea75711d3956d9a6b4cc793 (patch)
tree16f95158a03c638e0670e349e98fede3b3b00442
parent006c55012e7252b43ca8cbba07eae5355576720d (diff)
add get_matrix_scan_rate() to tmk_core/common/keyboard.c (#11489)
-rw-r--r--common_features.mk2
-rw-r--r--tmk_core/common/keyboard.c11
-rw-r--r--tmk_core/common/keyboard.h2
3 files changed, 13 insertions, 2 deletions
diff --git a/common_features.mk b/common_features.mk
index 22cd53d8a3..0518adc9e5 100644
--- a/common_features.mk
+++ b/common_features.mk
@@ -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)
diff --git a/tmk_core/common/keyboard.c b/tmk_core/common/keyboard.c
index aefdd2bfb6..0932a1d21b 100644
--- a/tmk_core/common/keyboard.c
+++ b/tmk_core/common/keyboard.c
@@ -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
diff --git a/tmk_core/common/keyboard.h b/tmk_core/common/keyboard.h
index 92532c474d..f330854fba 100644
--- a/tmk_core/common/keyboard.h
+++ b/tmk_core/common/keyboard.h
@@ -75,6 +75,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