Align split_common/matrix.c with matrix.c (#8153)
This commit is contained in:
parent
7740470a94
commit
667b29b77c
1 changed files with 11 additions and 8 deletions
|
@ -19,10 +19,10 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
#include "wait.h"
|
#include "wait.h"
|
||||||
#include "util.h"
|
#include "util.h"
|
||||||
#include "matrix.h"
|
#include "matrix.h"
|
||||||
|
#include "debounce.h"
|
||||||
|
#include "quantum.h"
|
||||||
#include "split_util.h"
|
#include "split_util.h"
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
#include "quantum.h"
|
|
||||||
#include "debounce.h"
|
|
||||||
#include "transport.h"
|
#include "transport.h"
|
||||||
|
|
||||||
#ifdef ENCODER_ENABLE
|
#ifdef ENCODER_ENABLE
|
||||||
|
@ -35,7 +35,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
#ifdef DIRECT_PINS
|
#ifdef DIRECT_PINS
|
||||||
static pin_t direct_pins[MATRIX_ROWS][MATRIX_COLS] = DIRECT_PINS;
|
static pin_t direct_pins[MATRIX_ROWS][MATRIX_COLS] = DIRECT_PINS;
|
||||||
#else
|
#elif (DIODE_DIRECTION == ROW2COL) || (DIODE_DIRECTION == COL2ROW)
|
||||||
static pin_t row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS;
|
static pin_t row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS;
|
||||||
static pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS;
|
static pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS;
|
||||||
#endif
|
#endif
|
||||||
|
@ -115,8 +115,11 @@ static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row)
|
||||||
|
|
||||||
// For each col...
|
// For each col...
|
||||||
for (uint8_t col_index = 0; col_index < MATRIX_COLS; col_index++) {
|
for (uint8_t col_index = 0; col_index < MATRIX_COLS; col_index++) {
|
||||||
|
// Select the col pin to read (active low)
|
||||||
|
uint8_t pin_state = readPin(col_pins[col_index]);
|
||||||
|
|
||||||
// Populate the matrix row with the state of the col pin
|
// Populate the matrix row with the state of the col pin
|
||||||
current_matrix[current_row] |= readPin(col_pins[col_index]) ? 0 : (MATRIX_ROW_SHIFTER << col_index);
|
current_matrix[current_row] |= pin_state ? 0 : (MATRIX_ROW_SHIFTER << col_index);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Unselect row
|
// Unselect row
|
||||||
|
@ -160,12 +163,12 @@ static bool read_rows_on_col(matrix_row_t current_matrix[], uint8_t current_col)
|
||||||
matrix_row_t last_row_value = current_matrix[row_index];
|
matrix_row_t last_row_value = current_matrix[row_index];
|
||||||
|
|
||||||
// Check row pin state
|
// Check row pin state
|
||||||
if (readPin(row_pins[row_index])) {
|
if (readPin(row_pins[row_index]) == 0) {
|
||||||
// Pin HI, clear col bit
|
|
||||||
current_matrix[row_index] &= ~(MATRIX_ROW_SHIFTER << current_col);
|
|
||||||
} else {
|
|
||||||
// Pin LO, set col bit
|
// Pin LO, set col bit
|
||||||
current_matrix[row_index] |= (MATRIX_ROW_SHIFTER << current_col);
|
current_matrix[row_index] |= (MATRIX_ROW_SHIFTER << current_col);
|
||||||
|
} else {
|
||||||
|
// Pin HI, clear col bit
|
||||||
|
current_matrix[row_index] &= ~(MATRIX_ROW_SHIFTER << current_col);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Determine if the matrix changed state
|
// Determine if the matrix changed state
|
||||||
|
|
Loading…
Reference in a new issue