diff options
author | skullydazed <skullydazed@users.noreply.github.com> | 2018-01-13 20:38:25 -0800 |
---|---|---|
committer | Jack Humbert <jack.humb@gmail.com> | 2018-01-13 23:38:25 -0500 |
commit | 5836d1a06a7265781fa37acf13e3ba9df7224247 (patch) | |
tree | fe4161c2cb1dc28b5eab39c5d97caedc92b7efc8 /keyboards/clueboard | |
parent | fd359e23e8b46826f480d1bcf21261c3f777e2f4 (diff) |
Fix up the ARM audio support (#2136)
* Get audio working on clueboard/60
* add keys for music mode
* Change doubles to floats
* add keys for all the songs
* revert to the default startup sound
* Remove music mode until we can figure out why it crashes
Diffstat (limited to 'keyboards/clueboard')
-rw-r--r-- | keyboards/clueboard/60/keymaps/default/keymap.c | 94 | ||||
-rw-r--r-- | keyboards/clueboard/60/led.c | 9 | ||||
-rw-r--r-- | keyboards/clueboard/60/matrix.c | 6 | ||||
-rw-r--r-- | keyboards/clueboard/60/rules.mk | 2 |
4 files changed, 94 insertions, 17 deletions
diff --git a/keyboards/clueboard/60/keymaps/default/keymap.c b/keyboards/clueboard/60/keymaps/default/keymap.c index 1b0c712640..8397c4bbfb 100644 --- a/keyboards/clueboard/60/keymaps/default/keymap.c +++ b/keyboards/clueboard/60/keymaps/default/keymap.c @@ -3,11 +3,35 @@ #define _______ KC_TRNS enum keyboard_layers { - _BL, - _FL, - _CL + _BL, + _FL, + _CL }; +enum custom_keycodes { + S_BSKTC = SAFE_RANGE, + S_ODEJY, + S_RCKBY, + S_DOEDR, + S_SCALE, + S_ONEUP, + S_COIN, + S_SONIC, + S_ZELDA +}; + +#ifdef AUDIO_ENABLE + float song_basketcase[][2] = SONG(BASKET_CASE); + float song_ode_to_joy[][2] = SONG(ODE_TO_JOY); + float song_rock_a_bye_baby[][2] = SONG(ROCK_A_BYE_BABY); + float song_doe_a_deer[][2] = SONG(DOE_A_DEER); + float song_scale[][2] = SONG(MUSIC_SCALE_SOUND); + float song_coin[][2] = SONG(COIN_SOUND); + float song_one_up[][2] = SONG(ONE_UP_SOUND); + float song_sonic_ring[][2] = SONG(SONIC_RING); + float song_zelda_puzzle[][2] = SONG(ZELDA_PUZZLE); +#endif + const uint16_t keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Layer 0: Default Layer * ,-----------------------------------------------------------. @@ -33,11 +57,71 @@ const uint16_t keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, \ _______, _______,MO(_CL),_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, \ _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, _______, \ - _______, _______, _______, _______, _______, _______, MO(_FL), _______), + _______,_______,_______, _______, _______, _______, MO(_FL), _______), [_CL] = KEYMAP( - BL_STEP,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,\ + BL_STEP,S_BSKTC,S_ODEJY,S_RCKBY,S_DOEDR,S_SCALE,S_ONEUP,S_COIN, S_SONIC,S_ZELDA,_______,_______,_______,_______,_______,\ _______, _______,_______,_______,RESET, _______,_______,_______,_______,_______,_______,_______,_______,_______, \ _______, _______,MO(_CL),_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, \ _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, \ _______, _______, _______, _______, _______, _______, MO(_FL), _______) }; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case S_BSKTC: + if (record->event.pressed) { + stop_all_notes(); + PLAY_SONG(song_basketcase); + } + return false; + case S_ODEJY: + if (record->event.pressed) { + stop_all_notes(); + PLAY_SONG(song_ode_to_joy); + } + return false; + case S_RCKBY: + if (record->event.pressed) { + stop_all_notes(); + PLAY_SONG(song_rock_a_bye_baby); + } + return false; + case S_DOEDR: + if (record->event.pressed) { + stop_all_notes(); + PLAY_SONG(song_doe_a_deer); + } + return false; + case S_SCALE: + if (record->event.pressed) { + stop_all_notes(); + PLAY_SONG(song_scale); + } + return false; + case S_ONEUP: + if (record->event.pressed) { + stop_all_notes(); + PLAY_SONG(song_one_up); + } + return false; + case S_COIN: + if (record->event.pressed) { + stop_all_notes(); + PLAY_SONG(song_coin); + } + return false; + case S_SONIC: + if (record->event.pressed) { + stop_all_notes(); + PLAY_SONG(song_sonic_ring); + } + return false; + case S_ZELDA: + if (record->event.pressed) { + stop_all_notes(); + PLAY_SONG(song_zelda_puzzle); + } + return false; + } + return true; +} diff --git a/keyboards/clueboard/60/led.c b/keyboards/clueboard/60/led.c index fdf244ad50..350696736b 100644 --- a/keyboards/clueboard/60/led.c +++ b/keyboards/clueboard/60/led.c @@ -23,7 +23,7 @@ void backlight_init_ports(void) { printf("backlight_init_ports()\n"); #ifdef BACKLIGHT_ENABLE - palSetPadMode(GPIOB, 8, PAL_MODE_OUTPUT_PUSHPULL); + palSetPadMode(GPIOB, 8, PAL_MODE_OUTPUT_PUSHPULL); palSetPad(GPIOB, 8); #endif } @@ -41,13 +41,8 @@ void backlight_set(uint8_t level) { #endif } -void led_init_ports() { - printf("led_init_ports()\n"); - palSetPadMode(GPIOB, 7, PAL_MODE_OUTPUT_PUSHPULL); -} - void led_set_kb(uint8_t usb_led) { - printf("led_init_ports()\n"); + printf("led_set_kb(%d)\n", usb_led); if (usb_led & (1<<USB_LED_CAPS_LOCK)) { // Turn capslock on palSetPad(GPIOB, 7); diff --git a/keyboards/clueboard/60/matrix.c b/keyboards/clueboard/60/matrix.c index 4023bc03cf..7c38a3bd45 100644 --- a/keyboards/clueboard/60/matrix.c +++ b/keyboards/clueboard/60/matrix.c @@ -71,10 +71,7 @@ void matrix_init(void) { memset(matrix, 0, MATRIX_ROWS * sizeof(matrix_row_t)); memset(matrix_debouncing, 0, MATRIX_COLS * sizeof(matrix_row_t)); - /* Setup capslock */ - // palSetPadMode(GPIOB, 7, PAL_MODE_OUTPUT_PUSHPULL); - // palClearPad(GPIOB, 7); - + palClearPad(GPIOB, 7); // Turn off capslock matrix_init_quantum(); } @@ -138,6 +135,7 @@ uint8_t matrix_scan(void) { debouncing_time = timer_read(); } } + if (debouncing && timer_elapsed(debouncing_time) > DEBOUNCE) { for (int row = 0; row < MATRIX_ROWS; row++) { matrix[row] = 0; diff --git a/keyboards/clueboard/60/rules.mk b/keyboards/clueboard/60/rules.mk index 01b7dad9b3..93e6019a49 100644 --- a/keyboards/clueboard/60/rules.mk +++ b/keyboards/clueboard/60/rules.mk @@ -50,5 +50,5 @@ COMMAND_ENABLE = yes # Commands for debug and configuration #SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend NKRO_ENABLE = yes # USB Nkey Rollover CUSTOM_MATRIX = yes # Custom matrix file -#AUDIO_ENABLE = yes +AUDIO_ENABLE = yes # SERIAL_LINK_ENABLE = yes |