aboutsummaryrefslogtreecommitdiff
path: root/keyboards/keychron/v10/matrix.c
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/keychron/v10/matrix.c')
-rw-r--r--keyboards/keychron/v10/matrix.c47
1 files changed, 24 insertions, 23 deletions
diff --git a/keyboards/keychron/v10/matrix.c b/keyboards/keychron/v10/matrix.c
index 9269fed8d6..bb6504fa78 100644
--- a/keyboards/keychron/v10/matrix.c
+++ b/keyboards/keychron/v10/matrix.c
@@ -15,7 +15,8 @@
*/
#include "matrix.h"
-#include "quantum.h"
+#include "atomic_util.h"
+#include <string.h>
#ifndef PIN_USED_74HC595
# define PIN_USED_74HC595 8
@@ -35,27 +36,27 @@ static pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS;
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 setPinOutput_writeHigh(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
- setPinOutput(pin);
- writePinHigh(pin);
+ gpio_set_pin_output(pin);
+ gpio_write_pin_high(pin);
}
}
static inline void setPinInputHigh_atomic(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
- setPinInputHigh(pin);
+ gpio_set_pin_input_high(pin);
}
}
static inline uint8_t readMatrixPin(pin_t pin) {
if (pin != NO_PIN) {
- return readPin(pin);
+ return gpio_read_pin(pin);
} else {
return 1;
}
@@ -69,34 +70,34 @@ static void shiftOut(uint16_t dataOut) {
ATOMIC_BLOCK_FORCEON {
for (uint8_t i = 0; i < PIN_USED_74HC595; i++) {
if (dataOut & 0x1) {
- writePinHigh(DATA_PIN_74HC595);
+ gpio_write_pin_high(DATA_PIN_74HC595);
} else {
- writePinLow(DATA_PIN_74HC595);
+ gpio_write_pin_low(DATA_PIN_74HC595);
}
dataOut = dataOut >> 1;
- writePinHigh(CLOCK_PIN_74HC595);
+ gpio_write_pin_high(CLOCK_PIN_74HC595);
small_delay(2);
- writePinLow(CLOCK_PIN_74HC595);
+ gpio_write_pin_low(CLOCK_PIN_74HC595);
}
- writePinHigh(LATCH_PIN_74HC595);
+ gpio_write_pin_high(LATCH_PIN_74HC595);
small_delay(2);
- writePinLow(LATCH_PIN_74HC595);
+ gpio_write_pin_low(LATCH_PIN_74HC595);
}
}
static void shiftOut_single(uint8_t data) {
ATOMIC_BLOCK_FORCEON {
if (data & 0x1) {
- writePinHigh(DATA_PIN_74HC595);
+ gpio_write_pin_high(DATA_PIN_74HC595);
} else {
- writePinLow(DATA_PIN_74HC595);
+ gpio_write_pin_low(DATA_PIN_74HC595);
}
- writePinHigh(CLOCK_PIN_74HC595);
+ gpio_write_pin_high(CLOCK_PIN_74HC595);
small_delay(2);
- writePinLow(CLOCK_PIN_74HC595);
- writePinHigh(LATCH_PIN_74HC595);
+ gpio_write_pin_low(CLOCK_PIN_74HC595);
+ gpio_write_pin_high(LATCH_PIN_74HC595);
small_delay(2);
- writePinLow(LATCH_PIN_74HC595);
+ gpio_write_pin_low(LATCH_PIN_74HC595);
}
}
@@ -148,13 +149,13 @@ static void unselect_cols(void) {
}
static void matrix_init_pins(void) {
- setPinOutput(DATA_PIN_74HC595);
- setPinOutput(CLOCK_PIN_74HC595);
- setPinOutput(LATCH_PIN_74HC595);
+ gpio_set_pin_output(DATA_PIN_74HC595);
+ gpio_set_pin_output(CLOCK_PIN_74HC595);
+ gpio_set_pin_output(LATCH_PIN_74HC595);
#ifdef MATRIX_UNSELECT_DRIVE_HIGH
for (uint8_t x = 0; x < MATRIX_COLS; x++) {
if (col_pins[x] != NO_PIN) {
- setPinOutput(col_pins[x]);
+ gpio_set_pin_output(col_pins[x]);
}
}
#endif