summary refs log tree commit diff
diff options
context:
space:
mode:
authorQMK Bot <hello@qmk.fm>2022-03-02 11:15:57 +0000
committerQMK Bot <hello@qmk.fm>2022-03-02 11:15:57 +0000
commitd75ce4862b4fac0605a3757c8e03be8278219cd3 (patch)
tree1a4b923cb71dd0e2920b9c73d5498c42c06c6a6a
parent9d7f6d1089f886df363a0268451448e33addb988 (diff)
parente73f8e942c8f0aa4b471669436d16ad785b63a38 (diff)
Merge remote-tracking branch 'origin/master' into develop
-rw-r--r--keyboards/helix/rev2/config.h4
-rw-r--r--keyboards/helix/rev2/keymaps/default/keymap.c8
-rw-r--r--keyboards/helix/rev2/keymaps/default/rules.mk2
-rw-r--r--keyboards/helix/rev2/keymaps/five_rows/keymap.c10
-rw-r--r--keyboards/helix/rev2/keymaps/five_rows/rules.mk2
-rw-r--r--keyboards/helix/rev2/keymaps/led_test/rules.mk2
-rw-r--r--keyboards/helix/rev2/local_features.mk134
-rw-r--r--keyboards/helix/rev2/override_helix_options.mk44
-rw-r--r--keyboards/helix/rev2/rev2.c15
-rw-r--r--keyboards/helix/rev2/rev2.h15
-rw-r--r--keyboards/helix/rev2/rules.mk2
11 files changed, 124 insertions, 114 deletions
diff --git a/keyboards/helix/rev2/config.h b/keyboards/helix/rev2/config.h
index 041acee215..9b813b347a 100644
--- a/keyboards/helix/rev2/config.h
+++ b/keyboards/helix/rev2/config.h
@@ -1,6 +1,7 @@
 /*
 Copyright 2012 Jun Wako <wakojun@gmail.com>
 Copyright 2015 Jack Humbert
+Copyright 2018 MakotoKurauchi
 
 This program is free software: you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
@@ -28,6 +29,9 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define TAPPING_FORCE_HOLD
 #define TAPPING_TERM 100
 
+#define SPLIT_LAYER_STATE_ENABLE
+#define SPLIT_LED_STATE_ENABLE
+
 /* Use I2C or Serial */
 #define USE_SERIAL
 //#define USE_MATRIX_I2C
diff --git a/keyboards/helix/rev2/keymaps/default/keymap.c b/keyboards/helix/rev2/keymaps/default/keymap.c
index 88820dac8a..c3994d3184 100644
--- a/keyboards/helix/rev2/keymaps/default/keymap.c
+++ b/keyboards/helix/rev2/keymaps/default/keymap.c
@@ -15,14 +15,6 @@
  */
 
 #include QMK_KEYBOARD_H
-#include "bootloader.h"
-#ifdef PROTOCOL_LUFA
-#include "lufa.h"
-#include "split_util.h"
-#endif
-#ifdef AUDIO_ENABLE
-  #include "audio.h"
-#endif
 
 // Each layer gets a name for readability, which is then used in the keymap matrix below.
 // The underscores don't mean anything - you can have a layer called STUFF or any other name.
diff --git a/keyboards/helix/rev2/keymaps/default/rules.mk b/keyboards/helix/rev2/keymaps/default/rules.mk
index 2aa62bc830..508c4ba40e 100644
--- a/keyboards/helix/rev2/keymaps/default/rules.mk
+++ b/keyboards/helix/rev2/keymaps/default/rules.mk
@@ -1,3 +1,5 @@
+SPLIT_KEYBOARD = yes
+
 LTO_ENABLE = yes  # if firmware size over limit, try this option
 
 # Helix Spacific Build Options
diff --git a/keyboards/helix/rev2/keymaps/five_rows/keymap.c b/keyboards/helix/rev2/keymaps/five_rows/keymap.c
index 16eff49244..2b3f6233c1 100644
--- a/keyboards/helix/rev2/keymaps/five_rows/keymap.c
+++ b/keyboards/helix/rev2/keymaps/five_rows/keymap.c
@@ -15,15 +15,7 @@
  */
 
 #include QMK_KEYBOARD_H
-#include "util.h"
-#include "bootloader.h"
-#ifdef PROTOCOL_LUFA
-#include "lufa.h"
-#include "split_util.h"
-#endif
-#ifdef CONSOLE_ENABLE
-  #include <print.h>
-#endif
+
 #include "layer_number.h"
 
 extern keymap_config_t keymap_config;
