diff options
Diffstat (limited to 'keyboards')
-rw-r--r-- | keyboards/adafruit/macropad/config.h | 11 | ||||
-rw-r--r-- | keyboards/adafruit/macropad/halconf.h | 3 | ||||
-rw-r--r-- | keyboards/adafruit/macropad/keymaps/default/keymap.c | 13 | ||||
-rw-r--r-- | keyboards/adafruit/macropad/keymaps/via/keymap.c | 5 | ||||
-rw-r--r-- | keyboards/adafruit/macropad/macropad.c | 25 | ||||
-rw-r--r-- | keyboards/adafruit/macropad/mcuconf.h | 3 | ||||
-rw-r--r-- | keyboards/adafruit/macropad/rules.mk | 4 |
7 files changed, 53 insertions, 11 deletions
diff --git a/keyboards/adafruit/macropad/config.h b/keyboards/adafruit/macropad/config.h index fa8465128c..08db87fefe 100644 --- a/keyboards/adafruit/macropad/config.h +++ b/keyboards/adafruit/macropad/config.h @@ -42,9 +42,14 @@ #define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP13 #define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U -/* Audio (Unsupported for now)*/ -// #define AUDIO_PIN GP16 -// #define SPEAKER_SHUTDOWN GP14 +/* Audio */ +#define AUDIO_PIN GP16 +#define AUDIO_PWM_DRIVER PWMD0 +#define AUDIO_PWM_CHANNEL RP2040_PWM_CHANNEL_A +#define AUDIO_INIT_DELAY +#define AUDIO_CLICKY + +#define SPEAKER_SHUTDOWN GP14 #ifdef RGB_MATRIX_ENABLE diff --git a/keyboards/adafruit/macropad/halconf.h b/keyboards/adafruit/macropad/halconf.h index 6cd66fd520..2e3be29bbf 100644 --- a/keyboards/adafruit/macropad/halconf.h +++ b/keyboards/adafruit/macropad/halconf.h @@ -26,3 +26,6 @@ #undef SPI_SELECT_MODE #define SPI_SELECT_MODE SPI_SELECT_MODE_PAD + +#undef HAL_USE_PWM +#define HAL_USE_PWM TRUE diff --git a/keyboards/adafruit/macropad/keymaps/default/keymap.c b/keyboards/adafruit/macropad/keymaps/default/keymap.c index 34989ea0b6..808b202df4 100644 --- a/keyboards/adafruit/macropad/keymaps/default/keymap.c +++ b/keyboards/adafruit/macropad/keymaps/default/keymap.c @@ -18,17 +18,25 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT( - KC_MUTE, + LT(1,KC_MUTE), KC_ENT, KC_0, KC_BSPC, KC_7, KC_8, KC_9, KC_4, KC_5, KC_6, KC_1, KC_2, KC_3 - ) + ), + [1] = LAYOUT( + _______, + CK_TOGG, AU_TOGG, _______, + _______, _______, _______, + _______, _______, _______, + _______, _______, _______ + ), }; #ifdef ENCODER_MAP_ENABLE const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = { [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [1] = { ENCODER_CCW_CW(_______, _______) }, }; #endif @@ -111,4 +119,3 @@ bool oled_task_user(void) { } #endif - diff --git a/keyboards/adafruit/macropad/keymaps/via/keymap.c b/keyboards/adafruit/macropad/keymaps/via/keymap.c index 6ef3d3e29d..80efd80f2d 100644 --- a/keyboards/adafruit/macropad/keymaps/via/keymap.c +++ b/keyboards/adafruit/macropad/keymaps/via/keymap.c @@ -18,7 +18,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT( - KC_MUTE, + LT(1,KC_MUTE), KC_ENT, KC_0, KC_BSPC, KC_7, KC_8, KC_9, KC_4, KC_5, KC_6, @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT( _______, - _______, _______, _______, + CK_TOGG, AU_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ @@ -135,4 +135,3 @@ bool oled_task_user(void) { } #endif - diff --git a/keyboards/adafruit/macropad/macropad.c b/keyboards/adafruit/macropad/macropad.c index 819b5067d8..6661e43909 100644 --- a/keyboards/adafruit/macropad/macropad.c +++ b/keyboards/adafruit/macropad/macropad.c @@ -40,3 +40,28 @@ led_config_t g_led_config = { { } }; #endif + +#ifdef AUDIO_ENABLE +void keyboard_pre_init_kb(void) { + // ensure pin is set and enabled pre-audio init + setPinOutput(SPEAKER_SHUTDOWN); + writePinHigh(SPEAKER_SHUTDOWN); + keyboard_pre_init_user(); +} + +void keyboard_post_init_kb(void) { + // set pin based on active status + writePin(SPEAKER_SHUTDOWN, audio_is_on()); + keyboard_post_init_user(); +} + +void audio_on_user(void) { + writePinHigh(SPEAKER_SHUTDOWN); +} + +void audio_off_user(void) { + // needs a delay or it runs right after play note. + wait_ms(200); + writePinLow(SPEAKER_SHUTDOWN); +} +#endif diff --git a/keyboards/adafruit/macropad/mcuconf.h b/keyboards/adafruit/macropad/mcuconf.h index 198a2eea69..a833fb2af8 100644 --- a/keyboards/adafruit/macropad/mcuconf.h +++ b/keyboards/adafruit/macropad/mcuconf.h @@ -20,3 +20,6 @@ #undef RP_SPI_USE_SPI1 #define RP_SPI_USE_SPI1 TRUE + +#undef RP_PWM_USE_PWM0 +#define RP_PWM_USE_PWM0 TRUE diff --git a/keyboards/adafruit/macropad/rules.mk b/keyboards/adafruit/macropad/rules.mk index eec8b1f6db..9dcc495526 100644 --- a/keyboards/adafruit/macropad/rules.mk +++ b/keyboards/adafruit/macropad/rules.mk @@ -9,8 +9,8 @@ COMMAND_ENABLE = no # Commands for debug and configuration NKRO_ENABLE = yes # Enable N-Key Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -AUDIO_ENABLE = no # Audio output -# AUDIO_DRIVER = pwm_software +AUDIO_ENABLE = yes # Audio output +AUDIO_DRIVER = pwm_hardware ENCODER_ENABLE = yes RGB_MATRIX_ENABLE = yes RGB_MATRIX_DRIVER = WS2812 |