From dcb7ca3f7910420cfa85ba659d48285b3633a978 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Sat, 4 Jan 2020 20:29:44 +0000 Subject: Move some common matrix code to a common location (#7699) * Move some common matrix code to a common location * Refactor some 'custom_matrix_helper' logic to use custom matrix lite * Fix build for kinesis/stapelberg - abuse of vpath was picking up matrix.c from core when custom matrix was enabled * Add validation for CUSTOM_MATRIX --- keyboards/xd96/custom_matrix_helper.c | 56 ----------------------------------- keyboards/xd96/rules.mk | 2 +- 2 files changed, 1 insertion(+), 57 deletions(-) (limited to 'keyboards/xd96') diff --git a/keyboards/xd96/custom_matrix_helper.c b/keyboards/xd96/custom_matrix_helper.c index a4c5b6afa..e4e256381 100644 --- a/keyboards/xd96/custom_matrix_helper.c +++ b/keyboards/xd96/custom_matrix_helper.c @@ -23,72 +23,16 @@ #include "debounce.h" #include "quantum.h" -//_____COMMON__________________________________________________________________ -// user-defined overridable functions -__attribute__((weak)) void matrix_init_kb(void) { matrix_init_user(); } -__attribute__((weak)) void matrix_scan_kb(void) { matrix_scan_user(); } -__attribute__((weak)) void matrix_init_user(void) {} -__attribute__((weak)) void matrix_scan_user(void) {} - - //_____COULD BE COMMON_________________________________________________________ /* matrix state(1:on, 0:off) */ /*static*/ matrix_row_t raw_matrix[MATRIX_ROWS]; /*static*/ matrix_row_t matrix[MATRIX_ROWS]; -#if (MATRIX_COLS <= 8) -# define print_matrix_header() print("\nr/c 01234567\n") -# define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row)) -# define matrix_bitpop(i) bitpop(matrix[i]) -# define ROW_SHIFTER ((uint8_t)1) -#elif (MATRIX_COLS <= 16) -# define print_matrix_header() print("\nr/c 0123456789ABCDEF\n") -# define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row)) -# define matrix_bitpop(i) bitpop16(matrix[i]) -# define ROW_SHIFTER ((uint16_t)1) -#elif (MATRIX_COLS <= 32) -# define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n") -# define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row)) -# define matrix_bitpop(i) bitpop32(matrix[i]) -# define ROW_SHIFTER ((uint32_t)1) -#endif - -__attribute__ ((weak)) -uint8_t matrix_rows(void) { - return MATRIX_ROWS; -} - -__attribute__ ((weak)) -uint8_t matrix_cols(void) { - return MATRIX_COLS; -} - __attribute__ ((weak)) matrix_row_t matrix_get_row(uint8_t row) { return matrix[row]; } -__attribute__ ((weak)) -uint8_t matrix_key_count(void) { - uint8_t count = 0; - for (uint8_t i = 0; i < MATRIX_ROWS; i++) { - count += matrix_bitpop(i); - } - return count; -} - -__attribute__ ((weak)) -void matrix_print(void) { - print_matrix_header(); - - for (uint8_t row = 0; row < MATRIX_ROWS; row++) { - phex(row); print(": "); - print_matrix_row(row); - print("\n"); - } -} - - //_____CUSTOM MATRIX 'LITE'____________________________________________________ __attribute__ ((weak)) void custom_matrix_init(void) { diff --git a/keyboards/xd96/rules.mk b/keyboards/xd96/rules.mk index 2079e436c..d5ac5df36 100644 --- a/keyboards/xd96/rules.mk +++ b/keyboards/xd96/rules.mk @@ -34,7 +34,7 @@ HD44780_ENABLE = no # Enable support for HD44780 based LCDs (+400) LINK_TIME_OPTIMIZATION_ENABLE = yes # custom matrix setup -CUSTOM_MATRIX = yes +CUSTOM_MATRIX = lite VPATH += drivers/gpio SRC += custom_matrix_helper.c pca9555.c matrix.c -- cgit v1.2.3