summaryrefslogtreecommitdiffstats
path: root/keyboards/helix/rev2/keymaps/five_rows/rules.mk
diff options
context:
space:
mode:
authorTakeshi ISHII <2170248+mtei@users.noreply.github.com>2020-11-17 07:26:44 +0900
committerGitHub <noreply@github.com>2020-11-17 07:26:44 +0900
commite6a13e0b1c543bfe15f8ae94557456c9c1a92556 (patch)
tree76642103993df62da3a10ab851424257fbc8aaca /keyboards/helix/rev2/keymaps/five_rows/rules.mk
parentaaea5e24b6375078b661c37ff459faafaddfd0f6 (diff)
[Keymap] clean up helix:five_rows keymap (#10866)
* Makes the OLED driver used by the helix:five_rows keymap switchable. * use TOP/drivers/oled/oled_driver.c `make HELIX=stdole helix:five_rows` * use helix/local_drivers/ssd1306.c `make HELIX=oled helix:five_rows` * Separated the OLED related code from keymap.c and moved it to oled_display.c. * scan rate without OLED * make HELIX=verbose,dispoff,scan helix/rev2:five_rows use Helix original code text data bss dec hex filename 18880 58 235 19173 4ae5 .build/helix_rev2_five_rows.elf matrix scan frequency: 1590 * make HELIX=verbose,dispoff,scan,sc helix/rev2:five_rows use split_common code text data bss dec hex filename 18554 40 231 18825 4989 .build/helix_rev2_five_rows.elf matrix scan frequency: 1202 * scan rate with helix/local_drivers/ssd1306.c * make HELIX=verbose,dispoff,scan,oled helix/rev2:five_rows use Helix original code text data bss dec hex filename 24048 196 342 24586 600a .build/helix_rev2_five_rows.elf matrix scan frequency: 739 * make HELIX=verbose,dispoff,scan,sc,oled helix/rev2:five_rows use split_common code text data bss dec hex filename 23750 176 338 24264 5ec8 .build/helix_rev2_five_rows.elf matrix scan frequency: 642 * scan rate with drivers/oled/oled_driver.c * make HELIX=verbose,dispoff,scan,stdole helix/rev2:five_rows use Helix original code text data bss dec hex filename 24590 210 798 25598 63fe .build/helix_rev2_five_rows.elf matrix scan frequency: 293 * make HELIX=verbose,dispoff,scan,sc,stdole helix/rev2:five_rows use split_common code text data bss dec hex filename 24290 190 794 25274 62ba .build/helix_rev2_five_rows.elf matrix scan frequency: 277 * clean up helix/rev2/keymaps/five_rows/keymap.c * update five_rows/oled_display.c * update helix/rev2/keymaps/five_rows/keymap.c: remove LAYOUT_kc() * Ported the keymap from helix/rev2:five_rows to helix/rev3_5rows:five_rows. * update five_rows/oled_display.c * add License comment
Diffstat (limited to 'keyboards/helix/rev2/keymaps/five_rows/rules.mk')
-rw-r--r--keyboards/helix/rev2/keymaps/five_rows/rules.mk48
1 files changed, 45 insertions, 3 deletions
diff --git a/keyboards/helix/rev2/keymaps/five_rows/rules.mk b/keyboards/helix/rev2/keymaps/five_rows/rules.mk
index 8c4239deb9..83cdb30d0c 100644
--- a/keyboards/helix/rev2/keymaps/five_rows/rules.mk
+++ b/keyboards/helix/rev2/keymaps/five_rows/rules.mk
@@ -25,9 +25,51 @@ HELIX_ROWS = 5 # Helix Rows is 4 or 5
# IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone)
ifneq ($(strip $(HELIX)),)
- ifeq ($(findstring console,$(HELIX)), console)
- CONSOLE_ENABLE = yes
- endif
+ define KEYMAP_OPTION_PARSE
+ # $xinfo .$1.x #debug
+ # parse 'dispoff', 'consle', 'stdole', 'oled', 'sc'
+ ifeq ($(strip $1),dispoff)
+ OLED_ENABLE = no
+ OLED_DRIVER_ENABLE = no
+ LED_BACK_ENABLE = no
+ LED_UNDERGLOW_ENABLE = no
+ endif
+ 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
+ endif
+ ifeq ($(strip $1),oled)
+ ## make HELIX=oled helix:five_rows -- use helix/local_drivers/ssd1306.c
+ OLED_ENABLE = yes
+ endif
+ ifeq ($(strip $1),back)
+ LED_BACK_ENABLE = yes
+ endif
+ ifeq ($(strip $1),sc)
+ SPLIT_KEYBOARD = yes
+ endif
+ endef # end of KEYMAP_OPTION_PARSE
+
+ COMMA=,
+ $(eval $(foreach A_OPTION_NAME,$(subst $(COMMA), ,$(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
+endif
+ifeq ($(strip $(OLED_ENABLE)), yes)
+ SRC += oled_display.c
endif
# convert Helix-specific options (that represent combinations of standard options)