Skip to content

Commit

Permalink
Merge pull request #29 from mtei/reduce_helix_build_variation
Browse files Browse the repository at this point in the history
Reduce Helix keyboard build variation
  • Loading branch information
MakotoKurauchi authored Apr 4, 2020
2 parents 58a9c84 + 05ee6f0 commit ae529e1
Show file tree
Hide file tree
Showing 22 changed files with 133 additions and 91 deletions.
8 changes: 3 additions & 5 deletions keyboards/helix/pico/keymaps/default/readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -116,15 +116,13 @@ build
```
$ make helix/pico:default
$ make helix/pico/back:default # with backlight
$ make HELIX=no_ani helix/pico/back:default # with backlight without animation
$ make HELIX=no-ani helix/pico/back:default # with backlight without animation
$ make helix/pico/under:default # with underglow
```

build (experimental use of split_common)
build (experimental use of split_common with backlight)
```
$ make helix/pico/sc:default
$ make helix/pico/sc/back:default
$ make helix/pico/sc/under:default
$ make helix/pico/split_common:default
```

flash to keyboard
Expand Down
58 changes: 40 additions & 18 deletions keyboards/helix/pico/local_features.mk
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@
# combinations of standard options) into QMK standard options.
#

KEYBOARD_LOCAL_FEATURES_MK :=

define HELIX_CUSTOMISE_MSG
$(info Helix Spacific Build Options)
$(info - OLED_ENABLE = $(OLED_ENABLE))
Expand All @@ -15,42 +17,61 @@ define HELIX_CUSTOMISE_MSG
$(info )
endef

define HELIX_HELP_MSG
$(info Helix keyboard convenient command line option)
$(info - make HELIX=<options> helix/pico:<keymap>)
$(info - option= oled | back | under | na | no-ani)
$(info - ios | sc | split-common | scan | verbose)
$(info - ex.)
$(info - make HELIX=oled helix/pico:<keymap>)
$(info - make HELIX=back helix/pico:<keymap>)
$(info - make HELIX=under helix/pico:<keymap>)
$(info - make HELIX=back,na helix/pico:<keymap>)
$(info - make HELIX=back,ios helix/pico:<keymap>)
$(info )
endef

ifneq ($(strip $(HELIX)),)
### Helix keyboard keymap: convenient command line option
## make HELIX=<options> helix/pico:<keymap>
## option= oled | back | under | no_ani | na | ios | verbose
## ex.
## make HELIX=oled helix/pico:<keymap>
## make HELIX=oled,back helix/pico:<keymap>
## make HELIX=oled,under helix/pico:<keymap>
## make HELIX=oled,back,na helix/pico:<keymap>
## make HELIX=oled,back,ios helix/pico:<keymap>
##
ifeq ($(findstring oled,$(HELIX)), oled)
COMMA=,
helix_option := $(subst $(COMMA), , $(HELIX))
ifneq ($(filter help,$(helix_option)),)
$(eval $(call HELIX_HELP_MSG))
$(error )
endif
ifneq ($(filter oled,$(helix_option)),)
OLED_ENABLE = yes
endif
ifeq ($(findstring back,$(HELIX)), back)
ifneq ($(filter back,$(helix_option)),)
LED_BACK_ENABLE = yes
else ifeq ($(findstring under,$(HELIX)), under)
else ifneq ($(filter under,$(helix_option)),)
LED_UNDERGLOW_ENABLE = yes
endif
ifeq ($(findstring na,$(HELIX)), na)
ifneq ($(filter na,$(helix_option)),)
LED_ANIMATIONS = no
endif
ifeq ($(findstring no_ani,$(HELIX)), no_ani)
ifneq ($(filter no_ani,$(helix_option)),)
LED_ANIMATIONS = no
endif
ifeq ($(findstring ios,$(HELIX)), ios)
ifneq ($(filter no-ani,$(helix_option)),)
LED_ANIMATIONS = no
endif
ifneq ($(filter ios,$(helix_option)),)
IOS_DEVICE_ENABLE = yes
endif
ifeq ($(findstring scan,$(HELIX)), scan)
ifneq ($(filter sc,$(helix_option)),)
SPLIT_KEYBOARD = yes
endif
ifneq ($(filter split-common,$(helix_option)),)
SPLIT_KEYBOARD = yes
endif
ifneq ($(filter scan,$(helix_option)),)
# use DEBUG_MATRIX_SCAN_RATE
# see docs/newbs_testing_debugging.md
OPT_DEFS += -DDEBUG_MATRIX_SCAN_RATE
CONSOLE_ENABLE = yes
SHOW_VERBOSE_INFO = yes
endif
ifeq ($(findstring verbose,$(HELIX)), verbose)
ifneq ($(filter verbose,$(helix_option)),)
SHOW_VERBOSE_INFO = yes
endif
SHOW_HELIX_OPTIONS = yes
Expand Down Expand Up @@ -120,6 +141,7 @@ ifneq ($(strip $(SHOW_HELIX_OPTIONS)),)
$(info -- OLED_DRIVER_ENABLE = $(OLED_DRIVER_ENABLE))
$(info -- CONSOLE_ENABLE = $(CONSOLE_ENABLE))
$(info -- OPT_DEFS = $(OPT_DEFS))
$(info -- SPLIT_KEYBOARD = $(SPLIT_KEYBOARD))
$(info -- LINK_TIME_OPTIMIZATION_ENABLE = $(LINK_TIME_OPTIMIZATION_ENABLE))
$(info )
endif
Expand Down
1 change: 0 additions & 1 deletion keyboards/helix/pico/sc/rules.mk

