diff options
Diffstat (limited to 'keyboards/handwired/symmetric70_proto/matrix_debug/matrix.c')
-rw-r--r-- | keyboards/handwired/symmetric70_proto/matrix_debug/matrix.c | 35 |
1 files changed, 17 insertions, 18 deletions
diff --git a/keyboards/handwired/symmetric70_proto/matrix_debug/matrix.c b/keyboards/handwired/symmetric70_proto/matrix_debug/matrix.c index 8a303714cf..786c1b4a73 100644 --- a/keyboards/handwired/symmetric70_proto/matrix_debug/matrix.c +++ b/keyboards/handwired/symmetric70_proto/matrix_debug/matrix.c @@ -14,12 +14,11 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ -#include <stdint.h> -#include <stdbool.h> +#include "atomic_util.h" #include "util.h" +#include "wait.h" #include "matrix.h" #include "debounce.h" -#include "quantum.h" #ifndef readPort # include "gpio_extr.h" #endif @@ -63,13 +62,13 @@ extern matrix_row_t matrix[MATRIX_ROWS]; // debounced values static inline void setPinOutput_writeLow(pin_t pin) { ATOMIC_BLOCK_FORCEON { - setPinOutput(pin); - writePinLow(pin); + gpio_set_pin_output(pin); + gpio_write_pin_low(pin); } } static inline void setPinInputHigh_atomic(pin_t pin) { - ATOMIC_BLOCK_FORCEON { setPinInputHigh(pin); } + ATOMIC_BLOCK_FORCEON { gpio_set_pin_input_high(pin); } } // matrix code @@ -81,7 +80,7 @@ static void init_pins(void) { for (int col = 0; col < MATRIX_COLS; col++) { pin_t pin = direct_pins[row][col]; if (pin != NO_PIN) { - setPinInputHigh(pin); + gpio_set_pin_input_high(pin); } } } @@ -94,7 +93,7 @@ static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row) for (uint8_t col_index = 0; col_index < MATRIX_COLS; col_index++) { pin_t pin = direct_pins[current_row][col_index]; if (pin != NO_PIN) { - current_row_value |= readPin(pin) ? 0 : (MATRIX_ROW_SHIFTER << col_index); + current_row_value |= gpio_read_pin(pin) ? 0 : (MATRIX_ROW_SHIFTER << col_index); } } @@ -121,8 +120,8 @@ static void unselect_rows(void) { static void init_pins(void) { # ifdef MATRIX_MUL_SELECT - setPinOutput(MATRIX_MUL_SELECT); - writePinLow(MATRIX_MUL_SELECT); + gpio_set_pin_output(MATRIX_MUL_SELECT); + gpio_write_pin_low(MATRIX_MUL_SELECT); # endif unselect_rows(); for (uint8_t x = 0; x < MATRIX_COLS; x++) { @@ -142,10 +141,10 @@ static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row) for (uint8_t col_index = 0; col_index < MATRIX_COLS; col_index++) { // Select the col pin to read (active low) # ifdef MATRIX_MUL_SELECT - writePin(MATRIX_MUL_SELECT, col_sel[col_index]); + gpio_write_pin(MATRIX_MUL_SELECT, col_sel[col_index]); waitInputPinDelay(); # endif - uint8_t pin_state = readPin(col_pins[col_index]); + uint8_t pin_state = gpio_read_pin(col_pins[col_index]); // Populate the matrix row with the state of the col pin current_row_value |= pin_state ? 0 : (MATRIX_ROW_SHIFTER << col_index); @@ -161,7 +160,7 @@ static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row) is_pressed = false; for (uint8_t i = 0; i < ARRAY_SIZE(delay_ports); i++) { # ifdef MATRIX_IO_DELAY_MULSEL - writePin(MATRIX_MUL_SELECT, delay_sel[i]); + gpio_write_pin(MATRIX_MUL_SELECT, delay_sel[i]); waitInputPinDelay(); # endif is_pressed |= ((readPort(delay_ports[i]) & delay_masks[i]) != delay_masks[i]); @@ -175,10 +174,10 @@ static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row) for (uint8_t col_index = 0; col_index < MATRIX_COLS; col_index++) { MATRIX_DEBUG_DELAY_START(); # ifdef MATRIX_MUL_SELECT - writePin(MATRIX_MUL_SELECT, col_sel[col_index]); + gpio_write_pin(MATRIX_MUL_SELECT, col_sel[col_index]); waitInputPinDelay(); # endif - while (readPin(col_pins[col_index]) == 0) { + while (gpio_read_pin(col_pins[col_index]) == 0) { } MATRIX_DEBUG_DELAY_END(); } @@ -194,10 +193,10 @@ static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row) MATRIX_DEBUG_DELAY_END(); MATRIX_DEBUG_DELAY_START(); # ifdef MATRIX_MUL_SELECT - writePin(MATRIX_MUL_SELECT, col_sel[col_index]); + gpio_write_pin(MATRIX_MUL_SELECT, col_sel[col_index]); waitInputPinDelay(); # endif - state |= (readPin(col_pins[col_index]) == 0); + state |= (gpio_read_pin(col_pins[col_index]) == 0); } MATRIX_DEBUG_DELAY_END(); } while (state); @@ -251,7 +250,7 @@ static bool read_rows_on_col(matrix_row_t current_matrix[], uint8_t current_col) matrix_row_t current_row_value = last_row_value; // Check row pin state - if (readPin(row_pins[row_index]) == 0) { + if (gpio_read_pin(row_pins[row_index]) == 0) { // Pin LO, set col bit current_row_value |= (MATRIX_ROW_SHIFTER << current_col); key_pressed = true; |