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
|
@ -4,17 +4,46 @@
|
|||
#include <stdint.h>
|
||||
#include <stdbool.h>
|
||||
|
||||
#define HOTDOX_BOARD_LED_PIN B7
|
||||
#define HOTDOX_RIGHT_LED_1_PIN B5
|
||||
#define HOTDOX_RIGHT_LED_2_PIN B6
|
||||
#define HOTDOX_RIGHT_LED_3_PIN B4
|
||||
|
||||
void init_ergodox(void);
|
||||
|
||||
inline void ergodox_board_led_on(void) { DDRB |= (1<<PB7); PORTB |= (1<<PB7); }
|
||||
inline void ergodox_right_led_1_on(void) { DDRB |= (1<<PB5); PORTB &= ~(1<<PB5); }
|
||||
inline void ergodox_right_led_2_on(void) { DDRB |= (1<<PB6); PORTB &= ~(1<<PB6); }
|
||||
inline void ergodox_right_led_3_on(void) { DDRB |= (1<<PB4); PORTB &= ~(1<<PB4); }
|
||||
inline void ergodox_board_led_on(void) {
|
||||
gpio_set_pin_output(HOTDOX_BOARD_LED_PIN);
|
||||
gpio_write_pin_high(HOTDOX_BOARD_LED_PIN);
|
||||
}
|
||||
inline void ergodox_right_led_1_on(void) {
|
||||
gpio_set_pin_output(HOTDOX_RIGHT_LED_1_PIN);
|
||||
gpio_write_pin_low(HOTDOX_RIGHT_LED_1_PIN);
|
||||
}
|
||||
inline void ergodox_right_led_2_on(void) {
|
||||
gpio_set_pin_output(HOTDOX_RIGHT_LED_2_PIN);
|
||||
gpio_write_pin_low(HOTDOX_RIGHT_LED_2_PIN);
|
||||
}
|
||||
inline void ergodox_right_led_3_on(void) {
|
||||
gpio_set_pin_output(HOTDOX_RIGHT_LED_3_PIN);
|
||||
gpio_write_pin_low(HOTDOX_RIGHT_LED_3_PIN);
|
||||
}
|
||||
|
||||
inline void ergodox_board_led_off(void) { DDRB |= (1<<PB7); PORTB &= ~(1<<PB7); }
|
||||
inline void ergodox_right_led_1_off(void) { DDRB |= (1<<PB5); PORTB |= (1<<PB5); }
|
||||
inline void ergodox_right_led_2_off(void) { DDRB |= (1<<PB6); PORTB |= (1<<PB6); }
|
||||
inline void ergodox_right_led_3_off(void) { DDRB |= (1<<PB4); PORTB |= (1<<PB4); }
|
||||
inline void ergodox_board_led_off(void) {
|
||||
gpio_set_pin_output(HOTDOX_BOARD_LED_PIN);
|
||||
gpio_write_pin_low(HOTDOX_BOARD_LED_PIN);
|
||||
}
|
||||
inline void ergodox_right_led_1_off(void) {
|
||||
gpio_set_pin_output(HOTDOX_RIGHT_LED_1_PIN);
|
||||
gpio_write_pin_high(HOTDOX_RIGHT_LED_1_PIN);
|
||||
}
|
||||
inline void ergodox_right_led_2_off(void) {
|
||||
gpio_set_pin_output(HOTDOX_RIGHT_LED_2_PIN);
|
||||
gpio_write_pin_high(HOTDOX_RIGHT_LED_2_PIN);
|
||||
}
|
||||
inline void ergodox_right_led_3_off(void) {
|
||||
gpio_set_pin_output(HOTDOX_RIGHT_LED_3_PIN);
|
||||
gpio_write_pin_high(HOTDOX_RIGHT_LED_3_PIN);
|
||||
}
|
||||
|
||||
inline void ergodox_right_led_on(uint8_t l) {
|
||||
switch (l) {
|
||||
|
|
|
@ -163,14 +163,15 @@ void matrix_print(void)
|
|||
static void init_cols(void)
|
||||
{
|
||||
// Pro Micro
|
||||
DDRB &= ~(1<<PB0 | 1<<PB1 | 1<<PB2 | 1<<PB3);
|
||||
PORTB |= (1<<PB0 | 1<<PB1 | 1<<PB2 | 1<<PB3);
|
||||
gpio_set_pin_input_high(B0);
|
||||
gpio_set_pin_input_high(B1);
|
||||
gpio_set_pin_input_high(B2);
|
||||
gpio_set_pin_input_high(B3);
|
||||
|
||||
DDRD &= ~(1<<PD2 | 1<<PD3);
|
||||
PORTD |= (1<<PD2 | 1<<PD3);
|
||||
gpio_set_pin_input_high(D2);
|
||||
gpio_set_pin_input_high(D3);
|
||||
|
||||
DDRC &= ~(1<<PC6);
|
||||
PORTC |= (1<<PC6);
|
||||
gpio_set_pin_input_high(C6);
|
||||
|
||||
left_init();
|
||||
}
|
||||
|
@ -195,8 +196,12 @@ static matrix_row_t read_cols(uint8_t row)
|
|||
static void unselect_rows(void)
|
||||
{
|
||||
// Pro Micro
|
||||
DDRF &= ~(1<<PF7 | 1<< PF6 | 1<<PF5 | 1<<PF4 | 1<<PF1 | 1<<PF0);
|
||||
PORTF &= ~(1<<PF7 | 1<< PF6 | 1<<PF5 | 1<<PF4 | 1<<PF1 | 1<<PF0);
|
||||
gpio_set_pin_input(F0);
|
||||
gpio_set_pin_input(F1);
|
||||
gpio_set_pin_input(F4);
|
||||
gpio_set_pin_input(F5);
|
||||
gpio_set_pin_input(F6);
|
||||
gpio_set_pin_input(F7);
|
||||
|
||||
left_unselect_rows();
|
||||
}
|
||||
|
@ -206,28 +211,28 @@ static void select_row(uint8_t row)
|
|||
// Pro Micro
|
||||
switch (row) {
|
||||
case 5:
|
||||
DDRF |= (1<<PF0);
|
||||
PORTF &= ~(1<<PF0);
|
||||
gpio_set_pin_output(F0);
|
||||
gpio_write_pin_low(F0);
|
||||
break;
|
||||
case 4:
|
||||
DDRF |= (1<<PF1);
|
||||
PORTF &= ~(1<<PF1);
|
||||
gpio_set_pin_output(F1);
|
||||
gpio_write_pin_low(F1);
|
||||
break;
|
||||
case 3:
|
||||
DDRF |= (1<<PF4);
|
||||
PORTF &= ~(1<<PF4);
|
||||
gpio_set_pin_output(F4);
|
||||
gpio_write_pin_low(F4);
|
||||
break;
|
||||
case 2:
|
||||
DDRF |= (1<<PF5);
|
||||
PORTF &= ~(1<<PF5);
|
||||
gpio_set_pin_output(F5);
|
||||
gpio_write_pin_low(F5);
|
||||
break;
|
||||
case 1:
|
||||
DDRF |= (1<<PF6);
|
||||
PORTF &= ~(1<<PF6);
|
||||
gpio_set_pin_output(F6);
|
||||
gpio_write_pin_low(F6);
|
||||
break;
|
||||
case 0:
|
||||
DDRF |= (1<<PF7);
|
||||
PORTF &= ~(1<<PF7);
|
||||
gpio_set_pin_output(F7);
|
||||
gpio_write_pin_low(F7);
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue