diff options
Diffstat (limited to 'keyboards/mechlovin/olly/jf/rev1/matrix.c')
-rw-r--r-- | keyboards/mechlovin/olly/jf/rev1/matrix.c | 323 |
1 files changed, 160 insertions, 163 deletions
diff --git a/keyboards/mechlovin/olly/jf/rev1/matrix.c b/keyboards/mechlovin/olly/jf/rev1/matrix.c index c01879c9a5..8d1f80ea71 100644 --- a/keyboards/mechlovin/olly/jf/rev1/matrix.c +++ b/keyboards/mechlovin/olly/jf/rev1/matrix.c @@ -16,13 +16,10 @@ 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 "wait.h" #include "util.h" #include "matrix.h" #include "debounce.h" -#include "quantum.h" #ifdef DIRECT_PINS static pin_t direct_pins[MATRIX_ROWS][MATRIX_COLS] = DIRECT_PINS; @@ -40,7 +37,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); } } } @@ -53,7 +50,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_matrix[current_row] |= readPin(pin) ? 0 : (MATRIX_ROW_SHIFTER << col_index); + current_matrix[current_row] |= gpio_read_pin(pin) ? 0 : (MATRIX_ROW_SHIFTER << col_index); } } @@ -63,22 +60,22 @@ static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row) #elif (DIODE_DIRECTION == COL2ROW) static void select_row(uint8_t row) { - setPinOutput(row_pins[row]); - writePinLow(row_pins[row]); + gpio_set_pin_output(row_pins[row]); + gpio_write_pin_low(row_pins[row]); } -static void unselect_row(uint8_t row) { setPinInputHigh(row_pins[row]); } +static void unselect_row(uint8_t row) { gpio_set_pin_input_high(row_pins[row]); } static void unselect_rows(void) { for (uint8_t x = 0; x < MATRIX_ROWS; x++) { - setPinInputHigh(row_pins[x]); + gpio_set_pin_input_high(row_pins[x]); } } static void init_pins(void) { unselect_rows(); for (uint8_t x = 0; x < MATRIX_COLS; x++) { - setPinInputHigh(col_pins[x]); + gpio_set_pin_input_high(col_pins[x]); } } @@ -97,7 +94,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++) { // Select the col pin to read (active low) - 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_matrix[current_row] |= pin_state ? 0 : (MATRIX_ROW_SHIFTER << col_index); @@ -157,109 +154,109 @@ static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row) static void select_col(uint8_t col) { switch (col) { case 0: - writePinLow(A0); - writePinLow(A1); - writePinLow(A2); - writePinHigh(B4); + gpio_write_pin_low(A0); + gpio_write_pin_low(A1); + gpio_write_pin_low(A2); + gpio_write_pin_high(B4); break; case 1: - writePinLow(A0); - writePinLow(A1); - writePinHigh(A2); - writePinHigh(B4); + gpio_write_pin_low(A0); + gpio_write_pin_low(A1); + gpio_write_pin_high(A2); + gpio_write_pin_high(B4); break; case 2: - writePinLow(A0); - writePinHigh(A1); - writePinLow(A2); - writePinHigh(B4); + gpio_write_pin_low(A0); + gpio_write_pin_high(A1); + gpio_write_pin_low(A2); + gpio_write_pin_high(B4); break; case 3: - writePinLow(A0); - writePinHigh(A1); - writePinHigh(A2); - writePinHigh(B4); + gpio_write_pin_low(A0); + gpio_write_pin_high(A1); + gpio_write_pin_high(A2); + gpio_write_pin_high(B4); break; case 4: - writePinHigh(A0); - writePinLow(A1); - writePinLow(A2); - writePinHigh(B4); + gpio_write_pin_high(A0); + gpio_write_pin_low(A1); + gpio_write_pin_low(A2); + gpio_write_pin_high(B4); break; case 5: - writePinHigh(A0); - writePinLow(A1); - writePinHigh(A2); - writePinHigh(B4); + gpio_write_pin_high(A0); + gpio_write_pin_low(A1); + gpio_write_pin_high(A2); + gpio_write_pin_high(B4); break; case 6: - writePinHigh(A0); - writePinHigh(A1); - writePinLow(A2); - writePinHigh(B4); + gpio_write_pin_high(A0); + gpio_write_pin_high(A1); + gpio_write_pin_low(A2); + gpio_write_pin_high(B4); break; case 7: - writePinHigh(A0); - writePinHigh(A1); - writePinHigh(A2); - writePinHigh(B4); + gpio_write_pin_high(A0); + gpio_write_pin_high(A1); + gpio_write_pin_high(A2); + gpio_write_pin_high(B4); break; case 8: - writePinHigh(A0); - writePinHigh(A1); - writePinHigh(A2); - writePinHigh(C7); + gpio_write_pin_high(A0); + gpio_write_pin_high(A1); + gpio_write_pin_high(A2); + gpio_write_pin_high(C7); break; case 9: - writePinLow(A0); - writePinLow(A1); - writePinLow(A2); - writePinHigh(C7); + gpio_write_pin_low(A0); + gpio_write_pin_low(A1); + gpio_write_pin_low(A2); + gpio_write_pin_high(C7); break; case 10: - writePinLow(A0); - writePinLow(A1); - writePinHigh(A2); - writePinHigh(C7); + gpio_write_pin_low(A0); + gpio_write_pin_low(A1); + gpio_write_pin_high(A2); + gpio_write_pin_high(C7); break; case 11: - writePinLow(A0); - writePinHigh(A1); - writePinLow(A2); - writePinHigh(C7); + gpio_write_pin_low(A0); + gpio_write_pin_high(A1); + gpio_write_pin_low(A2); + gpio_write_pin_high(C7); break; case 12: - writePinLow(A0); - writePinHigh(A1); - writePinHigh(A2); - writePinHigh(C7); + gpio_write_pin_low(A0); + gpio_write_pin_high(A1); + gpio_write_pin_high(A2); + gpio_write_pin_high(C7); break; case 13: - writePinHigh(A0); - writePinLow(A1); - writePinLow(A2); - writePinHigh(C7); + gpio_write_pin_high(A0); + gpio_write_pin_low(A1); + gpio_write_pin_low(A2); + gpio_write_pin_high(C7); break; case 14: - writePinHigh(A0); - writePinLow(A1); - writePinHigh(A2); - writePinHigh(C7); + gpio_write_pin_high(A0); + gpio_write_pin_low(A1); + gpio_write_pin_high(A2); + gpio_write_pin_high(C7); break; case 15: - writePinHigh(A0); - writePinHigh(A1); - writePinLow(A2); - writePinHigh(C7); + gpio_write_pin_high(A0); + gpio_write_pin_high(A1); + gpio_write_pin_low(A2); + gpio_write_pin_high(C7); break; case 16: - writePinLow(C2); + gpio_write_pin_low(C2); break; case 17: - writePinLow(C3); + gpio_write_pin_low(C3); break; case 18: - writePinLow(C5); + gpio_write_pin_low(C5); break; } } @@ -267,140 +264,140 @@ static void select_col(uint8_t col) { static void unselect_col(uint8_t col) { switch (col) { case 0: - writePinHigh(A0); - writePinHigh(A1); - writePinHigh(A2); - writePinLow(B4); + gpio_write_pin_high(A0); + gpio_write_pin_high(A1); + gpio_write_pin_high(A2); + gpio_write_pin_low(B4); break; case 1: - writePinHigh(A0); - writePinHigh(A1); - writePinLow(A2); - writePinLow(B4); + gpio_write_pin_high(A0); + gpio_write_pin_high(A1); + gpio_write_pin_low(A2); + gpio_write_pin_low(B4); break; case 2: - writePinHigh(A0); - writePinLow(A1); - writePinHigh(A2); - writePinLow(B4); + gpio_write_pin_high(A0); + gpio_write_pin_low(A1); + gpio_write_pin_high(A2); + gpio_write_pin_low(B4); break; case 3: - writePinHigh(A0); - writePinLow(A1); - writePinLow(A2); - writePinLow(B4); + gpio_write_pin_high(A0); + gpio_write_pin_low(A1); + gpio_write_pin_low(A2); + gpio_write_pin_low(B4); break; case 4: - writePinLow(A0); - writePinHigh(A1); - writePinHigh(A2); - writePinLow(B4); + gpio_write_pin_low(A0); + gpio_write_pin_high(A1); + gpio_write_pin_high(A2); + gpio_write_pin_low(B4); break; case 5: - writePinLow(A0); - writePinHigh(A1); - writePinLow(A2); - writePinLow(B4); + gpio_write_pin_low(A0); + gpio_write_pin_high(A1); + gpio_write_pin_low(A2); + gpio_write_pin_low(B4); break; case 6: - writePinLow(A0); - writePinLow(A1); - writePinHigh(A2); - writePinLow(B4); + gpio_write_pin_low(A0); + gpio_write_pin_low(A1); + gpio_write_pin_high(A2); + gpio_write_pin_low(B4); break; case 7: - writePinLow(A0); - writePinLow(A1); - writePinLow(A2); - writePinLow(B4); + gpio_write_pin_low(A0); + gpio_write_pin_low(A1); + gpio_write_pin_low(A2); + gpio_write_pin_low(B4); break; case 8: - writePinLow(A0); - writePinLow(A1); - writePinLow(A2); - writePinLow(C7); + gpio_write_pin_low(A0); + gpio_write_pin_low(A1); + gpio_write_pin_low(A2); + gpio_write_pin_low(C7); break; case 9: - writePinHigh(A0); - writePinHigh(A1); - writePinHigh(A2); - writePinLow(C7); + gpio_write_pin_high(A0); + gpio_write_pin_high(A1); + gpio_write_pin_high(A2); + gpio_write_pin_low(C7); break; case 10: - writePinHigh(A0); - writePinHigh(A1); - writePinLow(A2); - writePinLow(C7); + gpio_write_pin_high(A0); + gpio_write_pin_high(A1); + gpio_write_pin_low(A2); + gpio_write_pin_low(C7); break; case 11: - writePinHigh(A0); - writePinLow(A1); - writePinHigh(A2); - writePinLow(C7); + gpio_write_pin_high(A0); + gpio_write_pin_low(A1); + gpio_write_pin_high(A2); + gpio_write_pin_low(C7); break; case 12: - writePinHigh(A0); - writePinLow(A1); - writePinLow(A2); - writePinLow(C7); + gpio_write_pin_high(A0); + gpio_write_pin_low(A1); + gpio_write_pin_low(A2); + gpio_write_pin_low(C7); break; case 13: - writePinLow(A0); - writePinHigh(A1); - writePinHigh(A2); - writePinLow(C7); + gpio_write_pin_low(A0); + gpio_write_pin_high(A1); + gpio_write_pin_high(A2); + gpio_write_pin_low(C7); break; case 14: - writePinLow(A0); - writePinHigh(A1); - writePinLow(A2); - writePinLow(C7); + gpio_write_pin_low(A0); + gpio_write_pin_high(A1); + gpio_write_pin_low(A2); + gpio_write_pin_low(C7); break; case 15: - writePinLow(A0); - writePinLow(A1); - writePinHigh(A2); - writePinLow(C7); + gpio_write_pin_low(A0); + gpio_write_pin_low(A1); + gpio_write_pin_high(A2); + gpio_write_pin_low(C7); break; case 16: - writePinHigh(C2); + gpio_write_pin_high(C2); break; case 17: - writePinHigh(C3); + gpio_write_pin_high(C3); break; case 18: - writePinHigh(C5); + gpio_write_pin_high(C5); break; } } static void unselect_cols(void) { //Native - writePinHigh(C2); - writePinHigh(C3); - writePinHigh(C5); + gpio_write_pin_high(C2); + gpio_write_pin_high(C3); + gpio_write_pin_high(C5); //Demultiplexer - writePinLow(B4); - writePinLow(C7); - writePinHigh(A0); - writePinHigh(A1); - writePinHigh(A2); + gpio_write_pin_low(B4); + gpio_write_pin_low(C7); + gpio_write_pin_high(A0); + gpio_write_pin_high(A1); + gpio_write_pin_high(A2); } static void init_pins(void) { unselect_cols(); for (uint8_t x = 0; x < MATRIX_ROWS; x++) { - setPinInputHigh(row_pins[x]); + gpio_set_pin_input_high(row_pins[x]); } - setPinOutput(A0); - setPinOutput(A1); - setPinOutput(A2); - setPinOutput(B4); - setPinOutput(C7); - setPinOutput(C2); - setPinOutput(C3); - setPinOutput(C5); + gpio_set_pin_output(A0); + gpio_set_pin_output(A1); + gpio_set_pin_output(A2); + gpio_set_pin_output(B4); + gpio_set_pin_output(C7); + gpio_set_pin_output(C2); + gpio_set_pin_output(C3); + gpio_set_pin_output(C5); } static bool read_rows_on_col(matrix_row_t current_matrix[], uint8_t current_col) { @@ -416,7 +413,7 @@ 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]; // 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_matrix[row_index] |= (MATRIX_ROW_SHIFTER << current_col); } else { |