diff options
Diffstat (limited to 'keyboards/kmini/matrix.c')
-rwxr-xr-x | keyboards/kmini/matrix.c | 112 |
1 files changed, 65 insertions, 47 deletions
diff --git a/keyboards/kmini/matrix.c b/keyboards/kmini/matrix.c index 92565e937a..da177a7a35 100755 --- a/keyboards/kmini/matrix.c +++ b/keyboards/kmini/matrix.c @@ -194,11 +194,13 @@ static bool read_rows_on_col(matrix_row_t current_matrix[], uint8_t current_col) * Caps lock uses its own pin E2 */ static void init_rows(void) { - DDRD &= ~((1<<0)| (1<<1) | (1<<2) | (1<<3) | (1<<5)); // IN - PORTD &= ~((1<<0)| (1<<1) | (1<<2) | (1<<3) | (1<<5)); // LO + gpio_set_pin_input(D0); + gpio_set_pin_input(D1); + gpio_set_pin_input(D2); + gpio_set_pin_input(D3); + gpio_set_pin_input(D5); - DDRE &= ~(1<<2); // IN - PORTE |= (1<<2); // HI + gpio_set_pin_input_high(E2); } /* Columns 0 - 16 @@ -224,87 +226,103 @@ static void init_rows(void) { * col 16: B4 */ static void unselect_cols(void) { - DDRB |= (1<<5) | (1<<6) | (1<<0) | (1<<7) | (1<<4); // OUT - PORTB &= ~((1<<5) | (1<<6) | (1<<0) | (1<<7) | (1<<4)); // LO - - DDRD |= (1<<4) | (1<<6) | (1<<7); // OUT - PORTD &= ~((1<<4) | (1<<6) | (1<<7)); // LO - - DDRE |= (1<<6); // OUT - PORTE &= ~((1<<6)); // LO - - DDRF |= (1<<0) | (1<<1); // OUT - PORTF &= ~((1<<0) | (1<<1)); // LO - - DDRC |= (1<<7) | (1<<6); // OUT - PORTC &= ~((1<<7) | (1<<6)); // LO + gpio_set_pin_output(B0); + gpio_set_pin_output(B4); + gpio_set_pin_output(B5); + gpio_set_pin_output(B6); + gpio_set_pin_output(B7); + gpio_write_pin_low(B0); + gpio_write_pin_low(B4); + gpio_write_pin_low(B5); + gpio_write_pin_low(B6); + gpio_write_pin_low(B7); + + gpio_set_pin_output(D4); + gpio_set_pin_output(D6); + gpio_set_pin_output(D7); + gpio_write_pin_low(D4); + gpio_write_pin_low(D6); + gpio_write_pin_low(D7); + + gpio_set_pin_output(E6); + gpio_write_pin_low(E6); + + gpio_set_pin_output(F0); + gpio_set_pin_output(F1); + gpio_write_pin_low(F0); + gpio_write_pin_low(F1); + + gpio_set_pin_output(C6); + gpio_set_pin_output(C7); + gpio_write_pin_low(C6); + gpio_write_pin_low(C7); } static void select_col(uint8_t col) { switch (col) { case 0: - PORTB |= (1<<5); // HI + gpio_write_pin_high(B5); // HI break; case 1: - PORTB |= (1<<6); // HI + gpio_write_pin_high(B6); // HI break; case 2: - PORTC |= (1<<6); // HI + gpio_write_pin_high(C6); // HI break; case 3: - PORTC |= (1<<6); // HI - PORTF |= (1<<0); // HI + gpio_write_pin_high(C6); // HI + gpio_write_pin_high(F0); // HI break; case 4: - PORTC |= (1<<6); // HI - PORTF |= (1<<1); // HI + gpio_write_pin_high(C6); // HI + gpio_write_pin_high(F1); // HI break; case 5: - PORTC |= (1<<6); // HI - PORTF |= (1<<0); // HI - PORTF |= (1<<1); // HI + gpio_write_pin_high(C6); // HI + gpio_write_pin_high(F0); // HI + gpio_write_pin_high(F1); // HI break; case 6: - PORTC |= (1<<6); // HI - PORTC |= (1<<7); // HI + gpio_write_pin_high(C6); // HI + gpio_write_pin_high(C7); // HI break; case 7: - PORTC |= (1<<6); // HI - PORTF |= (1<<0); // HI - PORTC |= (1<<7); // HI + gpio_write_pin_high(C6); // HI + gpio_write_pin_high(F0); // HI + gpio_write_pin_high(C7); // HI break; case 8: - PORTC |= (1<<6); // HI - PORTF |= (1<<1); // HI - PORTC |= (1<<7); // HI + gpio_write_pin_high(C6); // HI + gpio_write_pin_high(F1); // HI + gpio_write_pin_high(C7); // HI break; case 9: - PORTC |= (1<<6); // HI - PORTF |= (1<<0); // HI - PORTF |= (1<<1); // HI - PORTC |= (1<<7); // HI + gpio_write_pin_high(C6); // HI + gpio_write_pin_high(F0); // HI + gpio_write_pin_high(F1); // HI + gpio_write_pin_high(C7); // HI break; case 10: - PORTE |= (1<<6); // HI + gpio_write_pin_high(E6); // HI break; case 11: - PORTB |= (1<<0); // HI + gpio_write_pin_high(B0); // HI break; case 12: - PORTB |= (1<<7); // HI + gpio_write_pin_high(B7); // HI break; case 13: - PORTD |= (1<<4); // HI + gpio_write_pin_high(D4); // HI break; case 14: - PORTD |= (1<<6); // HI + gpio_write_pin_high(D6); // HI break; case 15: - PORTD |= (1<<7); // HI + gpio_write_pin_high(D7); // HI break; case 16: - PORTB |= (1<<4); // HI + gpio_write_pin_high(B4); // HI break; } } |