summaryrefslogtreecommitdiff
path: root/keyboards/helix/rev2
diff options
context:
space:
mode:
authorTakeshi ISHII <2170248+mtei@users.noreply.github.com>2020-12-26 02:38:07 +0900
committerGitHub <noreply@github.com>2020-12-26 02:38:07 +0900
commit5544bf8524c77ad09d32cf2b0f6dc40f7b05ee01 (patch)
tree88774de1c64e4c9a37beeefe6a8025805aed0c83 /keyboards/helix/rev2
parent7ca4b619223260d17bcc0d065a02d1bbdce436b8 (diff)
[Keymap] update rules.mk and config.h of `helix/rev2:five_rows` (#11302)
* update keyboards/helix/rev2/keymaps/five_rows/rules.mk: oled selection, led animation selection * add OLED_UPDATE_INTERVAL support into keyboards/helix/rev2/keymaps/five_rows/oled_display.c Support for OLED_UPDATE_INTERVAL, even for older types of OLED tasks. * Add 'HELIX=debug/no-debug' option into 'helix/rev2/keymaps/five_rows/rules.mk'
Diffstat (limited to 'keyboards/helix/rev2')
-rw-r--r--keyboards/helix/rev2/keymaps/five_rows/config.h31
-rw-r--r--keyboards/helix/rev2/keymaps/five_rows/oled_display.c10
-rw-r--r--keyboards/helix/rev2/keymaps/five_rows/rules.mk57
3 files changed, 75 insertions, 23 deletions
diff --git a/keyboards/helix/rev2/keymaps/five_rows/config.h b/keyboards/helix/rev2/keymaps/five_rows/config.h
index 538859bc3c..cd76af4faf 100644
--- a/keyboards/helix/rev2/keymaps/five_rows/config.h
+++ b/keyboards/helix/rev2/keymaps/five_rows/config.h
@@ -3,6 +3,7 @@ This is the c configuration file for the keymap
Copyright 2012 Jun Wako <wakojun@gmail.com>
Copyright 2015 Jack Humbert
+Copyright 2020 mtei
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -27,12 +28,27 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* when TAPPING_TERM >= 500 same effect PERMISSIVE_HOLD.
see tmk_core/common/action_tapping.c */
+#undef OLED_UPDATE_INTERVAL
+#define OLED_UPDATE_INTERVAL 50
+
// place overrides here
// If you need more program area, try select and reduce rgblight modes to use.
// Selection of RGBLIGHT MODE to use.
+#undef RGBLIGHT_ANIMATIONS
+#undef RGBLIGHT_EFFECT_BREATHING
+#undef RGBLIGHT_EFFECT_RAINBOW_MOOD
+#undef RGBLIGHT_EFFECT_RAINBOW_SWIRL
+#undef RGBLIGHT_EFFECT_SNAKE
+#undef RGBLIGHT_EFFECT_KNIGHT
+#undef RGBLIGHT_EFFECT_CHRISTMAS
+#undef RGBLIGHT_EFFECT_STATIC_GRADIENT
+#undef RGBLIGHT_EFFECT_RGB_TEST
+#undef RGBLIGHT_EFFECT_ALTERNATING
+
#if defined(LED_ANIMATIONS)
+# if LED_ANIMATIONS_LEVEL > 1
#define RGBLIGHT_EFFECT_BREATHING
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
@@ -42,6 +58,21 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define RGBLIGHT_EFFECT_STATIC_GRADIENT
//#define RGBLIGHT_EFFECT_RGB_TEST
//#define RGBLIGHT_EFFECT_ALTERNATING
+# else
+ #define RGBLIGHT_EFFECT_BREATHING
+ #define RGBLIGHT_EFFECT_RAINBOW_MOOD
+ //#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
+ //#define RGBLIGHT_EFFECT_SNAKE
+ //#define RGBLIGHT_EFFECT_KNIGHT
+ //#define RGBLIGHT_EFFECT_CHRISTMAS
+ #define RGBLIGHT_EFFECT_STATIC_GRADIENT
+ //#define RGBLIGHT_EFFECT_RGB_TEST
+ //#define RGBLIGHT_EFFECT_ALTERNATING
+# endif
#endif
#endif /* CONFIG_USER_H */
+
+#ifdef DEBUG_CONFIG
+# include "debug_config.h"
+#endif
diff --git a/keyboards/helix/rev2/keymaps/five_rows/oled_display.c b/keyboards/helix/rev2/keymaps/five_rows/oled_display.c
index 127d80cc7d..689efe4c88 100644
--- a/keyboards/helix/rev2/keymaps/five_rows/oled_display.c
+++ b/keyboards/helix/rev2/keymaps/five_rows/oled_display.c
@@ -163,6 +163,10 @@ void render_status(void) {
}
# ifdef SSD1306OLED
+# if OLED_UPDATE_INTERVAL > 0
+uint16_t oled_update_timeout;
+# endif
+
void iota_gfx_task_user(void) {
struct CharacterMatrix matrix;
@@ -172,6 +176,12 @@ void iota_gfx_task_user(void) {
}
# endif
+#if OLED_UPDATE_INTERVAL > 0
+ if (timer_elapsed(oled_update_timeout) < OLED_UPDATE_INTERVAL) {
+ return;
+ }
+ oled_update_timeout = timer_read();
+#endif
matrix_clear(&matrix);
if (is_keyboard_master()) {
render_status(&matrix);
diff --git a/keyboards/helix/rev2/keymaps/five_rows/rules.mk b/keyboards/helix/rev2/keymaps/five_rows/rules.mk
index 83cdb30d0c..fbde2fe6a6 100644
--- a/keyboards/helix/rev2/keymaps/five_rows/rules.mk
+++ b/keyboards/helix/rev2/keymaps/five_rows/rules.mk
@@ -12,6 +12,7 @@
# yes, yes +3200
# no, yes +400
LTO_ENABLE = no # if firmware size over limit, try this option
+LED_ANIMATIONS = yes
# Helix Spacific Build Options
# you can uncomment and edit follows 7 Variables
@@ -26,8 +27,8 @@ HELIX_ROWS = 5 # Helix Rows is 4 or 5
ifneq ($(strip $(HELIX)),)
define KEYMAP_OPTION_PARSE
- # $xinfo .$1.x #debug
- # parse 'dispoff', 'consle', 'stdole', 'oled', 'sc'
+ # parse 'dispoff', 'consloe', 'na', 'ani', 'mini-ani'
+ $(if $(SHOW_PARCE),$(info parse -$1-)) #debug
ifeq ($(strip $1),dispoff)
OLED_ENABLE = no
OLED_DRIVER_ENABLE = no
@@ -37,19 +38,26 @@ ifneq ($(strip $(HELIX)),)
ifeq ($(strip $1),console)
CONSOLE_ENABLE = yes
endif
- ifeq ($(strip $1),stdole)
- ## make HELIX=stdole helix:five_rows -- use TOP/drivers/oled/oled_driver.c
- OLED_ENABLE = new
+ ifeq ($(strip $1),debug)
+ DEBUG_CONFIG = yes
endif
- ifeq ($(strip $1),oled)
- ## make HELIX=oled helix:five_rows -- use helix/local_drivers/ssd1306.c
- OLED_ENABLE = yes
+ ifneq ($(filter nodebug no-debug no_debug,$(strip $1)),)
+ DEBUG_CONFIG = no
endif
- ifeq ($(strip $1),back)
- LED_BACK_ENABLE = yes
+ ifneq ($(filter na no_ani no-ani,$(strip $1)),)
+ LED_ANIMATIONS = no
endif
- ifeq ($(strip $1),sc)
- SPLIT_KEYBOARD = yes
+ ifneq ($(filter mini-ani mini_ani,$(strip $1)),)
+ LED_ANIMATIONS = mini
+ endif
+ ifneq ($(filter ani animation,$(strip $1)),)
+ LED_ANIMATIONS = yes
+ endif
+ ifeq ($(strip $1),lto)
+ LTO_ENABLE = yes
+ endif
+ ifneq ($(filter nolto no-lto no_lto,$(strip $1)),)
+ LTO_ENABLE = no
endif
endef # end of KEYMAP_OPTION_PARSE
@@ -58,20 +66,23 @@ ifneq ($(strip $(HELIX)),)
$(call KEYMAP_OPTION_PARSE,$(A_OPTION_NAME))))
endif
-ifeq ($(strip $(OLED_ENABLE)), new)
- OLED_DRIVER_ENABLE = yes
- OLED_ENABLE = no
- SRC += oled_display.c
- ifeq ($(strip $(LOCAL_GLCDFONT)), yes)
- OPT_DEFS += -DOLED_FONT_H=\<helixfont.h\>
- else
- OPT_DEFS += -DOLED_FONT_H=\"common/glcdfont.c\"
- endif
+ifeq ($(strip $(LED_ANIMATIONS)), yes)
+ OPT_DEFS += -DLED_ANIMATIONS_LEVEL=2
endif
-ifeq ($(strip $(OLED_ENABLE)), yes)
- SRC += oled_display.c
+
+ifeq ($(strip $(LED_ANIMATIONS)), mini)
+ OPT_DEFS += -DLED_ANIMATIONS_LEVEL=1
+ LED_ANIMATIONS = yes
+endif
+
+ifeq ($(strip $(DEBUG_CONFIG)), yes)
+ OPT_DEFS += -DDEBUG_CONFIG
endif
# convert Helix-specific options (that represent combinations of standard options)
# into QMK standard options.
include $(strip $(KEYBOARD_LOCAL_FEATURES_MK))
+
+ifeq ($(strip $(OLED_ENABLE)), yes)
+ SRC += oled_display.c
+endif