From 27e9b17189f55ae2b82049695d5382de2f5c0771 Mon Sep 17 00:00:00 2001 From: VeyPatch <126267034+VeyPatch@users.noreply.github.com> Date: Tue, 3 Dec 2024 17:18:20 +0100 Subject: [PATCH] tidy up code and fix backlight bug --- .../kyria/keymaps/default_hlc/keymap.c | 4 ++-- .../kyria/keymaps/vial_hlc/keymap.json | 2 +- users/halcyon_modules/config.h | 8 +++---- users/halcyon_modules/halcyon.c | 9 ++++---- .../hlc_cirque_trackpad/rules.mk | 4 ---- .../halcyon_modules/hlc_encoder/hlc_encoder.c | 4 ---- .../halcyon_modules/hlc_tft_display/config.h | 3 --- .../hlc_tft_display/hlc_tft_display.c | 7 ------ .../halcyon_modules/hlc_tft_display/rules.mk | 10 ++------ users/halcyon_modules/rules.mk | 23 ++++++++----------- 10 files changed, 23 insertions(+), 51 deletions(-) diff --git a/keyboards/splitkb/halcyon/kyria/keymaps/default_hlc/keymap.c b/keyboards/splitkb/halcyon/kyria/keymaps/default_hlc/keymap.c index 861bc8e6..2fe0c771 100644 --- a/keyboards/splitkb/halcyon/kyria/keymaps/default_hlc/keymap.c +++ b/keyboards/splitkb/halcyon/kyria/keymaps/default_hlc/keymap.c @@ -204,8 +204,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_ADJUST] = LAYOUT_split_3x6_5_hlc( _______, _______, _______, QWERTY , _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, DVORAK , _______, _______, RGB_TOG, RGB_SAI, RGB_HUI, RGB_VAI, RGB_MOD, _______, - _______, _______, _______, COLEMAK, _______, _______,_______, _______, _______, _______, _______, RGB_SAD, RGB_HUD, RGB_VAD, RGB_RMOD, _______, + _______, _______, _______, DVORAK , _______, _______, RM_TOGG, RM_SATU, RM_HUEU, RM_VALU, RM_NEXT, _______, + _______, _______, _______, COLEMAK, _______, _______,_______, _______, _______, _______, _______, RM_SATD, RM_HUED, RM_VALD, RM_PREV, _______, _______, _______, _______,_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), diff --git a/keyboards/splitkb/halcyon/kyria/keymaps/vial_hlc/keymap.json b/keyboards/splitkb/halcyon/kyria/keymaps/vial_hlc/keymap.json index e27a0bed..085a1aa7 100644 --- a/keyboards/splitkb/halcyon/kyria/keymaps/vial_hlc/keymap.json +++ b/keyboards/splitkb/halcyon/kyria/keymaps/vial_hlc/keymap.json @@ -10,7 +10,7 @@ ["KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_PGUP", "KC_HOME", "KC_UP", "KC_END", "KC_VOLU", "KC_DEL", "KC_TRNS", "KC_LGUI", "KC_LALT", "KC_LCTL", "KC_LSFT", "KC_TRNS", "KC_PGDN", "KC_LEFT", "KC_DOWN", "KC_RGHT", "KC_VOLD", "KC_INS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_SCRL", "KC_TRNS", "KC_TRNS", "KC_PAUSE", "KC_MPRV", "KC_MPLY", "KC_MNXT", "KC_MUTE", "KC_PSCR", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_MUTE", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_MUTE", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_GRV", "KC_1", "KC_2", "KC_3", "KC_4", "KC_5", "KC_6", "KC_7", "KC_8", "KC_9", "KC_0", "KC_EQL", "KC_TILD", "KC_EXLM", "KC_AT", "KC_HASH", "KC_DLR", "KC_PERC", "KC_CIRC", "KC_AMPR", "KC_ASTR", "KC_LPRN", "KC_RPRN", "KC_PLUS", "KC_PIPE", "KC_BSLS", "KC_COLN", "KC_SCLN", "KC_MINS", "KC_LBRC", "KC_LCBR", "KC_TRNS", "KC_TRNS", "KC_RCBR", "KC_RBRC", "KC_UNDS", "KC_COMM", "KC_DOT", "KC_SLSH", "KC_QUES", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_MUTE", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_MUTE", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_TRNS", "KC_F9", "KC_F10", "KC_F11", "KC_F12", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_F5", "KC_F6", "KC_F7", "KC_F8", "KC_TRNS", "KC_TRNS", "KC_RSFT", "KC_RCTL", "KC_LALT", "KC_RGUI", "KC_TRNS", "KC_TRNS", "KC_F1", "KC_F2", "KC_F3", "KC_F4", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_MUTE", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_MUTE", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], - ["KC_TRNS", "KC_TRNS", "KC_TRNS", "DF(0)", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "DF(1)", "KC_TRNS", "KC_TRNS", "RGB_TOG", "RGB_SAI", "RGB_HUI", "RGB_VAI", "RGB_MOD", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "DF(2)", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "RGB_SAD", "RGB_HUD", "RGB_VAD", "RGB_RMOD", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_MUTE", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_MUTE", "KC_NO", "KC_NO", "KC_NO", "KC_NO"] + ["KC_TRNS", "KC_TRNS", "KC_TRNS", "DF(0)", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "DF(1)", "KC_TRNS", "KC_TRNS", "RM_TOGG", "RM_SATU", "RM_HUEU", "RM_VALU", "RM_NEXT", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "DF(2)", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "RM_SATD", "RM_HUED", "RM_VALD", "RM_PREV", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_MUTE", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_MUTE", "KC_NO", "KC_NO", "KC_NO", "KC_NO"] ], "encoders": [ [{"ccw": "KC_VOLD", "cw": "KC_VOLU"}, {"ccw": "KC_VOLD", "cw": "KC_VOLU"}, {"ccw": "KC_PGUP", "cw": "KC_PGDN"} ,{"ccw": "KC_PGUP", "cw": "KC_PGDN"}], diff --git a/users/halcyon_modules/config.h b/users/halcyon_modules/config.h index 0ebd6e8a..d09a0085 100644 --- a/users/halcyon_modules/config.h +++ b/users/halcyon_modules/config.h @@ -11,18 +11,18 @@ #define RP_PWM_USE_PWM5 TRUE #define HAL_USE_PWM TRUE -#define HAL_USE_SPI TRUE #define SPLIT_POINTING_ENABLE #define POINTING_DEVICE_COMBINED #define HLC_BACKLIGHT_TIMEOUT 120000 +#define BACKLIGHT_PWM_DRIVER PWMD5 +#define BACKLIGHT_LEVELS 10 +#define BACKLIGHT_PWM_CHANNEL RP2040_PWM_CHANNEL_B + #if !defined(HLC_TFT_DISPLAY) #define BACKLIGHT_PIN NO_PIN - #define BACKLIGHT_PWM_DRIVER PWMD5 - #define BACKLIGHT_LEVELS 10 - #define BACKLIGHT_PWM_CHANNEL RP2040_PWM_CHANNEL_B #endif #if !defined(HLC_CIRQUE_TRACKPAD) diff --git a/users/halcyon_modules/halcyon.c b/users/halcyon_modules/halcyon.c index c12c0842..8187f57a 100644 --- a/users/halcyon_modules/halcyon.c +++ b/users/halcyon_modules/halcyon.c @@ -1,13 +1,9 @@ // Copyright 2024 splitkb.com (support@splitkb.com) // SPDX-License-Identifier: GPL-2.0-or-later -#include QMK_KEYBOARD_H - #include "halcyon.h" #include "transactions.h" -#include "print.h" #include "split_util.h" -#include "pointing_device.h" __attribute__((weak)) bool module_post_init_kb(void) { return module_post_init_user(); @@ -49,6 +45,9 @@ bool backlight_off = false; void backlight_wakeup(void) { backlight_off = false; backlight_enable(); + if (get_backlight_level() == 0) { + backlight_level(BACKLIGHT_LEVELS); + } } // Timeout handling @@ -79,6 +78,8 @@ void housekeeping_task_kb(void) { static bool synced = 0; if(is_transport_connected() && synced == 0) { transaction_rpc_send(MODULE_SYNC, sizeof(module), &module); // Sync to slave + // Good moment to make sure the backlight wakes up after boot for both halves + backlight_wakeup(); synced = 1; } display_module_housekeeping_task_kb(false); // Is master so can never be the second display diff --git a/users/halcyon_modules/hlc_cirque_trackpad/rules.mk b/users/halcyon_modules/hlc_cirque_trackpad/rules.mk index 6e49650c..2821d65f 100644 --- a/users/halcyon_modules/hlc_cirque_trackpad/rules.mk +++ b/users/halcyon_modules/hlc_cirque_trackpad/rules.mk @@ -1,7 +1,3 @@ CURRENT_DIR := $(dir $(realpath $(lastword $(MAKEFILE_LIST)))) -SPI_DRIVER_REQUIRED = yes -POINTING_DEVICE_ENABLE = yes -POINTING_DEVICE_DRIVER = cirque_pinnacle_spi - CONFIG_H += $(CURRENT_DIR)/config.h \ No newline at end of file diff --git a/users/halcyon_modules/hlc_encoder/hlc_encoder.c b/users/halcyon_modules/hlc_encoder/hlc_encoder.c index e32f9b5f..d245eefd 100644 --- a/users/halcyon_modules/hlc_encoder/hlc_encoder.c +++ b/users/halcyon_modules/hlc_encoder/hlc_encoder.c @@ -1,11 +1,7 @@ // Copyright 2024 splitkb.com (support@splitkb.com) // SPDX-License-Identifier: GPL-2.0-or-later -#include QMK_KEYBOARD_H -#include "util.h" #include "split_util.h" -#include "matrix.h" -#include "debounce.h" #include "atomic_util.h" #ifdef SPLIT_KEYBOARD diff --git a/users/halcyon_modules/hlc_tft_display/config.h b/users/halcyon_modules/hlc_tft_display/config.h index 8abf5d00..c8657970 100644 --- a/users/halcyon_modules/hlc_tft_display/config.h +++ b/users/halcyon_modules/hlc_tft_display/config.h @@ -29,9 +29,6 @@ // Backlight configuration #define BACKLIGHT_PIN GP27 -#define BACKLIGHT_PWM_DRIVER PWMD5 -#define BACKLIGHT_LEVELS 10 -#define BACKLIGHT_PWM_CHANNEL RP2040_PWM_CHANNEL_B // Timeout configuration #define QUANTUM_PAINTER_DISPLAY_TIMEOUT HLC_BACKLIGHT_TIMEOUT \ No newline at end of file diff --git a/users/halcyon_modules/hlc_tft_display/hlc_tft_display.c b/users/halcyon_modules/hlc_tft_display/hlc_tft_display.c index 4aad825f..bbb4f82e 100644 --- a/users/halcyon_modules/hlc_tft_display/hlc_tft_display.c +++ b/users/halcyon_modules/hlc_tft_display/hlc_tft_display.c @@ -1,17 +1,10 @@ // Copyright 2024 splitkb.com (support@splitkb.com) // SPDX-License-Identifier: GPL-2.0-or-later -#include QMK_KEYBOARD_H - #include "halcyon.h" #include "hlc_tft_display.h" -#include "config.h" -#include "qp.h" -#include "qp_comms.h" #include "qp_surface.h" -#include "qp_st77xx_opcodes.h" -#include "split_util.h" #include // Fonts mono2 diff --git a/users/halcyon_modules/hlc_tft_display/rules.mk b/users/halcyon_modules/hlc_tft_display/rules.mk index b499d77f..48978c7e 100644 --- a/users/halcyon_modules/hlc_tft_display/rules.mk +++ b/users/halcyon_modules/hlc_tft_display/rules.mk @@ -1,15 +1,9 @@ CURRENT_DIR := $(dir $(realpath $(lastword $(MAKEFILE_LIST)))) -QUANTUM_PAINTER_ENABLE = yes -QUANTUM_PAINTER_DRIVERS += st7789_spi surface -BACKLIGHT_ENABLE = yes -BACKLIGHT_DRIVER = pwm - SRC += $(CURRENT_DIR)/hlc_tft_display.c +CONFIG_H += $(CURRENT_DIR)/config.h # Fonts SRC += $(CURRENT_DIR)/graphics/fonts/Retron2000-27.qff.c $(CURRENT_DIR)/graphics/fonts/Retron2000-underline-27.qff.c # Numbers in image format -SRC += $(CURRENT_DIR)/graphics/numbers/0.qgf.c $(CURRENT_DIR)/graphics/numbers/1.qgf.c $(CURRENT_DIR)/graphics/numbers/2.qgf.c $(CURRENT_DIR)/graphics/numbers/3.qgf.c $(CURRENT_DIR)/graphics/numbers/4.qgf.c $(CURRENT_DIR)/graphics/numbers/5.qgf.c $(CURRENT_DIR)/graphics/numbers/6.qgf.c $(CURRENT_DIR)/graphics/numbers/7.qgf.c $(CURRENT_DIR)/graphics/numbers/8.qgf.c $(CURRENT_DIR)/graphics/numbers/9.qgf.c $(CURRENT_DIR)/graphics/numbers/undef.qgf.c - -CONFIG_H += $(CURRENT_DIR)/config.h \ No newline at end of file +SRC += $(CURRENT_DIR)/graphics/numbers/0.qgf.c $(CURRENT_DIR)/graphics/numbers/1.qgf.c $(CURRENT_DIR)/graphics/numbers/2.qgf.c $(CURRENT_DIR)/graphics/numbers/3.qgf.c $(CURRENT_DIR)/graphics/numbers/4.qgf.c $(CURRENT_DIR)/graphics/numbers/5.qgf.c $(CURRENT_DIR)/graphics/numbers/6.qgf.c $(CURRENT_DIR)/graphics/numbers/7.qgf.c $(CURRENT_DIR)/graphics/numbers/8.qgf.c $(CURRENT_DIR)/graphics/numbers/9.qgf.c $(CURRENT_DIR)/graphics/numbers/undef.qgf.c \ No newline at end of file diff --git a/users/halcyon_modules/rules.mk b/users/halcyon_modules/rules.mk index 61729127..d121e5e4 100644 --- a/users/halcyon_modules/rules.mk +++ b/users/halcyon_modules/rules.mk @@ -4,21 +4,16 @@ SRC += halcyon.c LTO_ENABLE ?= yes -ifndef HLC_CIRQUE_TRACKPAD #add any other pointing devices here - # Needed otherwise pointing devices will not work - POINTING_DEVICE_ENABLE = yes - # cirque defined here as otherwise sensitivity on slave is way too high - # may need to be changed when we start supporting other pointing devices - POINTING_DEVICE_DRIVER = cirque_pinnacle_spi -endif +# May need to be changed when adding more pointing devices +POINTING_DEVICE_ENABLE = yes +POINTING_DEVICE_DRIVER = cirque_pinnacle_spi -ifndef HLC_TFT_DISPLAY #add any other displays here - # Needed otherwise displays will not work - QUANTUM_PAINTER_ENABLE = yes - QUANTUM_PAINTER_DRIVERS += st7789_spi - BACKLIGHT_ENABLE = yes - BACKLIGHT_DRIVER = pwm -endif +# May need to be changed when adding more displays +QUANTUM_PAINTER_ENABLE = yes +QUANTUM_PAINTER_DRIVERS += st7789_spi surface + +BACKLIGHT_ENABLE = yes +BACKLIGHT_DRIVER = pwm ifdef HLC_ENCODER include $(CURRENT_DIR)/hlc_encoder/rules.mk