This file was deleted.

1 change: 0 additions & 1 deletion keyboards/helix/pico/sc/under/rules.mk

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
SPLIT_KEYBOARD = yes
LED_BACK_ENABLE = yes
1 change: 0 additions & 1 deletion keyboards/helix/rev2/back/oled/rules.mk

This file was deleted.

36 changes: 13 additions & 23 deletions keyboards/helix/rev2/keymaps/default/readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,7 @@ see `qmk_firmware/keyboards/helix/rev2/keymaps/default/rules.mk`
# you can uncomment and edit follows 7 Variables
# jp: 以下の7つの変数を必要に応じて編集し、コメントアウトをはずします。
# HELIX_ROWS = 5 # Helix Rows is 4 or 5
# OLED_ENABLE = no # OLED_ENABLE
# OLED_ENABLE = yes # OLED_ENABLE
# LOCAL_GLCDFONT = no # use each keymaps "helixfont.h" insted of "common/glcdfont.c"
# LED_BACK_ENABLE = no # LED backlight (Enable WS2812 RGB underlight.)
# LED_UNDERGLOW_ENABLE = no # LED underglow (Enable WS2812 RGB underlight.)
Expand All @@ -128,35 +128,25 @@ $ cd qmk_firmware

build
```
$ make helix:default
$ make helix/rev2/back:default # with backlight
$ make HELIX=no_ani helix/rev2/back:default # with backlight without animation
$ make helix/rev2/under:default # with underglow
$ make helix/rev2/oled:default # with oled
$ make helix/rev2/oled/back:default # with oled and backlight
$ make helix/rev2/oled/under:default # with oled and underglow
$ make helix:default # with oled
$ make helix/rev2/back:default # with oled and backlight
$ make HELIX=no-ani helix/rev2/back:default # with oled and backlight without animation
$ make helix/rev2/under:default # with oled and underglow
$ make HELIX=no-oled helix:default # without oled
```

build (experimental use of split_common)
build (experimental use of split_common with backlight and oled)
```
$ make helix/rev2/sc:default
$ make helix/rev2/sc/back:default
$ make helix/rev2/sc/under:default
$ make helix/rev2/sc/oled:default
$ make helix/rev2/sc/oledback:default
$ make helix/rev2/sc/oledunder:default
$ make helix/rev2/split_common:default
```

