forked from mirror/qmk_firmware
Convert some AVR GPIO operations to macros (#23424)
This commit is contained in:
@@ -4,13 +4,11 @@ extern inline void frenchdev_board_led_on(void);
|
||||
extern inline void frenchdev_led_1_on(void);
|
||||
extern inline void frenchdev_led_2_on(void);
|
||||
extern inline void frenchdev_led_3_on(void);
|
||||
extern inline void frenchdev_led_on(uint8_t led);
|
||||
|
||||
extern inline void frenchdev_board_led_off(void);
|
||||
extern inline void frenchdev_led_1_off(void);
|
||||
extern inline void frenchdev_led_2_off(void);
|
||||
extern inline void frenchdev_led_3_off(void);
|
||||
extern inline void frenchdev_led_off(uint8_t led);
|
||||
|
||||
extern inline void frenchdev_led_all_on(void);
|
||||
extern inline void frenchdev_led_all_off(void);
|
||||
@@ -32,12 +30,11 @@ void matrix_init_kb(void) {
|
||||
|
||||
|
||||
|
||||
// unused pins - D4, D5, D7, E6
|
||||
// unused pins - D4, D5, E6
|
||||
// set as input with internal pull-ip enabled
|
||||
DDRD &= ~(1<<5 | 1<<4);
|
||||
DDRE &= ~(1<<6);
|
||||
PORTD |= (1<<5 | 1<<4);
|
||||
PORTE |= (1<<6);
|
||||
gpio_set_pin_input_high(D4);
|
||||
gpio_set_pin_input_high(D5);
|
||||
gpio_set_pin_input_high(E6);
|
||||
|
||||
frenchdev_blink_all_leds();
|
||||
frenchdev_blink_all_leds();
|
||||
|
||||
@@ -27,18 +27,40 @@ uint8_t init_mcp23018(void);
|
||||
#define LED_BRIGHTNESS_LO 15
|
||||
#define LED_BRIGHTNESS_HI 255
|
||||
|
||||
#define FRENCHDEV_BOARD_LED_PIN D6
|
||||
#define FRENCHDEV_LED_1_PIN B5
|
||||
#define FRENCHDEV_LED_2_PIN B6
|
||||
#define FRENCHDEV_LED_3_PIN B7
|
||||
|
||||
inline void frenchdev_board_led_on(void) { DDRD |= (1<<6); PORTD |= (1<<6); }
|
||||
inline void frenchdev_led_1_on(void) { DDRB |= (1<<5); PORTB |= (1<<5); }
|
||||
inline void frenchdev_led_2_on(void) { DDRB |= (1<<6); PORTB |= (1<<6); }
|
||||
inline void frenchdev_led_3_on(void) { DDRB |= (1<<7); PORTB |= (1<<7); }
|
||||
inline void frenchdev_led_on(uint8_t led) { DDRB |= (1<<(led+4)); PORTB |= (1<<(led+4)); }
|
||||
inline void frenchdev_board_led_on(void) {
|
||||
gpio_set_pin_output(FRENCHDEV_BOARD_LED_PIN);
|
||||
gpio_write_pin_high(FRENCHDEV_BOARD_LED_PIN);
|
||||
}
|
||||
inline void frenchdev_led_1_on(void) {
|
||||
gpio_set_pin_output(FRENCHDEV_LED_1_PIN);
|
||||
gpio_write_pin_high(FRENCHDEV_LED_1_PIN);
|
||||
}
|
||||
inline void frenchdev_led_2_on(void) {
|
||||
gpio_set_pin_output(FRENCHDEV_LED_2_PIN);
|
||||
gpio_write_pin_high(FRENCHDEV_LED_2_PIN);
|
||||
}
|
||||
inline void frenchdev_led_3_on(void) {
|
||||
gpio_set_pin_output(FRENCHDEV_LED_3_PIN);
|
||||
gpio_write_pin_high(FRENCHDEV_LED_3_PIN);
|
||||
}
|
||||
|
||||
inline void frenchdev_board_led_off(void) { DDRD &= ~(1<<6); PORTD &= ~(1<<6); }
|
||||
inline void frenchdev_led_1_off(void) { DDRB &= ~(1<<5); PORTB &= ~(1<<5); }
|
||||
inline void frenchdev_led_2_off(void) { DDRB &= ~(1<<6); PORTB &= ~(1<<6); }
|
||||
inline void frenchdev_led_3_off(void) { DDRB &= ~(1<<7); PORTB &= ~(1<<7); }
|
||||
inline void frenchdev_led_off(uint8_t led) { DDRB &= ~(1<<(led+4)); PORTB &= ~(1<<(led+4)); }
|
||||
inline void frenchdev_board_led_off(void) {
|
||||
gpio_set_pin_input(FRENCHDEV_BOARD_LED_PIN);
|
||||
}
|
||||
inline void frenchdev_led_1_off(void) {
|
||||
gpio_set_pin_input(FRENCHDEV_LED_1_PIN);
|
||||
}
|
||||
inline void frenchdev_led_2_off(void) {
|
||||
gpio_set_pin_input(FRENCHDEV_LED_2_PIN);
|
||||
}
|
||||
inline void frenchdev_led_3_off(void) {
|
||||
gpio_set_pin_input(FRENCHDEV_LED_3_PIN);
|
||||
}
|
||||
|
||||
inline void frenchdev_led_all_on(void)
|
||||
{
|
||||
|
||||
@@ -213,8 +213,12 @@ static void init_cols(void)
|
||||
|
||||
// init on teensy
|
||||
// Input with pull-up(DDR:0, PORT:1)
|
||||
DDRF &= ~(1<<7 | 1<<6 | 1<<5 | 1<<4 | 1<<1 | 1<<0);
|
||||
PORTF |= (1<<7 | 1<<6 | 1<<5 | 1<<4 | 1<<1 | 1<<0);
|
||||
gpio_set_pin_input_high(F0);
|
||||
gpio_set_pin_input_high(F1);
|
||||
gpio_set_pin_input_high(F4);
|
||||
gpio_set_pin_input_high(F5);
|
||||
gpio_set_pin_input_high(F6);
|
||||
gpio_set_pin_input_high(F7);
|
||||
}
|
||||
|
||||
static matrix_row_t read_cols(uint8_t row)
|
||||
@@ -265,12 +269,14 @@ static void unselect_rows(void)
|
||||
|
||||
// unselect on teensy
|
||||
// Hi-Z(DDR:0, PORT:0) to unselect
|
||||
DDRB &= ~(1<<0 | 1<<1 | 1<<2 | 1<<3);
|
||||
PORTB &= ~(1<<0 | 1<<1 | 1<<2 | 1<<3);
|
||||
DDRD &= ~(1<<2 | 1<<3);
|
||||
PORTD &= ~(1<<2 | 1<<3);
|
||||
DDRC &= ~(1<<6 | 1<<7);
|
||||
PORTC &= ~(1<<6 | 1<<7);
|
||||
gpio_set_pin_input(B0);
|
||||
gpio_set_pin_input(B1);
|
||||
gpio_set_pin_input(B2);
|
||||
gpio_set_pin_input(B3);
|
||||
gpio_set_pin_input(D2);
|
||||
gpio_set_pin_input(D3);
|
||||
gpio_set_pin_input(C6);
|
||||
gpio_set_pin_input(C7);
|
||||
}
|
||||
|
||||
static void select_row(uint8_t row)
|
||||
@@ -290,36 +296,36 @@ static void select_row(uint8_t row)
|
||||
// Output low(DDR:1, PORT:0) to select
|
||||
switch (row) {
|
||||
case 8:
|
||||
DDRB |= (1<<0);
|
||||
PORTB &= ~(1<<0);
|
||||
gpio_set_pin_output(B0);
|
||||
gpio_write_pin_low(B0);
|
||||
break;
|
||||
case 9:
|
||||
DDRB |= (1<<1);
|
||||
PORTB &= ~(1<<1);
|
||||
gpio_set_pin_output(B1);
|
||||
gpio_write_pin_low(B1);
|
||||
break;
|
||||
case 10:
|
||||
DDRB |= (1<<2);
|
||||
PORTB &= ~(1<<2);
|
||||
gpio_set_pin_output(B2);
|
||||
gpio_write_pin_low(B2);
|
||||
break;
|
||||
case 11:
|
||||
DDRB |= (1<<3);
|
||||
PORTB &= ~(1<<3);
|
||||
gpio_set_pin_output(B3);
|
||||
gpio_write_pin_low(B3);
|
||||
break;
|
||||
case 12:
|
||||
DDRD |= (1<<2);
|
||||
PORTD &= ~(1<<3);
|
||||
gpio_set_pin_output(D2);
|
||||
gpio_write_pin_low(D2);
|
||||
break;
|
||||
case 13:
|
||||
DDRD |= (1<<3);
|
||||
PORTD &= ~(1<<3);
|
||||
gpio_set_pin_output(D3);
|
||||
gpio_write_pin_low(D3);
|
||||
break;
|
||||
case 14:
|
||||
DDRC |= (1<<6);
|
||||
PORTC &= ~(1<<6);
|
||||
gpio_set_pin_output(C6);
|
||||
gpio_write_pin_low(C6);
|
||||
break;
|
||||
case 15:
|
||||
DDRC |= (1<<7);
|
||||
PORTC &= ~(1<<7);
|
||||
gpio_set_pin_output(C7);
|
||||
gpio_write_pin_low(C7);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user