aboutsummaryrefslogtreecommitdiff
path: root/keyboards/handwired/symmetric70_proto/matrix_debug/matrix.c
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/handwired/symmetric70_proto/matrix_debug/matrix.c')
-rw-r--r--keyboards/handwired/symmetric70_proto/matrix_debug/matrix.c35
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;