aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIBNobody <IBNobody@users.noreply.github.com>2016-04-22 00:01:38 -0500
committerJack Humbert <jack.humb@gmail.com>2016-04-22 01:01:38 -0400
commit082a0f313d8c842a5de7bae30ec8a3597e35880b (patch)
tree2e53e01fb96aef81a3727ec4ecfbccd6e11cb74b
parent7b3f212500210ae85063b043952b5b3ef6988ad6 (diff)
downloadqmk_firmware-082a0f313d8c842a5de7bae30ec8a3597e35880b.tar.gz
qmk_firmware-082a0f313d8c842a5de7bae30ec8a3597e35880b.zip
fixed compiler warnings (#273)
-rw-r--r--keyboard/atomic/keymaps/pvc/config.h4
-rw-r--r--keyboard/atomic/keymaps/pvc/keymap.c69
-rw-r--r--quantum/audio/audio.h6
-rw-r--r--quantum/audio/voices.c37
-rw-r--r--quantum/audio/voices.h4
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);
187float tone_my_goodbye[][2] = SONG(ROCK_A_BYE_BABY); 191float tone_my_goodbye[][2] = SONG(ROCK_A_BYE_BABY);
188 192
189float tone_qwerty[][2] = SONG(QWERTY_SOUND); 193float tone_qwerty[][2] = SONG(QWERTY_SOUND);
190float tone_dvorak[][2] = SONG(COLEMAK_SOUND); 194float tone_dvorak[][2] = SONG(DVORAK_SOUND);
191float tone_colemak[][2] = SONG(DVORAK_SOUND); 195float tone_colemak[][2] = SONG(COLEMAK_SOUND);
192 196
193float tone_audio_on[][2] = SONG(CLOSE_ENCOUNTERS_5_NOTE); 197float tone_audio_on[][2] = SONG(CLOSE_ENCOUNTERS_5_NOTE);
194float tone_music_on[][2] = SONG(DOE_A_DEER); 198float tone_music_on[][2] = SONG(DOE_A_DEER);
@@ -198,6 +202,7 @@ float tone_numlk_on[][2] = SONG(NUM_LOCK_ON_SOUND);
198float tone_numlk_off[][2] = SONG(NUM_LOCK_OFF_SOUND); 202float tone_numlk_off[][2] = SONG(NUM_LOCK_OFF_SOUND);
199float tone_scroll_on[][2] = SONG(SCROLL_LOCK_ON_SOUND); 203float tone_scroll_on[][2] = SONG(SCROLL_LOCK_ON_SOUND);
200float tone_scroll_off[][2] = SONG(SCROLL_LOCK_OFF_SOUND); 204float tone_scroll_off[][2] = SONG(SCROLL_LOCK_OFF_SOUND);
205float 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
393uint8_t starting_note = 0x0C;
394int offset = 7;
395
396 418
397void process_action_user(keyrecord_t *record) 419void 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
413void matrix_init_user(void) 439void 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
458void play_startup_tone() 486void 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
463void play_goodbye_tone() 492void 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
52void set_polyphony_rate(float rate); 52void set_polyphony_rate(float rate);
53void enable_polyphony(); 53void enable_polyphony(void);
54void disable_polyphony(); 54void disable_polyphony(void);
55void increase_polyphony_rate(float change); 55void increase_polyphony_rate(float change);
56void decrease_polyphony_rate(float change); 56void decrease_polyphony_rate(float change);
57 57
@@ -61,7 +61,7 @@ void set_tempo(float tempo);
61void increase_tempo(uint8_t tempo_change); 61void increase_tempo(uint8_t tempo_change);
62void decrease_tempo(uint8_t tempo_change); 62void decrease_tempo(uint8_t tempo_change);
63 63
64void audio_init(); 64void audio_init(void);
65 65
66#ifdef PWM_AUDIO 66#ifdef PWM_AUDIO
67void play_sample(uint8_t * s, uint16_t l, bool r); 67void 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
4extern uint16_t envelope_index; 5extern 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
22void set_voice(voice_type v); 22void set_voice(voice_type v);
23void voice_iterate(); 23void voice_iterate(void);
24void voice_deiterate(); 24void voice_deiterate(void);
25 25
26#endif \ No newline at end of file 26#endif \ No newline at end of file