ergodone.c 1.3 KB

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