flash to keyboard
```
$ make helix:default:flash
$ make helix/rev2/back:default:flash # with backlight
$ make HELIX=no_ani helix/rev2/back:default:flash # with backlight without animation
$ make helix/rev2/under:default:flash # with underglow
$ make helix/rev2/oled:default:flash # with oled
$ make helix/rev2/oled/back:default:flash # with oled and backlight
$ make helix/rev2/oled/under:default:flash # with oled and underglow
$ make helix:default:flash # with oled
$ make helix/rev2/back:default:flash # with oled and backlight
$ make HELIX=no-ani helix/rev2/back:default:flash # with oled and backlight without animation
$ make helix/rev2/under:default:flash # with oled and underglow
$ make HELIX=no-oled helix:default:flash # without oled
```

## Link
Expand Down
21 changes: 11 additions & 10 deletions keyboards/helix/rev2/keymaps/default/readme_jp.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ RGB バックライトまたは、RGB Underglow をつけた場合は、
# you can uncomment and edit follows 7 Variables
# jp: 以下の7つの変数を必要に応じて編集し、コメントアウトをはずします。
# HELIX_ROWS = 5 # Helix Rows is 4 or 5
# OLED_ENABLE = no # OLED_ENABLE
# OLED_ENABLE = yes # OLED_ENABLE
# LOCAL_GLCDFONT = no # use each keymaps "helixfont.h" insted of "common/glcdfont.c"
# LED_BACK_ENABLE = no # LED backlight (Enable WS2812 RGB underlight.)
# LED_UNDERGLOW_ENABLE = no # LED underglow (Enable WS2812 RGB underlight.)
Expand Down Expand Up @@ -61,11 +61,12 @@ rules.mk の下記の部分を編集して no を yes に変更してくださ
LED_UNDERGLOW_ENABLE = yes # LED underglow (Enable WS2812 RGB underlight.)
```

## OLEDを有効にする
## OLEDを無効にする

rules.mk の下記の部分を編集して no を yes に変更してください。
OLED はデフォルトで有効になっています。
無効にしたいときは rules.mk の下記の部分を編集して yes を no に変更してください。
```
OLED_ENABLE = yes # OLED_ENABLE
OLED_ENABLE = no # OLED_ENABLE
```

## iPad/iPhoneサポートを有効にする。
Expand Down Expand Up @@ -104,9 +105,9 @@ $ make helix:default:clean

上記の、rules.mk によるカスタマイズ項目の一部は下記のようにコマンド上で直接指定することも可能です。

OLED を有効にしてコンパイルしてキーボードへの書き込む
OLED を無効にしてコンパイルしてキーボードへの書き込む
```
$ make helix/rev2/oled:default:flash
$ make HELIX=no-oled helix/rev2:default:flash
```

RGB バックライトを有効にしてコンパイルしてキーボードへ書き込む。
Expand All @@ -119,14 +120,14 @@ RGB Underglow を有効にしてコンパイルしてキーボードへ書き込
$ make helix/rev2/under:default:flash
```

OLED とRGB バックライトを有効にしてコンパイルしてキーボードへ書き込む。
OLED を無効にして、RGB バックライトを有効にしてコンパイルしてキーボードへ書き込む。
```
$ make helix/rev2/oled/back:default:flash
$ make HELIX=no-oled helix/rev2/back:default:flash
```

OLED とRGB Underglowを有効にしてコンパイルしてキーボードへ書き込む。
OLED を無効にして、RGB Underglowを有効にしてコンパイルしてキーボードへ書き込む。
```
$ make helix/rev2/oled/under:default:flash
$ make HELIX=no-oled helix/rev2/under:default:flash
```

## リンク
Expand Down
4 changes: 2 additions & 2 deletions keyboards/helix/rev2/keymaps/led_test/rules.mk
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@ LINK_TIME_OPTIMIZATION_ENABLE = no # if firmware size over limit, try this opti
OLED_ENABLE = yes # OLED_ENABLE
# LOCAL_GLCDFONT = no # use each keymaps "helixfont.h" insted of "common/glcdfont.c"
LED_BACK_ENABLE = yes # LED backlight (Enable WS2812 RGB underlight.)
# LED_UNDERGLOW_ENABLE = no # LED underglow (Enable WS2812 RGB underlight.)
LED_ANIMATIONS = yes # LED animations
LED_UNDERGLOW_ENABLE = no # LED underglow (Enable WS2812 RGB underlight.)
LED_ANIMATIONS = yes # LED animations
# IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone)

