aboutsummaryrefslogtreecommitdiff
path: root/keyboards/kmini/matrix.c
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/kmini/matrix.c')
-rwxr-xr-xkeyboards/kmini/matrix.c112
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;
}
}