summaryrefslogtreecommitdiffstats
path: root/keyboard/ergodox_ez/matrix.c
diff options
context:
space:
mode:
Diffstat (limited to 'keyboard/ergodox_ez/matrix.c')
-rw-r--r--keyboard/ergodox_ez/matrix.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/keyboard/ergodox_ez/matrix.c b/keyboard/ergodox_ez/matrix.c
index 7266cca98..2a7dfba21 100644
--- a/keyboard/ergodox_ez/matrix.c
+++ b/keyboard/ergodox_ez/matrix.c
@@ -106,6 +106,25 @@ void matrix_init(void)
}
+void matrix_power_up(void) {
+ mcp23018_status = init_mcp23018();
+
+ unselect_rows();
+ init_cols();
+
+ // initialize matrix state: all keys off
+ for (uint8_t i=0; i < MATRIX_ROWS; i++) {
+ matrix[i] = 0;
+ matrix_debouncing[i] = 0;
+ }
+
+#ifdef DEBUG_MATRIX_SCAN_RATE
+ matrix_timer = timer_read32();
+ matrix_scan_count = 0;
+#endif
+
+}
+
uint8_t matrix_scan(void)
{
if (mcp23018_status) { // if there was an error