SRC += led_test_init.c
Expand Down
3 changes: 3 additions & 0 deletions keyboards/helix/rev2/keymaps/xulkal/rules.mk
Original file line number Diff line number Diff line change
Expand Up @@ -11,3 +11,6 @@ OPT_DEFS += -DOLED_FONT_H=\"common/glcdfont.c\"
OPT_DEFS += -DOLED_90ROTATION

SPLIT_KEYBOARD = yes

# Explicitly disable helix standard post-processing
KEYBOARD_LOCAL_FEATURES_MK :=
76 changes: 58 additions & 18 deletions keyboards/helix/rev2/local_features.mk
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@
# combinations of standard options) into QMK standard options.
#

KEYBOARD_LOCAL_FEATURES_MK :=

define HELIX_CUSTOMISE_MSG
$(info Helix Spacific Build Options)
$(info - OLED_ENABLE = $(OLED_ENABLE))
Expand All @@ -15,42 +17,79 @@ define HELIX_CUSTOMISE_MSG
$(info )
endef

define HELIX_HELP_MSG
$(info Helix keyboard convenient command line option)
$(info - make HELIX=<options> helix:<keymap>)
$(info - option= oled | no-oled | back | no-back | under | na | no-ani)
$(info - ios | sc | split-common | scan | verbose)
$(info - ex.)
$(info - make HELIX=no-oled helix:<keymap>)
$(info - make HELIX=oled,no-back helix:<keymap>)
$(info - make HELIX=oled,under helix:<keymap>)
$(info - make HELIX=oled,back,na helix:<keymap>)
$(info - make HELIX=oled,back,ios helix:<keymap>)
$(info )
endef