diff --git a/keyboards/helix/rev2/keymaps/five_rows/rules.mk b/keyboards/helix/rev2/keymaps/five_rows/rules.mk
index e4d0390c3a..60dc4b61a6 100644
--- a/keyboards/helix/rev2/keymaps/five_rows/rules.mk
+++ b/keyboards/helix/rev2/keymaps/five_rows/rules.mk
@@ -1,3 +1,5 @@
+ SPLIT_KEYBOARD = yes
+
  CONSOLE_ENABLE = no        # Console for debug
  COMMAND_ENABLE = no        # Commands for debug and configuration
  # CONSOLE_ENABLE and COMMAND_ENABLE
diff --git a/keyboards/helix/rev2/keymaps/led_test/rules.mk b/keyboards/helix/rev2/keymaps/led_test/rules.mk
index 3ab27acfc2..1dc12bb1cb 100644
--- a/keyboards/helix/rev2/keymaps/led_test/rules.mk
+++ b/keyboards/helix/rev2/keymaps/led_test/rules.mk
@@ -5,6 +5,8 @@
 #   See TOP/keyboards/helix/rules.mk for a list of options that can be set.
 #   See TOP/docs/config_options.md for more information.
 #
+SPLIT_KEYBOARD = yes
+
 LTO_ENABLE = no  # if firmware size over limit, try this option
 
 # Helix Spacific Build Options
diff --git a/keyboards/helix/rev2/local_features.mk b/keyboards/helix/rev2/local_features.mk
index 8c3ac9c3c1..1484312064 100644
--- a/keyboards/helix/rev2/local_features.mk
+++ b/keyboards/helix/rev2/local_features.mk
@@ -6,40 +6,24 @@
 #
 
 KEYBOARD_LOCAL_FEATURES_MK :=
-
-define HELIX_CUSTOMISE_MSG
-  $(info Helix Spacific Build Options)
-  $(info -  OLED_ENABLE          = $(OLED_ENABLE))
-  $(info -  OLED_SELECT          = $(OLED_SELECT))
-  $(info -  LED_BACK_ENABLE      = $(LED_BACK_ENABLE))
-  $(info -  LED_UNDERGLOW_ENABLE = $(LED_UNDERGLOW_ENABLE))
-  $(info -  LED_ANIMATIONS       = $(LED_ANIMATIONS))
-  $(info -  IOS_DEVICE_ENABLE    = $(IOS_DEVICE_ENABLE))
-  $(info )
-endef
-
-define HELIX_HELP_MSG
-  $(info Helix keyboard convenient command line option)
-  $(info -    make HELIX=<options> helix:<keymap>)
-  $(info -    option= oled | core-oled | local-oled | no-oled )
-  $(info -            back | no-back   | under      | na   | no-ani )
-  $(info -             ios | sc        | split-common | scan | verbose)
-  $(info -    eg.)
-  $(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)),)
+-include $(strip $(HELIX_TOP_DIR)/pico/override_helix_options.mk) ## File dedicated to maintenance
+
+# Parse 'HELIX=xx,yy,zz' option
+ifneq ($(strip $(HELIX)),)
+    # make HELIX=ios helix/pico:AKEYMAP
+    # make HELIX=no-ani helix/pico:AKEYMAP
+    # make HELIX=no-oled helix/pico:AKEYMAP
+    # make HELIX=ios,no-ani,no-oled helix/pico:AKEYMAP
     define HELIX_OPTION_PARSE
-      # parce 'oled' 'back' 'under' 'ios' etc.
-      $(if $(SHOW_PARCE),$(info parse .$1.))  #debug
+        # parce 'no-ani' 'ios' 'no-oled'
+        $(if $(SHOW_PARCE),$(info parse .$1.))  #debug
+        $(if $(HELIX_OVERRIDE_PARSE),$(call HELIX_OVERRIDE_PARSE,$1))
 
-      ifeq ($(strip $1),help)
-        HELP=on
+      ifeq ($(strip $1),ios)
+        IOS_DEVICE_ENABLE = yes
+      endif
+      ifneq ($(filter na no_ani no-ani,$(strip $1)),)
+        LED_ANIMATIONS = no
       endif
       ifneq ($(filter nooled no-oled,$(strip $1)),)
         OLED_ENABLE = no
@@ -47,68 +31,17 @@ endef
       ifeq ($(strip $1),oled)
         OLED_ENABLE = yes
       endif
