Bläddra i källkod

Change 'helix/rev2:default' setting to use split_common (#16432)

* add licenses message to helix/rev2 files

* Minimize the processing of helix/rev2/local_features.mk

* Changed helix/rev2 default setting to use split_common

* fix helix/rev2:edvorakjp build error

* Remove unnecessary '#include' from keymap.c

* helix keymaps Workaround for build errors. five_rows_jis, fraanrosi, froggy, froggy_106, yshrsmz

* Revert "fix helix/rev2:edvorakjp build error"

This reverts commit 731dbbe15155b3efe2ff9f5ad61c7d0cf529e837.
Separated into a single PR #16433.

* Revert "Changed helix/rev2 default setting to use split_common"

This reverts commit e76dbd7762e06e0781ee004213878b1a5029fa98.

* add 'SPLIT_*_STATE_ENABLE' into helix/rev2/config.h

* Revert "helix keymaps Workaround for build errors. five_rows_jis, fraanrosi, froggy, froggy_106, yshrsmz"

This reverts commit 9b316c1c6a532f908f2ac430233089797ce7c794.

* change helix:default to use split_common

* change helix:five_rows to use split_common

* add comment into helix/rev2/rules.mk

* change helix:led_test to use split_common
Takeshi ISHII 3 år sedan
förälder
incheckning
e73f8e942c

+ 4 - 0
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

+ 0 - 8
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.

+ 2 - 0
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

+ 1 - 9
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;

+ 2 - 0
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

+ 2 - 0
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

+ 37 - 97
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

+ 44 - 0
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

+ 15 - 0
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'.

+ 15 - 0
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"

+ 2 - 0
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