ifneq ($(strip $(HELIX)),)
### Helix keyboard keymap: convenient command line option
## make HELIX=<options> helix:<keymap>
## option= oled | back | under | na | ios
## ex.
## make HELIX=oled helix:<keymap>
## make HELIX=oled,back helix:<keymap>
## make HELIX=oled,under helix:<keymap>
## make HELIX=oled,back,na helix:<keymap>
## make HELIX=oled,back,ios helix:<keymap>
##
ifeq ($(findstring oled,$(HELIX)), oled)
COMMA=,
helix_option := $(subst $(COMMA), , $(HELIX))
ifneq ($(filter help,$(helix_option)),)
$(eval $(call HELIX_HELP_MSG))
$(error )
endif
ifneq ($(filter nooled,$(helix_option)),)
OLED_ENABLE = no
else ifneq ($(filter no-oled,$(helix_option)),)
OLED_ENABLE = no
else ifneq ($(filter oled,$(helix_option)),)
OLED_ENABLE = yes
endif
ifeq ($(findstring back,$(HELIX)), back)
ifneq ($(filter noback,$(helix_option)),)
LED_BACK_ENABLE = no
LED_UNDERGLOW_ENABLE = no
else ifneq ($(filter no-back,$(helix_option)),)
LED_BACK_ENABLE = no
LED_UNDERGLOW_ENABLE = no
else ifneq ($(filter nounder,$(helix_option)),)
LED_BACK_ENABLE = no
LED_UNDERGLOW_ENABLE = no
else ifneq ($(filter no-under,$(helix_option)),)
LED_BACK_ENABLE = no
LED_UNDERGLOW_ENABLE = no
else ifneq ($(filter back,$(helix_option)),)
LED_BACK_ENABLE = yes
else ifeq ($(findstring under,$(HELIX)), under)
LED_UNDERGLOW_ENABLE = no
else ifneq ($(filter under,$(helix_option)),)
LED_BACK_ENABLE = no
LED_UNDERGLOW_ENABLE = yes
endif
ifeq ($(findstring na,$(HELIX)), na)
ifneq ($(filter na,$(helix_option)),)
LED_ANIMATIONS = no
endif
ifeq ($(findstring no_ani,$(HELIX)), no_ani)
ifneq ($(filter no_ani,$(helix_option)),)
LED_ANIMATIONS = no
endif
ifeq ($(findstring ios,$(HELIX)), ios)
ifneq ($(filter no-ani,$(helix_option)),)
LED_ANIMATIONS = no
endif
ifneq ($(filter ios,$(helix_option)),)
IOS_DEVICE_ENABLE = yes
endif
ifeq ($(findstring scan,$(HELIX)), scan)
ifneq ($(filter sc,$(helix_option)),)
SPLIT_KEYBOARD = yes
endif
ifneq ($(filter split-common,$(helix_option)),)
SPLIT_KEYBOARD = yes
endif
ifneq ($(filter scan,$(helix_option)),)
# use DEBUG_MATRIX_SCAN_RATE
# see docs/newbs_testing_debugging.md
OPT_DEFS += -DDEBUG_MATRIX_SCAN_RATE
CONSOLE_ENABLE = yes
SHOW_VERBOSE_INFO = yes
endif
ifeq ($(findstring verbose,$(HELIX)), verbose)
ifeq ($(filter verbose,$(helix_option)), verbose)
SHOW_VERBOSE_INFO = yes
endif
SHOW_HELIX_OPTIONS = yes
Expand Down Expand Up @@ -119,6 +158,7 @@ ifneq ($(strip $(SHOW_HELIX_OPTIONS)),)
$(info -- OLED_DRIVER_ENABLE = $(OLED_DRIVER_ENABLE))
$(info -- CONSOLE_ENABLE = $(CONSOLE_ENABLE))
$(info -- OPT_DEFS = $(OPT_DEFS))
$(info -- SPLIT_KEYBOARD = $(SPLIT_KEYBOARD))
$(info -- LINK_TIME_OPTIMIZATION_ENABLE = $(LINK_TIME_OPTIMIZATION_ENABLE))
$(info )
endif
Expand Down
1 change: 0 additions & 1 deletion keyboards/helix/rev2/oled/rules.mk

This file was deleted.

1 change: 0 additions & 1 deletion keyboards/helix/rev2/oled/under/rules.mk

This file was deleted.

2 changes: 1 addition & 1 deletion keyboards/helix/rev2/rules.mk
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ KEYBOARD_LOCAL_FEATURES_MK := $(dir $(lastword $(MAKEFILE_LIST)))local_features.

# Helix Spacific Build Options default values
HELIX_ROWS = 5 # Helix Rows is 4 or 5
OLED_ENABLE = no # OLED_ENABLE
OLED_ENABLE = yes # OLED_ENABLE
LOCAL_GLCDFONT = no # use each keymaps "helixfont.h" insted of "common/glcdfont.c"
LED_BACK_ENABLE = no # LED backlight (Enable WS2812 RGB underlight.)
LED_UNDERGLOW_ENABLE = no # LED underglow (Enable WS2812 RGB underlight.)
Expand Down
1 change: 0 additions & 1 deletion keyboards/helix/rev2/sc/back/rules.mk

This file was deleted.

1 change: 0 additions & 1 deletion keyboards/helix/rev2/sc/oled/rules.mk

This file was deleted.

2 changes: 0 additions & 2 deletions keyboards/helix/rev2/sc/oledback/rules.mk

This file was deleted.

2 changes: 0 additions & 2 deletions keyboards/helix/rev2/sc/oledunder/rules.mk

This file was deleted.

1 change: 0 additions & 1 deletion keyboards/helix/rev2/sc/rules.mk

This file was deleted.

1 change: 0 additions & 1 deletion keyboards/helix/rev2/sc/under/rules.mk

This file was deleted.

Loading

0 comments on commit ae529e1

Please sign in to comment.