You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
49 lines
1.0 KiB
C
49 lines
1.0 KiB
C
9 years ago
|
#include "lets_split.h"
|
||
9 years ago
|
|
||
|
#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
|
||
|
|
||
9 years ago
|
// // green led on
|
||
|
// DDRD |= (1<<5);
|
||
|
// PORTD &= ~(1<<5);
|
||
9 years ago
|
|
||
9 years ago
|
// // orange led on
|
||
|
// DDRB |= (1<<0);
|
||
|
// PORTB &= ~(1<<0);
|
||
9 years ago
|
|
||
|
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
|
||
|
}
|
||
|
|
||
|
|