-      ifneq ($(filter core-oled core_oled newoled new-oled olednew oled-new,$(strip $1)),)
-        OLED_ENABLE = yes
-        OLED_SELECT = core
-      endif
-      ifneq ($(filter local-oled local_oled oldoled old-oled oledold oled-old,$(strip $1)),)
-        OLED_ENABLE = yes
-        OLED_SELECT = local
-      endif
-      ifneq ($(filter noback no-back nounder no-under,$(strip $1)),)
-        LED_BACK_ENABLE = no
-        LED_UNDERGLOW_ENABLE = no
-      endif
-      ifeq ($(strip $1),back)
-        LED_BACK_ENABLE = yes
-        LED_UNDERGLOW_ENABLE = no
-      endif
-      ifeq ($(strip $1),under)
-        LED_BACK_ENABLE = no
-        LED_UNDERGLOW_ENABLE = yes
-      endif
-      ifneq ($(filter na no_ani no-ani,$(strip $1)),)
-        LED_ANIMATIONS = no
-      endif
-      ifeq ($(strip $1),ios)
-        IOS_DEVICE_ENABLE = yes
-      endif
-      ifneq ($(filter sc split-common split_common,$(strip $1)),)
-        SPLIT_KEYBOARD = yes
-      endif
-      ifneq ($(filter nosc no-sc no-split-common no-split_common,$(strip $1)),)
-        SPLIT_KEYBOARD = no
-      endif
-      ifeq ($(strip $1),scan)
-        # 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 ($(strip $1),verbose)
-        SHOW_VERBOSE_INFO = yes
-      endif
-      ifeq ($(strip $1),lto)
-        LTO_ENABLE = yes
-      endif
-      ifneq ($(filter nolto no-lto no_lto,$(strip $1)),)
-        LTO_ENABLE = no
-      endif
     endef # end of HELIX_OPTION_PARSE
 
     COMMA=,
     $(eval $(foreach A_OPTION_NAME,$(subst $(COMMA), ,$(HELIX)),  \
         $(call HELIX_OPTION_PARSE,$(A_OPTION_NAME))))
 
-    ifeq ($(strip $(HELP)),on)
-       $(eval $(call HELIX_HELP_MSG))
-       $(error )
-    endif
     SHOW_HELIX_OPTIONS = yes
-  endif
+endif
 
 ifneq ($(strip $(SPLIT_KEYBOARD)), yes)
+  # In the very near future, all keymaps will be compatible with split_common and this block will be removed.
   SRC += local_drivers/serial.c
   KEYBOARD_PATHS += $(HELIX_TOP_DIR)/local_drivers
 
@@ -139,7 +72,6 @@ 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)
@@ -164,6 +96,8 @@ ifeq ($(strip $(OLED_ENABLE)), yes)
            OPT_DEFS += -DOLED_FONT_H=\"common/glcdfont.c\"
         endif
     else
+
+        # In the very near future, all keymaps will be compatible with QMK standard oled_driver and this block will be removed.
         ifeq ($(strip $(SPLIT_KEYBOARD)), yes)
             $(info Helix/rev2: The following combinations are not supported.)
             $(info - SPLIT_KEYBOARD = $(SPLIT_KEYBOARD)) # yes
@@ -188,15 +122,21 @@ ifeq ($(strip $(OLED_ENABLE)), yes)
 endif
 
 ifneq ($(strip $(SHOW_HELIX_OPTIONS)),)
-  $(eval $(call HELIX_CUSTOMISE_MSG))
-  ifneq ($(strip $(SHOW_VERBOSE_INFO)),)
-     $(info -- RGBLIGHT_ENABLE    = $(RGBLIGHT_ENABLE))
-     $(info -- OLED_DRIVER        = $(OLED_DRIVER))
-     $(info -- OLED_LOCAL_ENABLE  = $(OLED_LOCAL_ENABLE))
-     $(info -- CONSOLE_ENABLE     = $(CONSOLE_ENABLE))
-     $(info -- OPT_DEFS           = $(OPT_DEFS))
-     $(info -- SPLIT_KEYBOARD     = $(SPLIT_KEYBOARD))
-     $(info -- LTO_ENABLE         = $(LTO_ENABLE))
-     $(info )
-  endif
+  $(info Helix Spacific Build Options)
+  $(info -  OLED_ENABLE          = $(OLED_ENABLE))
+  $(info -  OLED_SELECT          = $(OLED_SELECT))
+  $(info -  LED_BACK_ENABLE      = $(LED_BACK_ENABLE))
+  $(info -  LED_UNDERGLOW_ENABLE = $(LED_UNDERGLOW_ENABLE))
+  $(info -  LED_ANIMATIONS       = $(LED_ANIMATIONS))
+  $(info -  IOS_DEVICE_ENABLE    = $(IOS_DEVICE_ENABLE))
+  $(info )
+  $(info QMK Build Options)
+  $(info -- SPLIT_KEYBOARD     = $(SPLIT_KEYBOARD))
+  $(info -- RGBLIGHT_ENABLE    = $(RGBLIGHT_ENABLE))
+  $(info -- OLED_DRIVER        = $(OLED_DRIVER))
+  $(info -- OLED_LOCAL_ENABLE  = $(OLED_LOCAL_ENABLE))
+  $(info -- CONSOLE_ENABLE     = $(CONSOLE_ENABLE))
+  $(info -- OPT_DEFS           = $(OPT_DEFS))
+  $(info -- LTO_ENABLE         = $(LTO_ENABLE))
+  $(info )
 endif
