* add temporary test shell-spript * Use LINK_TIME_OPTIMIZATION_ENABLE instead of Link_Time_Optimization No change in build result. * Helix config.h use '#pragma once' No change in build result. * Helix helix.h,rev?/rev?.h,pico/pico.h use '#pragma once' No change in build result. * Use drivers/avr/pro_micro.h instead of keyboards/helix/pro_micro.h No change in build result. * remove keyboards/helix/{rev2|pico}/serial_config.h No change in build result. * 'HELIX_ROWS' macro is now referenced only in rev1/config.h and rev2/config.h. No change in build result. * The contents of helix/rules.mk were distributed to subdirectories. This is a preparation to create a new subdirectory for helix code using split_common. No change in build result. remove 'USE_I2C = yes', 'SUBPROJECT_rev1 = no' from keyboards/helix/rules.mk. follow code move from keyboards/helix/rules.mk to keyboards/helix/{rev1,rev2,pico}/rules.mk. ---- SRC += i2c.c SRC += serial.c SRC += ssd1306.c CUSTOM_MATRIX = yes --- * helix/{i2c.[ch], serial.[ch], ssd1306.[ch]} move into helix/local_drivers/ No change in build result. * Simplified 'helix/pico/keymap/*/rules.mk' using KEYBOARD_LOCAL_FEATURES_MK. No change in build result. * add keyboards/helix/pico/local_features.mk * add 'KEYBOARD_LOCAL_FEATURES_MK := $(dir $(lastword $(MAKEFILE_LIST)))local_features.mk' into keyboards/helix/pico/rules.mk * remove HELIX_CUSTOMISE_MSG from keyboards/helix/pico/keymaps/*/rules.mk * remove HELIX= process from keyboards/helix/pico/keymaps/*/rules.mk * remove convert code(helix to standaerd) from keyboards/helix/pico/keymaps/*/rules.mk * add 'include $(strip $(KEYBOARD_LOCAL_FEATURES_MK))' into keyboards/helix/pico/keymaps/*/rules.mk * Simplified 'helix/rev2/keymap/*/rules.mk' using KEYBOARD_LOCAL_FEATURES_MK. No change in build result. * add keyboards/helix/rev2/local_features.mk * add 'KEYBOARD_LOCAL_FEATURES_MK := $(dir $(lastword $(MAKEFILE_LIST)))local_features.mk' into keyboards/helix/rev2/rules.mk * remove HELIX_CUSTOMISE_MSG from keyboards/helix/rev2/keymaps/*/rules.mk * remove HELIX= process from keyboards/helix/rev2/keymaps/*/rules.mk * remove convert code(helix to standaerd) from keyboards/helix/rev2/keymaps/*/rules.mk * add 'include $(strip $(KEYBOARD_LOCAL_FEATURES_MK))' into keyboards/helix/rev2/keymaps/*/rules.mk * Added helix keyboard build NEW method. No change in build result. ## Helix build $ make helix:default ## no oled, no backlight, no underglow $ make helix/rev2/back:default ## no oled, with backlight, no underglow $ make helix/rev2/under:default ## no oled, no backlight, with underglow $ make helix/rev2/oled:default ## with oled, no backlight, not underglow $ make helix/rev2/oled/back:default ## with oled, with backlight, no underglow $ make helix/rev2/back/oled:default ## with oled, with backlight, no underglow $ make helix/rev2/oled/under:default ## with oled, no backlight, with underglow $ make helix/rev2/under/oled:default ## with oled, no backlight, with underglow ## Helix pico build $ make helix/pico:default ## no oled, no backlight, no underglow $ make helix/pico/back:default ## no oled, with backlight, no underglow $ make helix/pico/under:default ## no oled, no backlight, with underglow $ make helix/pico/oled:default ## with oled, no backlight, not underglow * add temporary test shell-spript * test end remove test script. Revert "add temporary test shell-spript" This reverts commitpull/7056/head5dac20cd0f
. * test end remove test script. Revert "add temporary test shell-spript" This reverts commitec49f63b2d
. * Extended the 'HELIX=' option. add keyword 'verbose', 'no_ani'. No change in build result. * update keyboards/helix/{rev2,pico}/keymaps/default/readme.md * rename KEYBOARD_TOP_DIR to HELIX_TOP_DIR in rules.mk * update keyboards/helix/{rev2,pico}/keymaps/default/readme_jp.md * rm keyboards/helix/pico/oled/rules.mk * update helix's readmes. All the ':avrdude' was replaced with ':flash'. * remove F_CPU, ARCH, F_USB, INTERRUPT_CONTROL_ENDPOINT from helix/rules.mk No change in build result.
@ -0,0 +1 @@ | |||
LED_BACK_ENABLE = yes |
@ -1,125 +1,24 @@ | |||
# Build Options | |||
# QMK Standard Build Options | |||
# change to "no" to disable the options, or define them in the Makefile in | |||
# the appropriate keymap folder that will get included automatically | |||
# | |||
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) | |||
MOUSEKEY_ENABLE = no # Mouse keys(+4700) | |||
# See TOP/keyboards/helix/rules.mk for a list of options that can be set. | |||
# See TOP/docs/config_options.md for more information. | |||
# | |||
EXTRAKEY_ENABLE = yes # Audio control and System control(+450) | |||
CONSOLE_ENABLE = no # Console for debug(+400) | |||
COMMAND_ENABLE = no # Commands for debug and configuration | |||
NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work | |||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality | |||
MIDI_ENABLE = no # MIDI controls | |||
AUDIO_ENABLE = yes # Audio output on port B5 | |||
UNICODE_ENABLE = no # Unicode | |||
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID | |||
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. | |||
SWAP_HANDS_ENABLE = no # Enable one-hand typing | |||
define HELIX_CUSTOMISE_MSG | |||
$(info Helix customize) | |||
$(info - OLED_ENABLE=$(OLED_ENABLE)) | |||
$(info - LED_BACK_ENABLE=$(LED_BACK_ENABLE)) | |||
$(info - LED_UNDERGLOW_ENABLE=$(LED_UNDERGLOW_ENABLE)) | |||
$(info - LED_ANIMATION=$(LED_ANIMATIONS)) | |||
$(info - IOS_DEVICE_ENABLE=$(IOS_DEVICE_ENABLE)) | |||
endef | |||
# Helix keyboard customize | |||
# you can edit follows 6 Variables | |||
# jp: 以下の6つの変数を必要に応じて編集します。 | |||
OLED_ENABLE = no # 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.) | |||
LED_ANIMATIONS = no # LED animations | |||
IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone) | |||
Link_Time_Optimization = no # if firmware size over limit, try this option | |||
#### LED_BACK_ENABLE and LED_UNDERGLOW_ENABLE. | |||
#### Do not enable these with audio at the same time. | |||
### Helix keyboard 'default' keymap: convenient command line option | |||
## make HELIX=<options> helix:defualt | |||
## option= oled | back | under | na | ios | |||
## ex. | |||
## make HELIX=oled helix:defualt | |||
## make HELIX=oled,back helix:defualt | |||
## make HELIX=oled,under helix:defualt | |||
## make HELIX=oled,back,na helix:defualt | |||
## make HELIX=oled,back,ios helix:defualt | |||
## | |||
ifneq ($(strip $(HELIX)),) | |||
ifeq ($(findstring oled,$(HELIX)), oled) | |||
OLED_ENABLE = yes | |||
endif | |||
ifeq ($(findstring back,$(HELIX)), back) | |||
LED_BACK_ENABLE = yes | |||
else ifeq ($(findstring under,$(HELIX)), under) | |||
LED_UNDERGLOW_ENABLE = yes | |||
endif | |||
ifeq ($(findstring na,$(HELIX)), na) | |||
LED_ANIMATIONS = no | |||
endif | |||
ifeq ($(findstring ios,$(HELIX)), ios) | |||
IOS_DEVICE_ENABLE = yes | |||
endif | |||
$(eval $(call HELIX_CUSTOMISE_MSG)) | |||
$(info ) | |||
endif | |||
# Uncomment these for checking | |||
# jp: コンパイル時にカスタマイズの状態を表示したい時はコメントをはずします。 | |||
# $(eval $(call HELIX_CUSTOMISE_MSG)) | |||
# $(info ) | |||
ifeq ($(strip $(LED_BACK_ENABLE)), yes) | |||
RGBLIGHT_ENABLE = yes | |||
OPT_DEFS += -DRGBLED_BACK | |||
ifeq ($(strip $(LED_UNDERGLOW_ENABLE)), yes) | |||
$(eval $(call HELIX_CUSTOMISE_MSG)) | |||
$(error LED_BACK_ENABLE and LED_UNDERGLOW_ENABLE both 'yes') | |||
endif | |||
else ifeq ($(strip $(LED_UNDERGLOW_ENABLE)), yes) | |||
RGBLIGHT_ENABLE = yes | |||
else | |||
RGBLIGHT_ENABLE = no | |||
endif | |||
ifeq ($(strip $(IOS_DEVICE_ENABLE)), yes) | |||
OPT_DEFS += -DIOS_DEVICE_ENABLE | |||
endif | |||
ifeq ($(strip $(LED_ANIMATIONS)), yes) | |||
OPT_DEFS += -DLED_ANIMATIONS | |||
endif | |||
ifeq ($(strip $(OLED_ENABLE)), yes) | |||
OPT_DEFS += -DOLED_ENABLE | |||
endif | |||
ifeq ($(strip $(LOCAL_GLCDFONT)), yes) | |||
OPT_DEFS += -DLOCAL_GLCDFONT | |||
endif | |||
ifeq ($(strip $(AUDIO_ENABLE)),yes) | |||
ifeq ($(strip $(RGBLIGHT_ENABLE)),yes) | |||
Link_Time_Optimization = yes | |||
endif | |||
ifeq ($(strip $(OLED_ENABLE)),yes) | |||
Link_Time_Optimization = yes | |||
endif | |||
endif | |||
ifeq ($(strip $(Link_Time_Optimization)),yes) | |||
EXTRAFLAGS += -flto -DUSE_Link_Time_Optimization | |||
endif | |||
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE | |||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend | |||
# Uncomment these for debugging | |||
# $(info -- RGBLIGHT_ENABLE=$(RGBLIGHT_ENABLE)) | |||
# $(info -- OPT_DEFS=$(OPT_DEFS)) | |||
# $(info ) | |||
LINK_TIME_OPTIMIZATION_ENABLE = no # if firmware size over limit, try this option | |||
# Helix Spacific Build Options | |||
# you can uncomment and edit follows 6 Variables | |||
# jp: 以下の6つの変数を必要に応じて編集し、コメントアウトをはずします。 | |||
# OLED_ENABLE = no # 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.) | |||
LED_ANIMATIONS = no # LED animations | |||
# IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone) | |||
# convert Helix-specific options (that represent combinations of standard options) | |||
# into QMK standard options. | |||
include $(strip $(KEYBOARD_LOCAL_FEATURES_MK)) |
@ -1,125 +1,24 @@ | |||
# Build Options | |||
# QMK Standard Build Options | |||
# change to "no" to disable the options, or define them in the Makefile in | |||
# the appropriate keymap folder that will get included automatically | |||
# | |||
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) | |||
MOUSEKEY_ENABLE = no # Mouse keys(+4700) | |||
# See TOP/keyboards/helix/rules.mk for a list of options that can be set. | |||
# See TOP/docs/config_options.md for more information. | |||
# | |||
EXTRAKEY_ENABLE = yes # Audio control and System control(+450) | |||
CONSOLE_ENABLE = no # Console for debug(+400) | |||
COMMAND_ENABLE = no # Commands for debug and configuration | |||
NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work | |||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality | |||
MIDI_ENABLE = no # MIDI controls | |||
AUDIO_ENABLE = yes # Audio output on port B5 | |||
UNICODE_ENABLE = no # Unicode | |||
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID | |||
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. | |||
SWAP_HANDS_ENABLE = no # Enable one-hand typing | |||
define HELIX_CUSTOMISE_MSG | |||
$(info Helix customize) | |||
$(info - OLED_ENABLE=$(OLED_ENABLE)) | |||
$(info - LED_BACK_ENABLE=$(LED_BACK_ENABLE)) | |||
$(info - LED_UNDERGLOW_ENABLE=$(LED_UNDERGLOW_ENABLE)) | |||
$(info - LED_ANIMATION=$(LED_ANIMATIONS)) | |||
$(info - IOS_DEVICE_ENABLE=$(IOS_DEVICE_ENABLE)) | |||
endef | |||
# Helix keyboard customize | |||
# you can edit follows 6 Variables | |||
# jp: 以下の6つの変数を必要に応じて編集します。 | |||
OLED_ENABLE = no # 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.) | |||
LED_ANIMATIONS = yes # LED animations | |||
IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone) | |||
Link_Time_Optimization = no # if firmware size over limit, try this option | |||
#### LED_BACK_ENABLE and LED_UNDERGLOW_ENABLE. | |||
#### Do not enable these with audio at the same time. | |||
### Helix keyboard 'default' keymap: convenient command line option | |||
## make HELIX=<options> helix:defualt | |||
## option= oled | back | under | na | ios | |||
## ex. | |||
## make HELIX=oled helix:defualt | |||
## make HELIX=oled,back helix:defualt | |||
## make HELIX=oled,under helix:defualt | |||
## make HELIX=oled,back,na helix:defualt | |||
## make HELIX=oled,back,ios helix:defualt | |||
## | |||
ifneq ($(strip $(HELIX)),) | |||
ifeq ($(findstring oled,$(HELIX)), oled) | |||
OLED_ENABLE = yes | |||
endif | |||
ifeq ($(findstring back,$(HELIX)), back) | |||
LED_BACK_ENABLE = yes | |||
else ifeq ($(findstring under,$(HELIX)), under) | |||
LED_UNDERGLOW_ENABLE = yes | |||
endif | |||
ifeq ($(findstring na,$(HELIX)), na) | |||
LED_ANIMATIONS = no | |||
endif | |||
ifeq ($(findstring ios,$(HELIX)), ios) | |||
IOS_DEVICE_ENABLE = yes | |||
endif | |||
$(eval $(call HELIX_CUSTOMISE_MSG)) | |||
$(info ) | |||
endif | |||
# Uncomment these for checking | |||
# jp: コンパイル時にカスタマイズの状態を表示したい時はコメントをはずします。 | |||
# $(eval $(call HELIX_CUSTOMISE_MSG)) | |||
# $(info ) | |||
ifeq ($(strip $(LED_BACK_ENABLE)), yes) | |||
RGBLIGHT_ENABLE = yes | |||
OPT_DEFS += -DRGBLED_BACK | |||
ifeq ($(strip $(LED_UNDERGLOW_ENABLE)), yes) | |||
$(eval $(call HELIX_CUSTOMISE_MSG)) | |||
$(error LED_BACK_ENABLE and LED_UNDERGLOW_ENABLE both 'yes') | |||
endif | |||
else ifeq ($(strip $(LED_UNDERGLOW_ENABLE)), yes) | |||
RGBLIGHT_ENABLE = yes | |||
else | |||
RGBLIGHT_ENABLE = no | |||
endif | |||
ifeq ($(strip $(IOS_DEVICE_ENABLE)), yes) | |||
OPT_DEFS += -DIOS_DEVICE_ENABLE | |||
endif | |||
ifeq ($(strip $(LED_ANIMATIONS)), yes) | |||
OPT_DEFS += -DLED_ANIMATIONS | |||
endif | |||
ifeq ($(strip $(OLED_ENABLE)), yes) | |||
OPT_DEFS += -DOLED_ENABLE | |||
endif | |||
ifeq ($(strip $(LOCAL_GLCDFONT)), yes) | |||
OPT_DEFS += -DLOCAL_GLCDFONT | |||
endif | |||
ifeq ($(strip $(AUDIO_ENABLE)),yes) | |||
ifeq ($(strip $(RGBLIGHT_ENABLE)),yes) | |||
Link_Time_Optimization = yes | |||
endif | |||
ifeq ($(strip $(OLED_ENABLE)),yes) | |||
Link_Time_Optimization = yes | |||
endif | |||
endif | |||
ifeq ($(strip $(Link_Time_Optimization)),yes) | |||
EXTRAFLAGS += -flto -DUSE_Link_Time_Optimization | |||
endif | |||
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE | |||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend | |||
# Uncomment these for debugging | |||
# $(info -- RGBLIGHT_ENABLE=$(RGBLIGHT_ENABLE)) | |||
# $(info -- OPT_DEFS=$(OPT_DEFS)) | |||
# $(info ) | |||
AUDIO_ENABLE = yes # Audio output on port B5 | |||
LINK_TIME_OPTIMIZATION_ENABLE = no # if firmware size over limit, try this option | |||
# Helix Spacific Build Options | |||
# you can uncomment and edit follows 6 Variables | |||
# jp: 以下の6つの変数を必要に応じて編集し、コメントアウトをはずします。 | |||
# OLED_ENABLE = no # 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.) | |||
# LED_ANIMATIONS = yes # LED animations | |||
# IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone) | |||
# convert Helix-specific options (that represent combinations of standard options) | |||
# into QMK standard options. | |||
include $(strip $(KEYBOARD_LOCAL_FEATURES_MK)) |
@ -1,125 +1,24 @@ | |||
# Build Options | |||
# QMK Standard Build Options | |||
# change to "no" to disable the options, or define them in the Makefile in | |||
# the appropriate keymap folder that will get included automatically | |||
# | |||
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) | |||
MOUSEKEY_ENABLE = no # Mouse keys(+4700) | |||
# See TOP/keyboards/helix/rules.mk for a list of options that can be set. | |||
# See TOP/docs/config_options.md for more information. | |||
# | |||
EXTRAKEY_ENABLE = yes # Audio control and System control(+450) | |||
CONSOLE_ENABLE = no # Console for debug(+400) | |||
COMMAND_ENABLE = no # Commands for debug and configuration | |||
NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work | |||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality | |||
MIDI_ENABLE = no # MIDI controls | |||
AUDIO_ENABLE = yes # Audio output on port B5 | |||
UNICODE_ENABLE = no # Unicode | |||
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID | |||
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. | |||
SWAP_HANDS_ENABLE = no # Enable one-hand typing | |||
define HELIX_CUSTOMISE_MSG | |||
$(info Helix customize) | |||
$(info - OLED_ENABLE=$(OLED_ENABLE)) | |||
$(info - LED_BACK_ENABLE=$(LED_BACK_ENABLE)) | |||
$(info - LED_UNDERGLOW_ENABLE=$(LED_UNDERGLOW_ENABLE)) | |||
$(info - LED_ANIMATION=$(LED_ANIMATIONS)) | |||
$(info - IOS_DEVICE_ENABLE=$(IOS_DEVICE_ENABLE)) | |||
endef | |||
# Helix keyboard customize | |||
# you can edit follows 6 Variables | |||
# jp: 以下の6つの変数を必要に応じて編集します。 | |||
OLED_ENABLE = no # 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.) | |||
LED_ANIMATIONS = yes # LED animations | |||
IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone) | |||
Link_Time_Optimization = no # if firmware size over limit, try this option | |||
#### LED_BACK_ENABLE and LED_UNDERGLOW_ENABLE. | |||
#### Do not enable these with audio at the same time. | |||
### Helix keyboard 'default' keymap: convenient command line option | |||
## make HELIX=<options> helix:defualt | |||
## option= oled | back | under | na | ios | |||
## ex. | |||
## make HELIX=oled helix:defualt | |||
## make HELIX=oled,back helix:defualt | |||
## make HELIX=oled,under helix:defualt | |||
## make HELIX=oled,back,na helix:defualt | |||
## make HELIX=oled,back,ios helix:defualt | |||
## | |||
ifneq ($(strip $(HELIX)),) | |||
ifeq ($(findstring oled,$(HELIX)), oled) | |||
OLED_ENABLE = yes | |||
endif | |||
ifeq ($(findstring back,$(HELIX)), back) | |||
LED_BACK_ENABLE = yes | |||
else ifeq ($(findstring under,$(HELIX)), under) | |||
LED_UNDERGLOW_ENABLE = yes | |||
endif | |||
ifeq ($(findstring na,$(HELIX)), na) | |||
LED_ANIMATIONS = no | |||
endif | |||
ifeq ($(findstring ios,$(HELIX)), ios) | |||
IOS_DEVICE_ENABLE = yes | |||
endif | |||
$(eval $(call HELIX_CUSTOMISE_MSG)) | |||
$(info ) | |||
endif | |||
# Uncomment these for checking | |||
# jp: コンパイル時にカスタマイズの状態を表示したい時はコメントをはずします。 | |||
# $(eval $(call HELIX_CUSTOMISE_MSG)) | |||
# $(info ) | |||
ifeq ($(strip $(LED_BACK_ENABLE)), yes) | |||
RGBLIGHT_ENABLE = yes | |||
OPT_DEFS += -DRGBLED_BACK | |||
ifeq ($(strip $(LED_UNDERGLOW_ENABLE)), yes) | |||
$(eval $(call HELIX_CUSTOMISE_MSG)) | |||
$(error LED_BACK_ENABLE and LED_UNDERGLOW_ENABLE both 'yes') | |||
endif | |||
else ifeq ($(strip $(LED_UNDERGLOW_ENABLE)), yes) | |||
RGBLIGHT_ENABLE = yes | |||
else | |||
RGBLIGHT_ENABLE = no | |||
endif | |||
ifeq ($(strip $(IOS_DEVICE_ENABLE)), yes) | |||
OPT_DEFS += -DIOS_DEVICE_ENABLE | |||
endif | |||
ifeq ($(strip $(LED_ANIMATIONS)), yes) | |||
OPT_DEFS += -DLED_ANIMATIONS | |||
endif | |||
ifeq ($(strip $(OLED_ENABLE)), yes) | |||
OPT_DEFS += -DOLED_ENABLE | |||
endif | |||
ifeq ($(strip $(LOCAL_GLCDFONT)), yes) | |||
OPT_DEFS += -DLOCAL_GLCDFONT | |||
endif | |||
ifeq ($(strip $(AUDIO_ENABLE)),yes) | |||
ifeq ($(strip $(RGBLIGHT_ENABLE)),yes) | |||
Link_Time_Optimization = yes | |||
endif | |||
ifeq ($(strip $(OLED_ENABLE)),yes) | |||
Link_Time_Optimization = yes | |||
endif | |||
endif | |||
ifeq ($(strip $(Link_Time_Optimization)),yes) | |||
EXTRAFLAGS += -flto -DUSE_Link_Time_Optimization | |||
endif | |||
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE | |||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend | |||
# Uncomment these for debugging | |||
# $(info -- RGBLIGHT_ENABLE=$(RGBLIGHT_ENABLE)) | |||
# $(info -- OPT_DEFS=$(OPT_DEFS)) | |||
# $(info ) | |||
AUDIO_ENABLE = yes # Audio output on port B5 | |||
LINK_TIME_OPTIMIZATION_ENABLE = no # if firmware size over limit, try this option | |||
# Helix Spacific Build Options | |||
# you can uncomment and edit follows 6 Variables | |||
# jp: 以下の6つの変数を必要に応じて編集し、コメントアウトをはずします。 | |||
# OLED_ENABLE = no # 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.) | |||
# LED_ANIMATIONS = yes # LED animations | |||
# IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone) | |||
# convert Helix-specific options (that represent combinations of standard options) | |||
# into QMK standard options. | |||
include $(strip $(KEYBOARD_LOCAL_FEATURES_MK)) |
@ -0,0 +1,100 @@ | |||
# | |||
# local_features.mk contains post-processing rules for the Helix keyboard. | |||
# | |||
# Post-processing rules convert keyboard-specific shortcuts (that represent | |||
# combinations of standard options) into QMK standard options. | |||
# | |||
define HELIX_CUSTOMISE_MSG | |||
$(info Helix Spacific Build Options) | |||
$(info - OLED_ENABLE = $(OLED_ENABLE)) | |||
$(info - LED_BACK_ENABLE = $(LED_BACK_ENABLE)) | |||
$(info - LED_UNDERGLOW_ENABLE = $(LED_UNDERGLOW_ENABLE)) | |||
$(info - LED_ANIMATION = $(LED_ANIMATIONS)) | |||
$(info - IOS_DEVICE_ENABLE = $(IOS_DEVICE_ENABLE)) | |||
$(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) | |||
OLED_ENABLE = yes | |||
endif | |||
ifeq ($(findstring back,$(HELIX)), back) | |||
LED_BACK_ENABLE = yes | |||
else ifeq ($(findstring under,$(HELIX)), under) | |||
LED_UNDERGLOW_ENABLE = yes | |||
endif | |||
ifeq ($(findstring na,$(HELIX)), na) | |||
LED_ANIMATIONS = no | |||
endif | |||
ifeq ($(findstring no_ani,$(HELIX)), no_ani) | |||
LED_ANIMATIONS = no | |||
endif | |||
ifeq ($(findstring ios,$(HELIX)), ios) | |||
IOS_DEVICE_ENABLE = yes | |||
endif | |||
ifeq ($(findstring verbose,$(HELIX)), verbose) | |||
SHOW_VERBOSE_INFO = yes | |||
endif | |||
SHOW_HELIX_OPTIONS = yes | |||
endif | |||
######## | |||
# convert Helix-specific options (that represent combinations of standard options) | |||
# into QMK standard options. | |||
ifeq ($(strip $(LED_BACK_ENABLE)), yes) | |||
RGBLIGHT_ENABLE = yes | |||
OPT_DEFS += -DRGBLED_BACK | |||
ifeq ($(strip $(LED_UNDERGLOW_ENABLE)), yes) | |||
$(eval $(call HELIX_CUSTOMISE_MSG)) | |||
$(error LED_BACK_ENABLE and LED_UNDERGLOW_ENABLE both 'yes') | |||
endif | |||
else ifeq ($(strip $(LED_UNDERGLOW_ENABLE)), yes) | |||
RGBLIGHT_ENABLE = yes | |||
endif | |||
ifeq ($(strip $(IOS_DEVICE_ENABLE)), yes) | |||
OPT_DEFS += -DIOS_DEVICE_ENABLE | |||
endif | |||
ifeq ($(strip $(LED_ANIMATIONS)), yes) | |||
OPT_DEFS += -DLED_ANIMATIONS | |||
endif | |||
ifeq ($(strip $(OLED_ENABLE)), yes) | |||
OPT_DEFS += -DOLED_ENABLE | |||
endif | |||
ifeq ($(strip $(LOCAL_GLCDFONT)), yes) | |||
OPT_DEFS += -DLOCAL_GLCDFONT | |||
endif | |||
ifeq ($(strip $(AUDIO_ENABLE)),yes) | |||
ifeq ($(strip $(RGBLIGHT_ENABLE)),yes) | |||
LINK_TIME_OPTIMIZATION_ENABLE = yes | |||
endif | |||
ifeq ($(strip $(OLED_ENABLE)),yes) | |||
LINK_TIME_OPTIMIZATION_ENABLE = yes | |||
endif | |||
endif | |||
ifneq ($(strip $(SHOW_HELIX_OPTIONS)),) | |||
$(eval $(call HELIX_CUSTOMISE_MSG)) | |||
ifneq ($(strip $(SHOW_VERBOSE_INFO)),) | |||
$(info -- RGBLIGHT_ENABLE = $(RGBLIGHT_ENABLE)) | |||
$(info -- OPT_DEFS = $(OPT_DEFS)) | |||
$(info -- LINK_TIME_OPTIMIZATION_ENABLE = $(LINK_TIME_OPTIMIZATION_ENABLE)) | |||
$(info ) | |||
endif | |||
endif |
@ -1,2 +1,19 @@ | |||
KEYBOARD_LOCAL_FEATURES_MK := $(dir $(lastword $(MAKEFILE_LIST)))local_features.mk | |||
SRC += local_drivers/i2c.c | |||
SRC += local_drivers/serial.c | |||
SRC += local_drivers/ssd1306.c | |||
KEYBOARD_PATHS += $(HELIX_TOP_DIR)/local_drivers | |||
CUSTOM_MATRIX = yes | |||
SRC += pico/matrix.c | |||
SRC += pico/split_util.c | |||
# Helix Spacific Build Options default values | |||
OLED_ENABLE = no # 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.) | |||
LED_ANIMATIONS = yes # LED animations | |||
IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone) |
@ -1,9 +0,0 @@ | |||
//// #error rev2 serial config | |||
#ifndef SOFT_SERIAL_PIN | |||
/* Soft Serial defines */ | |||
#define SOFT_SERIAL_PIN D2 | |||
#define SERIAL_SLAVE_BUFFER_LENGTH MATRIX_ROWS/2 | |||
#define SERIAL_MASTER_BUFFER_LENGTH MATRIX_ROWS/2 | |||
#endif |
@ -0,0 +1 @@ | |||
LED_UNDERGLOW_ENABLE = yes |
@ -1,362 +0,0 @@ | |||
/* | |||
pins_arduino.h - Pin definition functions for Arduino | |||
Part of Arduino - http://www.arduino.cc/ | |||
Copyright (c) 2007 David A. Mellis | |||
This library is free software; you can redistribute it and/or | |||
modify it under the terms of the GNU Lesser General Public | |||
License as published by the Free Software Foundation; either | |||
version 2.1 of the License, or (at your option) any later version. | |||
This library is distributed in the hope that it will be useful, | |||
but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |||
Lesser General Public License for more details. | |||
You should have received a copy of the GNU Lesser General | |||
Public License along with this library; if not, write to the | |||
Free Software Foundation, Inc., 59 Temple Place, Suite 330, | |||
Boston, MA 02111-1307 USA | |||
$Id: wiring.h 249 2007-02-03 16:52:51Z mellis $ | |||
*/ | |||
#ifndef Pins_Arduino_h | |||
#define Pins_Arduino_h | |||
#include <avr/pgmspace.h> | |||
// Workaround for wrong definitions in "iom32u4.h". | |||
// This should be fixed in the AVR toolchain. | |||
#undef UHCON | |||
#undef UHINT | |||
#undef UHIEN | |||
#undef UHADDR | |||
#undef UHFNUM | |||
#undef UHFNUML | |||
#undef UHFNUMH | |||
#undef UHFLEN | |||
#undef UPINRQX | |||
#undef UPINTX | |||
#undef UPNUM | |||
#undef UPRST | |||
#undef UPCONX | |||
#undef UPCFG0X | |||
#undef UPCFG1X | |||
#undef UPSTAX | |||
#undef UPCFG2X | |||
#undef UPIENX | |||
#undef UPDATX | |||
#undef TCCR2A | |||
#undef WGM20 | |||
#undef WGM21 | |||
#undef COM2B0 | |||
#undef COM2B1 | |||
#undef COM2A0 | |||
#undef COM2A1 | |||
#undef TCCR2B | |||
#undef CS20 | |||
#undef CS21 | |||
#undef CS22 | |||
#undef WGM22 | |||
#undef FOC2B | |||
#undef FOC2A | |||
#undef TCNT2 | |||
#undef TCNT2_0 | |||
#undef TCNT2_1 | |||
#undef TCNT2_2 | |||
#undef TCNT2_3 | |||
#undef TCNT2_4 | |||
#undef TCNT2_5 | |||
#undef TCNT2_6 | |||
#undef TCNT2_7 | |||
#undef OCR2A | |||
#undef OCR2_0 | |||
#undef OCR2_1 | |||
#undef OCR2_2 | |||
#undef OCR2_3 | |||
#undef OCR2_4 | |||
#undef OCR2_5 | |||
#undef OCR2_6 | |||
#undef OCR2_7 | |||
#undef OCR2B | |||
#undef OCR2_0 | |||
#undef OCR2_1 | |||
#undef OCR2_2 | |||
#undef OCR2_3 | |||
#undef OCR2_4 | |||
#undef OCR2_5 | |||
#undef OCR2_6 | |||
#undef OCR2_7 | |||
#define NUM_DIGITAL_PINS 30 | |||
#define NUM_ANALOG_INPUTS 12 | |||
#define TX_RX_LED_INIT DDRD |= (1<<5), DDRB |= (1<<0) | |||
#define TXLED0 PORTD |= (1<<5) | |||
#define TXLED1 PORTD &= ~(1<<5) | |||
#define RXLED0 PORTB |= (1<<0) | |||
#define RXLED1 PORTB &= ~(1<<0) | |||
static const uint8_t SDA = 2; | |||
static const uint8_t SCL = 3; | |||
#define LED_BUILTIN 13 | |||
// Map SPI port to 'new' pins D14..D17 | |||
static const uint8_t SS = 17; | |||
static const uint8_t MOSI = 16; | |||
static const uint8_t MISO = 14; | |||
static const uint8_t SCK = 15; | |||
// Mapping of analog pins as digital I/O | |||
// A6-A11 share with digital pins | |||
static const uint8_t ADC0 = 18; | |||
static const uint8_t ADC1 = 19; | |||
static const uint8_t ADC2 = 20; | |||
static const uint8_t ADC3 = 21; | |||
static const uint8_t ADC4 = 22; | |||
static const uint8_t ADC5 = 23; | |||
static const uint8_t ADC6 = 24; // D4 | |||
static const uint8_t ADC7 = 25; // D6 | |||
static const uint8_t ADC8 = 26; // D8 | |||
static const uint8_t ADC9 = 27; // D9 | |||
static const uint8_t ADC10 = 28; // D10 | |||
static const uint8_t ADC11 = 29; // D12 | |||
#define digitalPinToPCICR(p) ((((p) >= 8 && (p) <= 11) || ((p) >= 14 && (p) <= 17) || ((p) >= A8 && (p) <= A10)) ? (&PCICR) : ((uint8_t *)0)) | |||
#define digitalPinToPCICRbit(p) 0 | |||
#define digitalPinToPCMSK(p) ((((p) >= 8 && (p) <= 11) || ((p) >= 14 && (p) <= 17) || ((p) >= A8 && (p) <= A10)) ? (&PCMSK0) : ((uint8_t *)0)) | |||
#define digitalPinToPCMSKbit(p) ( ((p) >= 8 && (p) <= 11) ? (p) - 4 : ((p) == 14 ? 3 : ((p) == 15 ? 1 : ((p) == 16 ? 2 : ((p) == 17 ? 0 : (p - A8 + 4)))))) | |||
// __AVR_ATmega32U4__ has an unusual mapping of pins to channels | |||
extern const uint8_t PROGMEM analog_pin_to_channel_PGM[]; | |||
#define analogPinToChannel(P) ( pgm_read_byte( analog_pin_to_channel_PGM + (P) ) ) | |||
#define digitalPinToInterrupt(p) ((p) == 0 ? 2 : ((p) == 1 ? 3 : ((p) == 2 ? 1 : ((p) == 3 ? 0 : ((p) == 7 ? 4 : NOT_AN_INTERRUPT))))) | |||
#ifdef ARDUINO_MAIN | |||
// On the Arduino board, digital pins are also used | |||
// for the analog output (software PWM). Analog input | |||
// pins are a separate set. | |||
// ATMEL ATMEGA32U4 / ARDUINO LEONARDO | |||
// | |||
// D0 PD2 RXD1/INT2 | |||
// D1 PD3 TXD1/INT3 | |||
// D2 PD1 SDA SDA/INT1 | |||
// D3# PD0 PWM8/SCL OC0B/SCL/INT0 | |||
// D4 A6 PD4 ADC8 | |||
// D5# PC6 ??? OC3A/#OC4A | |||
// D6# A7 PD7 FastPWM #OC4D/ADC10 | |||
// D7 PE6 INT6/AIN0 | |||
// | |||
// D8 A8 PB4 ADC11/PCINT4 | |||
// D9# A9 PB5 PWM16 OC1A/#OC4B/ADC12/PCINT5 | |||
// D10# A10 PB6 PWM16 OC1B/0c4B/ADC13/PCINT6 | |||
// D11# PB7 PWM8/16 0C0A/OC1C/#RTS/PCINT7 | |||
// D12 A11 PD6 T1/#OC4D/ADC9 | |||
// D13# PC7 PWM10 CLK0/OC4A | |||
// | |||
// A0 D18 PF7 ADC7 | |||
// A1 D19 PF6 ADC6 | |||
// A2 D20 PF5 ADC5 | |||
// A3 D21 PF4 ADC4 | |||
// A4 D22 PF1 ADC1 | |||
// A5 D23 PF0 ADC0 | |||
// | |||
// New pins D14..D17 to map SPI port to digital pins | |||
// | |||
// MISO D14 PB3 MISO,PCINT3 | |||
// SCK D15 PB1 SCK,PCINT1 | |||
// MOSI D16 PB2 MOSI,PCINT2 | |||
// SS D17 PB0 RXLED,SS/PCINT0 | |||
// | |||
// Connected LEDs on board for TX and RX | |||
// TXLED D24 PD5 XCK1 | |||
// RXLED D17 PB0 | |||
// HWB PE2 HWB | |||
// these arrays map port names (e.g. port B) to the | |||
// appropriate addresses for various functions (e.g. reading | |||
// and writing) | |||
const uint16_t PROGMEM port_to_mode_PGM[] = { | |||
NOT_A_PORT, | |||
NOT_A_PORT, | |||
(uint16_t) &DDRB, | |||
(uint16_t) &DDRC, | |||
(uint16_t) &DDRD, | |||
(uint16_t) &DDRE, | |||
(uint16_t) &DDRF, | |||
}; | |||
const uint16_t PROGMEM port_to_output_PGM[] = { | |||
NOT_A_PORT, | |||
NOT_A_PORT, | |||
(uint16_t) &PORTB, | |||
(uint16_t) &PORTC, | |||
(uint16_t) &PORTD, | |||
(uint16_t) &PORTE, | |||
(uint16_t) &PORTF, | |||
}; | |||
const uint16_t PROGMEM port_to_input_PGM[] = { | |||
NOT_A_PORT, | |||
NOT_A_PORT, | |||
(uint16_t) &PINB, | |||
(uint16_t) &PINC, | |||
(uint16_t) &PIND, | |||
(uint16_t) &PINE, | |||
(uint16_t) &PINF, | |||
}; | |||
const uint8_t PROGMEM digital_pin_to_port_PGM[] = { | |||
PD, // D0 - PD2 | |||
PD, // D1 - PD3 | |||
PD, // D2 - PD1 | |||
PD, // D3 - PD0 | |||
PD, // D4 - PD4 | |||
PC, // D5 - PC6 | |||
PD, // D6 - PD7 | |||
PE, // D7 - PE6 | |||
PB, // D8 - PB4 | |||
PB, // D9 - PB5 | |||
PB, // D10 - PB6 | |||
PB, // D11 - PB7 | |||
PD, // D12 - PD6 | |||
PC, // D13 - PC7 | |||
PB, // D14 - MISO - PB3 | |||
PB, // D15 - SCK - PB1 | |||
PB, // D16 - MOSI - PB2 | |||
PB, // D17 - SS - PB0 | |||
PF, // D18 - A0 - PF7 | |||
PF, // D19 - A1 - PF6 | |||
PF, // D20 - A2 - PF5 | |||
PF, // D21 - A3 - PF4 | |||
PF, // D22 - A4 - PF1 | |||
PF, // D23 - A5 - PF0 | |||
PD, // D24 - PD5 | |||
PD, // D25 / D6 - A7 - PD7 | |||
PB, // D26 / D8 - A8 - PB4 | |||
PB, // D27 / D9 - A9 - PB5 | |||
PB, // D28 / D10 - A10 - PB6 | |||
PD, // D29 / D12 - A11 - PD6 | |||
}; | |||
const uint8_t PROGMEM digital_pin_to_bit_mask_PGM[] = { | |||
_BV(2), // D0 - PD2 | |||
_BV(3), // D1 - PD3 | |||
_BV(1), // D2 - PD1 | |||
_BV(0), // D3 - PD0 | |||
_BV(4), // D4 - PD4 | |||
_BV(6), // D5 - PC6 | |||
_BV(7), // D6 - PD7 | |||
_BV(6), // D7 - PE6 | |||
_BV(4), // D8 - PB4 | |||
_BV(5), // D9 - PB5 | |||
_BV(6), // D10 - PB6 | |||
_BV(7), // D11 - PB7 | |||
_BV(6), // D12 - PD6 | |||
_BV(7), // D13 - PC7 | |||
_BV(3), // D14 - MISO - PB3 | |||
_BV(1), // D15 - SCK - PB1 | |||
_BV(2), // D16 - MOSI - PB2 | |||
_BV(0), // D17 - SS - PB0 | |||
_BV(7), // D18 - A0 - PF7 | |||
_BV(6), // D19 - A1 - PF6 | |||
_BV(5), // D20 - A2 - PF5 | |||
_BV(4), // D21 - A3 - PF4 | |||
_BV(1), // D22 - A4 - PF1 | |||
_BV(0), // D23 - A5 - PF0 | |||
_BV(5), // D24 - PD5 | |||
_BV(7), // D25 / D6 - A7 - PD7 | |||
_BV(4), // D26 / D8 - A8 - PB4 | |||
_BV(5), // D27 / D9 - A9 - PB5 | |||
_BV(6), // D28 / D10 - A10 - PB6 | |||
_BV(6), // D29 / D12 - A11 - PD6 | |||
}; | |||
const uint8_t PROGMEM digital_pin_to_timer_PGM[] = { | |||
NOT_ON_TIMER, | |||
NOT_ON_TIMER, | |||
NOT_ON_TIMER, | |||
TIMER0B, /* 3 */ | |||
NOT_ON_TIMER, | |||
TIMER3A, /* 5 */ | |||
TIMER4D, /* 6 */ | |||
NOT_ON_TIMER, | |||
NOT_ON_TIMER, | |||
TIMER1A, /* 9 */ | |||
TIMER1B, /* 10 */ | |||
TIMER0A, /* 11 */ | |||
NOT_ON_TIMER, | |||
TIMER4A, /* 13 */ | |||
NOT_ON_TIMER, | |||
NOT_ON_TIMER, | |||
NOT_ON_TIMER, | |||
NOT_ON_TIMER, | |||
NOT_ON_TIMER, | |||
NOT_ON_TIMER, | |||
NOT_ON_TIMER, | |||
NOT_ON_TIMER, | |||
NOT_ON_TIMER, | |||
NOT_ON_TIMER, | |||
NOT_ON_TIMER, | |||
NOT_ON_TIMER, | |||
NOT_ON_TIMER, | |||
NOT_ON_TIMER, | |||
NOT_ON_TIMER, | |||
NOT_ON_TIMER, | |||
}; | |||
const uint8_t PROGMEM analog_pin_to_channel_PGM[] = { | |||
7, // A0 PF7 ADC7 | |||
6, // A1 PF6 ADC6 | |||
5, // A2 PF5 ADC5 | |||
4, // A3 PF4 ADC4 | |||
1, // A4 PF1 ADC1 | |||
0, // A5 PF0 ADC0 | |||
8, // A6 D4 PD4 ADC8 | |||
10, // A7 D6 PD7 ADC10 | |||
11, // A8 D8 PB4 ADC11 | |||
12, // A9 D9 PB5 ADC12 | |||
13, // A10 D10 PB6 ADC13 | |||
9 // A11 D12 PD6 ADC9 | |||
}; | |||
#endif /* ARDUINO_MAIN */ | |||
// These serial port names are intended to allow libraries and architecture-neutral | |||
// sketches to automatically default to the correct port name for a particular type | |||
// of use. For example, a GPS module would normally connect to SERIAL_PORT_HARDWARE_OPEN, | |||
// the first hardware serial port whose RX/TX pins are not dedicated to another use. | |||
// | |||
// SERIAL_PORT_MONITOR Port which normally prints to the Arduino Serial Monitor | |||
// | |||
// SERIAL_PORT_USBVIRTUAL Port which is USB virtual serial | |||
// | |||
// SERIAL_PORT_LINUXBRIDGE Port which connects to a Linux system via Bridge library | |||
// | |||
// SERIAL_PORT_HARDWARE Hardware serial port, physical RX & TX pins. | |||
// | |||
// SERIAL_PORT_HARDWARE_OPEN Hardware serial ports which are open for use. Their RX & TX | |||
// pins are NOT connected to anything by default. | |||
#define SERIAL_PORT_MONITOR Serial | |||
#define SERIAL_PORT_USBVIRTUAL Serial | |||
#define SERIAL_PORT_HARDWARE Serial1 | |||
#define SERIAL_PORT_HARDWARE_OPEN Serial1 | |||
#endif /* Pins_Arduino_h */ |
@ -1,3 +1,10 @@ | |||
SRC += local_drivers/i2c.c | |||
SRC += local_drivers/serial.c | |||
SRC += local_drivers/ssd1306.c | |||
KEYBOARD_PATHS += $(HELIX_TOP_DIR)/local_drivers | |||
CUSTOM_MATRIX = yes | |||
SRC += rev1/matrix.c | |||
SRC += rev1/split_util.c | |||
@ -0,0 +1 @@ | |||
OLED_ENABLE = yes |
@ -0,0 +1 @@ | |||
LED_BACK_ENABLE = yes |
@ -1,124 +1,23 @@ | |||
# Build Options | |||
# QMK Standard Build Options | |||
# change to "no" to disable the options, or define them in the Makefile in | |||
# the appropriate keymap folder that will get included automatically | |||
# | |||
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) | |||
MOUSEKEY_ENABLE = no # Mouse keys(+4700) | |||
EXTRAKEY_ENABLE = no # Audio control and System control(+450) | |||
CONSOLE_ENABLE = no # Console for debug(+400) | |||
COMMAND_ENABLE = no # Commands for debug and configuration | |||
NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work | |||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality | |||
MIDI_ENABLE = no # MIDI controls | |||
AUDIO_ENABLE = no # Audio output on port C6 | |||
UNICODE_ENABLE = no # Unicode | |||
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID | |||
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. | |||
SWAP_HANDS_ENABLE = no # Enable one-hand typing | |||
define HELIX_CUSTOMISE_MSG | |||
$(info Helix customize) | |||
$(info - OLED_ENABLE=$(OLED_ENABLE)) | |||
$(info - LED_BACK_ENABLE=$(LED_BACK_ENABLE)) | |||
$(info - LED_UNDERGLOW_ENABLE=$(LED_UNDERGLOW_ENABLE)) | |||
$(info - LED_ANIMATION=$(LED_ANIMATIONS)) | |||
$(info - IOS_DEVICE_ENABLE=$(IOS_DEVICE_ENABLE)) | |||
endef | |||
# Helix keyboard customize | |||
# you can edit follows 7 Variables | |||
# jp: 以下の7つの変数を必要に応じて編集します。 | |||
HELIX_ROWS = 5 # Helix Rows is 4 or 5 | |||
OLED_ENABLE = no # 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.) | |||
LED_ANIMATIONS = yes # LED animations | |||
IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone) | |||
Link_Time_Optimization = no # if firmware size over limit, try this option | |||
#### LED_BACK_ENABLE and LED_UNDERGLOW_ENABLE. | |||
#### Do not enable these with audio at the same time. | |||
### Helix keyboard 'default' keymap: convenient command line option | |||
## make HELIX=<options> helix:defualt | |||
## option= oled | back | under | na | ios | |||
## ex. | |||
## make HELIX=oled helix:defualt | |||
## make HELIX=oled,back helix:defualt | |||
## make HELIX=oled,under helix:defualt | |||
## make HELIX=oled,back,na helix:defualt | |||
## make HELIX=oled,back,ios helix:defualt | |||
## | |||
ifneq ($(strip $(HELIX)),) | |||
ifeq ($(findstring oled,$(HELIX)), oled) | |||
OLED_ENABLE = yes | |||
endif | |||
ifeq ($(findstring back,$(HELIX)), back) | |||
LED_BACK_ENABLE = yes | |||
else ifeq ($(findstring under,$(HELIX)), under) | |||
LED_UNDERGLOW_ENABLE = yes | |||
endif | |||
ifeq ($(findstring na,$(HELIX)), na) | |||
LED_ANIMATIONS = no | |||
endif | |||
ifeq ($(findstring ios,$(HELIX)), ios) | |||
IOS_DEVICE_ENABLE = yes | |||
endif | |||
$(eval $(call HELIX_CUSTOMISE_MSG)) | |||
$(info ) | |||
endif | |||
# Uncomment these for checking | |||
# jp: コンパイル時にカスタマイズの状態を表示したい時はコメントをはずします。 | |||
# $(eval $(call HELIX_CUSTOMISE_MSG)) | |||
# $(info ) | |||
ifneq ($(strip $(HELIX_ROWS)), 4) | |||
ifneq ($(strip $(HELIX_ROWS)), 5) | |||
$(error HELIX_ROWS = $(strip $(HELIX_ROWS)) is unexpected value) | |||
endif | |||
endif | |||
OPT_DEFS += -DHELIX_ROWS=$(strip $(HELIX_ROWS)) | |||
ifeq ($(strip $(LED_BACK_ENABLE)), yes) | |||
RGBLIGHT_ENABLE = yes | |||
OPT_DEFS += -DRGBLED_BACK | |||
ifeq ($(strip $(LED_UNDERGLOW_ENABLE)), yes) | |||
$(eval $(call HELIX_CUSTOMISE_MSG)) | |||
$(error LED_BACK_ENABLE and LED_UNDERGLOW_ENABLE both 'yes') | |||
endif | |||
else ifeq ($(strip $(LED_UNDERGLOW_ENABLE)), yes) | |||
RGBLIGHT_ENABLE = yes | |||
else | |||
RGBLIGHT_ENABLE = no | |||
endif | |||
ifeq ($(strip $(IOS_DEVICE_ENABLE)), yes) | |||
OPT_DEFS += -DIOS_DEVICE_ENABLE | |||
endif | |||
ifeq ($(strip $(LED_ANIMATIONS)), yes) | |||
OPT_DEFS += -DLED_ANIMATIONS | |||
endif | |||
ifeq ($(strip $(OLED_ENABLE)), yes) | |||
OPT_DEFS += -DOLED_ENABLE | |||
endif | |||
ifeq ($(strip $(LOCAL_GLCDFONT)), yes) | |||
OPT_DEFS += -DLOCAL_GLCDFONT | |||
endif | |||
ifeq ($(strip $(Link_Time_Optimization)),yes) | |||
EXTRAFLAGS += -flto -DUSE_Link_Time_Optimization | |||
endif | |||
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE | |||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend | |||
# Uncomment these for debugging | |||
# $(info -- RGBLIGHT_ENABLE=$(RGBLIGHT_ENABLE)) | |||
# $(info -- OPT_DEFS=$(OPT_DEFS)) | |||
# $(info ) | |||
# See TOP/keyboards/helix/rules.mk for a list of options that can be set. | |||
# See TOP/docs/config_options.md for more information. | |||
# | |||
LINK_TIME_OPTIMIZATION_ENABLE = no # if firmware size over limit, try this option | |||
# Helix Spacific Build Options | |||
# you can uncomment and edit follows 7 Variables | |||
# jp: 以下の7つの変数を必要に応じて編集し、コメントアウトをはずします。 | |||
# HELIX_ROWS = 5 # Helix Rows is 4 or 5 | |||
# OLED_ENABLE = no # 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.) | |||
# LED_ANIMATIONS = yes # LED animations | |||
# IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone) | |||
# convert Helix-specific options (that represent combinations of standard options) | |||
# into QMK standard options. | |||
include $(strip $(KEYBOARD_LOCAL_FEATURES_MK)) |
@ -1,128 +1,38 @@ | |||
# Build Options | |||
# QMK Standard Build Options | |||
# change to "no" to disable the options, or define them in the Makefile in | |||
# the appropriate keymap folder that will get included automatically | |||
# | |||
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) | |||
MOUSEKEY_ENABLE = no # Mouse keys(+4700) | |||
EXTRAKEY_ENABLE = no # Audio control and System control(+450) | |||
CONSOLE_ENABLE = no # Console for debug(+400) | |||
COMMAND_ENABLE = no # Commands for debug and configuration | |||
NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work | |||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality | |||
MIDI_ENABLE = no # MIDI controls | |||
AUDIO_ENABLE = no # Audio output on port C6 | |||
UNICODE_ENABLE = no # Unicode | |||
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID | |||
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. | |||
SWAP_HANDS_ENABLE = no # Enable one-hand typing | |||
# See TOP/keyboards/helix/rules.mk for a list of options that can be set. | |||
# See TOP/docs/config_options.md for more information. | |||
# | |||
LINK_TIME_OPTIMIZATION_ENABLE = no # if firmware size over limit, try this option | |||
TAP_DANCE_ENABLE = yes | |||
define HELIX_CUSTOMISE_MSG | |||
$(info Helix customize) | |||
$(info - OLED_ENABLE=$(OLED_ENABLE)) | |||
$(info - LED_BACK_ENABLE=$(LED_BACK_ENABLE)) | |||
$(info - LED_UNDERGLOW_ENABLE=$(LED_UNDERGLOW_ENABLE)) | |||
$(info - LED_ANIMATION=$(LED_ANIMATIONS)) | |||
$(info - IOS_DEVICE_ENABLE=$(IOS_DEVICE_ENABLE)) | |||
endef | |||
# Helix keyboard customize | |||
# you can edit follows 7 Variables | |||
# jp: 以下の7つの変数を必要に応じて編集します。 | |||
HELIX_ROWS = 5 # Helix Rows is 4 or 5 | |||
OLED_ENABLE = no # OLED_ENABLE | |||
LOCAL_GLCDFONT = no # use each keymaps "helixfont.h" instead of "common/glcdfont.c" | |||
LED_BACK_ENABLE = no # LED backlight (Enable WS2812 RGB underlight.) | |||
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) | |||
Link_Time_Optimization = no # if firmware size over limit, try this option | |||
#### LED_BACK_ENABLE and LED_UNDERGLOW_ENABLE. | |||
#### Do not enable these with audio at the same time. | |||
### Helix keyboard 'edvorakjp' keymap: convenient command line option | |||
## make HELIX=<options> helix:edvorakjp | |||
## option= oled | back | under | na | ios | |||
## ex. | |||
## make HELIX=oled helix:edvorakjp | |||
## make HELIX=oled,back helix:edvorakjp | |||
## make HELIX=oled,under helix:edvorakjp | |||
## make HELIX=oled,back,na helix:edvorakjp | |||
## make HELIX=oled,back,ios helix:edvorakjp | |||
## | |||
ifneq ($(strip $(HELIX)),) | |||
ifeq ($(findstring oled,$(HELIX)), oled) | |||
OLED_ENABLE = yes | |||
endif | |||
ifeq ($(findstring back,$(HELIX)), back) | |||
LED_BACK_ENABLE = yes | |||
else ifeq ($(findstring under,$(HELIX)), under) | |||
LED_UNDERGLOW_ENABLE = yes | |||
endif | |||
ifeq ($(findstring na,$(HELIX)), na) | |||
LED_ANIMATIONS = no | |||
endif | |||
ifeq ($(findstring ios,$(HELIX)), ios) | |||
IOS_DEVICE_ENABLE = yes | |||
endif | |||
$(eval $(call HELIX_CUSTOMISE_MSG)) | |||
$(info ) | |||
endif | |||
# Uncomment these for checking | |||
# jp: コンパイル時にカスタマイズの状態を表示したい時はコメントをはずします。 | |||
# $(eval $(call HELIX_CUSTOMISE_MSG)) | |||
# $(info ) | |||
# Helix Spacific Build Options | |||
# you can uncomment and edit follows 7 Variables | |||
# jp: 以下の7つの変数を必要に応じて編集し、コメントアウトをはずします。 | |||
# HELIX_ROWS = 5 # Helix Rows is 4 or 5 | |||
# OLED_ENABLE = no # OLED_ENABLE | |||
# LOCAL_GLCDFONT = no # use each keymaps "helixfont.h" instead of "common/glcdfont.c" | |||
# LED_BACK_ENABLE = no # LED backlight (Enable WS2812 RGB underlight.) | |||
# 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) | |||
# convert Helix-specific options (that represent combinations of standard options) | |||
# into QMK standard options. | |||
include $(strip $(KEYBOARD_LOCAL_FEATURES_MK)) | |||
ifeq ($(strip $(HELIX_ROWS)), 4) | |||
SRC += keymap_4rows.c | |||
else ifeq ($(strip $(HELIX_ROWS)), 5) | |||
SRC += keymap_5rows.c | |||
else | |||
$(error HELIX_ROWS = $(strip $(HELIX_ROWS)) is unexpected value) | |||
endif | |||
OPT_DEFS += -DHELIX_ROWS=$(strip $(HELIX_ROWS)) | |||
ifeq ($(strip $(LED_BACK_ENABLE)), yes) | |||
RGBLIGHT_ENABLE = yes | |||
OPT_DEFS += -DRGBLED_BACK | |||
ifeq ($(strip $(LED_UNDERGLOW_ENABLE)), yes) | |||
$(eval $(call HELIX_CUSTOMISE_MSG)) | |||
$(error LED_BACK_ENABLE and LED_UNDERGLOW_ENABLE both 'yes') | |||
endif | |||
else ifeq ($(strip $(LED_UNDERGLOW_ENABLE)), yes) | |||
RGBLIGHT_ENABLE = yes | |||
ifeq ($(strip $(LED_UNDERGLOW_ENABLE)), yes) | |||
OPT_DEFS += -DRGBLED_BACK | |||
else | |||
RGBLIGHT_ENABLE = no | |||
endif | |||
ifeq ($(strip $(IOS_DEVICE_ENABLE)), yes) | |||
OPT_DEFS += -DIOS_DEVICE_ENABLE | |||
endif | |||
ifeq ($(strip $(LED_ANIMATIONS)), yes) | |||
OPT_DEFS += -DLED_ANIMATIONS | |||
endif | |||
ifeq ($(strip $(OLED_ENABLE)), yes) | |||
OPT_DEFS += -DOLED_ENABLE | |||
SRC += oled.c | |||
endif | |||
ifeq ($(strip $(LOCAL_GLCDFONT)), yes) | |||
OPT_DEFS += -DLOCAL_GLCDFONT | |||
endif | |||
ifeq ($(strip $(Link_Time_Optimization)),yes) | |||
EXTRAFLAGS += -flto -DUSE_Link_Time_Optimization | |||
endif | |||
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE | |||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend | |||
# Uncomment these for debugging | |||
# $(info -- RGBLIGHT_ENABLE=$(RGBLIGHT_ENABLE)) | |||
# $(info -- OPT_DEFS=$(OPT_DEFS)) | |||
# $(info ) |
@ -1,131 +1,35 @@ | |||
# Build Options | |||
# QMK Standard Build Options | |||
# change to "no" to disable the options, or define them in the Makefile in | |||
# the appropriate keymap folder that will get included automatically | |||
# | |||
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) | |||
MOUSEKEY_ENABLE = no # Mouse keys(+4700) | |||
EXTRAKEY_ENABLE = no # Audio control and System control(+450) | |||
CONSOLE_ENABLE = no # Console for debug | |||
COMMAND_ENABLE = no # Commands for debug and configuration | |||
# CONSOLE_ENABLE and COMMAND_ENABLE | |||
# yes, no +1500 | |||
# yes, yes +3200 | |||
# no, yes +400 | |||
NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work | |||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality | |||
MIDI_ENABLE = no # MIDI controls | |||
AUDIO_ENABLE = no # Audio output on port C6 | |||
UNICODE_ENABLE = no # Unicode | |||
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID | |||
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. | |||
SWAP_HANDS_ENABLE = no # Enable one-hand typing | |||
define HELIX_CUSTOMISE_MSG | |||
$(info Helix customize) | |||
$(info - OLED_ENABLE=$(OLED_ENABLE)) | |||
$(info - LED_BACK_ENABLE=$(LED_BACK_ENABLE)) | |||
$(info - LED_UNDERGLOW_ENABLE=$(LED_UNDERGLOW_ENABLE)) | |||
$(info - LED_ANIMATION=$(LED_ANIMATIONS)) | |||
$(info - IOS_DEVICE_ENABLE=$(IOS_DEVICE_ENABLE)) | |||
endef | |||
# Helix keyboard customize | |||
# you can edit follows 7 Variables | |||
# jp: 以下の7つの変数を必要に応じて編集します。 | |||
# See TOP/keyboards/helix/rules.mk for a list of options that can be set. | |||
# See TOP/docs/config_options.md for more information. | |||
# | |||
CONSOLE_ENABLE = no # Console for debug | |||
COMMAND_ENABLE = no # Commands for debug and configuration | |||
# CONSOLE_ENABLE and COMMAND_ENABLE | |||
# yes, no +1500 | |||
# yes, yes +3200 | |||
# no, yes +400 | |||
LINK_TIME_OPTIMIZATION_ENABLE = no # if firmware size over limit, try this option | |||
# Helix Spacific Build Options | |||
# you can uncomment and edit follows 7 Variables | |||
# jp: 以下の7つの変数を必要に応じて編集し、コメントアウトをはずします。 | |||
HELIX_ROWS = 5 # Helix Rows is 4 or 5 | |||
OLED_ENABLE = no # 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.) | |||
LED_ANIMATIONS = yes # LED animations | |||
IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone) | |||
Link_Time_Optimization = no # if firmware size over limit, try this option | |||
# OLED_ENABLE = no # 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.) | |||
# LED_ANIMATIONS = yes # LED animations | |||
# IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone) | |||
#### LED_BACK_ENABLE and LED_UNDERGLOW_ENABLE. | |||
#### Do not enable these with audio at the same time. | |||
### Helix keyboard 'five_rows' keymap: convenient command line option | |||
## make HELIX=<options> helix:five_rows | |||
## option= oled | back | under | na | ios | |||
## ex. | |||
## make HELIX=oled helix:five_rows | |||
## make HELIX=oled,back helix:five_rows | |||
## make HELIX=oled,under helix:five_rows | |||
## make HELIX=oled,back,na helix:five_rows | |||
## make HELIX=oled,back,ios helix:five_rows | |||
## | |||
ifneq ($(strip $(HELIX)),) | |||
ifeq ($(findstring oled,$(HELIX)), oled) | |||
OLED_ENABLE = yes | |||
endif | |||
ifeq ($(findstring back,$(HELIX)), back) | |||
LED_BACK_ENABLE = yes | |||
else ifeq ($(findstring under,$(HELIX)), under) | |||
LED_UNDERGLOW_ENABLE = yes | |||
endif | |||
ifeq ($(findstring na,$(HELIX)), na) | |||
LED_ANIMATIONS = no | |||
endif | |||
ifeq ($(findstring ios,$(HELIX)), ios) | |||
IOS_DEVICE_ENABLE = yes | |||
endif | |||
ifeq ($(findstring console,$(HELIX)), console) | |||
CONSOLE_ENABLE = yes | |||
endif | |||
$(eval $(call HELIX_CUSTOMISE_MSG)) | |||
$(info ) | |||
endif | |||
# Uncomment these for checking | |||
# jp: コンパイル時にカスタマイズの状態を表示したい時はコメントをはずします。 | |||
# $(eval $(call HELIX_CUSTOMISE_MSG)) | |||
# $(info ) | |||
ifneq ($(strip $(HELIX_ROWS)), 4) | |||
ifneq ($(strip $(HELIX_ROWS)), 5) | |||
$(error HELIX_ROWS = $(strip $(HELIX_ROWS)) is unexpected value) | |||
endif | |||
endif | |||
OPT_DEFS += -DHELIX_ROWS=$(strip $(HELIX_ROWS)) | |||
ifeq ($(strip $(LED_BACK_ENABLE)), yes) | |||
RGBLIGHT_ENABLE = yes | |||
OPT_DEFS += -DRGBLED_BACK | |||
ifeq ($(strip $(LED_UNDERGLOW_ENABLE)), yes) | |||
$(eval $(call HELIX_CUSTOMISE_MSG)) | |||
$(error LED_BACK_ENABLE and LED_UNDERGLOW_ENABLE both 'yes') | |||
endif | |||
else ifeq ($(strip $(LED_UNDERGLOW_ENABLE)), yes) | |||
RGBLIGHT_ENABLE = yes | |||
else | |||
RGBLIGHT_ENABLE = no | |||
endif | |||
ifeq ($(strip $(IOS_DEVICE_ENABLE)), yes) | |||
OPT_DEFS += -DIOS_DEVICE_ENABLE | |||
endif | |||
ifeq ($(strip $(LED_ANIMATIONS)), yes) | |||
OPT_DEFS += -DLED_ANIMATIONS | |||
endif | |||
ifeq ($(strip $(OLED_ENABLE)), yes) | |||
OPT_DEFS += -DOLED_ENABLE | |||
endif | |||
ifeq ($(strip $(LOCAL_GLCDFONT)), yes) | |||
OPT_DEFS += -DLOCAL_GLCDFONT | |||
endif | |||
ifeq ($(strip $(Link_Time_Optimization)),yes) | |||
EXTRAFLAGS += -flto -DUSE_Link_Time_Optimization | |||
endif | |||
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE | |||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend | |||
# Uncomment these for debugging | |||
# $(info -- RGBLIGHT_ENABLE=$(RGBLIGHT_ENABLE)) | |||
# $(info -- OPT_DEFS=$(OPT_DEFS)) | |||
# $(info ) | |||
# convert Helix-specific options (that represent combinations of standard options) | |||
# into QMK standard options. | |||
include $(strip $(KEYBOARD_LOCAL_FEATURES_MK)) |
@ -1,124 +1,23 @@ | |||
# Build Options | |||
# QMK Standard Build Options | |||
# change to "no" to disable the options, or define them in the Makefile in | |||
# the appropriate keymap folder that will get included automatically | |||
# | |||
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) | |||
MOUSEKEY_ENABLE = no # Mouse keys(+4700) | |||
EXTRAKEY_ENABLE = no # Audio control and System control(+450) | |||
CONSOLE_ENABLE = no # Console for debug(+400) | |||
COMMAND_ENABLE = no # Commands for debug and configuration | |||
NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work | |||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality | |||
MIDI_ENABLE = no # MIDI controls | |||
AUDIO_ENABLE = no # Audio output on port C6 | |||
UNICODE_ENABLE = no # Unicode | |||
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID | |||
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. | |||
SWAP_HANDS_ENABLE = no # Enable one-hand typing | |||
define HELIX_CUSTOMISE_MSG | |||
$(info Helix customize) | |||
$(info - OLED_ENABLE=$(OLED_ENABLE)) | |||
$(info - LED_BACK_ENABLE=$(LED_BACK_ENABLE)) | |||
$(info - LED_UNDERGLOW_ENABLE=$(LED_UNDERGLOW_ENABLE)) | |||
$(info - LED_ANIMATION=$(LED_ANIMATIONS)) | |||
$(info - IOS_DEVICE_ENABLE=$(IOS_DEVICE_ENABLE)) | |||
endef | |||
# See TOP/keyboards/helix/rules.mk for a list of options that can be set. | |||
# See TOP/docs/config_options.md for more information. | |||
# | |||
LINK_TIME_OPTIMIZATION_ENABLE = no # if firmware size over limit, try this option | |||
# Helix keyboard customize | |||
# you can edit follows 7 Variables | |||
# jp: 以下の7つの変数を必要に応じて編集します。 | |||
# Helix Spacific Build Options | |||
# you can uncomment and edit follows 7 Variables | |||
# jp: 以下の7つの変数を必要に応じて編集し、コメントアウトをはずします。 | |||
HELIX_ROWS = 5 # Helix Rows is 4 or 5 | |||
OLED_ENABLE = no # 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.) | |||
LED_ANIMATIONS = yes # LED animations | |||
IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone) | |||
Link_Time_Optimization = no # if firmware size over limit, try this option | |||
#### LED_BACK_ENABLE and LED_UNDERGLOW_ENABLE. | |||
#### Do not enable these with audio at the same time. | |||
### Helix keyboard 'default' keymap: convenient command line option | |||
## make HELIX=<options> helix:defualt | |||
## option= oled | back | under | na | ios | |||
## ex. | |||
## make HELIX=oled helix:defualt | |||
## make HELIX=oled,back helix:defualt | |||
## make HELIX=oled,under helix:defualt | |||
## make HELIX=oled,back,na helix:defualt | |||
## make HELIX=oled,back,ios helix:defualt | |||
## | |||
ifneq ($(strip $(HELIX)),) | |||
ifeq ($(findstring oled,$(HELIX)), oled) | |||
OLED_ENABLE = yes | |||
endif | |||
ifeq ($(findstring back,$(HELIX)), back) | |||
LED_BACK_ENABLE = yes | |||
else ifeq ($(findstring under,$(HELIX)), under) | |||
LED_UNDERGLOW_ENABLE = yes | |||
endif | |||
ifeq ($(findstring na,$(HELIX)), na) | |||
LED_ANIMATIONS = no | |||
endif | |||
ifeq ($(findstring ios,$(HELIX)), ios) | |||
IOS_DEVICE_ENABLE = yes | |||
endif | |||
$(eval $(call HELIX_CUSTOMISE_MSG)) | |||
$(info ) | |||
endif | |||
# Uncomment these for checking | |||
# jp: コンパイル時にカスタマイズの状態を表示したい時はコメントをはずします。 | |||
# $(eval $(call HELIX_CUSTOMISE_MSG)) | |||
# $(info ) | |||
ifneq ($(strip $(HELIX_ROWS)), 4) | |||
ifneq ($(strip $(HELIX_ROWS)), 5) | |||
$(error HELIX_ROWS = $(strip $(HELIX_ROWS)) is unexpected value) | |||
endif | |||
endif | |||
OPT_DEFS += -DHELIX_ROWS=$(strip $(HELIX_ROWS)) | |||
ifeq ($(strip $(LED_BACK_ENABLE)), yes) | |||
RGBLIGHT_ENABLE = yes | |||
OPT_DEFS += -DRGBLED_BACK | |||
ifeq ($(strip $(LED_UNDERGLOW_ENABLE)), yes) | |||
$(eval $(call HELIX_CUSTOMISE_MSG)) | |||
$(error LED_BACK_ENABLE and LED_UNDERGLOW_ENABLE both 'yes') | |||
endif | |||
else ifeq ($(strip $(LED_UNDERGLOW_ENABLE)), yes) | |||
RGBLIGHT_ENABLE = yes | |||
else | |||
RGBLIGHT_ENABLE = no | |||
endif | |||
ifeq ($(strip $(IOS_DEVICE_ENABLE)), yes) | |||
OPT_DEFS += -DIOS_DEVICE_ENABLE | |||
endif | |||
ifeq ($(strip $(LED_ANIMATIONS)), yes) | |||
OPT_DEFS += -DLED_ANIMATIONS | |||
endif | |||
ifeq ($(strip $(OLED_ENABLE)), yes) | |||
OPT_DEFS += -DOLED_ENABLE | |||
endif | |||
ifeq ($(strip $(LOCAL_GLCDFONT)), yes) | |||
OPT_DEFS += -DLOCAL_GLCDFONT | |||
endif | |||
ifeq ($(strip $(Link_Time_Optimization)),yes) | |||
EXTRAFLAGS += -flto -DUSE_Link_Time_Optimization | |||
endif | |||
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE | |||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend | |||
# Uncomment these for debugging | |||
# $(info -- RGBLIGHT_ENABLE=$(RGBLIGHT_ENABLE)) | |||
# $(info -- OPT_DEFS=$(OPT_DEFS)) | |||
# $(info ) | |||
# OLED_ENABLE = no # 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.) | |||
# LED_ANIMATIONS = yes # LED animations | |||
# IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone) | |||
# convert Helix-specific options (that represent combinations of standard options) | |||
# into QMK standard options. | |||
include $(strip $(KEYBOARD_LOCAL_FEATURES_MK)) |
@ -1,124 +1,23 @@ | |||
# Build Options | |||
# QMK Standard Build Options | |||
# change to "no" to disable the options, or define them in the Makefile in | |||
# the appropriate keymap folder that will get included automatically | |||
# | |||
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) | |||
MOUSEKEY_ENABLE = no # Mouse keys(+4700) | |||
EXTRAKEY_ENABLE = no # Audio control and System control(+450) | |||
CONSOLE_ENABLE = no # Console for debug(+400) | |||
COMMAND_ENABLE = no # Commands for debug and configuration | |||
NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work | |||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality | |||
MIDI_ENABLE = no # MIDI controls | |||
AUDIO_ENABLE = no # Audio output on port C6 | |||
UNICODE_ENABLE = no # Unicode | |||
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID | |||
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. | |||
SWAP_HANDS_ENABLE = no # Enable one-hand typing | |||
define HELIX_CUSTOMISE_MSG | |||
$(info Helix customize) | |||
$(info - OLED_ENABLE=$(OLED_ENABLE)) | |||
$(info - LED_BACK_ENABLE=$(LED_BACK_ENABLE)) | |||
$(info - LED_UNDERGLOW_ENABLE=$(LED_UNDERGLOW_ENABLE)) | |||
$(info - LED_ANIMATION=$(LED_ANIMATIONS)) | |||
$(info - IOS_DEVICE_ENABLE=$(IOS_DEVICE_ENABLE)) | |||
endef | |||
# See TOP/keyboards/helix/rules.mk for a list of options that can be set. | |||
# See TOP/docs/config_options.md for more information. | |||
# | |||
LINK_TIME_OPTIMIZATION_ENABLE = no # if firmware size over limit, try this option | |||
# Helix keyboard customize | |||
# you can edit follows 7 Variables | |||
# jp: 以下の7つの変数を必要に応じて編集します。 | |||
# Helix Spacific Build Options | |||
# you can uncomment and edit follows 7 Variables | |||
# jp: 以下の7つの変数を必要に応じて編集し、コメントアウトをはずします。 | |||
HELIX_ROWS = 5 # Helix Rows is 4 or 5 | |||
OLED_ENABLE = yes # OLED_ENABLE | |||
LOCAL_GLCDFONT = yes # use each keymaps "helixfont.h" insted of "common/glcdfont.c" | |||
LED_BACK_ENABLE = yes # LED backlight (Enable WS2812 RGB underlight.) | |||
OLED_ENABLE = yes # OLED_ENABLE | |||
LOCAL_GLCDFONT = yes # 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 | |||
IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone) | |||
Link_Time_Optimization = no # if firmware size over limit, try this option | |||
#### LED_BACK_ENABLE and LED_UNDERGLOW_ENABLE. | |||
#### Do not enable these with audio at the same time. | |||
### Helix keyboard 'default' keymap: convenient command line option | |||
## make HELIX=<options> helix:defualt | |||
## option= oled | back | under | na | ios | |||
## ex. | |||
## make HELIX=oled helix:defualt | |||
## make HELIX=oled,back helix:defualt | |||
## make HELIX=oled,under helix:defualt | |||
## make HELIX=oled,back,na helix:defualt | |||
## make HELIX=oled,back,ios helix:defualt | |||
## | |||
ifneq ($(strip $(HELIX)),) | |||
ifeq ($(findstring oled,$(HELIX)), oled) | |||
OLED_ENABLE = yes | |||
endif | |||
ifeq ($(findstring back,$(HELIX)), back) | |||
LED_BACK_ENABLE = yes | |||
else ifeq ($(findstring under,$(HELIX)), under) | |||
LED_UNDERGLOW_ENABLE = yes | |||
endif | |||
ifeq ($(findstring na,$(HELIX)), na) | |||
LED_ANIMATIONS = no | |||
endif | |||
ifeq ($(findstring ios,$(HELIX)), ios) | |||
IOS_DEVICE_ENABLE = yes | |||
endif | |||
$(eval $(call HELIX_CUSTOMISE_MSG)) | |||
$(info ) | |||
endif | |||
# Uncomment these for checking | |||
# jp: コンパイル時にカスタマイズの状態を表示したい時はコメントをはずします。 | |||
# $(eval $(call HELIX_CUSTOMISE_MSG)) | |||
# $(info ) | |||
ifneq ($(strip $(HELIX_ROWS)), 4) | |||
ifneq ($(strip $(HELIX_ROWS)), 5) | |||
$(error HELIX_ROWS = $(strip $(HELIX_ROWS)) is unexpected value) | |||
endif | |||
endif | |||
OPT_DEFS += -DHELIX_ROWS=$(strip $(HELIX_ROWS)) | |||
ifeq ($(strip $(LED_BACK_ENABLE)), yes) | |||
RGBLIGHT_ENABLE = yes | |||
OPT_DEFS += -DRGBLED_BACK | |||
ifeq ($(strip $(LED_UNDERGLOW_ENABLE)), yes) | |||
$(eval $(call HELIX_CUSTOMISE_MSG)) | |||
$(error LED_BACK_ENABLE and LED_UNDERGLOW_ENABLE both 'yes') | |||
endif | |||
else ifeq ($(strip $(LED_UNDERGLOW_ENABLE)), yes) | |||
RGBLIGHT_ENABLE = yes | |||
else | |||
RGBLIGHT_ENABLE = no | |||
endif | |||
ifeq ($(strip $(IOS_DEVICE_ENABLE)), yes) | |||
OPT_DEFS += -DIOS_DEVICE_ENABLE | |||
endif | |||
ifeq ($(strip $(LED_ANIMATIONS)), yes) | |||
OPT_DEFS += -DLED_ANIMATIONS | |||
endif | |||
ifeq ($(strip $(OLED_ENABLE)), yes) | |||
OPT_DEFS += -DOLED_ENABLE | |||
endif | |||
ifeq ($(strip $(LOCAL_GLCDFONT)), yes) | |||
OPT_DEFS += -DLOCAL_GLCDFONT | |||
endif | |||
ifeq ($(strip $(Link_Time_Optimization)),yes) | |||
EXTRAFLAGS += -flto -DUSE_Link_Time_Optimization | |||
endif | |||
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE | |||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend | |||
# IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone) | |||
# Uncomment these for debugging | |||
# $(info -- RGBLIGHT_ENABLE=$(RGBLIGHT_ENABLE)) | |||
# $(info -- OPT_DEFS=$(OPT_DEFS)) | |||
# $(info ) | |||
# convert Helix-specific options (that represent combinations of standard options) | |||
# into QMK standard options. | |||
include $(strip $(KEYBOARD_LOCAL_FEATURES_MK)) |
@ -1,126 +1,25 @@ | |||
# Build Options | |||
# QMK Standard Build Options | |||
# change to "no" to disable the options, or define them in the Makefile in | |||
# the appropriate keymap folder that will get included automatically | |||
# | |||
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) | |||
MOUSEKEY_ENABLE = no # Mouse keys(+4700) | |||
EXTRAKEY_ENABLE = no # Audio control and System control(+450) | |||
CONSOLE_ENABLE = no # Console for debug(+400) | |||
COMMAND_ENABLE = no # Commands for debug and configuration | |||
NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work | |||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality | |||
MIDI_ENABLE = no # MIDI controls | |||
AUDIO_ENABLE = no # Audio output on port C6 | |||
UNICODE_ENABLE = no # Unicode | |||
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID | |||
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. | |||
SWAP_HANDS_ENABLE = no # Enable one-hand typing | |||
define HELIX_CUSTOMISE_MSG | |||
$(info Helix customize) | |||
$(info - OLED_ENABLE=$(OLED_ENABLE)) | |||
$(info - LED_BACK_ENABLE=$(LED_BACK_ENABLE)) | |||
$(info - LED_UNDERGLOW_ENABLE=$(LED_UNDERGLOW_ENABLE)) | |||
$(info - LED_ANIMATION=$(LED_ANIMATIONS)) | |||
$(info - IOS_DEVICE_ENABLE=$(IOS_DEVICE_ENABLE)) | |||
endef | |||
# See TOP/keyboards/helix/rules.mk for a list of options that can be set. | |||
# See TOP/docs/config_options.md for more information. | |||
# | |||
LINK_TIME_OPTIMIZATION_ENABLE = no # if firmware size over limit, try this option | |||
# Helix keyboard customize | |||
# you can edit follows 7 Variables | |||
# jp: 以下の7つの変数を必要に応じて編集します。 | |||
HELIX_ROWS = 5 # Helix Rows is 4 or 5 | |||
# Helix Spacific Build Options | |||
# you can uncomment and edit follows 7 Variables | |||
# jp: 以下の7つの変数を必要に応じて編集し、コメントアウトをはずします。 | |||
# HELIX_ROWS = 5 # Helix Rows is 4 or 5 | |||
OLED_ENABLE = yes # OLED_ENABLE | |||
LOCAL_GLCDFONT = no # use each keymaps "helixfont.h" insted of "common/glcdfont.c" | |||
# 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_UNDERGLOW_ENABLE = no # LED underglow (Enable WS2812 RGB underlight.) | |||
LED_ANIMATIONS = yes # LED animations | |||
IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone) | |||
Link_Time_Optimization = no # if firmware size over limit, try this option | |||
#### LED_BACK_ENABLE and LED_UNDERGLOW_ENABLE. | |||
#### Do not enable these with audio at the same time. | |||
### Helix keyboard 'default' keymap: convenient command line option | |||
## make HELIX=<options> helix:defualt | |||
## option= oled | back | under | na | ios | |||
## ex. | |||
## make HELIX=oled helix:defualt | |||
## make HELIX=oled,back helix:defualt | |||
## make HELIX=oled,under helix:defualt | |||
## make HELIX=oled,back,na helix:defualt | |||
## make HELIX=oled,back,ios helix:defualt | |||
## | |||
ifneq ($(strip $(HELIX)),) | |||
ifeq ($(findstring oled,$(HELIX)), oled) | |||
OLED_ENABLE = yes | |||
endif | |||
ifeq ($(findstring back,$(HELIX)), back) | |||
LED_BACK_ENABLE = yes | |||
else ifeq ($(findstring under,$(HELIX)), under) | |||
LED_UNDERGLOW_ENABLE = yes | |||
endif | |||
ifeq ($(findstring na,$(HELIX)), na) | |||
LED_ANIMATIONS = no | |||
endif | |||
ifeq ($(findstring ios,$(HELIX)), ios) | |||
IOS_DEVICE_ENABLE = yes | |||
endif | |||
$(eval $(call HELIX_CUSTOMISE_MSG)) | |||
$(info ) | |||
endif | |||
# Uncomment these for checking | |||
# jp: コンパイル時にカスタマイズの状態を表示したい時はコメントをはずします。 | |||
# $(eval $(call HELIX_CUSTOMISE_MSG)) | |||
# $(info ) | |||
ifneq ($(strip $(HELIX_ROWS)), 4) | |||
ifneq ($(strip $(HELIX_ROWS)), 5) | |||
$(error HELIX_ROWS = $(strip $(HELIX_ROWS)) is unexpected value) | |||
endif | |||
endif | |||
OPT_DEFS += -DHELIX_ROWS=$(strip $(HELIX_ROWS)) | |||
ifeq ($(strip $(LED_BACK_ENABLE)), yes) | |||
RGBLIGHT_ENABLE = yes | |||
OPT_DEFS += -DRGBLED_BACK | |||
ifeq ($(strip $(LED_UNDERGLOW_ENABLE)), yes) | |||
$(eval $(call HELIX_CUSTOMISE_MSG)) | |||
$(error LED_BACK_ENABLE and LED_UNDERGLOW_ENABLE both 'yes') | |||
endif | |||
else ifeq ($(strip $(LED_UNDERGLOW_ENABLE)), yes) | |||
RGBLIGHT_ENABLE = yes | |||
else | |||
RGBLIGHT_ENABLE = no | |||
endif | |||
ifeq ($(strip $(IOS_DEVICE_ENABLE)), yes) | |||
OPT_DEFS += -DIOS_DEVICE_ENABLE | |||
endif | |||
ifeq ($(strip $(LED_ANIMATIONS)), yes) | |||
OPT_DEFS += -DLED_ANIMATIONS | |||
endif | |||
ifeq ($(strip $(OLED_ENABLE)), yes) | |||
OPT_DEFS += -DOLED_ENABLE | |||
endif | |||
ifeq ($(strip $(LOCAL_GLCDFONT)), yes) | |||
OPT_DEFS += -DLOCAL_GLCDFONT | |||
endif | |||
ifeq ($(strip $(Link_Time_Optimization)),yes) | |||
EXTRAFLAGS += -flto -DUSE_Link_Time_Optimization | |||
endif | |||
# IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone) | |||
SRC += led_test_init.c | |||
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE | |||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend | |||
# Uncomment these for debugging | |||
# $(info -- RGBLIGHT_ENABLE=$(RGBLIGHT_ENABLE)) | |||
# $(info -- OPT_DEFS=$(OPT_DEFS)) | |||
# $(info ) | |||
# convert Helix-specific options (that represent combinations of standard options) | |||
# into QMK standard options. | |||
include $(strip $(KEYBOARD_LOCAL_FEATURES_MK)) |
@ -1,121 +1,24 @@ | |||
# Build Options | |||
# QMK Standard Build Options | |||
# change to "no" to disable the options, or define them in the Makefile in | |||
# the appropriate keymap folder that will get included automatically | |||
# | |||
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) | |||
MOUSEKEY_ENABLE = no # Mouse keys(+4700) | |||
EXTRAKEY_ENABLE = no # Audio control and System control(+450) | |||
CONSOLE_ENABLE = no # Console for debug(+400) | |||
COMMAND_ENABLE = no # Commands for debug and configuration | |||
NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work | |||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality | |||
MIDI_ENABLE = no # MIDI controls | |||
AUDIO_ENABLE = no # Audio output on port C6 | |||
UNICODE_ENABLE = no # Unicode | |||
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID | |||
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. | |||
SWAP_HANDS_ENABLE = no # Enable one-hand typing | |||
define HELIX_CUSTOMISE_MSG | |||
$(info Helix customize) | |||
$(info - OLED_ENABLE=$(OLED_ENABLE)) | |||
$(info - LED_BACK_ENABLE=$(LED_BACK_ENABLE)) | |||
$(info - LED_UNDERGLOW_ENABLE=$(LED_UNDERGLOW_ENABLE)) | |||
$(info - LED_ANIMATION=$(LED_ANIMATIONS)) | |||
$(info - IOS_DEVICE_ENABLE=$(IOS_DEVICE_ENABLE)) | |||
endef | |||
# See TOP/keyboards/helix/rules.mk for a list of options that can be set. | |||
# See TOP/docs/config_options.md for more information. | |||
# | |||
LINK_TIME_OPTIMIZATION_ENABLE = no # if firmware size over limit, try this option | |||
AUTO_SHIFT_ENABLE = yes | |||
# Helix keyboard customize | |||
# you can edit follows 7 Variables | |||
# jp: 以下の7つの変数を必要に応じて編集します。 | |||
# Helix Spacific Build Options | |||
# you can uncomment and edit follows 7 Variables | |||
# jp: 以下の7つの変数を必要に応じて編集し、コメントアウトをはずします。 | |||
HELIX_ROWS = 4 # Helix Rows is 4 or 5 | |||
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.) | |||
# 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.) | |||
LED_ANIMATIONS = no # LED animations | |||
IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone) | |||
#### LED_BACK_ENABLE and LED_UNDERGLOW_ENABLE. | |||
#### Do not enable these with audio at the same time. | |||
### Helix keyboard 'default' keymap: convenient command line option | |||
## make HELIX=<options> helix:defualt | |||
## option= oled | back | under | na | ios | |||
## ex. | |||
## make HELIX=oled helix:defualt | |||
## make HELIX=oled,back helix:defualt | |||
## make HELIX=oled,under helix:defualt | |||
## make HELIX=oled,back,na helix:defualt | |||
## make HELIX=oled,back,ios helix:defualt | |||
## | |||
ifneq ($(strip $(HELIX)),) | |||
ifeq ($(findstring oled,$(HELIX)), oled) | |||
OLED_ENABLE = yes | |||
endif | |||
ifeq ($(findstring back,$(HELIX)), back) | |||
LED_BACK_ENABLE = yes | |||
else ifeq ($(findstring under,$(HELIX)), under) | |||
LED_UNDERGLOW_ENABLE = yes | |||
endif | |||
ifeq ($(findstring na,$(HELIX)), na) | |||
LED_ANIMATIONS = no | |||
endif | |||
ifeq ($(findstring ios,$(HELIX)), ios) | |||
IOS_DEVICE_ENABLE = yes | |||
endif | |||
$(eval $(call HELIX_CUSTOMISE_MSG)) | |||
$(info ) | |||
endif | |||
# Uncomment these for checking | |||
# jp: コンパイル時にカスタマイズの状態を表示したい時はコメントをはずします。 | |||
# $(eval $(call HELIX_CUSTOMISE_MSG)) | |||
# $(info ) | |||
ifneq ($(strip $(HELIX_ROWS)), 4) | |||
ifneq ($(strip $(HELIX_ROWS)), 5) | |||
$(error HELIX_ROWS = $(strip $(HELIX_ROWS)) is unexpected value) | |||
endif | |||
endif | |||
OPT_DEFS += -DHELIX_ROWS=$(strip $(HELIX_ROWS)) | |||
ifeq ($(strip $(LED_BACK_ENABLE)), yes) | |||
RGBLIGHT_ENABLE = yes | |||
OPT_DEFS += -DRGBLED_BACK | |||
ifeq ($(strip $(LED_UNDERGLOW_ENABLE)), yes) | |||
$(eval $(call HELIX_CUSTOMISE_MSG)) | |||
$(error LED_BACK_ENABLE and LED_UNDERGLOW_ENABLE both 'yes') | |||
endif | |||
else ifeq ($(strip $(LED_UNDERGLOW_ENABLE)), yes) | |||
RGBLIGHT_ENABLE = yes | |||
else | |||
RGBLIGHT_ENABLE = no | |||
endif | |||
ifeq ($(strip $(IOS_DEVICE_ENABLE)), yes) | |||
OPT_DEFS += -DIOS_DEVICE_ENABLE | |||
endif | |||
ifeq ($(strip $(LED_ANIMATIONS)), yes) | |||
OPT_DEFS += -DLED_ANIMATIONS | |||
endif | |||
ifeq ($(strip $(OLED_ENABLE)), yes) | |||
OPT_DEFS += -DOLED_ENABLE | |||
endif | |||
ifeq ($(strip $(LOCAL_GLCDFONT)), yes) | |||
OPT_DEFS += -DLOCAL_GLCDFONT | |||
endif | |||
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE | |||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend | |||
AUTO_SHIFT_ENABLE = yes | |||
# IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone) | |||
# Uncomment these for debugging | |||
# $(info -- RGBLIGHT_ENABLE=$(RGBLIGHT_ENABLE)) | |||
# $(info -- OPT_DEFS=$(OPT_DEFS)) | |||
# $(info ) | |||
# convert Helix-specific options (that represent combinations of standard options) | |||
# into QMK standard options. | |||
include $(strip $(KEYBOARD_LOCAL_FEATURES_MK)) |
@ -0,0 +1,98 @@ | |||
# | |||
# local_features.mk contains post-processing rules for the Helix keyboard. | |||
# | |||
# Post-processing rules convert keyboard-specific shortcuts (that represent | |||
# combinations of standard options) into QMK standard options. | |||
# | |||
define HELIX_CUSTOMISE_MSG | |||
$(info Helix Spacific Build Options) | |||
$(info - OLED_ENABLE = $(OLED_ENABLE)) | |||
$(info - LED_BACK_ENABLE = $(LED_BACK_ENABLE)) | |||
$(info - LED_UNDERGLOW_ENABLE = $(LED_UNDERGLOW_ENABLE)) | |||
$(info - LED_ANIMATION = $(LED_ANIMATIONS)) | |||
$(info - IOS_DEVICE_ENABLE = $(IOS_DEVICE_ENABLE)) | |||
$(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) | |||
OLED_ENABLE = yes | |||
endif | |||
ifeq ($(findstring back,$(HELIX)), back) | |||
LED_BACK_ENABLE = yes | |||
else ifeq ($(findstring under,$(HELIX)), under) | |||
LED_UNDERGLOW_ENABLE = yes | |||
endif | |||
ifeq ($(findstring na,$(HELIX)), na) | |||
LED_ANIMATIONS = no | |||
endif | |||
ifeq ($(findstring no_ani,$(HELIX)), no_ani) | |||
LED_ANIMATIONS = no | |||
endif | |||
ifeq ($(findstring ios,$(HELIX)), ios) | |||
IOS_DEVICE_ENABLE = yes | |||
endif | |||
ifeq ($(findstring verbose,$(HELIX)), verbose) | |||
SHOW_VERBOSE_INFO = yes | |||
endif | |||
SHOW_HELIX_OPTIONS = yes | |||
endif | |||
######## | |||
# convert Helix-specific options (that represent combinations of standard options) | |||
# into QMK standard options. | |||
ifneq ($(strip $(HELIX_ROWS)), 4) | |||
ifneq ($(strip $(HELIX_ROWS)), 5) | |||
$(error HELIX_ROWS = $(strip $(HELIX_ROWS)) is unexpected value) | |||
endif | |||
endif | |||
OPT_DEFS += -DHELIX_ROWS=$(strip $(HELIX_ROWS)) | |||
ifeq ($(strip $(LED_BACK_ENABLE)), yes) | |||
RGBLIGHT_ENABLE = yes | |||
OPT_DEFS += -DRGBLED_BACK | |||
ifeq ($(strip $(LED_UNDERGLOW_ENABLE)), yes) | |||
$(eval $(call HELIX_CUSTOMISE_MSG)) | |||
$(error LED_BACK_ENABLE and LED_UNDERGLOW_ENABLE both 'yes') | |||
endif | |||
else ifeq ($(strip $(LED_UNDERGLOW_ENABLE)), yes) | |||
RGBLIGHT_ENABLE = yes | |||
endif | |||
ifeq ($(strip $(IOS_DEVICE_ENABLE)), yes) | |||
OPT_DEFS += -DIOS_DEVICE_ENABLE | |||
endif | |||
ifeq ($(strip $(LED_ANIMATIONS)), yes) | |||
OPT_DEFS += -DLED_ANIMATIONS | |||
endif | |||
ifeq ($(strip $(OLED_ENABLE)), yes) | |||
OPT_DEFS += -DOLED_ENABLE | |||
endif | |||
ifeq ($(strip $(LOCAL_GLCDFONT)), yes) | |||
OPT_DEFS += -DLOCAL_GLCDFONT | |||
endif | |||
ifneq ($(strip $(SHOW_HELIX_OPTIONS)),) | |||
$(eval $(call HELIX_CUSTOMISE_MSG)) | |||
ifneq ($(strip $(SHOW_VERBOSE_INFO)),) | |||
$(info -- RGBLIGHT_ENABLE = $(RGBLIGHT_ENABLE)) | |||
$(info -- OPT_DEFS = $(OPT_DEFS)) | |||
$(info -- LINK_TIME_OPTIMIZATION_ENABLE = $(LINK_TIME_OPTIMIZATION_ENABLE)) | |||
$(info ) | |||
endif | |||
endif |
@ -0,0 +1 @@ | |||
LED_BACK_ENABLE = yes |
@ -0,0 +1 @@ | |||
OLED_ENABLE = yes |
@ -0,0 +1 @@ | |||
LED_UNDERGLOW_ENABLE = yes |
@ -1,3 +1,21 @@ | |||
KEYBOARD_LOCAL_FEATURES_MK := $(dir $(lastword $(MAKEFILE_LIST)))local_features.mk | |||
SRC += local_drivers/i2c.c | |||
SRC += local_drivers/serial.c | |||
SRC += local_drivers/ssd1306.c | |||
KEYBOARD_PATHS += $(HELIX_TOP_DIR)/local_drivers | |||
CUSTOM_MATRIX = yes | |||
SRC += rev2/matrix.c | |||
SRC += rev2/split_util.c | |||
SRC += rev2/split_scomm.c | |||
# Helix Spacific Build Options default values | |||
HELIX_ROWS = 5 # Helix Rows is 4 or 5 | |||
OLED_ENABLE = no # 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.) | |||
LED_ANIMATIONS = yes # LED animations | |||
IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone) |
@ -1,8 +0,0 @@ | |||
//// #error rev2 serial config | |||
#ifndef SOFT_SERIAL_PIN | |||
/* Soft Serial defines */ | |||
#define SOFT_SERIAL_PIN D2 | |||
#define SERIAL_USE_MULTI_TRANSACTION | |||
#endif |
@ -0,0 +1 @@ | |||
OLED_ENABLE = yes |
@ -0,0 +1 @@ | |||
LED_UNDERGLOW_ENABLE = yes |
@ -1,75 +1,37 @@ | |||
SRC += i2c.c | |||
SRC += serial.c | |||
SRC += ssd1306.c | |||
# MCU name | |||
MCU = atmega32u4 | |||
# Processor frequency. | |||
# This will define a symbol, F_CPU, in all source code files equal to the | |||
# processor frequency in Hz. You can then use this symbol in your source code to | |||
# calculate timings. Do NOT tack on a 'UL' at the end, this will be done | |||
# automatically to create a 32-bit value in your source code. | |||
# | |||
# This will be an integer division of F_USB below, as it is sourced by | |||
# F_USB after it has run through any CPU prescalers. Note that this value | |||
# does not *change* the processor frequency - it should merely be updated to | |||
# reflect the processor speed set externally so that the code can use accurate | |||
# software delays. | |||
F_CPU = 16000000 | |||
# | |||
# LUFA specific | |||
# | |||
# Target architecture (see library "Board Types" documentation). | |||
ARCH = AVR8 | |||
# Input clock frequency. | |||
# This will define a symbol, F_USB, in all source code files equal to the | |||
# input clock frequency (before any prescaling is performed) in Hz. This value may | |||
# differ from F_CPU if prescaling is used on the latter, and is required as the | |||
# raw input clock is fed directly to the PLL sections of the AVR for high speed | |||
# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL' | |||
# at the end, this will be done automatically to create a 32-bit value in your | |||
# source code. | |||
# | |||
# If no clock division is performed on the input clock inside the AVR (via the | |||
# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU. | |||
F_USB = $(F_CPU) | |||
# Bootloader selection | |||
# Teensy halfkay | |||
# Pro Micro caterina | |||
# Atmel DFU atmel-dfu | |||
# LUFA DFU lufa-dfu | |||
# QMK DFU qmk-dfu | |||
# atmega32a bootloadHID | |||
# ATmega32A bootloadHID | |||
# ATmega328P USBasp | |||
BOOTLOADER = caterina | |||
# Interrupt driven control endpoint task(+60) | |||
OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT | |||
HELIX_TOP_DIR := $(patsubst %/,%,$(dir $(lastword $(MAKEFILE_LIST)))) | |||
# Build Options | |||
# QMK Standard Build Options | |||
# change to "no" to disable the options, or define them in the Makefile in | |||
# the appropriate keymap folder that will get included automatically | |||
# | |||
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) | |||
MOUSEKEY_ENABLE = no # Mouse keys(+4700) | |||
EXTRAKEY_ENABLE = no # Audio control and System control(+450) | |||
CONSOLE_ENABLE = no # Console for debug(+400) | |||
COMMAND_ENABLE = no # Commands for debug and configuration | |||
NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work | |||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality | |||
MIDI_ENABLE = no # MIDI controls | |||
AUDIO_ENABLE = no # Audio output on port C6 | |||
UNICODE_ENABLE = no # Unicode | |||
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID | |||
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. | |||
SUBPROJECT_rev1 = no | |||
USE_I2C = yes | |||
# See TOP/docs/config_options.md for more information. | |||
# | |||
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) | |||
MOUSEKEY_ENABLE = no # Mouse keys(+4700) | |||
EXTRAKEY_ENABLE = no # Audio control and System control(+450) | |||
CONSOLE_ENABLE = no # Console for debug(+400) | |||
COMMAND_ENABLE = no # Commands for debug and configuration | |||
NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work | |||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality | |||
MIDI_ENABLE = no # MIDI controls | |||
AUDIO_ENABLE = no # Audio output on port C6 | |||
UNICODE_ENABLE = no # Unicode | |||
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID | |||
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. | |||
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE | |||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend | |||
CUSTOM_MATRIX = yes | |||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend | |||
DEFAULT_FOLDER = helix/rev2 |