diff options
author | IBNobody <ibnobody@gmail.com> | 2016-04-17 23:16:36 -0500 |
---|---|---|
committer | IBNobody <ibnobody@gmail.com> | 2016-04-17 23:16:36 -0500 |
commit | 82ec81660e9816b72bc0d661becc399c62594970 (patch) | |
tree | 7926f955678faaf44120566ad47dfbcfa8144b3c | |
parent | ef73ab662812232f5e73c8098a059439dcb201fa (diff) | |
parent | d94960be5b32b6a4019b822550ae09cf802bfcd7 (diff) | |
download | qmk_firmware-82ec81660e9816b72bc0d661becc399c62594970.tar.gz qmk_firmware-82ec81660e9816b72bc0d661becc399c62594970.zip |
Merge remote-tracking branch 'refs/remotes/jackhumbert/master' into personal_atomic_planck
-rw-r--r-- | keyboard/preonic/keymaps/default/keymap.c | 7 | ||||
-rw-r--r-- | quantum/audio.c | 6 | ||||
-rw-r--r-- | quantum/led.c | 1 |
3 files changed, 9 insertions, 5 deletions
diff --git a/keyboard/preonic/keymaps/default/keymap.c b/keyboard/preonic/keymaps/default/keymap.c index 48bc72dab7..2591af9f02 100644 --- a/keyboard/preonic/keymaps/default/keymap.c +++ b/keyboard/preonic/keymaps/default/keymap.c @@ -224,6 +224,7 @@ float tone_music[][2] = { {440.0*pow(2.0,(23)/12.0), 8}, {440.0*pow(2.0,(24)/12.0), 8} }; +float ode_to_joy[][2] = SONG(ODE_TO_JOY); #endif void persistant_default_layer_set(uint16_t default_layer) { @@ -312,7 +313,9 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) case 9: if (record->event.pressed) { #ifdef AUDIO_ENABLE - PLAY_NOTE_ARRAY(tone_music, false, 0); + init_notes(); + set_tempo(150); + PLAY_NOTE_ARRAY(ode_to_joy, false, .25); layer_on(_MUSIC); #endif } @@ -339,6 +342,6 @@ void process_action_user(keyrecord_t *record) { void matrix_init_user(void) { #ifdef AUDIO_ENABLE init_notes(); - play_notes(&start_up, false, 0); + PLAY_NOTE_ARRAY(start_up, false, 0); #endif } diff --git a/quantum/audio.c b/quantum/audio.c index ba85e418ed..627e3d80a1 100644 --- a/quantum/audio.c +++ b/quantum/audio.c @@ -257,7 +257,7 @@ ISR(TIMER3_COMPA_vect) { place = 0.0; } ICR3 = (int)(((double)F_CPU) / (frequencies[voice_place] * CPU_PRESCALER)); // Set max to the period - OCR3A = (int)((((double)F_CPU) /(frequencies[voice_place] * CPU_PRESCALER)) * note_timbre); // Set compare to half the period + OCR3A = (int)((((double)F_CPU) / (frequencies[voice_place] * CPU_PRESCALER)) * note_timbre); // Set compare to half the period //OCR3A = (int)(((double)F_CPU) / (frequencies[voice_place] * CPU_PRESCALER)) >> 1 * duty_place; // Set compare to half the period place++; // if (duty_counter > (frequencies[voice_place] / 500)) { @@ -354,6 +354,7 @@ if (audio_config.enable) { // Cancel note if a note is playing if (note) stop_all_notes(); + notes = true; notes_pointer = np; notes_count = n_count; @@ -379,7 +380,6 @@ if (audio_config.enable) { TCCR3A |= _BV(COM3A1); #endif - notes = true; } } @@ -410,6 +410,7 @@ if (audio_config.enable && voices < 8) { // Cancel notes if notes are playing if (notes) stop_all_notes(); + note = true; #ifdef PWM_AUDIO freq = freq / SAMPLE_RATE; #endif @@ -441,7 +442,6 @@ if (audio_config.enable && voices < 8) { TCCR3A |= _BV(COM3A1); #endif - note = true; } } diff --git a/quantum/led.c b/quantum/led.c index 9cdb8a5c20..208e348f34 100644 --- a/quantum/led.c +++ b/quantum/led.c @@ -24,6 +24,7 @@ void led_set_kb(uint8_t usb_led) { } +__attribute__ ((weak)) void led_set(uint8_t usb_led) { |