From 4a87af0e9af046d5fc00d930476920c0c34a57a7 Mon Sep 17 00:00:00 2001 From: Drashna Jaelre Date: Tue, 29 Nov 2022 11:43:42 -0800 Subject: [Keymap] Drashna updates for 0.19 (#19175) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Fix up bastardkb boards since blackpill support is officially added. * Check for blackpill version, not elite c. * Add checks in chibiOS config since multiple ARM controllers supported. * Rework rules.mk for keymaps to better handle arm vs avr support * Start moving away from `matrix_*_*` functions. * `housekeeping_task_*` instead of `matrix_scan_*` * `keyboard_(pre|post)_init_*` instead of `matrix_init_*` * Add ℂℴmⅈℂ unicode input method. * Clean up unicode code to be more compact and flexible. * Remove/move Pro Micro LED commands to userspace and better filter them * Fixup OLED code * Use newer quantum keycode functions/preprocessors rather than manual bit manipulation * Make unicode mode render much more compact/simple. * Make qmk secrets more self contained * Remove custom implementation of split watchdog --- layouts/community/ergodox/drashna/keymap.c | 2 +- layouts/community/ortho_4x12/drashna/config.h | 4 +++- layouts/community/ortho_4x12/drashna/keymap.c | 13 +----------- layouts/community/ortho_4x12/drashna/rules.mk | 11 ++++++++-- layouts/community/ortho_5x12/drashna/rules.mk | 6 ++++++ layouts/community/split_3x6_3/drashna/chconf.h | 6 ++++-- layouts/community/split_3x6_3/drashna/config.h | 9 +++++++-- layouts/community/split_3x6_3/drashna/halconf.h | 7 ++++--- layouts/community/split_3x6_3/drashna/keymap.c | 3 +-- layouts/community/split_3x6_3/drashna/mcuconf.h | 24 +++++++++------------- layouts/community/split_3x6_3/drashna/rules.mk | 27 ++++++++++++++++--------- 11 files changed, 63 insertions(+), 49 deletions(-) (limited to 'layouts') diff --git a/layouts/community/ergodox/drashna/keymap.c b/layouts/community/ergodox/drashna/keymap.c index 64ef098280..e5675854e1 100644 --- a/layouts/community/ergodox/drashna/keymap.c +++ b/layouts/community/ergodox/drashna/keymap.c @@ -268,7 +268,7 @@ bool process_record_keymap(uint16_t keycode, keyrecord_t *record) { return true; } -void matrix_scan_keymap(void) { // runs frequently to update info +void housekeeping_task_keymap(void) { // runs frequently to update info uint8_t modifiers = get_mods(); uint8_t led_usb_state = host_keyboard_leds(); uint8_t one_shot = get_oneshot_mods(); diff --git a/layouts/community/ortho_4x12/drashna/config.h b/layouts/community/ortho_4x12/drashna/config.h index e2154cbe2f..85112d8ce4 100644 --- a/layouts/community/ortho_4x12/drashna/config.h +++ b/layouts/community/ortho_4x12/drashna/config.h @@ -66,12 +66,14 @@ #endif // KEYBOARD_planck_light #if defined(KEYBOARD_planck) -# undef PRODUCT # if defined(KEYBOARD_planck_light) +# undef PRODUCT # define PRODUCT "Drashna Hacked RGB Beacon(Planck Light)" # elif defined(KEYBOARD_planck_rev6) +# undef PRODUCT # define PRODUCT "Drashna Hacked Planck Rev6" # elif defined(KEYBOARD_planck_ez) +# undef PRODUCT # define PRODUCT "Drashna Hacked Planck EZ" # define DYNAMIC_KEYMAP_EEPROM_MAX_ADDR 4095 # endif diff --git a/layouts/community/ortho_4x12/drashna/keymap.c b/layouts/community/ortho_4x12/drashna/keymap.c index b7a132db12..b22401a77e 100644 --- a/layouts/community/ortho_4x12/drashna/keymap.c +++ b/layouts/community/ortho_4x12/drashna/keymap.c @@ -249,23 +249,12 @@ bool rgb_matrix_indicators_advanced_keymap(uint8_t led_min, uint8_t led_max) { return true; } -void matrix_init_keymap(void) { +void keyboard_post_init_keymap(void) { # ifdef KEYBOARD_planck_light writePinLow(D6); # endif // rgblight_mode(RGB_MATRIX_MULTISPLASH); } -#else // RGB_MATRIX_INIT - -void matrix_init_keymap(void) { -# if !defined(CONVERT_TO_PROTON_C) && !defined(KEYBOARD_planck) - setPinOutput(D5); - writePinHigh(D5); - - setPinOutput(B0); - writePinHigh(B0); -# endif -} #endif // RGB_MATRIX_INIT #ifdef ENCODER_ENABLE diff --git a/layouts/community/ortho_4x12/drashna/rules.mk b/layouts/community/ortho_4x12/drashna/rules.mk index e5c25d6fd5..a2278e931d 100644 --- a/layouts/community/ortho_4x12/drashna/rules.mk +++ b/layouts/community/ortho_4x12/drashna/rules.mk @@ -20,7 +20,7 @@ ifeq ($(strip $(KEYBOARD)), planck/rev6) AUDIO_ENABLE = yes EEPROM_DRIVER = i2c ENCODER_MAP_ENABLE = yes - AUTOCORRECTION_ENABLE = yes + AUTOCORRECT_ENABLE = yes CAPS_WORD_ENABLE = yes endif ifeq ($(strip $(KEYBOARD)), planck/light) @@ -39,6 +39,13 @@ ifeq ($(strip $(KEYBOARD)), planck/ez) CONSOLE_ENABLE = yes COMMAND_ENABLE = yes AUDIO_ENABLE = yes - AUTOCORRECTION_ENABLE = yes + AUTOCORRECT_ENABLE = yes CAPS_WORD_ENABLE = yes endif + +ifeq ($(strip $(MCU)), atmega32u4) + BOOTLOADER = qmk-hid + BOOTLOADER_SIZE = 512 + LTO_ENABLE = yes + CUSTOM_UNICODE_ENABLE = no +endif diff --git a/layouts/community/ortho_5x12/drashna/rules.mk b/layouts/community/ortho_5x12/drashna/rules.mk index 57cc3ce0be..c3b417f1bd 100644 --- a/layouts/community/ortho_5x12/drashna/rules.mk +++ b/layouts/community/ortho_5x12/drashna/rules.mk @@ -16,3 +16,9 @@ ifeq ($(strip $(KEYBOARD)), fractal) BOOTLOADER = qmk-dfu CUSTOM_UNICODE_ENABLE = no endif + +ifeq ($(strip $(MCU)), atmega32u4) + BOOTLOADER = qmk-dfu + BOOTLOADER_SIZE = 512 + LTO_ENABLE = yes +endif diff --git a/layouts/community/split_3x6_3/drashna/chconf.h b/layouts/community/split_3x6_3/drashna/chconf.h index ffcfb19896..9dbc78b973 100644 --- a/layouts/community/split_3x6_3/drashna/chconf.h +++ b/layouts/community/split_3x6_3/drashna/chconf.h @@ -1,6 +1,8 @@ -#define CH_CFG_ST_RESOLUTION 16 -#define CH_CFG_ST_FREQUENCY 10000 +#if defined(KEYBOARD_crkbd) +# define CH_CFG_ST_RESOLUTION 16 +# define CH_CFG_ST_FREQUENCY 10000 +#endif #if __has_include("platforms/chibios/common/configs/chconf.h") # include_next "platforms/chibios/common/configs/chconf.h" diff --git a/layouts/community/split_3x6_3/drashna/config.h b/layouts/community/split_3x6_3/drashna/config.h index 0944e37077..0ef36d1f32 100644 --- a/layouts/community/split_3x6_3/drashna/config.h +++ b/layouts/community/split_3x6_3/drashna/config.h @@ -80,8 +80,13 @@ # define NO_MUSIC_MODE #endif -#ifdef HAPTIC_ENABLE -# define SOLENOID_PIN B7 +#if defined(HAPTIC_ENABLE) +# if defined(CONVERT_TO_PROTON_C) +# define A13 PAL_LINE(GPIOA, 13) +# define SOLENOID_PIN A13 +# else +# define SOLENOID_PIN B7 +# endif #endif #undef PRODUCT diff --git a/layouts/community/split_3x6_3/drashna/halconf.h b/layouts/community/split_3x6_3/drashna/halconf.h index b099320b30..7cc1306598 100644 --- a/layouts/community/split_3x6_3/drashna/halconf.h +++ b/layouts/community/split_3x6_3/drashna/halconf.h @@ -15,8 +15,9 @@ */ #pragma once -// #define HAL_USE_DAC TRUE -#define HAL_USE_PWM TRUE -#define HAL_USE_SERIAL TRUE +#if defined(KEYBOARD_crkbd) +# define HAL_USE_PWM TRUE +# define HAL_USE_SERIAL TRUE +#endif #include_next diff --git a/layouts/community/split_3x6_3/drashna/keymap.c b/layouts/community/split_3x6_3/drashna/keymap.c index 707e688267..59f5fefb48 100644 --- a/layouts/community/split_3x6_3/drashna/keymap.c +++ b/layouts/community/split_3x6_3/drashna/keymap.c @@ -238,8 +238,7 @@ void render_small_kitty(void) { void oled_driver_render_logo_right(void) { render_small_kitty(); - oled_set_cursor(0, 4); - render_default_layer_state(); + render_default_layer_state(0, 4); } # endif #endif diff --git a/layouts/community/split_3x6_3/drashna/mcuconf.h b/layouts/community/split_3x6_3/drashna/mcuconf.h index 649af5d1f4..920261476c 100644 --- a/layouts/community/split_3x6_3/drashna/mcuconf.h +++ b/layouts/community/split_3x6_3/drashna/mcuconf.h @@ -17,20 +17,16 @@ #include_next -// #undef STM32_HSE_ENABLED -// #define STM32_HSE_ENABLED FALSE -// #undef STM32_GPT_USE_TIM15 -// #define STM32_GPT_USE_TIM15 FALSE +#if defined(KEYBOARD_crkbd) -#undef STM32_PWM_USE_TIM2 -#define STM32_PWM_USE_TIM2 TRUE -#undef STM32_PWM_USE_TIM3 -#define STM32_PWM_USE_TIM3 FALSE +# undef STM32_PWM_USE_TIM2 +# define STM32_PWM_USE_TIM2 TRUE +# undef STM32_PWM_USE_TIM3 +# define STM32_PWM_USE_TIM3 FALSE -#undef STM32_SERIAL_USE_USART1 -#define STM32_SERIAL_USE_USART1 TRUE +# undef STM32_SERIAL_USE_USART1 +# define STM32_SERIAL_USE_USART1 TRUE -// #undef STM32_PWM_TIM15_IRQ_PRIORITY -// #define STM32_PWM_TIM15_IRQ_PRIORITY 16 -#undef STM32_ST_USE_TIMER -#define STM32_ST_USE_TIMER 3 +# undef STM32_ST_USE_TIMER +# define STM32_ST_USE_TIMER 3 +#endif diff --git a/layouts/community/split_3x6_3/drashna/rules.mk b/layouts/community/split_3x6_3/drashna/rules.mk index 83eb699812..3fd4279bef 100644 --- a/layouts/community/split_3x6_3/drashna/rules.mk +++ b/layouts/community/split_3x6_3/drashna/rules.mk @@ -13,6 +13,10 @@ AUDIO_ENABLE = no # Audio output UNICODE_ENABLE = no # Unicode RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. SWAP_HANDS_ENABLE = no # Enable one-hand typing +OS_DETECTION_ENABLE = no +CUSTOM_UNICODE_ENABLE = no +CUSTOM_POINTING_DEVICE = no +CUSTOM_SPLIT_TRANSPORT_SYNC = no USE_ARM_CONFIG ?= no ifeq ($(strip $(CONVERT_TO)), proton_c) @@ -27,19 +31,26 @@ endif ifeq ($(strip $(MCU)), STM32F401) USE_ARM_CONFIG = yes endif +ifeq ($(strip $(MCU)), STM32F411) + USE_ARM_CONFIG = yes +endif + +ifeq ($(strip $(MCU)), atmega32u4) + BOOTLOADER = qmk-hid + BOOTLOADER_SIZE = 512 +endif ifeq ($(strip $(USE_ARM_CONFIG)), yes) HAPTIC_ENABLE = no WS2812_DRIVER = pwm # won't work without a patch to the ctpc mk file SERIAL_DRIVER = usart - SWAP_HANDS_ENABLE = yes WPM_ENABLE = yes - AUTOCORRECTION_ENABLE = yes + AUTOCORRECT_ENABLE = yes CAPS_WORD_ENABLE = yes -else - CUSTOM_UNICODE_ENABLE = no - BOOTLOADER = qmk-hid - BOOTLOADER_SIZE = 512 + OS_DETECTION_ENABLE = yes + CUSTOM_UNICODE_ENABLE = no + CUSTOM_POINTING_DEVICE = no + CUSTOM_SPLIT_TRANSPORT_SYNC = no endif ifeq ($(strip $(KEYBOARD)), crkbd/rev1) @@ -47,7 +58,3 @@ ifeq ($(strip $(KEYBOARD)), crkbd/rev1) RGB_MATRIX_ENABLE = yes HAPTIC_ENABLE = no endif - -ifeq ($(strip $(KEYBOARD)), cantor) - SWAP_HANDS_ENABLE = no -endif -- cgit v1.2.3