diff --git a/keyboards/helix/rev2/override_helix_options.mk b/keyboards/helix/rev2/override_helix_options.mk
new file mode 100644
index 0000000000..a6d3331e80
--- /dev/null
+++ b/keyboards/helix/rev2/override_helix_options.mk
@@ -0,0 +1,44 @@
+$(info -------------------------)
+$(info override_helix_options.mk)
+$(info -------------------------)
+
+define HELIX_OVERRIDE_PARSE
+      ifeq ($(strip $1),back)
+        LED_BACK_ENABLE = yes
+        LED_UNDERGLOW_ENABLE = no
+      endif
+      ifeq ($(strip $1),under)
+        LED_BACK_ENABLE = no
+        LED_UNDERGLOW_ENABLE = yes
+      endif
+      ifneq ($(filter led-off led_off noback no-back nounder no-under,$(strip $1)),)
+        LED_BACK_ENABLE = no
+        LED_UNDERGLOW_ENABLE = no
+      endif
+      ifneq ($(filter core-oled core_oled newoled new-oled olednew oled-new,$(strip $1)),)
+        OLED_ENABLE = yes
+        OLED_SELECT = core
+      endif
+      ifneq ($(filter local-oled local_oled oldoled old-oled oledold oled-old,$(strip $1)),)
+        OLED_ENABLE = yes
+        OLED_SELECT = local
+      endif
+      ifneq ($(filter sc split-common split_common,$(strip $1)),)
+        SPLIT_KEYBOARD = yes
+      endif
+      ifneq ($(filter nosc no-sc no-split-common no-split_common,$(strip $1)),)
+        SPLIT_KEYBOARD = no
+      endif
+      ifeq ($(strip $1),scan)
+          DEBUG_MATRIX_SCAN_RATE_ENABLE = yes
+      endif
+      ifeq ($(strip $1),scan-api)
+          DEBUG_MATRIX_SCAN_RATE_ENABLE = api
+      endif
+      ifeq ($(strip $1),lto)
+          LTO_ENABLE = yes
+      endif
+      ifneq ($(filter nolto no-lto no_lto,$(strip $1)),)
+          LTO_ENABLE = no
+      endif
+endef # end of HELIX_OVERRIDE_PARSE
diff --git a/keyboards/helix/rev2/rev2.c b/keyboards/helix/rev2/rev2.c
index b92580f9f9..f579027c71 100644
--- a/keyboards/helix/rev2/rev2.c
+++ b/keyboards/helix/rev2/rev2.c
@@ -1,3 +1,18 @@
+/* Copyright 2018 MakotoKurauchi
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program 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 General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
 #include "helix.h"
 
 // Each keymap.c should use is_keyboard_master() instead of 'is_master'.
diff --git a/keyboards/helix/rev2/rev2.h b/keyboards/helix/rev2/rev2.h
index 787b6c67bb..5c7cc93d17 100644
--- a/keyboards/helix/rev2/rev2.h
+++ b/keyboards/helix/rev2/rev2.h
@@ -1,3 +1,18 @@
+/* Copyright 2018 MakotoKurauchi
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program 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 General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
 #pragma once
 
 #include "helix.h"
diff --git a/keyboards/helix/rev2/rules.mk b/keyboards/helix/rev2/rules.mk
index a31e9d9b22..5ed92ff0ad 100644
--- a/keyboards/helix/rev2/rules.mk
+++ b/keyboards/helix/rev2/rules.mk
@@ -1,5 +1,7 @@
 KEYBOARD_LOCAL_FEATURES_MK := $(dir $(lastword $(MAKEFILE_LIST)))local_features.mk
 
+# SPLIT_KEYBOARD = yes
+
 # Helix Spacific Build Options default values
 HELIX_ROWS = 5              # Helix Rows is 4 or 5
 OLED_ENABLE = yes           # OLED_ENABLE