dd05a8def1a9d74c1ff2c2b43dca7646b0321187
[jackhill/qmk/firmware.git] / keyboards / ergodone / ergodone.c
1 #include "ergodone.h"
2
3 extern inline void ergodox_board_led_on(void);
4 extern inline void ergodox_right_led_1_on(void);
5 extern inline void ergodox_right_led_2_on(void);
6 extern inline void ergodox_right_led_3_on(void);
7 extern inline void ergodox_right_led_on(uint8_t led);
8
9 extern inline void ergodox_board_led_off(void);
10 extern inline void ergodox_right_led_1_off(void);
11 extern inline void ergodox_right_led_2_off(void);
12 extern inline void ergodox_right_led_3_off(void);
13 extern inline void ergodox_right_led_off(uint8_t led);
14
15 void ergodox_led_init(void);
16 void ergodox_blink_all_leds(void);
17
18 void matrix_init_kb(void) {
19 ergodox_led_init();
20 ergodox_blink_all_leds();
21 matrix_init_user();
22 }
23
24 void ergodox_led_init(void)
25 {
26 DDRB |= (1<<PB5 | 1<<PB6 | 1<<PB3);
27 PORTB &= ~(1<<PB5 | 1<<PB6 | 1<<PB3);
28 DDRB |= (1<<PB0);
29 PORTB |= (1<<PB0);
30 DDRD |= (1<<PB5);
31 PORTD |= (1<<PB5);
32 }
33
34 void ergodox_blink_all_leds(void)
35 {
36 ergodox_led_all_off();
37 ergodox_led_all_set(LED_BRIGHTNESS_HI);
38 ergodox_right_led_1_on();
39 _delay_ms(50);
40 ergodox_right_led_2_on();
41 _delay_ms(50);
42 ergodox_right_led_3_on();
43 _delay_ms(50);
44 ergodox_right_led_1_off();
45 _delay_ms(50);
46 ergodox_right_led_2_off();
47 _delay_ms(50);
48 ergodox_right_led_3_off();
49 //ergodox_led_all_on();
50 //_delay_ms(333);
51 ergodox_led_all_off();
52 }