diff options
Diffstat (limited to 'quantum/split_common/matrix.c')
| -rw-r--r-- | quantum/split_common/matrix.c | 20 |
1 files changed, 5 insertions, 15 deletions
diff --git a/quantum/split_common/matrix.c b/quantum/split_common/matrix.c index cd5a024c3..51bf8b109 100644 --- a/quantum/split_common/matrix.c +++ b/quantum/split_common/matrix.c | |||
| @@ -53,9 +53,7 @@ static inline void setPinOutput_writeLow(pin_t pin) { | |||
| 53 | } | 53 | } |
| 54 | 54 | ||
| 55 | static inline void setPinInputHigh_atomic(pin_t pin) { | 55 | static inline void setPinInputHigh_atomic(pin_t pin) { |
| 56 | ATOMIC_BLOCK_FORCEON { | 56 | ATOMIC_BLOCK_FORCEON { setPinInputHigh(pin); } |
| 57 | setPinInputHigh(pin); | ||
| 58 | } | ||
| 59 | } | 57 | } |
| 60 | 58 | ||
| 61 | // matrix code | 59 | // matrix code |
| @@ -95,13 +93,9 @@ static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row) | |||
| 95 | #elif defined(DIODE_DIRECTION) | 93 | #elif defined(DIODE_DIRECTION) |
| 96 | # if (DIODE_DIRECTION == COL2ROW) | 94 | # if (DIODE_DIRECTION == COL2ROW) |
| 97 | 95 | ||
| 98 | static void select_row(uint8_t row) { | 96 | static void select_row(uint8_t row) { setPinOutput_writeLow(row_pins[row]); } |
| 99 | setPinOutput_writeLow(row_pins[row]); | ||
| 100 | } | ||
| 101 | 97 | ||
| 102 | static void unselect_row(uint8_t row) { | 98 | static void unselect_row(uint8_t row) { setPinInputHigh_atomic(row_pins[row]); } |
| 103 | setPinInputHigh_atomic(row_pins[row]); | ||
| 104 | } | ||
| 105 | 99 | ||
| 106 | static void unselect_rows(void) { | 100 | static void unselect_rows(void) { |
| 107 | for (uint8_t x = 0; x < ROWS_PER_HAND; x++) { | 101 | for (uint8_t x = 0; x < ROWS_PER_HAND; x++) { |
| @@ -146,13 +140,9 @@ static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row) | |||
| 146 | 140 | ||
| 147 | # elif (DIODE_DIRECTION == ROW2COL) | 141 | # elif (DIODE_DIRECTION == ROW2COL) |
| 148 | 142 | ||
| 149 | static void select_col(uint8_t col) { | 143 | static void select_col(uint8_t col) { setPinOutput_writeLow(col_pins[col]); } |
| 150 | setPinOutput_writeLow(col_pins[col]); | ||
| 151 | } | ||
| 152 | 144 | ||
| 153 | static void unselect_col(uint8_t col) { | 145 | static void unselect_col(uint8_t col) { setPinInputHigh_atomic(col_pins[col]); } |
| 154 | setPinInputHigh_atomic(col_pins[col]); | ||
| 155 | } | ||
| 156 | 146 | ||
| 157 | static void unselect_cols(void) { | 147 | static void unselect_cols(void) { |
| 158 | for (uint8_t x = 0; x < MATRIX_COLS; x++) { | 148 | for (uint8_t x = 0; x < MATRIX_COLS; x++) { |
