49 lines
1014 B
C
49 lines
1014 B
C
|
#include "lets-split.h"
|
||
|
|
||
|
#ifdef AUDIO_ENABLE
|
||
|
float tone_startup[][2] = SONG(STARTUP_SOUND);
|
||
|
float tone_goodbye[][2] = SONG(GOODBYE_SOUND);
|
||
|
#endif
|
||
|
|
||
|
void matrix_init_kb(void) {
|
||
|
|
||
|
#ifdef AUDIO_ENABLE
|
||
|
_delay_ms(20); // gets rid of tick
|
||
|
PLAY_NOTE_ARRAY(tone_startup, false, 0);
|
||
|
#endif
|
||
|
|
||
|
// green led on
|
||
|
DDRD |= (1<<5);
|
||
|
PORTD &= ~(1<<5);
|
||
|
|
||
|
// orange led on
|
||
|
DDRB |= (1<<0);
|
||
|
PORTB &= ~(1<<0);
|
||
|
|
||
|
matrix_init_user();
|
||
|
};
|
||
|
|
||
|
void promicro_bootloader_jmp(bool program) {
|
||
|
|
||
|
#ifdef AUDIO_ENABLE
|
||
|
PLAY_NOTE_ARRAY(tone_goodbye, false, 0);
|
||
|
_delay_ms(150);
|
||
|
stop_all_notes();
|
||
|
#endif
|
||
|
|
||
|
uint16_t *const bootKeyPtr = (uint16_t *)0x0800;
|
||
|
|
||
|
// Value used by Caterina bootloader use to determine whether to run the
|
||
|
// sketch or the bootloader programmer.
|
||
|
uint16_t bootKey = program ? 0x7777 : 0;
|
||
|
|
||
|
*bootKeyPtr = bootKey;
|
||
|
|
||
|
// setup watchdog timeout
|
||
|
wdt_enable(WDTO_60MS);
|
||
|
|
||
|
while(1) {} // wait for watchdog timer to trigger
|
||
|
}
|
||
|
|
||
|
|