diff options
author | Joel Challis <git@zvecr.com> | 2020-01-15 01:58:32 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-01-15 01:58:32 +0000 |
commit | 48cac9e3c8710ae3e27c66fbd7043f38e7c6535e (patch) | |
tree | a34180fc73b535f3d2b8508f7267b872f0ddcb32 /quantum/matrix.c | |
parent | 537b8713e5bc9690dca3c1ad8733132892d48ea2 (diff) | |
download | qmk_firmware-48cac9e3c8710ae3e27c66fbd7043f38e7c6535e.tar.gz qmk_firmware-48cac9e3c8710ae3e27c66fbd7043f38e7c6535e.zip |
Migrate more custom matrix 'lite' code to core (#7863)
* Migrate more custom matrix lite code to core
* Align function names
* fix up MATRIX_MASKED
Diffstat (limited to 'quantum/matrix.c')
-rw-r--r-- | quantum/matrix.c | 22 |
1 files changed, 2 insertions, 20 deletions
diff --git a/quantum/matrix.c b/quantum/matrix.c index 62a86fba6..1675f2477 100644 --- a/quantum/matrix.c +++ b/quantum/matrix.c | |||
@@ -22,10 +22,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
22 | #include "debounce.h" | 22 | #include "debounce.h" |
23 | #include "quantum.h" | 23 | #include "quantum.h" |
24 | 24 | ||
25 | #ifdef MATRIX_MASKED | ||
26 | extern const matrix_row_t matrix_mask[]; | ||
27 | #endif | ||
28 | |||
29 | #ifdef DIRECT_PINS | 25 | #ifdef DIRECT_PINS |
30 | static pin_t direct_pins[MATRIX_ROWS][MATRIX_COLS] = DIRECT_PINS; | 26 | static pin_t direct_pins[MATRIX_ROWS][MATRIX_COLS] = DIRECT_PINS; |
31 | #elif (DIODE_DIRECTION == ROW2COL) || (DIODE_DIRECTION == COL2ROW) | 27 | #elif (DIODE_DIRECTION == ROW2COL) || (DIODE_DIRECTION == COL2ROW) |
@@ -34,22 +30,8 @@ static const pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS; | |||
34 | #endif | 30 | #endif |
35 | 31 | ||
36 | /* matrix state(1:on, 0:off) */ | 32 | /* matrix state(1:on, 0:off) */ |
37 | static matrix_row_t raw_matrix[MATRIX_ROWS]; // raw values | 33 | extern matrix_row_t raw_matrix[MATRIX_ROWS]; // raw values |
38 | static matrix_row_t matrix[MATRIX_ROWS]; // debounced values | 34 | extern matrix_row_t matrix[MATRIX_ROWS]; // debounced values |
39 | |||
40 | // helper functions | ||
41 | |||
42 | inline bool matrix_is_on(uint8_t row, uint8_t col) { return (matrix[row] & ((matrix_row_t)1 << col)); } | ||
43 | |||
44 | inline matrix_row_t matrix_get_row(uint8_t row) { | ||
45 | // Matrix mask lets you disable switches in the returned matrix data. For example, if you have a | ||
46 | // switch blocker installed and the switch is always pressed. | ||
47 | #ifdef MATRIX_MASKED | ||
48 | return matrix[row] & matrix_mask[row]; | ||
49 | #else | ||
50 | return matrix[row]; | ||
51 | #endif | ||
52 | } | ||
53 | 35 | ||
54 | // matrix code | 36 | // matrix code |
55 | 37 | ||