diff options
| author | IBNobody <IBNobody@users.noreply.github.com> | 2016-04-22 00:01:38 -0500 |
|---|---|---|
| committer | Jack Humbert <jack.humb@gmail.com> | 2016-04-22 01:01:38 -0400 |
| commit | 082a0f313d8c842a5de7bae30ec8a3597e35880b (patch) | |
| tree | 2e53e01fb96aef81a3727ec4ecfbccd6e11cb74b | |
| parent | 7b3f212500210ae85063b043952b5b3ef6988ad6 (diff) | |
| download | qmk_firmware-082a0f313d8c842a5de7bae30ec8a3597e35880b.tar.gz qmk_firmware-082a0f313d8c842a5de7bae30ec8a3597e35880b.zip | |
fixed compiler warnings (#273)
| -rw-r--r-- | keyboard/atomic/keymaps/pvc/config.h | 4 | ||||
| -rw-r--r-- | keyboard/atomic/keymaps/pvc/keymap.c | 69 | ||||
| -rw-r--r-- | quantum/audio/audio.h | 6 | ||||
| -rw-r--r-- | quantum/audio/voices.c | 37 | ||||
| -rw-r--r-- | quantum/audio/voices.h | 4 |
5 files changed, 83 insertions, 37 deletions
diff --git a/keyboard/atomic/keymaps/pvc/config.h b/keyboard/atomic/keymaps/pvc/config.h index cb0b78e44..cc9263464 100644 --- a/keyboard/atomic/keymaps/pvc/config.h +++ b/keyboard/atomic/keymaps/pvc/config.h | |||
| @@ -62,6 +62,10 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
| 62 | /* Locking resynchronize hack */ | 62 | /* Locking resynchronize hack */ |
| 63 | #define LOCKING_RESYNC_ENABLE | 63 | #define LOCKING_RESYNC_ENABLE |
| 64 | 64 | ||
| 65 | // Enable Keyboard Locking via magic key | ||
| 66 | #define KEYBOARD_LOCK_ENABLE | ||
| 67 | |||
| 68 | |||
| 65 | /* | 69 | /* |
| 66 | * Force NKRO | 70 | * Force NKRO |
| 67 | * | 71 | * |
diff --git a/keyboard/atomic/keymaps/pvc/keymap.c b/keyboard/atomic/keymaps/pvc/keymap.c index 95a26c5b4..c6642919b 100644 --- a/keyboard/atomic/keymaps/pvc/keymap.c +++ b/keyboard/atomic/keymaps/pvc/keymap.c | |||
| @@ -13,9 +13,9 @@ | |||
| 13 | #define LAYER_DVORAK 2 | 13 | #define LAYER_DVORAK 2 |
| 14 | #define LAYER_LOWER 3 | 14 | #define LAYER_LOWER 3 |
| 15 | #define LAYER_RAISE 4 | 15 | #define LAYER_RAISE 4 |
| 16 | #define LAYER_ADJUST 5 | 16 | #define LAYER_FUNCTION 5 |
| 17 | #define LAYER_FUNCTION 6 | 17 | #define LAYER_MUSIC 6 |
| 18 | #define LAYER_MUSIC 7 | 18 | #define LAYER_ADJUST 7 |
| 19 | 19 | ||
| 20 | #define MACRO_QWERTY 0 | 20 | #define MACRO_QWERTY 0 |
| 21 | #define MACRO_COLEMAK 1 | 21 | #define MACRO_COLEMAK 1 |
| @@ -34,6 +34,8 @@ | |||
| 34 | #define MACRO_MUSIC_OFF 14 | 34 | #define MACRO_MUSIC_OFF 14 |
| 35 | #define MACRO_AUDIO_ON 15 | 35 | #define MACRO_AUDIO_ON 15 |
| 36 | #define MACRO_AUDIO_OFF 16 | 36 | #define MACRO_AUDIO_OFF 16 |
| 37 | #define MACRO_INC_VOICE 17 | ||
| 38 | #define MACRO_DEC_VOICE 18 | ||
| 37 | 39 | ||
| 38 | #define M_QWRTY M(MACRO_QWERTY) | 40 | #define M_QWRTY M(MACRO_QWERTY) |
| 39 | #define M_COLMK M(MACRO_COLEMAK) | 41 | #define M_COLMK M(MACRO_COLEMAK) |
| @@ -54,6 +56,8 @@ | |||
| 54 | #define MUS_OFF M(MACRO_MUSIC_OFF) | 56 | #define MUS_OFF M(MACRO_MUSIC_OFF) |
| 55 | #define AUD_OFF M(MACRO_AUDIO_OFF) | 57 | #define AUD_OFF M(MACRO_AUDIO_OFF) |
| 56 | #define AUD_ON M(MACRO_AUDIO_ON) | 58 | #define AUD_ON M(MACRO_AUDIO_ON) |
| 59 | #define VC_UP M(MACRO_INC_VOICE) | ||
| 60 | #define VC_DOWN M(MACRO_DEC_VOICE) | ||
| 57 | 61 | ||
| 58 | 62 | ||
| 59 | #define SC_UNDO LCTL(KC_Z) | 63 | #define SC_UNDO LCTL(KC_Z) |
| @@ -164,20 +168,20 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 164 | { _______, _______, _______, _______, _______, KC_BTN1, KC_BTN1, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R }, | 168 | { _______, _______, _______, _______, _______, KC_BTN1, KC_BTN1, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R }, |
| 165 | }, | 169 | }, |
| 166 | 170 | ||
| 171 | [LAYER_MUSIC] = { | ||
| 172 | { XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX }, | ||
| 173 | { XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX }, | ||
| 174 | { XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX }, | ||
| 175 | { XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX }, | ||
| 176 | { XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, M_RAISE, XXXXXXX, XXXXXXX, M_LOWER, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX }, | ||
| 177 | }, | ||
| 178 | |||
| 167 | [LAYER_ADJUST] = { /* ADJUST */ | 179 | [LAYER_ADJUST] = { /* ADJUST */ |
| 168 | { _______, TIMBR_1, TIMBR_2, TIMBR_3, TIMBR_4, TMPO_UP, TMPO_DN, TMPO_DF, _______, MUS_ON, MUS_OFF, AUD_ON, AUD_OFF, ___T___, ___T___ }, | 180 | { _______, TIMBR_1, TIMBR_2, TIMBR_3, TIMBR_4, TMPO_UP, TMPO_DN, TMPO_DF, _______, MUS_ON, MUS_OFF, AUD_ON, AUD_OFF, ___T___, ___T___ }, |
| 169 | { _______, M_QWRTY, M_COLMK, M_DVORK, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ }, | 181 | { _______, M_QWRTY, M_COLMK, M_DVORK, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ }, |
| 170 | { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, ___T___, ___T___, _______ }, | 182 | { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, ___T___, ___T___, _______ }, |
| 171 | { _______, _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, ___T___, ___T___, _______, _______ }, | 183 | { _______, _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, ___T___, ___T___, VC_UP, _______ }, |
| 172 | { _______, _______, _______, _______, _______, ___T___, ___T___, _______, _______, _______, _______, _______, _______, _______, _______ }, | 184 | { _______, _______, _______, _______, _______, ___T___, ___T___, _______, _______, _______, _______, _______, _______, VC_DOWN, _______ }, |
| 173 | }, | ||
| 174 | |||
| 175 | [LAYER_MUSIC] = { | ||
| 176 | { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, ___T___, ___T___ }, | ||
| 177 | { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ }, | ||
| 178 | { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, ___T___, ___T___, _______ }, | ||
| 179 | { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, ___T___, ___T___, _______, _______ }, | ||
| 180 | { _______, _______, _______, _______, _______, ___T___, ___T___, _______, _______, _______, _______, _______, _______, _______, _______ }, | ||
| 181 | }, | 185 | }, |
| 182 | }; | 186 | }; |
| 183 | 187 | ||
| @@ -187,8 +191,8 @@ float tone_my_startup[][2] = SONG(ODE_TO_JOY); | |||
| 187 | float tone_my_goodbye[][2] = SONG(ROCK_A_BYE_BABY); | 191 | float tone_my_goodbye[][2] = SONG(ROCK_A_BYE_BABY); |
| 188 | 192 | ||
| 189 | float tone_qwerty[][2] = SONG(QWERTY_SOUND); | 193 | float tone_qwerty[][2] = SONG(QWERTY_SOUND); |
| 190 | float tone_dvorak[][2] = SONG(COLEMAK_SOUND); | 194 | float tone_dvorak[][2] = SONG(DVORAK_SOUND); |
| 191 | float tone_colemak[][2] = SONG(DVORAK_SOUND); | 195 | float tone_colemak[][2] = SONG(COLEMAK_SOUND); |
| 192 | 196 | ||
| 193 | float tone_audio_on[][2] = SONG(CLOSE_ENCOUNTERS_5_NOTE); | 197 | float tone_audio_on[][2] = SONG(CLOSE_ENCOUNTERS_5_NOTE); |
| 194 | float tone_music_on[][2] = SONG(DOE_A_DEER); | 198 | float tone_music_on[][2] = SONG(DOE_A_DEER); |
| @@ -198,6 +202,7 @@ float tone_numlk_on[][2] = SONG(NUM_LOCK_ON_SOUND); | |||
| 198 | float tone_numlk_off[][2] = SONG(NUM_LOCK_OFF_SOUND); | 202 | float tone_numlk_off[][2] = SONG(NUM_LOCK_OFF_SOUND); |
| 199 | float tone_scroll_on[][2] = SONG(SCROLL_LOCK_ON_SOUND); | 203 | float tone_scroll_on[][2] = SONG(SCROLL_LOCK_ON_SOUND); |
| 200 | float tone_scroll_off[][2] = SONG(SCROLL_LOCK_OFF_SOUND); | 204 | float tone_scroll_off[][2] = SONG(SCROLL_LOCK_OFF_SOUND); |
| 205 | float music_scale[][2] = SONG(MUSIC_SCALE_SOUND); | ||
| 201 | 206 | ||
| 202 | #endif /* AUDIO_ENABLE */ | 207 | #endif /* AUDIO_ENABLE */ |
| 203 | 208 | ||
| @@ -380,6 +385,26 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) | |||
| 380 | } | 385 | } |
| 381 | break; | 386 | break; |
| 382 | 387 | ||
| 388 | case MACRO_INC_VOICE: | ||
| 389 | if (record->event.pressed) | ||
| 390 | { | ||
| 391 | #ifdef AUDIO_ENABLE | ||
| 392 | voice_iterate(); | ||
| 393 | PLAY_NOTE_ARRAY(music_scale, false, STACCATO); | ||
| 394 | #endif | ||
| 395 | } | ||
| 396 | break; | ||
| 397 | |||
| 398 | case MACRO_DEC_VOICE: | ||
| 399 | if (record->event.pressed) | ||
| 400 | { | ||
| 401 | #ifdef AUDIO_ENABLE | ||
| 402 | voice_deiterate(); | ||
| 403 | PLAY_NOTE_ARRAY(music_scale, false, STACCATO); | ||
| 404 | #endif | ||
| 405 | } | ||
| 406 | break; | ||
| 407 | |||
| 383 | default: | 408 | default: |
| 384 | break; | 409 | break; |
| 385 | 410 | ||
| @@ -390,12 +415,13 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) | |||
| 390 | 415 | ||
| 391 | #ifdef AUDIO_ENABLE | 416 | #ifdef AUDIO_ENABLE |
| 392 | 417 | ||
| 393 | uint8_t starting_note = 0x0C; | ||
| 394 | int offset = 7; | ||
| 395 | |||
| 396 | 418 | ||
| 397 | void process_action_user(keyrecord_t *record) | 419 | void process_action_user(keyrecord_t *record) |
| 398 | { | 420 | { |
| 421 | |||
| 422 | uint8_t starting_note = 0x0C; | ||
| 423 | int offset = 7; | ||
| 424 | |||
| 399 | if (IS_LAYER_ON(LAYER_MUSIC)) | 425 | if (IS_LAYER_ON(LAYER_MUSIC)) |
| 400 | { | 426 | { |
| 401 | if (record->event.pressed) | 427 | if (record->event.pressed) |
| @@ -412,7 +438,7 @@ void process_action_user(keyrecord_t *record) | |||
| 412 | 438 | ||
| 413 | void matrix_init_user(void) | 439 | void matrix_init_user(void) |
| 414 | { | 440 | { |
| 415 | init_notes(); | 441 | set_voice(default_voice); |
| 416 | play_startup_tone(); | 442 | play_startup_tone(); |
| 417 | println("Matrix Init"); | 443 | println("Matrix Init"); |
| 418 | } | 444 | } |
| @@ -421,6 +447,8 @@ void led_set_user(uint8_t usb_led) | |||
| 421 | { | 447 | { |
| 422 | static uint8_t old_usb_led = 0; | 448 | static uint8_t old_usb_led = 0; |
| 423 | 449 | ||
| 450 | _delay_ms(10); // gets rid of tick | ||
| 451 | |||
| 424 | if ((usb_led & (1<<USB_LED_CAPS_LOCK)) && !(old_usb_led & (1<<USB_LED_CAPS_LOCK))) | 452 | if ((usb_led & (1<<USB_LED_CAPS_LOCK)) && !(old_usb_led & (1<<USB_LED_CAPS_LOCK))) |
| 425 | { | 453 | { |
| 426 | // If CAPS LK LED is turning on... | 454 | // If CAPS LK LED is turning on... |
| @@ -457,13 +485,14 @@ void led_set_user(uint8_t usb_led) | |||
| 457 | 485 | ||
| 458 | void play_startup_tone() | 486 | void play_startup_tone() |
| 459 | { | 487 | { |
| 488 | _delay_ms(10); // gets rid of tick | ||
| 460 | PLAY_NOTE_ARRAY(tone_my_startup, false, STACCATO); | 489 | PLAY_NOTE_ARRAY(tone_my_startup, false, STACCATO); |
| 461 | } | 490 | } |
| 462 | 491 | ||
| 463 | void play_goodbye_tone() | 492 | void play_goodbye_tone() |
| 464 | { | 493 | { |
| 465 | PLAY_NOTE_ARRAY(tone_my_goodbye, false, STACCATO); | 494 | PLAY_NOTE_ARRAY(tone_my_goodbye, false, STACCATO); |
| 466 | _delay_ms(2000); | 495 | _delay_ms(1000); |
| 467 | } | 496 | } |
| 468 | 497 | ||
| 469 | #endif /* AUDIO_ENABLE */ | 498 | #endif /* AUDIO_ENABLE */ |
diff --git a/quantum/audio/audio.h b/quantum/audio/audio.h index d1ccfdb82..89769507e 100644 --- a/quantum/audio/audio.h +++ b/quantum/audio/audio.h | |||
| @@ -50,8 +50,8 @@ void decrease_vibrato_strength(float change); | |||
| 50 | // Polyphony functions | 50 | // Polyphony functions |
| 51 | 51 | ||
| 52 | void set_polyphony_rate(float rate); | 52 | void set_polyphony_rate(float rate); |
| 53 | void enable_polyphony(); | 53 | void enable_polyphony(void); |
| 54 | void disable_polyphony(); | 54 | void disable_polyphony(void); |
| 55 | void increase_polyphony_rate(float change); | 55 | void increase_polyphony_rate(float change); |
| 56 | void decrease_polyphony_rate(float change); | 56 | void decrease_polyphony_rate(float change); |
| 57 | 57 | ||
| @@ -61,7 +61,7 @@ void set_tempo(float tempo); | |||
| 61 | void increase_tempo(uint8_t tempo_change); | 61 | void increase_tempo(uint8_t tempo_change); |
| 62 | void decrease_tempo(uint8_t tempo_change); | 62 | void decrease_tempo(uint8_t tempo_change); |
| 63 | 63 | ||
| 64 | void audio_init(); | 64 | void audio_init(void); |
| 65 | 65 | ||
| 66 | #ifdef PWM_AUDIO | 66 | #ifdef PWM_AUDIO |
| 67 | void play_sample(uint8_t * s, uint16_t l, bool r); | 67 | void play_sample(uint8_t * s, uint16_t l, bool r); |
diff --git a/quantum/audio/voices.c b/quantum/audio/voices.c index 98631f0cb..330ffb803 100644 --- a/quantum/audio/voices.c +++ b/quantum/audio/voices.c | |||
| @@ -1,4 +1,5 @@ | |||
| 1 | #include "voices.h" | 1 | #include "voices.h" |
| 2 | #include "stdlib.h" | ||
| 2 | 3 | ||
| 3 | // these are imported from audio.c | 4 | // these are imported from audio.c |
| 4 | extern uint16_t envelope_index; | 5 | extern uint16_t envelope_index; |
| @@ -27,26 +28,31 @@ float voice_envelope(float frequency) { | |||
| 27 | case default_voice: | 28 | case default_voice: |
| 28 | note_timbre = TIMBRE_50; | 29 | note_timbre = TIMBRE_50; |
| 29 | polyphony_rate = 0; | 30 | polyphony_rate = 0; |
| 30 | break; | 31 | break; |
| 32 | |||
| 31 | case butts_fader: | 33 | case butts_fader: |
| 32 | polyphony_rate = 0; | 34 | polyphony_rate = 0; |
| 33 | switch (compensated_index) { | 35 | switch (compensated_index) { |
| 34 | case 0 ... 9: | 36 | case 0 ... 9: |
| 35 | frequency = frequency / 4; | 37 | frequency = frequency / 4; |
| 36 | note_timbre = TIMBRE_12; | 38 | note_timbre = TIMBRE_12; |
| 37 | break; | 39 | break; |
| 40 | |||
| 38 | case 10 ... 19: | 41 | case 10 ... 19: |
| 39 | frequency = frequency / 2; | 42 | frequency = frequency / 2; |
| 40 | note_timbre = TIMBRE_12; | 43 | note_timbre = TIMBRE_12; |
| 41 | break; | 44 | break; |
| 45 | |||
| 42 | case 20 ... 200: | 46 | case 20 ... 200: |
| 43 | note_timbre = .125 - pow(((float)compensated_index - 20) / (200 - 20), 2)*.125; | 47 | note_timbre = .125 - pow(((float)compensated_index - 20) / (200 - 20), 2)*.125; |
| 44 | break; | 48 | break; |
| 49 | |||
| 45 | default: | 50 | default: |
| 46 | note_timbre = 0; | 51 | note_timbre = 0; |
| 47 | break; | 52 | break; |
| 48 | } | 53 | } |
| 49 | break; | 54 | break; |
| 55 | |||
| 50 | case octave_crunch: | 56 | case octave_crunch: |
| 51 | polyphony_rate = 0; | 57 | polyphony_rate = 0; |
| 52 | switch (compensated_index) { | 58 | switch (compensated_index) { |
| @@ -56,17 +62,20 @@ float voice_envelope(float frequency) { | |||
| 56 | frequency = frequency / 2; | 62 | frequency = frequency / 2; |
| 57 | note_timbre = TIMBRE_12; | 63 | note_timbre = TIMBRE_12; |
| 58 | break; | 64 | break; |
| 65 | |||
| 59 | case 10 ... 19: | 66 | case 10 ... 19: |
| 60 | case 25 ... 29: | 67 | case 25 ... 29: |
| 61 | case 33 ... 35: | 68 | case 33 ... 35: |
| 62 | frequency = frequency * 2; | 69 | frequency = frequency * 2; |
| 63 | note_timbre = TIMBRE_12; | 70 | note_timbre = TIMBRE_12; |
| 64 | break; | 71 | break; |
| 72 | |||
| 65 | default: | 73 | default: |
| 66 | note_timbre = TIMBRE_12; | 74 | note_timbre = TIMBRE_12; |
| 67 | break; | 75 | break; |
| 68 | } | 76 | } |
| 69 | break; | 77 | break; |
| 78 | |||
| 70 | case duty_osc: | 79 | case duty_osc: |
| 71 | // This slows the loop down a substantial amount, so higher notes may freeze | 80 | // This slows the loop down a substantial amount, so higher notes may freeze |
| 72 | polyphony_rate = 0; | 81 | polyphony_rate = 0; |
| @@ -78,13 +87,17 @@ float voice_envelope(float frequency) { | |||
| 78 | // note_timbre = (sin((float)compensated_index/10000*OCS_SPEED) * OCS_AMP / 2) + .5; | 87 | // note_timbre = (sin((float)compensated_index/10000*OCS_SPEED) * OCS_AMP / 2) + .5; |
| 79 | // triangle wave is a bit faster | 88 | // triangle wave is a bit faster |
| 80 | note_timbre = (float)abs((compensated_index*OCS_SPEED % 3000) - 1500) * ( OCS_AMP / 1500 ) + (1 - OCS_AMP) / 2; | 89 | note_timbre = (float)abs((compensated_index*OCS_SPEED % 3000) - 1500) * ( OCS_AMP / 1500 ) + (1 - OCS_AMP) / 2; |
| 81 | break; | 90 | break; |
| 82 | } | 91 | } |
| 83 | break; | 92 | break; |
| 93 | |||
| 84 | case duty_octave_down: | 94 | case duty_octave_down: |
| 85 | polyphony_rate = 0; | 95 | polyphony_rate = 0; |
| 86 | note_timbre = (envelope_index % 2) * .125 + .375 * 2; | 96 | note_timbre = (envelope_index % 2) * .125 + .375 * 2; |
| 87 | break; | 97 | break; |
| 98 | |||
| 99 | default: | ||
| 100 | break; | ||
| 88 | } | 101 | } |
| 89 | 102 | ||
| 90 | return frequency; | 103 | return frequency; |
diff --git a/quantum/audio/voices.h b/quantum/audio/voices.h index 5aa99f4b1..2822fb6ac 100644 --- a/quantum/audio/voices.h +++ b/quantum/audio/voices.h | |||
| @@ -20,7 +20,7 @@ typedef enum { | |||
| 20 | } voice_type; | 20 | } voice_type; |
| 21 | 21 | ||
| 22 | void set_voice(voice_type v); | 22 | void set_voice(voice_type v); |
| 23 | void voice_iterate(); | 23 | void voice_iterate(void); |
| 24 | void voice_deiterate(); | 24 | void voice_deiterate(void); |
| 25 | 25 | ||
| 26 | #endif \ No newline at end of file | 26 | #endif \ No newline at end of file |
