Convert some AVR GPIO operations to macros (#23424)
This commit is contained in:
parent
7220715dd1
commit
61c7c1f74c
71 changed files with 877 additions and 840 deletions
|
@ -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
|
||||
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);
|
||||
|
||||
DDRD |= (1<<4) | (1<<6) | (1<<7); // OUT
|
||||
PORTD &= ~((1<<4) | (1<<6) | (1<<7)); // LO
|
||||
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);
|
||||
|
||||
DDRE |= (1<<6); // OUT
|
||||
PORTE &= ~((1<<6)); // LO
|
||||
gpio_set_pin_output(E6);
|
||||
gpio_write_pin_low(E6);
|
||||
|
||||
DDRF |= (1<<0) | (1<<1); // OUT
|
||||
PORTF &= ~((1<<0) | (1<<1)); // LO
|
||||
gpio_set_pin_output(F0);
|
||||
gpio_set_pin_output(F1);
|
||||
gpio_write_pin_low(F0);
|
||||
gpio_write_pin_low(F1);
|
||||
|
||||
DDRC |= (1<<7) | (1<<6); // OUT
|
||||
PORTC &= ~((1<<7) | (1<<6)); // LO
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue