aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--keyboards/helix/config.h16
-rw-r--r--keyboards/helix/helix.h5
-rw-r--r--keyboards/helix/local_drivers/i2c.c (renamed from keyboards/helix/i2c.c)0
-rw-r--r--keyboards/helix/local_drivers/i2c.h (renamed from keyboards/helix/i2c.h)0
-rw-r--r--keyboards/helix/local_drivers/serial.c (renamed from keyboards/helix/serial.c)0
-rw-r--r--keyboards/helix/local_drivers/serial.h (renamed from keyboards/helix/serial.h)0
-rw-r--r--keyboards/helix/local_drivers/ssd1306.c (renamed from keyboards/helix/ssd1306.c)0
-rw-r--r--keyboards/helix/local_drivers/ssd1306.h (renamed from keyboards/helix/ssd1306.h)0
-rw-r--r--keyboards/helix/pico/back/rules.mk1
-rw-r--r--keyboards/helix/pico/config.h10
-rw-r--r--keyboards/helix/pico/keymaps/biacco/rules.mk139
-rw-r--r--keyboards/helix/pico/keymaps/default/readme.md28
-rw-r--r--keyboards/helix/pico/keymaps/default/readme_jp.md81
-rw-r--r--keyboards/helix/pico/keymaps/default/rules.mk141
-rw-r--r--keyboards/helix/pico/keymaps/mtei/rules.mk141
-rw-r--r--keyboards/helix/pico/local_features.mk100
-rw-r--r--keyboards/helix/pico/pico.h6
-rw-r--r--keyboards/helix/pico/rules.mk17
-rw-r--r--keyboards/helix/pico/serial_config.h9
-rw-r--r--keyboards/helix/pico/under/rules.mk1
-rw-r--r--keyboards/helix/pro_micro.h362
-rw-r--r--keyboards/helix/rev1/config.h11
-rw-r--r--keyboards/helix/rev1/keymaps/OLED_sample/keymap.c4
-rw-r--r--keyboards/helix/rev1/keymaps/default/keymap.c4
-rw-r--r--keyboards/helix/rev1/rev1.h14
-rw-r--r--keyboards/helix/rev1/rules.mk7
-rw-r--r--keyboards/helix/rev2/back/oled/rules.mk1
-rw-r--r--keyboards/helix/rev2/back/rules.mk1
-rw-r--r--keyboards/helix/rev2/config.h14
-rw-r--r--keyboards/helix/rev2/keymaps/default/keymap.c4
-rw-r--r--keyboards/helix/rev2/keymaps/default/readme.md36
-rw-r--r--keyboards/helix/rev2/keymaps/default/readme_jp.md98
-rw-r--r--keyboards/helix/rev2/keymaps/default/rules.mk141
-rw-r--r--keyboards/helix/rev2/keymaps/edvorakjp/rules.mk130
-rw-r--r--keyboards/helix/rev2/keymaps/five_rows/keymap.c2
-rw-r--r--keyboards/helix/rev2/keymaps/five_rows/rules.mk144
-rw-r--r--keyboards/helix/rev2/keymaps/five_rows_jis/keymap.c2
-rw-r--r--keyboards/helix/rev2/keymaps/five_rows_jis/rules.mk137
-rw-r--r--keyboards/helix/rev2/keymaps/froggy/keymap.c2
-rw-r--r--keyboards/helix/rev2/keymaps/froggy/rules.mk131
-rw-r--r--keyboards/helix/rev2/keymaps/led_test/README.md2
-rw-r--r--keyboards/helix/rev2/keymaps/led_test/rules.mk131
-rw-r--r--keyboards/helix/rev2/keymaps/yshrsmz/keymap.c4
-rw-r--r--keyboards/helix/rev2/keymaps/yshrsmz/rules.mk129
-rw-r--r--keyboards/helix/rev2/local_features.mk98
-rw-r--r--keyboards/helix/rev2/oled/back/rules.mk1
-rw-r--r--keyboards/helix/rev2/oled/rules.mk1
-rw-r--r--keyboards/helix/rev2/oled/under/rules.mk1
-rw-r--r--keyboards/helix/rev2/rev2.h9
-rw-r--r--keyboards/helix/rev2/rules.mk18
-rw-r--r--keyboards/helix/rev2/serial_config.h8
-rw-r--r--keyboards/helix/rev2/under/oled/rules.mk1
-rw-r--r--keyboards/helix/rev2/under/rules.mk1
-rw-r--r--keyboards/helix/rules.mk76
54 files changed, 646 insertions, 1774 deletions
diff --git a/keyboards/helix/config.h b/keyboards/helix/config.h
index fbfbd3280..875312f0c 100644
--- a/keyboards/helix/config.h
+++ b/keyboards/helix/config.h
@@ -16,8 +16,7 @@ You should have received a copy of the GNU General Public License
16along with this program. If not, see <http://www.gnu.org/licenses/>. 16along with this program. If not, see <http://www.gnu.org/licenses/>.
17*/ 17*/
18 18
19#ifndef CONFIG_H 19#pragma once
20#define CONFIG_H
21 20
22#include "config_common.h" 21#include "config_common.h"
23 22
@@ -27,8 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
27// -include keyboards/helix/rev?/keymaps/MAPNAME/config.h 26// -include keyboards/helix/rev?/keymaps/MAPNAME/config.h
28// XXXX.c 27// XXXX.c
29 28
30#include <serial_config.h>
31
32// GCC include search path in qmk_firmare/keyboards/helix/ 29// GCC include search path in qmk_firmare/keyboards/helix/
33// #include "..." search starts here: 30// #include "..." search starts here:
34// #include <...> search starts here: 31// #include <...> search starts here:
@@ -38,14 +35,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
38// . 35// .
39// ./tmk_core 36// ./tmk_core
40// ...... 37// ......
41
42#ifdef USE_Link_Time_Optimization
43 // LTO has issues with macros (action_get_macro) and "functions" (fn_actions),
44 // so just disable them
45 #define NO_ACTION_MACRO
46 #define NO_ACTION_FUNCTION
47
48 #define DISABLE_LEADER
49#endif // USE_Link_Time_Optimization
50
51#endif /* CONFIG_H */
diff --git a/keyboards/helix/helix.h b/keyboards/helix/helix.h
index d73feb6bb..7dac2455d 100644
--- a/keyboards/helix/helix.h
+++ b/keyboards/helix/helix.h
@@ -1,5 +1,4 @@
1#ifndef HELIX_H 1#pragma once
2#define HELIX_H
3 2
4#ifdef KEYBOARD_helix_rev1 3#ifdef KEYBOARD_helix_rev1
5 #include "rev1.h" 4 #include "rev1.h"
@@ -12,5 +11,3 @@
12#endif 11#endif
13 12
14#include "quantum.h" 13#include "quantum.h"
15
16#endif
diff --git a/keyboards/helix/i2c.c b/keyboards/helix/local_drivers/i2c.c
index 4bee5c639..4bee5c639 100644
--- a/keyboards/helix/i2c.c
+++ b/keyboards/helix/local_drivers/i2c.c
diff --git a/keyboards/helix/i2c.h b/keyboards/helix/local_drivers/i2c.h
index 47cf6bd1b..47cf6bd1b 100644
--- a/keyboards/helix/i2c.h
+++ b/keyboards/helix/local_drivers/i2c.h
diff --git a/keyboards/helix/serial.c b/keyboards/helix/local_drivers/serial.c
index 6006ebf1b..6006ebf1b 100644
--- a/keyboards/helix/serial.c
+++ b/keyboards/helix/local_drivers/serial.c
diff --git a/keyboards/helix/serial.h b/keyboards/helix/local_drivers/serial.h
index 2e53928df..2e53928df 100644
--- a/keyboards/helix/serial.h
+++ b/keyboards/helix/local_drivers/serial.h
diff --git a/keyboards/helix/ssd1306.c b/keyboards/helix/local_drivers/ssd1306.c
index dd3290ba0..dd3290ba0 100644
--- a/keyboards/helix/ssd1306.c
+++ b/keyboards/helix/local_drivers/ssd1306.c
diff --git a/keyboards/helix/ssd1306.h b/keyboards/helix/local_drivers/ssd1306.h
index 9cf6983b7..9cf6983b7 100644
--- a/keyboards/helix/ssd1306.h
+++ b/keyboards/helix/local_drivers/ssd1306.h
diff --git a/keyboards/helix/pico/back/rules.mk b/keyboards/helix/pico/back/rules.mk
new file mode 100644
index 000000000..066fffb74
--- /dev/null
+++ b/keyboards/helix/pico/back/rules.mk
@@ -0,0 +1 @@
LED_BACK_ENABLE = yes
diff --git a/keyboards/helix/pico/config.h b/keyboards/helix/pico/config.h
index b377332ef..260560f55 100644
--- a/keyboards/helix/pico/config.h
+++ b/keyboards/helix/pico/config.h
@@ -16,8 +16,7 @@ You should have received a copy of the GNU General Public License
16along with this program. If not, see <http://www.gnu.org/licenses/>. 16along with this program. If not, see <http://www.gnu.org/licenses/>.
17*/ 17*/
18 18
19#ifndef PICO_CONFIG_H 19#pragma once
20#define PICO_CONFIG_H
21 20
22/* USB Device descriptor parameter */ 21/* USB Device descriptor parameter */
23#define VENDOR_ID 0xFEED 22#define VENDOR_ID 0xFEED
@@ -35,6 +34,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
35#define USE_SERIAL 34#define USE_SERIAL
36//#define USE_MATRIX_I2C 35//#define USE_MATRIX_I2C
37 36
37/* Soft Serial defines */
38#define SOFT_SERIAL_PIN D2
39#define SERIAL_SLAVE_BUFFER_LENGTH ((MATRIX_ROWS)/2)
40#define SERIAL_MASTER_BUFFER_LENGTH ((MATRIX_ROWS)/2)
41
38/* Select hand configuration */ 42/* Select hand configuration */
39#define MASTER_LEFT 43#define MASTER_LEFT
40// #define MASTER_RIGHT 44// #define MASTER_RIGHT
@@ -138,5 +142,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
138//#define NO_ACTION_ONESHOT 142//#define NO_ACTION_ONESHOT
139//#define NO_ACTION_MACRO 143//#define NO_ACTION_MACRO
140//#define NO_ACTION_FUNCTION 144//#define NO_ACTION_FUNCTION
141
142#endif
diff --git a/keyboards/helix/pico/keymaps/biacco/rules.mk b/keyboards/helix/pico/keymaps/biacco/rules.mk
index d6b36580e..0c60c40f6 100644
--- a/keyboards/helix/pico/keymaps/biacco/rules.mk
+++ b/keyboards/helix/pico/keymaps/biacco/rules.mk
@@ -1,125 +1,24 @@
1 1# QMK Standard Build Options
2# Build Options
3# change to "no" to disable the options, or define them in the Makefile in 2# change to "no" to disable the options, or define them in the Makefile in
4# the appropriate keymap folder that will get included automatically 3# the appropriate keymap folder that will get included automatically
5# 4#
6BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) 5# See TOP/keyboards/helix/rules.mk for a list of options that can be set.
7MOUSEKEY_ENABLE = no # Mouse keys(+4700) 6# See TOP/docs/config_options.md for more information.
7#
8EXTRAKEY_ENABLE = yes # Audio control and System control(+450) 8EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
9CONSOLE_ENABLE = no # Console for debug(+400)
10COMMAND_ENABLE = no # Commands for debug and configuration
11NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
12BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
13MIDI_ENABLE = no # MIDI controls
14AUDIO_ENABLE = yes # Audio output on port B5 9AUDIO_ENABLE = yes # Audio output on port B5
15UNICODE_ENABLE = no # Unicode 10LINK_TIME_OPTIMIZATION_ENABLE = no # if firmware size over limit, try this option
16BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID 11
17RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. 12# Helix Spacific Build Options
18SWAP_HANDS_ENABLE = no # Enable one-hand typing 13# you can uncomment and edit follows 6 Variables
19 14# jp: 以下の6つの変数を必要に応じて編集し、コメントアウトをはずします。
20define HELIX_CUSTOMISE_MSG 15# OLED_ENABLE = no # OLED_ENABLE
21 $(info Helix customize) 16# LOCAL_GLCDFONT = no # use each keymaps "helixfont.h" insted of "common/glcdfont.c"
22 $(info - OLED_ENABLE=$(OLED_ENABLE)) 17# LED_BACK_ENABLE = no # LED backlight (Enable WS2812 RGB underlight.)
23 $(info - LED_BACK_ENABLE=$(LED_BACK_ENABLE)) 18# LED_UNDERGLOW_ENABLE = no # LED underglow (Enable WS2812 RGB underlight.)
24 $(info - LED_UNDERGLOW_ENABLE=$(LED_UNDERGLOW_ENABLE)) 19LED_ANIMATIONS = no # LED animations
25 $(info - LED_ANIMATION=$(LED_ANIMATIONS)) 20# IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone)
26 $(info - IOS_DEVICE_ENABLE=$(IOS_DEVICE_ENABLE)) 21
27endef 22# convert Helix-specific options (that represent combinations of standard options)
28 23# into QMK standard options.
29# Helix keyboard customize 24include $(strip $(KEYBOARD_LOCAL_FEATURES_MK))
30# you can edit follows 6 Variables
31# jp: 以下の6つの変数を必要に応じて編集します。
32OLED_ENABLE = no # OLED_ENABLE
33LOCAL_GLCDFONT = no # use each keymaps "helixfont.h" insted of "common/glcdfont.c"
34LED_BACK_ENABLE = no # LED backlight (Enable WS2812 RGB underlight.)
35LED_UNDERGLOW_ENABLE = no # LED underglow (Enable WS2812 RGB underlight.)
36LED_ANIMATIONS = no # LED animations
37IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone)
38Link_Time_Optimization = no # if firmware size over limit, try this option
39
40#### LED_BACK_ENABLE and LED_UNDERGLOW_ENABLE.
41#### Do not enable these with audio at the same time.
42
43### Helix keyboard 'default' keymap: convenient command line option
44## make HELIX=<options> helix:defualt
45## option= oled | back | under | na | ios
46## ex.
47## make HELIX=oled helix:defualt
48## make HELIX=oled,back helix:defualt
49## make HELIX=oled,under helix:defualt
50## make HELIX=oled,back,na helix:defualt
51## make HELIX=oled,back,ios helix:defualt
52##
53ifneq ($(strip $(HELIX)),)
54 ifeq ($(findstring oled,$(HELIX)), oled)
55 OLED_ENABLE = yes
56 endif
57 ifeq ($(findstring back,$(HELIX)), back)
58 LED_BACK_ENABLE = yes
59 else ifeq ($(findstring under,$(HELIX)), under)
60 LED_UNDERGLOW_ENABLE = yes
61 endif
62 ifeq ($(findstring na,$(HELIX)), na)
63 LED_ANIMATIONS = no
64 endif
65 ifeq ($(findstring ios,$(HELIX)), ios)
66 IOS_DEVICE_ENABLE = yes
67 endif
68 $(eval $(call HELIX_CUSTOMISE_MSG))
69 $(info )
70endif
71
72# Uncomment these for checking
73# jp: コンパイル時にカスタマイズの状態を表示したい時はコメントをはずします。
74# $(eval $(call HELIX_CUSTOMISE_MSG))
75# $(info )
76
77ifeq ($(strip $(LED_BACK_ENABLE)), yes)
78 RGBLIGHT_ENABLE = yes
79 OPT_DEFS += -DRGBLED_BACK
80 ifeq ($(strip $(LED_UNDERGLOW_ENABLE)), yes)
81 $(eval $(call HELIX_CUSTOMISE_MSG))
82 $(error LED_BACK_ENABLE and LED_UNDERGLOW_ENABLE both 'yes')
83 endif
84else ifeq ($(strip $(LED_UNDERGLOW_ENABLE)), yes)
85 RGBLIGHT_ENABLE = yes
86else
87 RGBLIGHT_ENABLE = no
88endif
89
90ifeq ($(strip $(IOS_DEVICE_ENABLE)), yes)
91 OPT_DEFS += -DIOS_DEVICE_ENABLE
92endif
93
94ifeq ($(strip $(LED_ANIMATIONS)), yes)
95 OPT_DEFS += -DLED_ANIMATIONS
96endif
97
98ifeq ($(strip $(OLED_ENABLE)), yes)
99 OPT_DEFS += -DOLED_ENABLE
100endif
101
102ifeq ($(strip $(LOCAL_GLCDFONT)), yes)
103 OPT_DEFS += -DLOCAL_GLCDFONT
104endif
105
106ifeq ($(strip $(AUDIO_ENABLE)),yes)
107 ifeq ($(strip $(RGBLIGHT_ENABLE)),yes)
108 Link_Time_Optimization = yes
109 endif
110 ifeq ($(strip $(OLED_ENABLE)),yes)
111 Link_Time_Optimization = yes
112 endif
113endif
114
115ifeq ($(strip $(Link_Time_Optimization)),yes)
116 EXTRAFLAGS += -flto -DUSE_Link_Time_Optimization
117endif
118
119# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
120SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
121
122# Uncomment these for debugging
123# $(info -- RGBLIGHT_ENABLE=$(RGBLIGHT_ENABLE))
124# $(info -- OPT_DEFS=$(OPT_DEFS))
125# $(info )
diff --git a/keyboards/helix/pico/keymaps/default/readme.md b/keyboards/helix/pico/keymaps/default/readme.md
index 13948cf62..9013e3128 100644
--- a/keyboards/helix/pico/keymaps/default/readme.md
+++ b/keyboards/helix/pico/keymaps/default/readme.md
@@ -95,16 +95,15 @@
95see `qmk_firmware/keyboards/helix/pico/keymaps/default/rules.mk` 95see `qmk_firmware/keyboards/helix/pico/keymaps/default/rules.mk`
96 96
97``` 97```
98# Helix keyboard customize 98# Helix Spacific Build Options
99# you can edit follows 6 Variables 99# you can uncomment and edit follows 6 Variables
100# jp: 以下の6つの変数を必要に応じて編集します。 100# jp: 以下の6つの変数を必要に応じて編集し、コメントアウトをはずします。
101OLED_ENABLE = no # OLED_ENABLE 101# OLED_ENABLE = no # OLED_ENABLE
102LOCAL_GLCDFONT = no # use each keymaps "helixfont.h" insted of "common/glcdfont.c" 102# LOCAL_GLCDFONT = no # use each keymaps "helixfont.h" insted of "common/glcdfont.c"
103LED_BACK_ENABLE = no # LED backlight (Enable WS2812 RGB underlight.) 103# LED_BACK_ENABLE = no # LED backlight (Enable WS2812 RGB underlight.)
104LED_UNDERGLOW_ENABLE = no # LED underglow (Enable WS2812 RGB underlight.) 104# LED_UNDERGLOW_ENABLE = no # LED underglow (Enable WS2812 RGB underlight.)
105LED_ANIMATIONS = yes # LED animations 105# LED_ANIMATIONS = yes # LED animations
106IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone) 106# IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone)
107
108``` 107```
109## Compile 108## Compile
110 109
@@ -116,11 +115,18 @@ $ cd qmk_firmware
116build 115build
117``` 116```
118$ make helix/pico:default 117$ make helix/pico:default
118$ make helix/pico/back:default # with backlight
119$ make HELIX=no_ani helix/pico/back:default # with backlight without animation
120$ make helix/pico/under:default # with underglow
119``` 121```
120 122
121flash to keyboard 123flash to keyboard
122``` 124```
123$ make helix/pico:default:avrdude 125$ make helix/pico:default:flash
126$ make helix/pico/back:default:flash # with backlight
127$ make HELIX=no_ani helix/pico/back:default:flash # with backlight without animation
128$ make helix/pico/under:default:flash # with underglow
129
124``` 130```
125 131
126## Link 132## Link
diff --git a/keyboards/helix/pico/keymaps/default/readme_jp.md b/keyboards/helix/pico/keymaps/default/readme_jp.md
index 1e272f9e6..28594dafc 100644
--- a/keyboards/helix/pico/keymaps/default/readme_jp.md
+++ b/keyboards/helix/pico/keymaps/default/readme_jp.md
@@ -56,31 +56,6 @@
56 56
57他の配列(Colemak,Dvorak)は、[readme.md](readme.md) を参照 57他の配列(Colemak,Dvorak)は、[readme.md](readme.md) を参照
58 58
59## コンパイルの仕方
60
61コンパイルは、qmk_firmware のトップディレクトリで行います。
62
63```
64$ cd qmk_firmware
65```
66qmk_firmwareでは各キーボードのコンパイルは、`<キーボード名>:<キーマップ名>`という指定で行います。
67
68```
69$ make helix/pico:default
70```
71
72キーボードへの書き込みまで同時に行うには下記のように`:avrdude`を付けます。
73
74```
75$ make helix/pico:default:avrdude
76```
77
78コンパイル結果と中間生成物を消去したい場合は以下のようにします。
79
80```
81$ make helix/pico:default:clean
82```
83
84## カスタマイズ 59## カスタマイズ
85 60
86オプションの OLED をつけたり、 61オプションの OLED をつけたり、
@@ -88,16 +63,15 @@ RGB バックライトまたは、RGB Underglow をつけた場合は、
88`qmk_firmware/keyboards/helix/pico/keymaps/default/rules.mk` の以下の部分を編集して機能を有効化してください。 63`qmk_firmware/keyboards/helix/pico/keymaps/default/rules.mk` の以下の部分を編集して機能を有効化してください。
89 64
90``` 65```
91# Helix keyboard customize 66# Helix Spacific Build Options
92# you can edit follows 6 Variables 67# you can uncomment and edit follows 6 Variables
93# jp: 以下の6つの変数を必要に応じて編集します。 68# jp: 以下の6つの変数を必要に応じて編集し、コメントアウトをはずします。
94OLED_ENABLE = no # OLED_ENABLE 69# OLED_ENABLE = no # OLED_ENABLE
95LOCAL_GLCDFONT = no # use each keymaps "helixfont.h" insted of "common/glcdfont.c" 70# LOCAL_GLCDFONT = no # use each keymaps "helixfont.h" insted of "common/glcdfont.c"
96LED_BACK_ENABLE = no # LED backlight (Enable WS2812 RGB underlight.) 71# LED_BACK_ENABLE = no # LED backlight (Enable WS2812 RGB underlight.)
97LED_UNDERGLOW_ENABLE = no # LED underglow (Enable WS2812 RGB underlight.) 72# LED_UNDERGLOW_ENABLE = no # LED underglow (Enable WS2812 RGB underlight.)
98LED_ANIMATIONS = yes # LED animations 73# LED_ANIMATIONS = yes # LED animations
99IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone) 74# IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone)
100
101``` 75```
102 76
103## RGB バックライトを有効にする 77## RGB バックライトを有効にする
@@ -131,6 +105,43 @@ RBG Underglow や RGBバックライトの輝度を抑えて、iPad, iPhone に
131IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone) 105IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone)
132``` 106```
133 107
108## コンパイルの仕方
109
110コンパイルは、qmk_firmware のトップディレクトリで行います。
111
112```
113$ cd qmk_firmware
114```
115qmk_firmwareでは各キーボードのコンパイルは、`<キーボード名>:<キーマップ名>`という指定で行います。
116
117```
118$ make helix/pico:default
119```
120
121キーボードへの書き込みまで同時に行うには下記のように`:flash`を付けます。
122
123```
124$ make helix/pico:default:flash
125```
126
127コンパイル結果と中間生成物を消去したい場合は以下のようにします。
128
129```
130$ make helix/pico:default:clean
131```
132
133上記の、rules.mk によるカスタマイズ項目の一部は下記のようにコマンド上で直接指定することも可能です。
134
135RGB バックライトを有効にしてコンパイルしてキーボードへ書き込む。
136```
137$ make helix/pico/back:default:flash
138```
139
140RGB Underglow を有効にしてコンパイルしてキーボードへ書き込む。
141```
142$ make helix/pico/under:default:flash
143```
144
134## リンク 145## リンク
135 146
136* さらに詳細は、[こちら helix/Doc/firmware_jp.md](https://github.com/MakotoKurauchi/helix/blob/master/Doc/firmware_jp.md)をご覧ください。 147* さらに詳細は、[こちら helix/Doc/firmware_jp.md](https://github.com/MakotoKurauchi/helix/blob/master/Doc/firmware_jp.md)をご覧ください。
diff --git a/keyboards/helix/pico/keymaps/default/rules.mk b/keyboards/helix/pico/keymaps/default/rules.mk
index 3b518ff88..764b07300 100644
--- a/keyboards/helix/pico/keymaps/default/rules.mk
+++ b/keyboards/helix/pico/keymaps/default/rules.mk
@@ -1,125 +1,24 @@
1 1# QMK Standard Build Options
2# Build Options
3# change to "no" to disable the options, or define them in the Makefile in 2# change to "no" to disable the options, or define them in the Makefile in
4# the appropriate keymap folder that will get included automatically 3# the appropriate keymap folder that will get included automatically
5# 4#
6BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) 5# See TOP/keyboards/helix/rules.mk for a list of options that can be set.
7MOUSEKEY_ENABLE = no # Mouse keys(+4700) 6# See TOP/docs/config_options.md for more information.
7#
8EXTRAKEY_ENABLE = yes # Audio control and System control(+450) 8EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
9CONSOLE_ENABLE = no # Console for debug(+400) 9AUDIO_ENABLE = yes # Audio output on port B5
10COMMAND_ENABLE = no # Commands for debug and configuration 10LINK_TIME_OPTIMIZATION_ENABLE = no # if firmware size over limit, try this option
11NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work 11
12BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality 12# Helix Spacific Build Options
13MIDI_ENABLE = no # MIDI controls 13# you can uncomment and edit follows 6 Variables
14AUDIO_ENABLE = yes # Audio output on port B5 14# jp: 以下の6つの変数を必要に応じて編集し、コメントアウトをはずします。
15UNICODE_ENABLE = no # Unicode 15# OLED_ENABLE = no # OLED_ENABLE
16BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID 16# LOCAL_GLCDFONT = no # use each keymaps "helixfont.h" insted of "common/glcdfont.c"
17RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. 17# LED_BACK_ENABLE = no # LED backlight (Enable WS2812 RGB underlight.)
18SWAP_HANDS_ENABLE = no # Enable one-hand typing 18# LED_UNDERGLOW_ENABLE = no # LED underglow (Enable WS2812 RGB underlight.)
19 19# LED_ANIMATIONS = yes # LED animations
20define HELIX_CUSTOMISE_MSG 20# IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone)
21 $(info Helix customize) 21
22 $(info - OLED_ENABLE=$(OLED_ENABLE)) 22# convert Helix-specific options (that represent combinations of standard options)
23 $(info - LED_BACK_ENABLE=$(LED_BACK_ENABLE)) 23# into QMK standard options.
24 $(info - LED_UNDERGLOW_ENABLE=$(LED_UNDERGLOW_ENABLE)) 24include $(strip $(KEYBOARD_LOCAL_FEATURES_MK))
25 $(info - LED_ANIMATION=$(LED_ANIMATIONS))
26 $(info - IOS_DEVICE_ENABLE=$(IOS_DEVICE_ENABLE))
27endef
28
29# Helix keyboard customize
30# you can edit follows 6 Variables
31# jp: 以下の6つの変数を必要に応じて編集します。
32OLED_ENABLE = no # OLED_ENABLE
33LOCAL_GLCDFONT = no # use each keymaps "helixfont.h" insted of "common/glcdfont.c"
34LED_BACK_ENABLE = no # LED backlight (Enable WS2812 RGB underlight.)
35LED_UNDERGLOW_ENABLE = no # LED underglow (Enable WS2812 RGB underlight.)
36LED_ANIMATIONS = yes # LED animations
37IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone)
38Link_Time_Optimization = no # if firmware size over limit, try this option
39
40#### LED_BACK_ENABLE and LED_UNDERGLOW_ENABLE.
41#### Do not enable these with audio at the same time.
42
43### Helix keyboard 'default' keymap: convenient command line option
44## make HELIX=<options> helix:defualt
45## option= oled | back | under | na | ios
46## ex.
47## make HELIX=oled helix:defualt
48## make HELIX=oled,back helix:defualt
49## make HELIX=oled,under helix:defualt
50## make HELIX=oled,back,na helix:defualt
51## make HELIX=oled,back,ios helix:defualt
52##
53ifneq ($(strip $(HELIX)),)
54 ifeq ($(findstring oled,$(HELIX)), oled)
55 OLED_ENABLE = yes
56 endif
57 ifeq ($(findstring back,$(HELIX)), back)
58 LED_BACK_ENABLE = yes
59 else ifeq ($(findstring under,$(HELIX)), under)
60 LED_UNDERGLOW_ENABLE = yes
61 endif
62 ifeq ($(findstring na,$(HELIX)), na)
63 LED_ANIMATIONS = no
64 endif
65 ifeq ($(findstring ios,$(HELIX)), ios)
66 IOS_DEVICE_ENABLE = yes
67 endif
68 $(eval $(call HELIX_CUSTOMISE_MSG))
69 $(info )
70endif
71
72# Uncomment these for checking
73# jp: コンパイル時にカスタマイズの状態を表示したい時はコメントをはずします。
74# $(eval $(call HELIX_CUSTOMISE_MSG))
75# $(info )
76
77ifeq ($(strip $(LED_BACK_ENABLE)), yes)
78 RGBLIGHT_ENABLE = yes
79 OPT_DEFS += -DRGBLED_BACK
80 ifeq ($(strip $(LED_UNDERGLOW_ENABLE)), yes)
81 $(eval $(call HELIX_CUSTOMISE_MSG))
82 $(error LED_BACK_ENABLE and LED_UNDERGLOW_ENABLE both 'yes')
83 endif
84else ifeq ($(strip $(LED_UNDERGLOW_ENABLE)), yes)
85 RGBLIGHT_ENABLE = yes
86else
87 RGBLIGHT_ENABLE = no
88endif
89
90ifeq ($(strip $(IOS_DEVICE_ENABLE)), yes)
91 OPT_DEFS += -DIOS_DEVICE_ENABLE
92endif
93
94ifeq ($(strip $(LED_ANIMATIONS)), yes)
95 OPT_DEFS += -DLED_ANIMATIONS
96endif
97
98ifeq ($(strip $(OLED_ENABLE)), yes)
99 OPT_DEFS += -DOLED_ENABLE
100endif
101
102ifeq ($(strip $(LOCAL_GLCDFONT)), yes)
103 OPT_DEFS += -DLOCAL_GLCDFONT
104endif
105
106ifeq ($(strip $(AUDIO_ENABLE)),yes)
107 ifeq ($(strip $(RGBLIGHT_ENABLE)),yes)
108 Link_Time_Optimization = yes
109 endif
110 ifeq ($(strip $(OLED_ENABLE)),yes)
111 Link_Time_Optimization = yes
112 endif
113endif
114
115ifeq ($(strip $(Link_Time_Optimization)),yes)
116 EXTRAFLAGS += -flto -DUSE_Link_Time_Optimization
117endif
118
119# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
120SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
121
122# Uncomment these for debugging
123# $(info -- RGBLIGHT_ENABLE=$(RGBLIGHT_ENABLE))
124# $(info -- OPT_DEFS=$(OPT_DEFS))
125# $(info )
diff --git a/keyboards/helix/pico/keymaps/mtei/rules.mk b/keyboards/helix/pico/keymaps/mtei/rules.mk
index 3b518ff88..764b07300 100644
--- a/keyboards/helix/pico/keymaps/mtei/rules.mk
+++ b/keyboards/helix/pico/keymaps/mtei/rules.mk
@@ -1,125 +1,24 @@
1 1# QMK Standard Build Options
2# Build Options
3# change to "no" to disable the options, or define them in the Makefile in 2# change to "no" to disable the options, or define them in the Makefile in
4# the appropriate keymap folder that will get included automatically 3# the appropriate keymap folder that will get included automatically
5# 4#
6BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) 5# See TOP/keyboards/helix/rules.mk for a list of options that can be set.
7MOUSEKEY_ENABLE = no # Mouse keys(+4700) 6# See TOP/docs/config_options.md for more information.
7#
8EXTRAKEY_ENABLE = yes # Audio control and System control(+450) 8EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
9CONSOLE_ENABLE = no # Console for debug(+400) 9AUDIO_ENABLE = yes # Audio output on port B5
10COMMAND_ENABLE = no # Commands for debug and configuration 10LINK_TIME_OPTIMIZATION_ENABLE = no # if firmware size over limit, try this option
11NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work 11
12BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality 12# Helix Spacific Build Options
13MIDI_ENABLE = no # MIDI controls 13# you can uncomment and edit follows 6 Variables
14AUDIO_ENABLE = yes # Audio output on port B5 14# jp: 以下の6つの変数を必要に応じて編集し、コメントアウトをはずします。
15UNICODE_ENABLE = no # Unicode 15# OLED_ENABLE = no # OLED_ENABLE
16BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID 16# LOCAL_GLCDFONT = no # use each keymaps "helixfont.h" insted of "common/glcdfont.c"
17RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. 17# LED_BACK_ENABLE = no # LED backlight (Enable WS2812 RGB underlight.)
18SWAP_HANDS_ENABLE = no # Enable one-hand typing 18# LED_UNDERGLOW_ENABLE = no # LED underglow (Enable WS2812 RGB underlight.)
19 19# LED_ANIMATIONS = yes # LED animations
20define HELIX_CUSTOMISE_MSG 20# IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone)
21 $(info Helix customize) 21
22 $(info - OLED_ENABLE=$(OLED_ENABLE)) 22# convert Helix-specific options (that represent combinations of standard options)
23 $(info - LED_BACK_ENABLE=$(LED_BACK_ENABLE)) 23# into QMK standard options.
24 $(info - LED_UNDERGLOW_ENABLE=$(LED_UNDERGLOW_ENABLE)) 24include $(strip $(KEYBOARD_LOCAL_FEATURES_MK))
25 $(info - LED_ANIMATION=$(LED_ANIMATIONS))
26 $(info - IOS_DEVICE_ENABLE=$(IOS_DEVICE_ENABLE))
27endef
28
29# Helix keyboard customize
30# you can edit follows 6 Variables
31# jp: 以下の6つの変数を必要に応じて編集します。
32OLED_ENABLE = no # OLED_ENABLE
33LOCAL_GLCDFONT = no # use each keymaps "helixfont.h" insted of "common/glcdfont.c"
34LED_BACK_ENABLE = no # LED backlight (Enable WS2812 RGB underlight.)
35LED_UNDERGLOW_ENABLE = no # LED underglow (Enable WS2812 RGB underlight.)
36LED_ANIMATIONS = yes # LED animations
37IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone)
38Link_Time_Optimization = no # if firmware size over limit, try this option
39
40#### LED_BACK_ENABLE and LED_UNDERGLOW_ENABLE.
41#### Do not enable these with audio at the same time.
42
43### Helix keyboard 'default' keymap: convenient command line option
44## make HELIX=<options> helix:defualt
45## option= oled | back | under | na | ios
46## ex.
47## make HELIX=oled helix:defualt
48## make HELIX=oled,back helix:defualt
49## make HELIX=oled,under helix:defualt
50## make HELIX=oled,back,na helix:defualt
51## make HELIX=oled,back,ios helix:defualt
52##
53ifneq ($(strip $(HELIX)),)
54 ifeq ($(findstring oled,$(HELIX)), oled)
55 OLED_ENABLE = yes
56 endif
57 ifeq ($(findstring back,$(HELIX)), back)
58 LED_BACK_ENABLE = yes
59 else ifeq ($(findstring under,$(HELIX)), under)
60 LED_UNDERGLOW_ENABLE = yes
61 endif
62 ifeq ($(findstring na,$(HELIX)), na)
63 LED_ANIMATIONS = no
64 endif
65 ifeq ($(findstring ios,$(HELIX)), ios)
66 IOS_DEVICE_ENABLE = yes
67 endif
68 $(eval $(call HELIX_CUSTOMISE_MSG))
69 $(info )
70endif
71
72# Uncomment these for checking
73# jp: コンパイル時にカスタマイズの状態を表示したい時はコメントをはずします。
74# $(eval $(call HELIX_CUSTOMISE_MSG))
75# $(info )
76
77ifeq ($(strip $(LED_BACK_ENABLE)), yes)
78 RGBLIGHT_ENABLE = yes
79 OPT_DEFS += -DRGBLED_BACK
80 ifeq ($(strip $(LED_UNDERGLOW_ENABLE)), yes)
81 $(eval $(call HELIX_CUSTOMISE_MSG))
82 $(error LED_BACK_ENABLE and LED_UNDERGLOW_ENABLE both 'yes')
83 endif
84else ifeq ($(strip $(LED_UNDERGLOW_ENABLE)), yes)
85 RGBLIGHT_ENABLE = yes
86else
87 RGBLIGHT_ENABLE = no
88endif
89
90ifeq ($(strip $(IOS_DEVICE_ENABLE)), yes)
91 OPT_DEFS += -DIOS_DEVICE_ENABLE
92endif
93
94ifeq ($(strip $(LED_ANIMATIONS)), yes)
95 OPT_DEFS += -DLED_ANIMATIONS
96endif
97
98ifeq ($(strip $(OLED_ENABLE)), yes)
99 OPT_DEFS += -DOLED_ENABLE
100endif
101
102ifeq ($(strip $(LOCAL_GLCDFONT)), yes)
103 OPT_DEFS += -DLOCAL_GLCDFONT
104endif
105
106ifeq ($(strip $(AUDIO_ENABLE)),yes)
107 ifeq ($(strip $(RGBLIGHT_ENABLE)),yes)
108 Link_Time_Optimization = yes
109 endif
110 ifeq ($(strip $(OLED_ENABLE)),yes)
111 Link_Time_Optimization = yes
112 endif
113endif
114
115ifeq ($(strip $(Link_Time_Optimization)),yes)
116 EXTRAFLAGS += -flto -DUSE_Link_Time_Optimization
117endif
118
119# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
120SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
121
122# Uncomment these for debugging
123# $(info -- RGBLIGHT_ENABLE=$(RGBLIGHT_ENABLE))
124# $(info -- OPT_DEFS=$(OPT_DEFS))
125# $(info )
diff --git a/keyboards/helix/pico/local_features.mk b/keyboards/helix/pico/local_features.mk
new file mode 100644
index 000000000..47b928647
--- /dev/null
+++ b/keyboards/helix/pico/local_features.mk
@@ -0,0 +1,100 @@
1#
2# local_features.mk contains post-processing rules for the Helix keyboard.
3#
4# Post-processing rules convert keyboard-specific shortcuts (that represent
5# combinations of standard options) into QMK standard options.
6#
7
8define HELIX_CUSTOMISE_MSG
9 $(info Helix Spacific Build Options)
10 $(info - OLED_ENABLE = $(OLED_ENABLE))
11 $(info - LED_BACK_ENABLE = $(LED_BACK_ENABLE))
12 $(info - LED_UNDERGLOW_ENABLE = $(LED_UNDERGLOW_ENABLE))
13 $(info - LED_ANIMATION = $(LED_ANIMATIONS))
14 $(info - IOS_DEVICE_ENABLE = $(IOS_DEVICE_ENABLE))
15 $(info )
16endef
17
18 ifneq ($(strip $(HELIX)),)
19 ### Helix keyboard keymap: convenient command line option
20 ## make HELIX=<options> helix/pico:<keymap>
21 ## option= oled | back | under | no_ani | na | ios | verbose
22 ## ex.
23 ## make HELIX=oled helix/pico:<keymap>
24 ## make HELIX=oled,back helix/pico:<keymap>
25 ## make HELIX=oled,under helix/pico:<keymap>
26 ## make HELIX=oled,back,na helix/pico:<keymap>
27 ## make HELIX=oled,back,ios helix/pico:<keymap>
28 ##
29 ifeq ($(findstring oled,$(HELIX)), oled)
30 OLED_ENABLE = yes
31 endif
32 ifeq ($(findstring back,$(HELIX)), back)
33 LED_BACK_ENABLE = yes
34 else ifeq ($(findstring under,$(HELIX)), under)
35 LED_UNDERGLOW_ENABLE = yes
36 endif
37 ifeq ($(findstring na,$(HELIX)), na)
38 LED_ANIMATIONS = no
39 endif
40 ifeq ($(findstring no_ani,$(HELIX)), no_ani)
41 LED_ANIMATIONS = no
42 endif
43 ifeq ($(findstring ios,$(HELIX)), ios)
44 IOS_DEVICE_ENABLE = yes
45 endif
46 ifeq ($(findstring verbose,$(HELIX)), verbose)
47 SHOW_VERBOSE_INFO = yes
48 endif
49 SHOW_HELIX_OPTIONS = yes
50 endif
51
52########
53# convert Helix-specific options (that represent combinations of standard options)
54# into QMK standard options.
55
56ifeq ($(strip $(LED_BACK_ENABLE)), yes)
57 RGBLIGHT_ENABLE = yes
58 OPT_DEFS += -DRGBLED_BACK
59 ifeq ($(strip $(LED_UNDERGLOW_ENABLE)), yes)
60 $(eval $(call HELIX_CUSTOMISE_MSG))
61 $(error LED_BACK_ENABLE and LED_UNDERGLOW_ENABLE both 'yes')
62 endif
63else ifeq ($(strip $(LED_UNDERGLOW_ENABLE)), yes)
64 RGBLIGHT_ENABLE = yes
65endif
66
67ifeq ($(strip $(IOS_DEVICE_ENABLE)), yes)
68 OPT_DEFS += -DIOS_DEVICE_ENABLE
69endif
70
71ifeq ($(strip $(LED_ANIMATIONS)), yes)
72 OPT_DEFS += -DLED_ANIMATIONS
73endif
74
75ifeq ($(strip $(OLED_ENABLE)), yes)
76 OPT_DEFS += -DOLED_ENABLE
77endif
78
79ifeq ($(strip $(LOCAL_GLCDFONT)), yes)
80 OPT_DEFS += -DLOCAL_GLCDFONT
81endif
82
83ifeq ($(strip $(AUDIO_ENABLE)),yes)
84 ifeq ($(strip $(RGBLIGHT_ENABLE)),yes)
85 LINK_TIME_OPTIMIZATION_ENABLE = yes
86 endif
87 ifeq ($(strip $(OLED_ENABLE)),yes)
88 LINK_TIME_OPTIMIZATION_ENABLE = yes
89 endif
90endif
91
92ifneq ($(strip $(SHOW_HELIX_OPTIONS)),)
93 $(eval $(call HELIX_CUSTOMISE_MSG))
94 ifneq ($(strip $(SHOW_VERBOSE_INFO)),)
95 $(info -- RGBLIGHT_ENABLE = $(RGBLIGHT_ENABLE))
96 $(info -- OPT_DEFS = $(OPT_DEFS))
97 $(info -- LINK_TIME_OPTIMIZATION_ENABLE = $(LINK_TIME_OPTIMIZATION_ENABLE))
98 $(info )
99 endif
100endif
diff --git a/keyboards/helix/pico/pico.h b/keyboards/helix/pico/pico.h
index d9c57206c..4360be2a9 100644
--- a/keyboards/helix/pico/pico.h
+++ b/keyboards/helix/pico/pico.h
@@ -1,5 +1,4 @@
1#ifndef PICO_H 1#pragma once
2#define PICO_CONFIG_H
3 2
4#include "../helix.h" 3#include "../helix.h"
5 4
@@ -70,6 +69,3 @@
70 KC_##L20, KC_##L21, KC_##L22, KC_##L23, KC_##L24, KC_##L25, KC_##R20, KC_##R21, KC_##R22, KC_##R23, KC_##R24, KC_##R25, \ 69 KC_##L20, KC_##L21, KC_##L22, KC_##L23, KC_##L24, KC_##L25, KC_##R20, KC_##R21, KC_##R22, KC_##R23, KC_##R24, KC_##R25, \
71 KC_##L30, KC_##L31, KC_##L32, KC_##L33, KC_##L34, KC_##L35, KC_##L36, KC_##R36, KC_##R30, KC_##R31, KC_##R32, KC_##R33, KC_##R34, KC_##R35 \ 70 KC_##L30, KC_##L31, KC_##L32, KC_##L33, KC_##L34, KC_##L35, KC_##L36, KC_##R36, KC_##R30, KC_##R31, KC_##R32, KC_##R33, KC_##R34, KC_##R35 \
72 ) 71 )
73
74
75#endif
diff --git a/keyboards/helix/pico/rules.mk b/keyboards/helix/pico/rules.mk
index 75bf0a5ef..e916f25f4 100644
--- a/keyboards/helix/pico/rules.mk
+++ b/keyboards/helix/pico/rules.mk
@@ -1,2 +1,19 @@
1KEYBOARD_LOCAL_FEATURES_MK := $(dir $(lastword $(MAKEFILE_LIST)))local_features.mk
2
3SRC += local_drivers/i2c.c
4SRC += local_drivers/serial.c
5SRC += local_drivers/ssd1306.c
6KEYBOARD_PATHS += $(HELIX_TOP_DIR)/local_drivers
7
8CUSTOM_MATRIX = yes
9
1SRC += pico/matrix.c 10SRC += pico/matrix.c
2SRC += pico/split_util.c 11SRC += pico/split_util.c
12
13# Helix Spacific Build Options default values
14OLED_ENABLE = no # OLED_ENABLE
15LOCAL_GLCDFONT = no # use each keymaps "helixfont.h" insted of "common/glcdfont.c"
16LED_BACK_ENABLE = no # LED backlight (Enable WS2812 RGB underlight.)
17LED_UNDERGLOW_ENABLE = no # LED underglow (Enable WS2812 RGB underlight.)
18LED_ANIMATIONS = yes # LED animations
19IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone)
diff --git a/keyboards/helix/pico/serial_config.h b/keyboards/helix/pico/serial_config.h
deleted file mode 100644
index fc8736d47..000000000
--- a/keyboards/helix/pico/serial_config.h
+++ /dev/null
@@ -1,9 +0,0 @@
1//// #error rev2 serial config
2
3#ifndef SOFT_SERIAL_PIN
4/* Soft Serial defines */
5#define SOFT_SERIAL_PIN D2
6
7#define SERIAL_SLAVE_BUFFER_LENGTH MATRIX_ROWS/2
8#define SERIAL_MASTER_BUFFER_LENGTH MATRIX_ROWS/2
9#endif
diff --git a/keyboards/helix/pico/under/rules.mk b/keyboards/helix/pico/under/rules.mk
new file mode 100644
index 000000000..a37aa6fab
--- /dev/null
+++ b/keyboards/helix/pico/under/rules.mk
@@ -0,0 +1 @@
LED_UNDERGLOW_ENABLE = yes
diff --git a/keyboards/helix/pro_micro.h b/keyboards/helix/pro_micro.h
deleted file mode 100644
index f9e7ed75d..000000000
--- a/keyboards/helix/pro_micro.h
+++ /dev/null
@@ -1,362 +0,0 @@
1/*
2 pins_arduino.h - Pin definition functions for Arduino
3 Part of Arduino - http://www.arduino.cc/
4
5 Copyright (c) 2007 David A. Mellis
6
7 This library is free software; you can redistribute it and/or
8 modify it under the terms of the GNU Lesser General Public
9 License as published by the Free Software Foundation; either
10 version 2.1 of the License, or (at your option) any later version.
11
12 This library is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 Lesser General Public License for more details.
16
17 You should have received a copy of the GNU Lesser General
18 Public License along with this library; if not, write to the
19 Free Software Foundation, Inc., 59 Temple Place, Suite 330,
20 Boston, MA 02111-1307 USA
21
22 $Id: wiring.h 249 2007-02-03 16:52:51Z mellis $
23*/
24
25#ifndef Pins_Arduino_h
26#define Pins_Arduino_h
27
28#include <avr/pgmspace.h>
29
30// Workaround for wrong definitions in "iom32u4.h".
31// This should be fixed in the AVR toolchain.
32#undef UHCON
33#undef UHINT
34#undef UHIEN
35#undef UHADDR
36#undef UHFNUM
37#undef UHFNUML
38#undef UHFNUMH
39#undef UHFLEN
40#undef UPINRQX
41#undef UPINTX
42#undef UPNUM
43#undef UPRST
44#undef UPCONX
45#undef UPCFG0X
46#undef UPCFG1X
47#undef UPSTAX
48#undef UPCFG2X
49#undef UPIENX
50#undef UPDATX
51#undef TCCR2A
52#undef WGM20
53#undef WGM21
54#undef COM2B0
55#undef COM2B1
56#undef COM2A0
57#undef COM2A1
58#undef TCCR2B
59#undef CS20
60#undef CS21
61#undef CS22
62#undef WGM22
63#undef FOC2B
64#undef FOC2A
65#undef TCNT2
66#undef TCNT2_0
67#undef TCNT2_1
68#undef TCNT2_2
69#undef TCNT2_3
70#undef TCNT2_4
71#undef TCNT2_5
72#undef TCNT2_6
73#undef TCNT2_7
74#undef OCR2A
75#undef OCR2_0
76#undef OCR2_1
77#undef OCR2_2
78#undef OCR2_3
79#undef OCR2_4
80#undef OCR2_5
81#undef OCR2_6
82#undef OCR2_7
83#undef OCR2B
84#undef OCR2_0
85#undef OCR2_1
86#undef OCR2_2
87#undef OCR2_3
88#undef OCR2_4
89#undef OCR2_5
90#undef OCR2_6
91#undef OCR2_7
92
93#define NUM_DIGITAL_PINS 30
94#define NUM_ANALOG_INPUTS 12
95
96#define TX_RX_LED_INIT DDRD |= (1<<5), DDRB |= (1<<0)
97#define TXLED0 PORTD |= (1<<5)
98#define TXLED1 PORTD &= ~(1<<5)
99#define RXLED0 PORTB |= (1<<0)
100#define RXLED1 PORTB &= ~(1<<0)
101
102static const uint8_t SDA = 2;
103static const uint8_t SCL = 3;
104#define LED_BUILTIN 13
105
106// Map SPI port to 'new' pins D14..D17
107static const uint8_t SS = 17;
108static const uint8_t MOSI = 16;
109static const uint8_t MISO = 14;
110static const uint8_t SCK = 15;
111
112// Mapping of analog pins as digital I/O
113// A6-A11 share with digital pins
114static const uint8_t ADC0 = 18;
115static const uint8_t ADC1 = 19;
116static const uint8_t ADC2 = 20;
117static const uint8_t ADC3 = 21;
118static const uint8_t ADC4 = 22;
119static const uint8_t ADC5 = 23;
120static const uint8_t ADC6 = 24; // D4
121static const uint8_t ADC7 = 25; // D6
122static const uint8_t ADC8 = 26; // D8
123static const uint8_t ADC9 = 27; // D9
124static const uint8_t ADC10 = 28; // D10
125static const uint8_t ADC11 = 29; // D12
126
127#define digitalPinToPCICR(p) ((((p) >= 8 && (p) <= 11) || ((p) >= 14 && (p) <= 17) || ((p) >= A8 && (p) <= A10)) ? (&PCICR) : ((uint8_t *)0))
128#define digitalPinToPCICRbit(p) 0
129#define digitalPinToPCMSK(p) ((((p) >= 8 && (p) <= 11) || ((p) >= 14 && (p) <= 17) || ((p) >= A8 && (p) <= A10)) ? (&PCMSK0) : ((uint8_t *)0))
130#define digitalPinToPCMSKbit(p) ( ((p) >= 8 && (p) <= 11) ? (p) - 4 : ((p) == 14 ? 3 : ((p) == 15 ? 1 : ((p) == 16 ? 2 : ((p) == 17 ? 0 : (p - A8 + 4))))))
131
132// __AVR_ATmega32U4__ has an unusual mapping of pins to channels
133extern const uint8_t PROGMEM analog_pin_to_channel_PGM[];
134#define analogPinToChannel(P) ( pgm_read_byte( analog_pin_to_channel_PGM + (P) ) )
135
136#define digitalPinToInterrupt(p) ((p) == 0 ? 2 : ((p) == 1 ? 3 : ((p) == 2 ? 1 : ((p) == 3 ? 0 : ((p) == 7 ? 4 : NOT_AN_INTERRUPT)))))
137
138#ifdef ARDUINO_MAIN
139
140// On the Arduino board, digital pins are also used
141// for the analog output (software PWM). Analog input
142// pins are a separate set.
143
144// ATMEL ATMEGA32U4 / ARDUINO LEONARDO
145//
146// D0 PD2 RXD1/INT2
147// D1 PD3 TXD1/INT3
148// D2 PD1 SDA SDA/INT1
149// D3# PD0 PWM8/SCL OC0B/SCL/INT0
150// D4 A6 PD4 ADC8
151// D5# PC6 ??? OC3A/#OC4A
152// D6# A7 PD7 FastPWM #OC4D/ADC10
153// D7 PE6 INT6/AIN0
154//
155// D8 A8 PB4 ADC11/PCINT4
156// D9# A9 PB5 PWM16 OC1A/#OC4B/ADC12/PCINT5
157// D10# A10 PB6 PWM16 OC1B/0c4B/ADC13/PCINT6
158// D11# PB7 PWM8/16 0C0A/OC1C/#RTS/PCINT7
159// D12 A11 PD6 T1/#OC4D/ADC9
160// D13# PC7 PWM10 CLK0/OC4A
161//
162// A0 D18 PF7 ADC7
163// A1 D19 PF6 ADC6
164// A2 D20 PF5 ADC5
165// A3 D21 PF4 ADC4
166// A4 D22 PF1 ADC1
167// A5 D23 PF0 ADC0
168//
169// New pins D14..D17 to map SPI port to digital pins
170//
171// MISO D14 PB3 MISO,PCINT3
172// SCK D15 PB1 SCK,PCINT1
173// MOSI D16 PB2 MOSI,PCINT2
174// SS D17 PB0 RXLED,SS/PCINT0
175//
176// Connected LEDs on board for TX and RX
177// TXLED D24 PD5 XCK1
178// RXLED D17 PB0
179// HWB PE2 HWB
180
181// these arrays map port names (e.g. port B) to the
182// appropriate addresses for various functions (e.g. reading
183// and writing)
184const uint16_t PROGMEM port_to_mode_PGM[] = {
185 NOT_A_PORT,
186 NOT_A_PORT,
187 (uint16_t) &DDRB,
188 (uint16_t) &DDRC,
189 (uint16_t) &DDRD,
190 (uint16_t) &DDRE,
191 (uint16_t) &DDRF,
192};
193
194const uint16_t PROGMEM port_to_output_PGM[] = {
195 NOT_A_PORT,
196 NOT_A_PORT,
197 (uint16_t) &PORTB,
198 (uint16_t) &PORTC,
199 (uint16_t) &PORTD,
200 (uint16_t) &PORTE,
201 (uint16_t) &PORTF,
202};
203
204const uint16_t PROGMEM port_to_input_PGM[] = {
205 NOT_A_PORT,
206 NOT_A_PORT,
207 (uint16_t) &PINB,
208 (uint16_t) &PINC,
209 (uint16_t) &PIND,
210 (uint16_t) &PINE,
211 (uint16_t) &PINF,
212};
213
214const uint8_t PROGMEM digital_pin_to_port_PGM[] = {
215 PD, // D0 - PD2
216 PD, // D1 - PD3
217 PD, // D2 - PD1
218 PD, // D3 - PD0
219 PD, // D4 - PD4
220 PC, // D5 - PC6
221 PD, // D6 - PD7
222 PE, // D7 - PE6
223
224 PB, // D8 - PB4
225 PB, // D9 - PB5
226 PB, // D10 - PB6
227 PB, // D11 - PB7
228 PD, // D12 - PD6
229 PC, // D13 - PC7
230
231 PB, // D14 - MISO - PB3
232 PB, // D15 - SCK - PB1
233 PB, // D16 - MOSI - PB2
234 PB, // D17 - SS - PB0
235
236 PF, // D18 - A0 - PF7
237 PF, // D19 - A1 - PF6
238 PF, // D20 - A2 - PF5
239 PF, // D21 - A3 - PF4
240 PF, // D22 - A4 - PF1
241 PF, // D23 - A5 - PF0
242
243 PD, // D24 - PD5
244 PD, // D25 / D6 - A7 - PD7
245 PB, // D26 / D8 - A8 - PB4
246 PB, // D27 / D9 - A9 - PB5
247 PB, // D28 / D10 - A10 - PB6
248 PD, // D29 / D12 - A11 - PD6
249};
250
251const uint8_t PROGMEM digital_pin_to_bit_mask_PGM[] = {
252 _BV(2), // D0 - PD2
253 _BV(3), // D1 - PD3
254 _BV(1), // D2 - PD1
255 _BV(0), // D3 - PD0
256 _BV(4), // D4 - PD4
257 _BV(6), // D5 - PC6
258 _BV(7), // D6 - PD7
259 _BV(6), // D7 - PE6
260
261 _BV(4), // D8 - PB4
262 _BV(5), // D9 - PB5
263 _BV(6), // D10 - PB6
264 _BV(7), // D11 - PB7
265 _BV(6), // D12 - PD6
266 _BV(7), // D13 - PC7
267
268 _BV(3), // D14 - MISO - PB3
269 _BV(1), // D15 - SCK - PB1
270 _BV(2), // D16 - MOSI - PB2
271 _BV(0), // D17 - SS - PB0
272
273 _BV(7), // D18 - A0 - PF7
274 _BV(6), // D19 - A1 - PF6
275 _BV(5), // D20 - A2 - PF5
276 _BV(4), // D21 - A3 - PF4
277 _BV(1), // D22 - A4 - PF1
278 _BV(0), // D23 - A5 - PF0
279
280 _BV(5), // D24 - PD5
281 _BV(7), // D25 / D6 - A7 - PD7
282 _BV(4), // D26 / D8 - A8 - PB4
283 _BV(5), // D27 / D9 - A9 - PB5
284 _BV(6), // D28 / D10 - A10 - PB6
285 _BV(6), // D29 / D12 - A11 - PD6
286};
287
288const uint8_t PROGMEM digital_pin_to_timer_PGM[] = {
289 NOT_ON_TIMER,
290 NOT_ON_TIMER,
291 NOT_ON_TIMER,
292 TIMER0B, /* 3 */
293 NOT_ON_TIMER,
294 TIMER3A, /* 5 */
295 TIMER4D, /* 6 */
296 NOT_ON_TIMER,
297
298 NOT_ON_TIMER,
299 TIMER1A, /* 9 */
300 TIMER1B, /* 10 */
301 TIMER0A, /* 11 */
302
303 NOT_ON_TIMER,
304 TIMER4A, /* 13 */
305
306 NOT_ON_TIMER,
307 NOT_ON_TIMER,
308 NOT_ON_TIMER,
309 NOT_ON_TIMER,
310 NOT_ON_TIMER,
311 NOT_ON_TIMER,
312
313 NOT_ON_TIMER,
314 NOT_ON_TIMER,
315 NOT_ON_TIMER,
316 NOT_ON_TIMER,
317 NOT_ON_TIMER,
318 NOT_ON_TIMER,
319 NOT_ON_TIMER,
320 NOT_ON_TIMER,
321 NOT_ON_TIMER,
322 NOT_ON_TIMER,
323};
324
325const uint8_t PROGMEM analog_pin_to_channel_PGM[] = {
326 7, // A0 PF7 ADC7
327 6, // A1 PF6 ADC6
328 5, // A2 PF5 ADC5
329 4, // A3 PF4 ADC4
330 1, // A4 PF1 ADC1
331 0, // A5 PF0 ADC0
332 8, // A6 D4 PD4 ADC8
333 10, // A7 D6 PD7 ADC10
334 11, // A8 D8 PB4 ADC11
335 12, // A9 D9 PB5 ADC12
336 13, // A10 D10 PB6 ADC13
337 9 // A11 D12 PD6 ADC9
338};
339
340#endif /* ARDUINO_MAIN */
341
342// These serial port names are intended to allow libraries and architecture-neutral
343// sketches to automatically default to the correct port name for a particular type
344// of use. For example, a GPS module would normally connect to SERIAL_PORT_HARDWARE_OPEN,
345// the first hardware serial port whose RX/TX pins are not dedicated to another use.
346//
347// SERIAL_PORT_MONITOR Port which normally prints to the Arduino Serial Monitor
348//
349// SERIAL_PORT_USBVIRTUAL Port which is USB virtual serial
350//
351// SERIAL_PORT_LINUXBRIDGE Port which connects to a Linux system via Bridge library
352//
353// SERIAL_PORT_HARDWARE Hardware serial port, physical RX & TX pins.
354//
355// SERIAL_PORT_HARDWARE_OPEN Hardware serial ports which are open for use. Their RX & TX
356// pins are NOT connected to anything by default.
357#define SERIAL_PORT_MONITOR Serial
358#define SERIAL_PORT_USBVIRTUAL Serial
359#define SERIAL_PORT_HARDWARE Serial1
360#define SERIAL_PORT_HARDWARE_OPEN Serial1
361
362#endif /* Pins_Arduino_h */
diff --git a/keyboards/helix/rev1/config.h b/keyboards/helix/rev1/config.h
index 61fe74472..1a5a26664 100644
--- a/keyboards/helix/rev1/config.h
+++ b/keyboards/helix/rev1/config.h
@@ -16,8 +16,7 @@ You should have received a copy of the GNU General Public License
16along with this program. If not, see <http://www.gnu.org/licenses/>. 16along with this program. If not, see <http://www.gnu.org/licenses/>.
17*/ 17*/
18 18
19#ifndef REV1_CONFIG_H 19#pragma once
20#define REV1_CONFIG_H
21 20
22/* USB Device descriptor parameter */ 21/* USB Device descriptor parameter */
23#define VENDOR_ID 0xFEED 22#define VENDOR_ID 0xFEED
@@ -27,25 +26,25 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
27#define PRODUCT Helix Alpha 26#define PRODUCT Helix Alpha
28#define DESCRIPTION A split keyboard for the cheap makers 27#define DESCRIPTION A split keyboard for the cheap makers
29 28
29#include <serial_config.h>
30
30#define HELIX_ROWS 5 31#define HELIX_ROWS 5
31 32
32/* key matrix size */ 33/* key matrix size */
33// Rows are doubled-up 34// Rows are doubled-up
34#if HELIX_ROWS == 3 35#if HELIX_ROWS == 3
35 #define MATRIX_ROWS 6 36 #define MATRIX_ROWS 6
36 #define MATRIX_COLS 6
37 #define MATRIX_ROW_PINS { D7, E6, B4 } 37 #define MATRIX_ROW_PINS { D7, E6, B4 }
38#elif HELIX_ROWS == 4 38#elif HELIX_ROWS == 4
39 #define MATRIX_ROWS 8 39 #define MATRIX_ROWS 8
40 #define MATRIX_COLS 6
41 #define MATRIX_ROW_PINS { D7, E6, B4, B5 } 40 #define MATRIX_ROW_PINS { D7, E6, B4, B5 }
42#elif HELIX_ROWS == 5 41#elif HELIX_ROWS == 5
43 #define MATRIX_ROWS 10 42 #define MATRIX_ROWS 10
44 #define MATRIX_COLS 6
45 #define MATRIX_ROW_PINS { D7, E6, B4, B5, D4 } 43 #define MATRIX_ROW_PINS { D7, E6, B4, B5, D4 }
46#else 44#else
47 #error "expected HELIX_ROWS 3 or 4 or 5" 45 #error "expected HELIX_ROWS 3 or 4 or 5"
48#endif 46#endif
47#define MATRIX_COLS 6
49 48
50// wiring of each half 49// wiring of each half
51#define MATRIX_COL_PINS { F6, F7, B1, B3, B2, B6 } 50#define MATRIX_COL_PINS { F6, F7, B1, B3, B2, B6 }
@@ -86,5 +85,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
86//#define NO_ACTION_ONESHOT 85//#define NO_ACTION_ONESHOT
87//#define NO_ACTION_MACRO 86//#define NO_ACTION_MACRO
88//#define NO_ACTION_FUNCTION 87//#define NO_ACTION_FUNCTION
89
90#endif
diff --git a/keyboards/helix/rev1/keymaps/OLED_sample/keymap.c b/keyboards/helix/rev1/keymaps/OLED_sample/keymap.c
index 6bee91786..cc73e36fb 100644
--- a/keyboards/helix/rev1/keymaps/OLED_sample/keymap.c
+++ b/keyboards/helix/rev1/keymaps/OLED_sample/keymap.c
@@ -44,7 +44,7 @@ enum custom_keycodes {
44 M_SAMPLE 44 M_SAMPLE
45}; 45};
46 46
47#if HELIX_ROWS == 5 47#if MATRIX_ROWS == 10 // HELIX_ROWS == 5
48const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 48const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
49 49
50 /* Qwerty 50 /* Qwerty
@@ -174,7 +174,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
174 ) 174 )
175}; 175};
176 176
177#elif HELIX_ROWS == 4 177#elif MATRIX_ROWS == 8 // HELIX_ROWS == 4
178 178
179const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 179const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
180 180
diff --git a/keyboards/helix/rev1/keymaps/default/keymap.c b/keyboards/helix/rev1/keymaps/default/keymap.c
index 43928a418..299840e3d 100644
--- a/keyboards/helix/rev1/keymaps/default/keymap.c
+++ b/keyboards/helix/rev1/keymaps/default/keymap.c
@@ -22,7 +22,7 @@ enum custom_keycodes {
22 ADJUST, 22 ADJUST,
23}; 23};
24 24
25#if HELIX_ROWS == 5 25#if MATRIX_ROWS == 10 // HELIX_ROWS == 5
26const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 26const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
27 27
28 /* Qwerty 28 /* Qwerty
@@ -152,7 +152,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
152 ) 152 )
153}; 153};
154 154
155#elif HELIX_ROWS == 4 155#elif MATRIX_ROWS == 8 // HELIX_ROWS == 4
156 156
157const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 157const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
158 158
diff --git a/keyboards/helix/rev1/rev1.h b/keyboards/helix/rev1/rev1.h
index a8d6ff050..b505845ad 100644
--- a/keyboards/helix/rev1/rev1.h
+++ b/keyboards/helix/rev1/rev1.h
@@ -1,5 +1,4 @@
1#ifndef REV1_H 1#pragma once
2#define REV1_CONFIG_H
3 2
4#include "../helix.h" 3#include "../helix.h"
5 4
@@ -13,7 +12,7 @@
13#endif 12#endif
14#endif 13#endif
15 14
16#if HELIX_ROWS == 3 15#if MATRIX_ROWS == 6 // HELIX_ROWS == 3
17 #ifndef FLIP_HALF 16 #ifndef FLIP_HALF
18 // Standard Keymap 17 // Standard Keymap
19 // (TRRS jack on the left half is to the right, TRRS jack on the right half is to the left) 18 // (TRRS jack on the left half is to the right, TRRS jack on the right half is to the left)
@@ -47,7 +46,7 @@
47 { R20, R21, R22, R23, R24, R25 }, \ 46 { R20, R21, R22, R23, R24, R25 }, \
48 } 47 }
49 #endif 48 #endif
50#elif HELIX_ROWS == 4 49#elif MATRIX_ROWS == 8 // HELIX_ROWS == 4
51 #ifndef FLIP_HALF 50 #ifndef FLIP_HALF
52 // Standard Keymap 51 // Standard Keymap
53 // (TRRS jack on the left half is to the right, TRRS jack on the right half is to the left) 52 // (TRRS jack on the left half is to the right, TRRS jack on the right half is to the left)
@@ -87,7 +86,7 @@
87 { R30, R31, R32, R33, R34, R35 } \ 86 { R30, R31, R32, R33, R34, R35 } \
88 } 87 }
89 #endif 88 #endif
90#elif HELIX_ROWS == 5 89#elif MATRIX_ROWS == 10 // HELIX_ROWS == 5
91 #ifndef FLIP_HALF 90 #ifndef FLIP_HALF
92 // Standard Keymap 91 // Standard Keymap
93 // (TRRS jack on the left half is to the right, TRRS jack on the right half is to the left) 92 // (TRRS jack on the left half is to the right, TRRS jack on the right half is to the left)
@@ -138,7 +137,7 @@
138#endif 137#endif
139 138
140// Used to create a keymap using only KC_ prefixed keys 139// Used to create a keymap using only KC_ prefixed keys
141#if HELIX_ROWS == 3 140#if MATRIX_ROWS == 6 // HELIX_ROWS == 3
142 #define LAYOUT_kc( \ 141 #define LAYOUT_kc( \
143 L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \ 142 L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \
144 L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \ 143 L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \
@@ -149,7 +148,7 @@
149 KC_##L10, KC_##L11, KC_##L12, KC_##L13, KC_##L14, KC_##L15, KC_##R10, KC_##R11, KC_##R12, KC_##R13, KC_##R14, KC_##R15, \ 148 KC_##L10, KC_##L11, KC_##L12, KC_##L13, KC_##L14, KC_##L15, KC_##R10, KC_##R11, KC_##R12, KC_##R13, KC_##R14, KC_##R15, \
150 KC_##L20, KC_##L21, KC_##L22, KC_##L23, KC_##L24, KC_##L25, KC_##R20, KC_##R21, KC_##R22, KC_##R23, KC_##R24, KC_##R25 \ 149 KC_##L20, KC_##L21, KC_##L22, KC_##L23, KC_##L24, KC_##L25, KC_##R20, KC_##R21, KC_##R22, KC_##R23, KC_##R24, KC_##R25 \
151 ) 150 )
152#elif HELIX_ROWS == 4 151#elif MATRIX_ROWS == 8 // HELIX_ROWS == 4
153 #define LAYOUT_kc( \ 152 #define LAYOUT_kc( \
154 L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \ 153 L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \
155 L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \ 154 L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \
@@ -179,4 +178,3 @@
179 ) 178 )
180#endif 179#endif
181 180
182#endif
diff --git a/keyboards/helix/rev1/rules.mk b/keyboards/helix/rev1/rules.mk
index 13834f5da..1418f0178 100644
--- a/keyboards/helix/rev1/rules.mk
+++ b/keyboards/helix/rev1/rules.mk
@@ -1,3 +1,10 @@
1SRC += local_drivers/i2c.c
2SRC += local_drivers/serial.c
3SRC += local_drivers/ssd1306.c
4KEYBOARD_PATHS += $(HELIX_TOP_DIR)/local_drivers
5
6CUSTOM_MATRIX = yes
7
1SRC += rev1/matrix.c 8SRC += rev1/matrix.c
2SRC += rev1/split_util.c 9SRC += rev1/split_util.c
3 10
diff --git a/keyboards/helix/rev2/back/oled/rules.mk b/keyboards/helix/rev2/back/oled/rules.mk
new file mode 100644
index 000000000..dd68e9d3b
--- /dev/null
+++ b/keyboards/helix/rev2/back/oled/rules.mk
@@ -0,0 +1 @@
OLED_ENABLE = yes
diff --git a/keyboards/helix/rev2/back/rules.mk b/keyboards/helix/rev2/back/rules.mk
new file mode 100644
index 000000000..066fffb74
--- /dev/null
+++ b/keyboards/helix/rev2/back/rules.mk
@@ -0,0 +1 @@
LED_BACK_ENABLE = yes
diff --git a/keyboards/helix/rev2/config.h b/keyboards/helix/rev2/config.h
index ec7445859..fe82ce140 100644
--- a/keyboards/helix/rev2/config.h
+++ b/keyboards/helix/rev2/config.h
@@ -16,8 +16,7 @@ You should have received a copy of the GNU General Public License
16along with this program. If not, see <http://www.gnu.org/licenses/>. 16along with this program. If not, see <http://www.gnu.org/licenses/>.
17*/ 17*/
18 18
19#ifndef REV2_CONFIG_H 19#pragma once
20#define REV2_CONFIG_H
21 20
22/* USB Device descriptor parameter */ 21/* USB Device descriptor parameter */
23#define VENDOR_ID 0xFEED 22#define VENDOR_ID 0xFEED
@@ -35,6 +34,10 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
35#define USE_SERIAL 34#define USE_SERIAL
36//#define USE_MATRIX_I2C 35//#define USE_MATRIX_I2C
37 36
37/* Soft Serial defines */
38#define SOFT_SERIAL_PIN D2
39#define SERIAL_USE_MULTI_TRANSACTION
40
38/* Select hand configuration */ 41/* Select hand configuration */
39#define MASTER_LEFT 42#define MASTER_LEFT
40// #define MASTER_RIGHT 43// #define MASTER_RIGHT
@@ -88,7 +91,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
88//#define RGBLIGHT_ANIMATIONS : see ./rules.mk: LED_ANIMATIONS = yes or no 91//#define RGBLIGHT_ANIMATIONS : see ./rules.mk: LED_ANIMATIONS = yes or no
89// see ./rules.mk: LED_BACK_ENABLE or LED_UNDERGLOW_ENABLE set yes 92// see ./rules.mk: LED_BACK_ENABLE or LED_UNDERGLOW_ENABLE set yes
90#ifdef RGBLED_BACK 93#ifdef RGBLED_BACK
91 #if HELIX_ROWS == 4 94 #if MATRIX_ROWS == 8 // HELIX_ROWS == 4
92 #define RGBLED_NUM 25 95 #define RGBLED_NUM 25
93 #else 96 #else
94 #define RGBLED_NUM 32 97 #define RGBLED_NUM 32
@@ -101,7 +104,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
101 #if RGBLED_NUM <= 6 104 #if RGBLED_NUM <= 6
102 #define RGBLIGHT_LIMIT_VAL 255 105 #define RGBLIGHT_LIMIT_VAL 255
103 #else 106 #else
104 #if HELIX_ROWS == 4 107 #if MATRIX_ROWS == 8 // HELIX_ROWS == 4
105 #define RGBLIGHT_LIMIT_VAL 130 108 #define RGBLIGHT_LIMIT_VAL 130
106 #else 109 #else
107 #define RGBLIGHT_LIMIT_VAL 120 110 #define RGBLIGHT_LIMIT_VAL 120
@@ -112,7 +115,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
112 #if RGBLED_NUM <= 6 115 #if RGBLED_NUM <= 6
113 #define RGBLIGHT_LIMIT_VAL 90 116 #define RGBLIGHT_LIMIT_VAL 90
114 #else 117 #else
115 #if HELIX_ROWS == 4 118 #if MATRIX_ROWS == 8 // HELIX_ROWS == 4
116 #define RGBLIGHT_LIMIT_VAL 45 119 #define RGBLIGHT_LIMIT_VAL 45
117 #else 120 #else
118 #define RGBLIGHT_LIMIT_VAL 35 121 #define RGBLIGHT_LIMIT_VAL 35
@@ -155,4 +158,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
155//#define NO_ACTION_MACRO 158//#define NO_ACTION_MACRO
156//#define NO_ACTION_FUNCTION 159//#define NO_ACTION_FUNCTION
157 160
158#endif
diff --git a/keyboards/helix/rev2/keymaps/default/keymap.c b/keyboards/helix/rev2/keymaps/default/keymap.c
index a64eed3e7..2f4736add 100644
--- a/keyboards/helix/rev2/keymaps/default/keymap.c
+++ b/keyboards/helix/rev2/keymaps/default/keymap.c
@@ -53,7 +53,7 @@ enum macro_keycodes {
53//Macros 53//Macros
54#define M_SAMPLE M(KC_SAMPLEMACRO) 54#define M_SAMPLE M(KC_SAMPLEMACRO)
55 55
56#if HELIX_ROWS == 5 56#if MATRIX_ROWS == 10 // HELIX_ROWS == 5
57const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 57const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
58 58
59 /* Qwerty 59 /* Qwerty
@@ -183,7 +183,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
183 ) 183 )
184}; 184};
185 185
186#elif HELIX_ROWS == 4 186#elif MATRIX_ROWS == 8 // HELIX_ROWS == 4
187 187
188const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 188const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
189 189
diff --git a/keyboards/helix/rev2/keymaps/default/readme.md b/keyboards/helix/rev2/keymaps/default/readme.md
index 2cdc5506c..c618c4752 100644
--- a/keyboards/helix/rev2/keymaps/default/readme.md
+++ b/keyboards/helix/rev2/keymaps/default/readme.md
@@ -108,17 +108,16 @@
108see `qmk_firmware/keyboards/helix/rev2/keymaps/default/rules.mk` 108see `qmk_firmware/keyboards/helix/rev2/keymaps/default/rules.mk`
109 109
110``` 110```
111# Helix keyboard customize 111# Helix Spacific Build Options
112# you can edit follows 7 Variables 112# you can uncomment and edit follows 7 Variables
113# jp: 以下の7つの変数を必要に応じて編集します。 113# jp: 以下の7つの変数を必要に応じて編集し、コメントアウトをはずします。
114HELIX_ROWS = 5 # Helix Rows is 4 or 5 114# HELIX_ROWS = 5 # Helix Rows is 4 or 5
115OLED_ENABLE = no # OLED_ENABLE 115# OLED_ENABLE = no # OLED_ENABLE
116LOCAL_GLCDFONT = no # use each keymaps "helixfont.h" insted of "common/glcdfont.c" 116# LOCAL_GLCDFONT = no # use each keymaps "helixfont.h" insted of "common/glcdfont.c"
117LED_BACK_ENABLE = no # LED backlight (Enable WS2812 RGB underlight.) 117# LED_BACK_ENABLE = no # LED backlight (Enable WS2812 RGB underlight.)
118LED_UNDERGLOW_ENABLE = no # LED underglow (Enable WS2812 RGB underlight.) 118# LED_UNDERGLOW_ENABLE = no # LED underglow (Enable WS2812 RGB underlight.)
119LED_ANIMATIONS = yes # LED animations 119# LED_ANIMATIONS = yes # LED animations
120IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone) 120# IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone)
121
122``` 121```
123## Compile 122## Compile
124 123
@@ -130,11 +129,24 @@ $ cd qmk_firmware
130build 129build
131``` 130```
132$ make helix:default 131$ make helix:default
132$ make helix/rev2/back:default # with backlight
133$ make HELIX=no_ani helix/rev2/back:default # with backlight without animation
134$ make helix/rev2/under:default # with underglow
135$ make helix/rev2/oled:default # with oled
136$ make helix/rev2/oled/back:default # with oled and backlight
137$ make helix/rev2/oled/under:default # with oled and underglow
133``` 138```
134 139
135flash to keyboard 140flash to keyboard
136``` 141```
137$ make helix:default:avrdude 142$ make helix:default:flash
143$ make helix/rev2/back:default:flash # with backlight
144$ make HELIX=no_ani helix/rev2/back:default:flash # with backlight without animation
145$ make helix/rev2/under:default:flash # with underglow
146$ make helix/rev2/oled:default:flash # with oled
147$ make helix/rev2/oled/back:default:flash # with oled and backlight
148$ make helix/rev2/oled/under:default:flash # with oled and underglow
149
138``` 150```
139 151
140## Link 152## Link
diff --git a/keyboards/helix/rev2/keymaps/default/readme_jp.md b/keyboards/helix/rev2/keymaps/default/readme_jp.md
index 3eaeab48e..2dfab351b 100644
--- a/keyboards/helix/rev2/keymaps/default/readme_jp.md
+++ b/keyboards/helix/rev2/keymaps/default/readme_jp.md
@@ -19,31 +19,6 @@
19 19
20他の配列(Colemak,Dvorak)は、[readme.md](readme.md) を参照 20他の配列(Colemak,Dvorak)は、[readme.md](readme.md) を参照
21 21
22## コンパイルの仕方
23
24コンパイルは、qmk_firmware のトップディレクトリで行います。
25
26```
27$ cd qmk_firmware
28```
29qmk_firmwareでは各キーボードのコンパイルは、`<キーボード名>:<キーマップ名>`という指定で行います。
30
31```
32$ make helix:default
33```
34
35キーボードへの書き込みまで同時に行うには下記のように`:avrdude`を付けます。
36
37```
38$ make helix:default:avrdude
39```
40
41コンパイル結果と中間生成物を消去したい場合は以下のようにします。
42
43```
44$ make helix:default:clean
45```
46
47## カスタマイズ 22## カスタマイズ
48 23
49Helix キーボードを4行版として製作したり、オプションの OLED をつけたり、 24Helix キーボードを4行版として製作したり、オプションの OLED をつけたり、
@@ -51,17 +26,16 @@ RGB バックライトまたは、RGB Underglow をつけた場合は、
51`qmk_firmware/keyboards/helix/rev2/keymaps/default/rules.mk` の以下の部分を編集して機能を有効化してください。 26`qmk_firmware/keyboards/helix/rev2/keymaps/default/rules.mk` の以下の部分を編集して機能を有効化してください。
52 27
53``` 28```
54# Helix keyboard customize 29# Helix Spacific Build Options
55# you can edit follows 7 Variables 30# you can uncomment and edit follows 7 Variables
56# jp: 以下の7つの変数を必要に応じて編集します。 31# jp: 以下の7つの変数を必要に応じて編集し、コメントアウトをはずします。
57HELIX_ROWS = 5 # Helix Rows is 4 or 5 32# HELIX_ROWS = 5 # Helix Rows is 4 or 5
58OLED_ENABLE = no # OLED_ENABLE 33# OLED_ENABLE = no # OLED_ENABLE
59LOCAL_GLCDFONT = no # use each keymaps "helixfont.h" insted of "common/glcdfont.c" 34# LOCAL_GLCDFONT = no # use each keymaps "helixfont.h" insted of "common/glcdfont.c"
60LED_BACK_ENABLE = no # LED backlight (Enable WS2812 RGB underlight.) 35# LED_BACK_ENABLE = no # LED backlight (Enable WS2812 RGB underlight.)
61LED_UNDERGLOW_ENABLE = no # LED underglow (Enable WS2812 RGB underlight.) 36# LED_UNDERGLOW_ENABLE = no # LED underglow (Enable WS2812 RGB underlight.)
62LED_ANIMATIONS = yes # LED animations 37# LED_ANIMATIONS = yes # LED animations
63IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone) 38# IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone)
64
65``` 39```
66 40
67## 4行版Helix に対応する 41## 4行版Helix に対応する
@@ -103,6 +77,58 @@ RBG Underglow や RGBバックライトの輝度を抑えて、iPad, iPhone に
103IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone) 77IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone)
104``` 78```
105 79
80## コンパイルの仕方
81
82コンパイルは、qmk_firmware のトップディレクトリで行います。
83
84```
85$ cd qmk_firmware
86```
87qmk_firmwareでは各キーボードのコンパイルは、`<キーボード名>:<キーマップ名>`という指定で行います。
88
89```
90$ make helix:default
91```
92
93キーボードへの書き込みまで同時に行うには下記のように`:flash`を付けます。
94
95```
96$ make helix:default:flash
97```
98
99コンパイル結果と中間生成物を消去したい場合は以下のようにします。
100
101```
102$ make helix:default:clean
103```
104
105上記の、rules.mk によるカスタマイズ項目の一部は下記のようにコマンド上で直接指定することも可能です。
106
107OLED を有効にしてコンパイルしてキーボードへの書き込む。
108```
109$ make helix/rev2/oled:default:flash
110```
111
112RGB バックライトを有効にしてコンパイルしてキーボードへ書き込む。
113```
114$ make helix/rev2/back:default:flash
115```
116
117RGB Underglow を有効にしてコンパイルしてキーボードへ書き込む。
118```
119$ make helix/rev2/under:default:flash
120```
121
122OLED とRGB バックライトを有効にしてコンパイルしてキーボードへ書き込む。
123```
124$ make helix/rev2/oled/back:default:flash
125```
126
127OLED とRGB Underglowを有効にしてコンパイルしてキーボードへ書き込む。
128```
129$ make helix/rev2/oled/under:default:flash
130```
131
106## リンク 132## リンク
107 133
108* さらに詳細は、[こちら helix/Doc/firmware_jp.md](https://github.com/MakotoKurauchi/helix/blob/master/Doc/firmware_jp.md)をご覧ください。 134* さらに詳細は、[こちら helix/Doc/firmware_jp.md](https://github.com/MakotoKurauchi/helix/blob/master/Doc/firmware_jp.md)をご覧ください。
diff --git a/keyboards/helix/rev2/keymaps/default/rules.mk b/keyboards/helix/rev2/keymaps/default/rules.mk
index 37ef8632d..6a42fcf73 100644
--- a/keyboards/helix/rev2/keymaps/default/rules.mk
+++ b/keyboards/helix/rev2/keymaps/default/rules.mk
@@ -1,124 +1,23 @@
1 1# QMK Standard Build Options
2# Build Options
3# change to "no" to disable the options, or define them in the Makefile in 2# change to "no" to disable the options, or define them in the Makefile in
4# the appropriate keymap folder that will get included automatically 3# the appropriate keymap folder that will get included automatically
5# 4#
6BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) 5# See TOP/keyboards/helix/rules.mk for a list of options that can be set.
7MOUSEKEY_ENABLE = no # Mouse keys(+4700) 6# See TOP/docs/config_options.md for more information.
8EXTRAKEY_ENABLE = no # Audio control and System control(+450) 7#
9CONSOLE_ENABLE = no # Console for debug(+400) 8LINK_TIME_OPTIMIZATION_ENABLE = no # if firmware size over limit, try this option
10COMMAND_ENABLE = no # Commands for debug and configuration 9
11NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work 10# Helix Spacific Build Options
12BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality 11# you can uncomment and edit follows 7 Variables
13MIDI_ENABLE = no # MIDI controls 12# jp: 以下の7つの変数を必要に応じて編集し、コメントアウトをはずします。
14AUDIO_ENABLE = no # Audio output on port C6 13# HELIX_ROWS = 5 # Helix Rows is 4 or 5
15UNICODE_ENABLE = no # Unicode 14# OLED_ENABLE = no # OLED_ENABLE
16BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID 15# LOCAL_GLCDFONT = no # use each keymaps "helixfont.h" insted of "common/glcdfont.c"
17RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. 16# LED_BACK_ENABLE = no # LED backlight (Enable WS2812 RGB underlight.)
18SWAP_HANDS_ENABLE = no # Enable one-hand typing 17# LED_UNDERGLOW_ENABLE = no # LED underglow (Enable WS2812 RGB underlight.)
19 18# LED_ANIMATIONS = yes # LED animations
20define HELIX_CUSTOMISE_MSG 19# IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone)
21 $(info Helix customize) 20
22 $(info - OLED_ENABLE=$(OLED_ENABLE)) 21# convert Helix-specific options (that represent combinations of standard options)
23 $(info - LED_BACK_ENABLE=$(LED_BACK_ENABLE)) 22# into QMK standard options.
24 $(info - LED_UNDERGLOW_ENABLE=$(LED_UNDERGLOW_ENABLE)) 23include $(strip $(KEYBOARD_LOCAL_FEATURES_MK))
25 $(info - LED_ANIMATION=$(LED_ANIMATIONS))
26 $(info - IOS_DEVICE_ENABLE=$(IOS_DEVICE_ENABLE))
27endef
28
29# Helix keyboard customize
30# you can edit follows 7 Variables
31# jp: 以下の7つの変数を必要に応じて編集します。
32HELIX_ROWS = 5 # Helix Rows is 4 or 5
33OLED_ENABLE = no # OLED_ENABLE
34LOCAL_GLCDFONT = no # use each keymaps "helixfont.h" insted of "common/glcdfont.c"
35LED_BACK_ENABLE = no # LED backlight (Enable WS2812 RGB underlight.)
36LED_UNDERGLOW_ENABLE = no # LED underglow (Enable WS2812 RGB underlight.)
37LED_ANIMATIONS = yes # LED animations
38IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone)
39Link_Time_Optimization = no # if firmware size over limit, try this option
40
41#### LED_BACK_ENABLE and LED_UNDERGLOW_ENABLE.
42#### Do not enable these with audio at the same time.
43
44### Helix keyboard 'default' keymap: convenient command line option
45## make HELIX=<options> helix:defualt
46## option= oled | back | under | na | ios
47## ex.
48## make HELIX=oled helix:defualt
49## make HELIX=oled,back helix:defualt
50## make HELIX=oled,under helix:defualt
51## make HELIX=oled,back,na helix:defualt
52## make HELIX=oled,back,ios helix:defualt
53##
54ifneq ($(strip $(HELIX)),)
55 ifeq ($(findstring oled,$(HELIX)), oled)
56 OLED_ENABLE = yes
57 endif
58 ifeq ($(findstring back,$(HELIX)), back)
59 LED_BACK_ENABLE = yes
60 else ifeq ($(findstring under,$(HELIX)), under)
61 LED_UNDERGLOW_ENABLE = yes
62 endif
63 ifeq ($(findstring na,$(HELIX)), na)
64 LED_ANIMATIONS = no
65 endif
66 ifeq ($(findstring ios,$(HELIX)), ios)
67 IOS_DEVICE_ENABLE = yes
68 endif
69 $(eval $(call HELIX_CUSTOMISE_MSG))
70 $(info )
71endif
72
73# Uncomment these for checking
74# jp: コンパイル時にカスタマイズの状態を表示したい時はコメントをはずします。
75# $(eval $(call HELIX_CUSTOMISE_MSG))
76# $(info )
77
78ifneq ($(strip $(HELIX_ROWS)), 4)
79 ifneq ($(strip $(HELIX_ROWS)), 5)
80 $(error HELIX_ROWS = $(strip $(HELIX_ROWS)) is unexpected value)
81 endif
82endif
83OPT_DEFS += -DHELIX_ROWS=$(strip $(HELIX_ROWS))
84
85ifeq ($(strip $(LED_BACK_ENABLE)), yes)
86 RGBLIGHT_ENABLE = yes
87 OPT_DEFS += -DRGBLED_BACK
88 ifeq ($(strip $(LED_UNDERGLOW_ENABLE)), yes)
89 $(eval $(call HELIX_CUSTOMISE_MSG))
90 $(error LED_BACK_ENABLE and LED_UNDERGLOW_ENABLE both 'yes')
91 endif
92else ifeq ($(strip $(LED_UNDERGLOW_ENABLE)), yes)
93 RGBLIGHT_ENABLE = yes
94else
95 RGBLIGHT_ENABLE = no
96endif
97
98ifeq ($(strip $(IOS_DEVICE_ENABLE)), yes)
99 OPT_DEFS += -DIOS_DEVICE_ENABLE
100endif
101
102ifeq ($(strip $(LED_ANIMATIONS)), yes)
103 OPT_DEFS += -DLED_ANIMATIONS
104endif
105
106ifeq ($(strip $(OLED_ENABLE)), yes)
107 OPT_DEFS += -DOLED_ENABLE
108endif
109
110ifeq ($(strip $(LOCAL_GLCDFONT)), yes)
111 OPT_DEFS += -DLOCAL_GLCDFONT
112endif
113
114ifeq ($(strip $(Link_Time_Optimization)),yes)
115 EXTRAFLAGS += -flto -DUSE_Link_Time_Optimization
116endif
117
118# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
119SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
120
121# Uncomment these for debugging
122# $(info -- RGBLIGHT_ENABLE=$(RGBLIGHT_ENABLE))
123# $(info -- OPT_DEFS=$(OPT_DEFS))
124# $(info )
diff --git a/keyboards/helix/rev2/keymaps/edvorakjp/rules.mk b/keyboards/helix/rev2/keymaps/edvorakjp/rules.mk
index 4a96517eb..e30690029 100644
--- a/keyboards/helix/rev2/keymaps/edvorakjp/rules.mk
+++ b/keyboards/helix/rev2/keymaps/edvorakjp/rules.mk
@@ -1,128 +1,38 @@
1# Build Options 1# QMK Standard Build Options
2# change to "no" to disable the options, or define them in the Makefile in 2# change to "no" to disable the options, or define them in the Makefile in
3# the appropriate keymap folder that will get included automatically 3# the appropriate keymap folder that will get included automatically
4# 4#
5BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) 5# See TOP/keyboards/helix/rules.mk for a list of options that can be set.
6MOUSEKEY_ENABLE = no # Mouse keys(+4700) 6# See TOP/docs/config_options.md for more information.
7EXTRAKEY_ENABLE = no # Audio control and System control(+450) 7#
8CONSOLE_ENABLE = no # Console for debug(+400) 8LINK_TIME_OPTIMIZATION_ENABLE = no # if firmware size over limit, try this option
9COMMAND_ENABLE = no # Commands for debug and configuration
10NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
11BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
12MIDI_ENABLE = no # MIDI controls
13AUDIO_ENABLE = no # Audio output on port C6
14UNICODE_ENABLE = no # Unicode
15BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
16RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
17SWAP_HANDS_ENABLE = no # Enable one-hand typing
18TAP_DANCE_ENABLE = yes 9TAP_DANCE_ENABLE = yes
19 10
20define HELIX_CUSTOMISE_MSG 11# Helix Spacific Build Options
21 $(info Helix customize) 12# you can uncomment and edit follows 7 Variables
22 $(info - OLED_ENABLE=$(OLED_ENABLE)) 13# jp: 以下の7つの変数を必要に応じて編集し、コメントアウトをはずします。
23 $(info - LED_BACK_ENABLE=$(LED_BACK_ENABLE)) 14# HELIX_ROWS = 5 # Helix Rows is 4 or 5
24 $(info - LED_UNDERGLOW_ENABLE=$(LED_UNDERGLOW_ENABLE)) 15# OLED_ENABLE = no # OLED_ENABLE
25 $(info - LED_ANIMATION=$(LED_ANIMATIONS)) 16# LOCAL_GLCDFONT = no # use each keymaps "helixfont.h" instead of "common/glcdfont.c"
26 $(info - IOS_DEVICE_ENABLE=$(IOS_DEVICE_ENABLE)) 17# LED_BACK_ENABLE = no # LED backlight (Enable WS2812 RGB underlight.)
27endef 18# LED_UNDERGLOW_ENABLE = no # LED underglow (Enable WS2812 RGB underlight.)
28 19# LED_ANIMATIONS = yes # LED animations
29# Helix keyboard customize 20# IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone)
30# you can edit follows 7 Variables 21
31# jp: 以下の7つの変数を必要に応じて編集します。 22# convert Helix-specific options (that represent combinations of standard options)
32HELIX_ROWS = 5 # Helix Rows is 4 or 5 23# into QMK standard options.
33OLED_ENABLE = no # OLED_ENABLE 24include $(strip $(KEYBOARD_LOCAL_FEATURES_MK))
34LOCAL_GLCDFONT = no # use each keymaps "helixfont.h" instead of "common/glcdfont.c"
35LED_BACK_ENABLE = no # LED backlight (Enable WS2812 RGB underlight.)
36LED_UNDERGLOW_ENABLE = no # LED underglow (Enable WS2812 RGB underlight.)
37LED_ANIMATIONS = yes # LED animations
38IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone)
39Link_Time_Optimization = no # if firmware size over limit, try this option
40
41#### LED_BACK_ENABLE and LED_UNDERGLOW_ENABLE.
42#### Do not enable these with audio at the same time.
43
44### Helix keyboard 'edvorakjp' keymap: convenient command line option
45## make HELIX=<options> helix:edvorakjp
46## option= oled | back | under | na | ios
47## ex.
48## make HELIX=oled helix:edvorakjp
49## make HELIX=oled,back helix:edvorakjp
50## make HELIX=oled,under helix:edvorakjp
51## make HELIX=oled,back,na helix:edvorakjp
52## make HELIX=oled,back,ios helix:edvorakjp
53##
54ifneq ($(strip $(HELIX)),)
55 ifeq ($(findstring oled,$(HELIX)), oled)
56 OLED_ENABLE = yes
57 endif
58 ifeq ($(findstring back,$(HELIX)), back)
59 LED_BACK_ENABLE = yes
60 else ifeq ($(findstring under,$(HELIX)), under)
61 LED_UNDERGLOW_ENABLE = yes
62 endif
63 ifeq ($(findstring na,$(HELIX)), na)
64 LED_ANIMATIONS = no
65 endif
66 ifeq ($(findstring ios,$(HELIX)), ios)
67 IOS_DEVICE_ENABLE = yes
68 endif
69 $(eval $(call HELIX_CUSTOMISE_MSG))
70 $(info )
71endif
72
73# Uncomment these for checking
74# jp: コンパイル時にカスタマイズの状態を表示したい時はコメントをはずします。
75# $(eval $(call HELIX_CUSTOMISE_MSG))
76# $(info )
77 25
78ifeq ($(strip $(HELIX_ROWS)), 4) 26ifeq ($(strip $(HELIX_ROWS)), 4)
79 SRC += keymap_4rows.c 27 SRC += keymap_4rows.c
80else ifeq ($(strip $(HELIX_ROWS)), 5) 28else ifeq ($(strip $(HELIX_ROWS)), 5)
81 SRC += keymap_5rows.c 29 SRC += keymap_5rows.c
82else
83 $(error HELIX_ROWS = $(strip $(HELIX_ROWS)) is unexpected value)
84endif 30endif
85OPT_DEFS += -DHELIX_ROWS=$(strip $(HELIX_ROWS))
86 31
87ifeq ($(strip $(LED_BACK_ENABLE)), yes) 32ifeq ($(strip $(LED_UNDERGLOW_ENABLE)), yes)
88 RGBLIGHT_ENABLE = yes
89 OPT_DEFS += -DRGBLED_BACK
90 ifeq ($(strip $(LED_UNDERGLOW_ENABLE)), yes)
91 $(eval $(call HELIX_CUSTOMISE_MSG))
92 $(error LED_BACK_ENABLE and LED_UNDERGLOW_ENABLE both 'yes')
93 endif
94else ifeq ($(strip $(LED_UNDERGLOW_ENABLE)), yes)
95 RGBLIGHT_ENABLE = yes
96 OPT_DEFS += -DRGBLED_BACK 33 OPT_DEFS += -DRGBLED_BACK
97else
98 RGBLIGHT_ENABLE = no
99endif
100
101ifeq ($(strip $(IOS_DEVICE_ENABLE)), yes)
102 OPT_DEFS += -DIOS_DEVICE_ENABLE
103endif
104
105ifeq ($(strip $(LED_ANIMATIONS)), yes)
106 OPT_DEFS += -DLED_ANIMATIONS
107endif 34endif
108 35
109ifeq ($(strip $(OLED_ENABLE)), yes) 36ifeq ($(strip $(OLED_ENABLE)), yes)
110 OPT_DEFS += -DOLED_ENABLE
111 SRC += oled.c 37 SRC += oled.c
112endif 38endif
113
114ifeq ($(strip $(LOCAL_GLCDFONT)), yes)
115 OPT_DEFS += -DLOCAL_GLCDFONT
116endif
117
118ifeq ($(strip $(Link_Time_Optimization)),yes)
119 EXTRAFLAGS += -flto -DUSE_Link_Time_Optimization
120endif
121
122# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
123SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
124
125# Uncomment these for debugging
126# $(info -- RGBLIGHT_ENABLE=$(RGBLIGHT_ENABLE))
127# $(info -- OPT_DEFS=$(OPT_DEFS))
128# $(info )
diff --git a/keyboards/helix/rev2/keymaps/five_rows/keymap.c b/keyboards/helix/rev2/keymaps/five_rows/keymap.c
index 7b7d573d6..eb73881c6 100644
--- a/keyboards/helix/rev2/keymaps/five_rows/keymap.c
+++ b/keyboards/helix/rev2/keymaps/five_rows/keymap.c
@@ -67,7 +67,7 @@ enum custom_keycodes {
67#define KC_LSLB LSFT(KC_LBRC) 67#define KC_LSLB LSFT(KC_LBRC)
68#define ___ _______ 68#define ___ _______
69 69
70#if HELIX_ROWS == 5 70#if MATRIX_ROWS == 10 // HELIX_ROWS == 5
71const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 71const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
72 72
73 /* Qwerty 73 /* Qwerty
diff --git a/keyboards/helix/rev2/keymaps/five_rows/rules.mk b/keyboards/helix/rev2/keymaps/five_rows/rules.mk
index a0bf21917..fb564b6e0 100644
--- a/keyboards/helix/rev2/keymaps/five_rows/rules.mk
+++ b/keyboards/helix/rev2/keymaps/five_rows/rules.mk
@@ -1,131 +1,35 @@
1 1# QMK Standard Build Options
2# Build Options
3# change to "no" to disable the options, or define them in the Makefile in 2# change to "no" to disable the options, or define them in the Makefile in
4# the appropriate keymap folder that will get included automatically 3# the appropriate keymap folder that will get included automatically
5# 4#
6BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) 5# See TOP/keyboards/helix/rules.mk for a list of options that can be set.
7MOUSEKEY_ENABLE = no # Mouse keys(+4700) 6# See TOP/docs/config_options.md for more information.
8EXTRAKEY_ENABLE = no # Audio control and System control(+450) 7#
9CONSOLE_ENABLE = no # Console for debug 8 CONSOLE_ENABLE = no # Console for debug
10COMMAND_ENABLE = no # Commands for debug and configuration 9 COMMAND_ENABLE = no # Commands for debug and configuration
11# CONSOLE_ENABLE and COMMAND_ENABLE 10 # CONSOLE_ENABLE and COMMAND_ENABLE
12# yes, no +1500 11 # yes, no +1500
13# yes, yes +3200 12 # yes, yes +3200
14# no, yes +400 13 # no, yes +400
15NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work 14LINK_TIME_OPTIMIZATION_ENABLE = no # if firmware size over limit, try this option
16BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality 15
17MIDI_ENABLE = no # MIDI controls 16# Helix Spacific Build Options
18AUDIO_ENABLE = no # Audio output on port C6 17# you can uncomment and edit follows 7 Variables
19UNICODE_ENABLE = no # Unicode 18# jp: 以下の7つの変数を必要に応じて編集し、コメントアウトをはずします。
20BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
21RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
22SWAP_HANDS_ENABLE = no # Enable one-hand typing
23
24define HELIX_CUSTOMISE_MSG
25 $(info Helix customize)
26 $(info - OLED_ENABLE=$(OLED_ENABLE))
27 $(info - LED_BACK_ENABLE=$(LED_BACK_ENABLE))
28 $(info - LED_UNDERGLOW_ENABLE=$(LED_UNDERGLOW_ENABLE))
29 $(info - LED_ANIMATION=$(LED_ANIMATIONS))
30 $(info - IOS_DEVICE_ENABLE=$(IOS_DEVICE_ENABLE))
31endef
32
33# Helix keyboard customize
34# you can edit follows 7 Variables
35# jp: 以下の7つの変数を必要に応じて編集します。
36HELIX_ROWS = 5 # Helix Rows is 4 or 5 19HELIX_ROWS = 5 # Helix Rows is 4 or 5
37OLED_ENABLE = no # OLED_ENABLE 20# OLED_ENABLE = no # OLED_ENABLE
38LOCAL_GLCDFONT = no # use each keymaps "helixfont.h" insted of "common/glcdfont.c" 21# LOCAL_GLCDFONT = no # use each keymaps "helixfont.h" insted of "common/glcdfont.c"
39LED_BACK_ENABLE = no # LED backlight (Enable WS2812 RGB underlight.) 22# LED_BACK_ENABLE = no # LED backlight (Enable WS2812 RGB underlight.)
40LED_UNDERGLOW_ENABLE = no # LED underglow (Enable WS2812 RGB underlight.) 23# LED_UNDERGLOW_ENABLE = no # LED underglow (Enable WS2812 RGB underlight.)
41LED_ANIMATIONS = yes # LED animations 24# LED_ANIMATIONS = yes # LED animations
42IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone) 25# IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone)
43Link_Time_Optimization = no # if firmware size over limit, try this option
44 26
45#### LED_BACK_ENABLE and LED_UNDERGLOW_ENABLE.
46#### Do not enable these with audio at the same time.
47
48### Helix keyboard 'five_rows' keymap: convenient command line option
49## make HELIX=<options> helix:five_rows
50## option= oled | back | under | na | ios
51## ex.
52## make HELIX=oled helix:five_rows
53## make HELIX=oled,back helix:five_rows
54## make HELIX=oled,under helix:five_rows
55## make HELIX=oled,back,na helix:five_rows
56## make HELIX=oled,back,ios helix:five_rows
57##
58ifneq ($(strip $(HELIX)),) 27ifneq ($(strip $(HELIX)),)
59 ifeq ($(findstring oled,$(HELIX)), oled)
60 OLED_ENABLE = yes
61 endif
62 ifeq ($(findstring back,$(HELIX)), back)
63 LED_BACK_ENABLE = yes
64 else ifeq ($(findstring under,$(HELIX)), under)
65 LED_UNDERGLOW_ENABLE = yes
66 endif
67 ifeq ($(findstring na,$(HELIX)), na)
68 LED_ANIMATIONS = no
69 endif
70 ifeq ($(findstring ios,$(HELIX)), ios)
71 IOS_DEVICE_ENABLE = yes
72 endif
73 ifeq ($(findstring console,$(HELIX)), console) 28 ifeq ($(findstring console,$(HELIX)), console)
74 CONSOLE_ENABLE = yes 29 CONSOLE_ENABLE = yes
75 endif 30 endif
76 $(eval $(call HELIX_CUSTOMISE_MSG))
77 $(info )
78endif 31endif
79 32
80# Uncomment these for checking 33# convert Helix-specific options (that represent combinations of standard options)
81# jp: コンパイル時にカスタマイズの状態を表示したい時はコメントをはずします。 34# into QMK standard options.
82# $(eval $(call HELIX_CUSTOMISE_MSG)) 35include $(strip $(KEYBOARD_LOCAL_FEATURES_MK))
83# $(info )
84
85ifneq ($(strip $(HELIX_ROWS)), 4)
86ifneq ($(strip $(HELIX_ROWS)), 5)
87$(error HELIX_ROWS = $(strip $(HELIX_ROWS)) is unexpected value)
88endif
89endif
90OPT_DEFS += -DHELIX_ROWS=$(strip $(HELIX_ROWS))
91
92ifeq ($(strip $(LED_BACK_ENABLE)), yes)
93 RGBLIGHT_ENABLE = yes
94 OPT_DEFS += -DRGBLED_BACK
95 ifeq ($(strip $(LED_UNDERGLOW_ENABLE)), yes)
96 $(eval $(call HELIX_CUSTOMISE_MSG))
97 $(error LED_BACK_ENABLE and LED_UNDERGLOW_ENABLE both 'yes')
98 endif
99else ifeq ($(strip $(LED_UNDERGLOW_ENABLE)), yes)
100 RGBLIGHT_ENABLE = yes
101else
102 RGBLIGHT_ENABLE = no
103endif
104
105ifeq ($(strip $(IOS_DEVICE_ENABLE)), yes)
106 OPT_DEFS += -DIOS_DEVICE_ENABLE
107endif
108
109ifeq ($(strip $(LED_ANIMATIONS)), yes)
110 OPT_DEFS += -DLED_ANIMATIONS
111endif
112
113ifeq ($(strip $(OLED_ENABLE)), yes)
114 OPT_DEFS += -DOLED_ENABLE
115endif
116
117ifeq ($(strip $(LOCAL_GLCDFONT)), yes)
118 OPT_DEFS += -DLOCAL_GLCDFONT
119endif
120
121ifeq ($(strip $(Link_Time_Optimization)),yes)
122 EXTRAFLAGS += -flto -DUSE_Link_Time_Optimization
123endif
124
125# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
126SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
127
128# Uncomment these for debugging
129# $(info -- RGBLIGHT_ENABLE=$(RGBLIGHT_ENABLE))
130# $(info -- OPT_DEFS=$(OPT_DEFS))
131# $(info )
diff --git a/keyboards/helix/rev2/keymaps/five_rows_jis/keymap.c b/keyboards/helix/rev2/keymaps/five_rows_jis/keymap.c
index be76dffbe..0dae2524d 100644
--- a/keyboards/helix/rev2/keymaps/five_rows_jis/keymap.c
+++ b/keyboards/helix/rev2/keymaps/five_rows_jis/keymap.c
@@ -55,7 +55,7 @@ enum custom_keycodes {
55#define ML_RAIE MO(_RAI_E) 55#define ML_RAIE MO(_RAI_E)
56#define ML_ADJ MO(_ADJUST) 56#define ML_ADJ MO(_ADJUST)
57 57
58#if HELIX_ROWS == 5 58#if MATRIX_ROWS == 10 // HELIX_ROWS == 5
59const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 59const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
60 /* Qwerty JIS Normal 60 /* Qwerty JIS Normal
61 * ,-----------------------------------------. ,-----------------------------------------. 61 * ,-----------------------------------------. ,-----------------------------------------.
diff --git a/keyboards/helix/rev2/keymaps/five_rows_jis/rules.mk b/keyboards/helix/rev2/keymaps/five_rows_jis/rules.mk
index 37ef8632d..6c2057cfd 100644
--- a/keyboards/helix/rev2/keymaps/five_rows_jis/rules.mk
+++ b/keyboards/helix/rev2/keymaps/five_rows_jis/rules.mk
@@ -1,124 +1,23 @@
1 1# QMK Standard Build Options
2# Build Options
3# change to "no" to disable the options, or define them in the Makefile in 2# change to "no" to disable the options, or define them in the Makefile in
4# the appropriate keymap folder that will get included automatically 3# the appropriate keymap folder that will get included automatically
5# 4#
6BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) 5# See TOP/keyboards/helix/rules.mk for a list of options that can be set.
7MOUSEKEY_ENABLE = no # Mouse keys(+4700) 6# See TOP/docs/config_options.md for more information.
8EXTRAKEY_ENABLE = no # Audio control and System control(+450) 7#
9CONSOLE_ENABLE = no # Console for debug(+400) 8LINK_TIME_OPTIMIZATION_ENABLE = no # if firmware size over limit, try this option
10COMMAND_ENABLE = no # Commands for debug and configuration
11NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
12BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
13MIDI_ENABLE = no # MIDI controls
14AUDIO_ENABLE = no # Audio output on port C6
15UNICODE_ENABLE = no # Unicode
16BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
17RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
18SWAP_HANDS_ENABLE = no # Enable one-hand typing
19
20define HELIX_CUSTOMISE_MSG
21 $(info Helix customize)
22 $(info - OLED_ENABLE=$(OLED_ENABLE))
23 $(info - LED_BACK_ENABLE=$(LED_BACK_ENABLE))
24 $(info - LED_UNDERGLOW_ENABLE=$(LED_UNDERGLOW_ENABLE))
25 $(info - LED_ANIMATION=$(LED_ANIMATIONS))
26 $(info - IOS_DEVICE_ENABLE=$(IOS_DEVICE_ENABLE))
27endef
28 9
29# Helix keyboard customize 10# Helix Spacific Build Options
30# you can edit follows 7 Variables 11# you can uncomment and edit follows 7 Variables
31# jp: 以下の7つの変数を必要に応じて編集します。 12# jp: 以下の7つの変数を必要に応じて編集しコメントアウトをはずしす。
32HELIX_ROWS = 5 # Helix Rows is 4 or 5 13HELIX_ROWS = 5 # Helix Rows is 4 or 5
33OLED_ENABLE = no # OLED_ENABLE 14# OLED_ENABLE = no # OLED_ENABLE
34LOCAL_GLCDFONT = no # use each keymaps "helixfont.h" insted of "common/glcdfont.c" 15# LOCAL_GLCDFONT = no # use each keymaps "helixfont.h" insted of "common/glcdfont.c"
35LED_BACK_ENABLE = no # LED backlight (Enable WS2812 RGB underlight.) 16# LED_BACK_ENABLE = no # LED backlight (Enable WS2812 RGB underlight.)
36LED_UNDERGLOW_ENABLE = no # LED underglow (Enable WS2812 RGB underlight.) 17# LED_UNDERGLOW_ENABLE = no # LED underglow (Enable WS2812 RGB underlight.)
37LED_ANIMATIONS = yes # LED animations 18# LED_ANIMATIONS = yes # LED animations
38IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone) 19# IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone)
39Link_Time_Optimization = no # if firmware size over limit, try this option 20
40 21# convert Helix-specific options (that represent combinations of standard options)
41#### LED_BACK_ENABLE and LED_UNDERGLOW_ENABLE. 22# into QMK standard options.
42#### Do not enable these with audio at the same time. 23include $(strip $(KEYBOARD_LOCAL_FEATURES_MK))
43
44### Helix keyboard 'default' keymap: convenient command line option
45## make HELIX=<options> helix:defualt
46## option= oled | back | under | na | ios
47## ex.
48## make HELIX=oled helix:defualt
49## make HELIX=oled,back helix:defualt
50## make HELIX=oled,under helix:defualt
51## make HELIX=oled,back,na helix:defualt
52## make HELIX=oled,back,ios helix:defualt
53##
54ifneq ($(strip $(HELIX)),)
55 ifeq ($(findstring oled,$(HELIX)), oled)
56 OLED_ENABLE = yes
57 endif
58 ifeq ($(findstring back,$(HELIX)), back)
59 LED_BACK_ENABLE = yes
60 else ifeq ($(findstring under,$(HELIX)), under)
61 LED_UNDERGLOW_ENABLE = yes
62 endif
63 ifeq ($(findstring na,$(HELIX)), na)
64 LED_ANIMATIONS = no
65 endif
66 ifeq ($(findstring ios,$(HELIX)), ios)
67 IOS_DEVICE_ENABLE = yes
68 endif
69 $(eval $(call HELIX_CUSTOMISE_MSG))
70 $(info )
71endif
72
73# Uncomment these for checking
74# jp: コンパイル時にカスタマイズの状態を表示したい時はコメントをはずします。
75# $(eval $(call HELIX_CUSTOMISE_MSG))
76# $(info )
77
78ifneq ($(strip $(HELIX_ROWS)), 4)
79 ifneq ($(strip $(HELIX_ROWS)), 5)
80 $(error HELIX_ROWS = $(strip $(HELIX_ROWS)) is unexpected value)
81 endif
82endif
83OPT_DEFS += -DHELIX_ROWS=$(strip $(HELIX_ROWS))
84
85ifeq ($(strip $(LED_BACK_ENABLE)), yes)
86 RGBLIGHT_ENABLE = yes
87 OPT_DEFS += -DRGBLED_BACK
88 ifeq ($(strip $(LED_UNDERGLOW_ENABLE)), yes)
89 $(eval $(call HELIX_CUSTOMISE_MSG))
90 $(error LED_BACK_ENABLE and LED_UNDERGLOW_ENABLE both 'yes')
91 endif
92else ifeq ($(strip $(LED_UNDERGLOW_ENABLE)), yes)
93 RGBLIGHT_ENABLE = yes
94else
95 RGBLIGHT_ENABLE = no
96endif
97
98ifeq ($(strip $(IOS_DEVICE_ENABLE)), yes)
99 OPT_DEFS += -DIOS_DEVICE_ENABLE
100endif
101
102ifeq ($(strip $(LED_ANIMATIONS)), yes)
103 OPT_DEFS += -DLED_ANIMATIONS
104endif
105
106ifeq ($(strip $(OLED_ENABLE)), yes)
107 OPT_DEFS += -DOLED_ENABLE
108endif
109
110ifeq ($(strip $(LOCAL_GLCDFONT)), yes)
111 OPT_DEFS += -DLOCAL_GLCDFONT
112endif
113
114ifeq ($(strip $(Link_Time_Optimization)),yes)
115 EXTRAFLAGS += -flto -DUSE_Link_Time_Optimization
116endif
117
118# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
119SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
120
121# Uncomment these for debugging
122# $(info -- RGBLIGHT_ENABLE=$(RGBLIGHT_ENABLE))
123# $(info -- OPT_DEFS=$(OPT_DEFS))
124# $(info )
diff --git a/keyboards/helix/rev2/keymaps/froggy/keymap.c b/keyboards/helix/rev2/keymaps/froggy/keymap.c
index c27c1320c..15fe1afb0 100644
--- a/keyboards/helix/rev2/keymaps/froggy/keymap.c
+++ b/keyboards/helix/rev2/keymaps/froggy/keymap.c
@@ -64,7 +64,7 @@ enum macro_keycodes {
64//Macros 64//Macros
65#define M_SAMPLE M(KC_SAMPLEMACRO) 65#define M_SAMPLE M(KC_SAMPLEMACRO)
66 66
67#if HELIX_ROWS == 5 67#if MATRIX_ROWS == 10 // HELIX_ROWS == 5
68const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 68const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
69 69
70 /* Base 70 /* Base
diff --git a/keyboards/helix/rev2/keymaps/froggy/rules.mk b/keyboards/helix/rev2/keymaps/froggy/rules.mk
index 8cd0efdd4..bea059ca1 100644
--- a/keyboards/helix/rev2/keymaps/froggy/rules.mk
+++ b/keyboards/helix/rev2/keymaps/froggy/rules.mk
@@ -1,124 +1,23 @@
1 1# QMK Standard Build Options
2# Build Options
3# change to "no" to disable the options, or define them in the Makefile in 2# change to "no" to disable the options, or define them in the Makefile in
4# the appropriate keymap folder that will get included automatically 3# the appropriate keymap folder that will get included automatically
5# 4#
6BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) 5# See TOP/keyboards/helix/rules.mk for a list of options that can be set.
7MOUSEKEY_ENABLE = no # Mouse keys(+4700) 6# See TOP/docs/config_options.md for more information.
8EXTRAKEY_ENABLE = no # Audio control and System control(+450) 7#
9CONSOLE_ENABLE = no # Console for debug(+400) 8LINK_TIME_OPTIMIZATION_ENABLE = no # if firmware size over limit, try this option
10COMMAND_ENABLE = no # Commands for debug and configuration
11NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
12BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
13MIDI_ENABLE = no # MIDI controls
14AUDIO_ENABLE = no # Audio output on port C6
15UNICODE_ENABLE = no # Unicode
16BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
17RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
18SWAP_HANDS_ENABLE = no # Enable one-hand typing
19
20define HELIX_CUSTOMISE_MSG
21 $(info Helix customize)
22 $(info - OLED_ENABLE=$(OLED_ENABLE))
23 $(info - LED_BACK_ENABLE=$(LED_BACK_ENABLE))
24 $(info - LED_UNDERGLOW_ENABLE=$(LED_UNDERGLOW_ENABLE))
25 $(info - LED_ANIMATION=$(LED_ANIMATIONS))
26 $(info - IOS_DEVICE_ENABLE=$(IOS_DEVICE_ENABLE))
27endef
28 9
29# Helix keyboard customize 10# Helix Spacific Build Options
30# you can edit follows 7 Variables 11# you can uncomment and edit follows 7 Variables
31# jp: 以下の7つの変数を必要に応じて編集します。 12# jp: 以下の7つの変数を必要に応じて編集しコメントアウトをはずしす。
32HELIX_ROWS = 5 # Helix Rows is 4 or 5 13HELIX_ROWS = 5 # Helix Rows is 4 or 5
33OLED_ENABLE = yes # OLED_ENABLE 14OLED_ENABLE = yes # OLED_ENABLE
34LOCAL_GLCDFONT = yes # use each keymaps "helixfont.h" insted of "common/glcdfont.c" 15LOCAL_GLCDFONT = yes # use each keymaps "helixfont.h" insted of "common/glcdfont.c"
35LED_BACK_ENABLE = yes # LED backlight (Enable WS2812 RGB underlight.) 16LED_BACK_ENABLE = yes # LED backlight (Enable WS2812 RGB underlight.)
36LED_UNDERGLOW_ENABLE = no # LED underglow (Enable WS2812 RGB underlight.) 17LED_UNDERGLOW_ENABLE = no # LED underglow (Enable WS2812 RGB underlight.)
37LED_ANIMATIONS = yes # LED animations 18LED_ANIMATIONS = yes # LED animations
38IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone) 19# IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone)
39Link_Time_Optimization = no # if firmware size over limit, try this option
40
41#### LED_BACK_ENABLE and LED_UNDERGLOW_ENABLE.
42#### Do not enable these with audio at the same time.
43
44### Helix keyboard 'default' keymap: convenient command line option
45## make HELIX=<options> helix:defualt
46## option= oled | back | under | na | ios
47## ex.
48## make HELIX=oled helix:defualt
49## make HELIX=oled,back helix:defualt
50## make HELIX=oled,under helix:defualt
51## make HELIX=oled,back,na helix:defualt
52## make HELIX=oled,back,ios helix:defualt
53##
54ifneq ($(strip $(HELIX)),)
55 ifeq ($(findstring oled,$(HELIX)), oled)
56 OLED_ENABLE = yes
57 endif
58 ifeq ($(findstring back,$(HELIX)), back)
59 LED_BACK_ENABLE = yes
60 else ifeq ($(findstring under,$(HELIX)), under)
61 LED_UNDERGLOW_ENABLE = yes
62 endif
63 ifeq ($(findstring na,$(HELIX)), na)
64 LED_ANIMATIONS = no
65 endif
66 ifeq ($(findstring ios,$(HELIX)), ios)
67 IOS_DEVICE_ENABLE = yes
68 endif
69 $(eval $(call HELIX_CUSTOMISE_MSG))
70 $(info )
71endif
72
73# Uncomment these for checking
74# jp: コンパイル時にカスタマイズの状態を表示したい時はコメントをはずします。
75# $(eval $(call HELIX_CUSTOMISE_MSG))
76# $(info )
77
78ifneq ($(strip $(HELIX_ROWS)), 4)
79 ifneq ($(strip $(HELIX_ROWS)), 5)
80 $(error HELIX_ROWS = $(strip $(HELIX_ROWS)) is unexpected value)
81 endif
82endif
83OPT_DEFS += -DHELIX_ROWS=$(strip $(HELIX_ROWS))
84
85ifeq ($(strip $(LED_BACK_ENABLE)), yes)
86 RGBLIGHT_ENABLE = yes
87 OPT_DEFS += -DRGBLED_BACK
88 ifeq ($(strip $(LED_UNDERGLOW_ENABLE)), yes)
89 $(eval $(call HELIX_CUSTOMISE_MSG))
90 $(error LED_BACK_ENABLE and LED_UNDERGLOW_ENABLE both 'yes')
91 endif
92else ifeq ($(strip $(LED_UNDERGLOW_ENABLE)), yes)
93 RGBLIGHT_ENABLE = yes
94else
95 RGBLIGHT_ENABLE = no
96endif
97
98ifeq ($(strip $(IOS_DEVICE_ENABLE)), yes)
99 OPT_DEFS += -DIOS_DEVICE_ENABLE
100endif
101
102ifeq ($(strip $(LED_ANIMATIONS)), yes)
103 OPT_DEFS += -DLED_ANIMATIONS
104endif
105
106ifeq ($(strip $(OLED_ENABLE)), yes)
107 OPT_DEFS += -DOLED_ENABLE
108endif
109
110ifeq ($(strip $(LOCAL_GLCDFONT)), yes)
111 OPT_DEFS += -DLOCAL_GLCDFONT
112endif
113
114ifeq ($(strip $(Link_Time_Optimization)),yes)
115 EXTRAFLAGS += -flto -DUSE_Link_Time_Optimization
116endif
117
118# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
119SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
120 20
121# Uncomment these for debugging 21# convert Helix-specific options (that represent combinations of standard options)
122# $(info -- RGBLIGHT_ENABLE=$(RGBLIGHT_ENABLE)) 22# into QMK standard options.
123# $(info -- OPT_DEFS=$(OPT_DEFS)) 23include $(strip $(KEYBOARD_LOCAL_FEATURES_MK))
124# $(info )
diff --git a/keyboards/helix/rev2/keymaps/led_test/README.md b/keyboards/helix/rev2/keymaps/led_test/README.md
index a25f3f36f..2fe670645 100644
--- a/keyboards/helix/rev2/keymaps/led_test/README.md
+++ b/keyboards/helix/rev2/keymaps/led_test/README.md
@@ -23,5 +23,5 @@ $ make helix:led_test
23 23
24Execute the 'make' command and press the reset switch on the keyboard. 24Execute the 'make' command and press the reset switch on the keyboard.
25``` 25```
26$ make helix:led_test:avrdude 26$ make helix:led_test:flash
27``` 27```
diff --git a/keyboards/helix/rev2/keymaps/led_test/rules.mk b/keyboards/helix/rev2/keymaps/led_test/rules.mk
index 2062d348d..fb0b5a547 100644
--- a/keyboards/helix/rev2/keymaps/led_test/rules.mk
+++ b/keyboards/helix/rev2/keymaps/led_test/rules.mk
@@ -1,126 +1,25 @@
1 1# QMK Standard Build Options
2# Build Options
3# change to "no" to disable the options, or define them in the Makefile in 2# change to "no" to disable the options, or define them in the Makefile in
4# the appropriate keymap folder that will get included automatically 3# the appropriate keymap folder that will get included automatically
5# 4#
6BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) 5# See TOP/keyboards/helix/rules.mk for a list of options that can be set.
7MOUSEKEY_ENABLE = no # Mouse keys(+4700) 6# See TOP/docs/config_options.md for more information.
8EXTRAKEY_ENABLE = no # Audio control and System control(+450) 7#
9CONSOLE_ENABLE = no # Console for debug(+400) 8LINK_TIME_OPTIMIZATION_ENABLE = no # if firmware size over limit, try this option
10COMMAND_ENABLE = no # Commands for debug and configuration
11NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
12BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
13MIDI_ENABLE = no # MIDI controls
14AUDIO_ENABLE = no # Audio output on port C6
15UNICODE_ENABLE = no # Unicode
16BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
17RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
18SWAP_HANDS_ENABLE = no # Enable one-hand typing
19
20define HELIX_CUSTOMISE_MSG
21 $(info Helix customize)
22 $(info - OLED_ENABLE=$(OLED_ENABLE))
23 $(info - LED_BACK_ENABLE=$(LED_BACK_ENABLE))
24 $(info - LED_UNDERGLOW_ENABLE=$(LED_UNDERGLOW_ENABLE))
25 $(info - LED_ANIMATION=$(LED_ANIMATIONS))
26 $(info - IOS_DEVICE_ENABLE=$(IOS_DEVICE_ENABLE))
27endef
28 9
29# Helix keyboard customize 10# Helix Spacific Build Options
30# you can edit follows 7 Variables 11# you can uncomment and edit follows 7 Variables
31# jp: 以下の7つの変数を必要に応じて編集します。 12# jp: 以下の7つの変数を必要に応じて編集しコメントアウトをはずしす。
32HELIX_ROWS = 5 # Helix Rows is 4 or 5 13# HELIX_ROWS = 5 # Helix Rows is 4 or 5
33OLED_ENABLE = yes # OLED_ENABLE 14OLED_ENABLE = yes # OLED_ENABLE
34LOCAL_GLCDFONT = no # use each keymaps "helixfont.h" insted of "common/glcdfont.c" 15# LOCAL_GLCDFONT = no # use each keymaps "helixfont.h" insted of "common/glcdfont.c"
35LED_BACK_ENABLE = yes # LED backlight (Enable WS2812 RGB underlight.) 16LED_BACK_ENABLE = yes # LED backlight (Enable WS2812 RGB underlight.)
36LED_UNDERGLOW_ENABLE = no # LED underglow (Enable WS2812 RGB underlight.) 17# LED_UNDERGLOW_ENABLE = no # LED underglow (Enable WS2812 RGB underlight.)
37LED_ANIMATIONS = yes # LED animations 18LED_ANIMATIONS = yes # LED animations
38IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone) 19# IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone)
39Link_Time_Optimization = no # if firmware size over limit, try this option
40
41#### LED_BACK_ENABLE and LED_UNDERGLOW_ENABLE.
42#### Do not enable these with audio at the same time.
43
44### Helix keyboard 'default' keymap: convenient command line option
45## make HELIX=<options> helix:defualt
46## option= oled | back | under | na | ios
47## ex.
48## make HELIX=oled helix:defualt
49## make HELIX=oled,back helix:defualt
50## make HELIX=oled,under helix:defualt
51## make HELIX=oled,back,na helix:defualt
52## make HELIX=oled,back,ios helix:defualt
53##
54ifneq ($(strip $(HELIX)),)
55 ifeq ($(findstring oled,$(HELIX)), oled)
56 OLED_ENABLE = yes
57 endif
58 ifeq ($(findstring back,$(HELIX)), back)
59 LED_BACK_ENABLE = yes
60 else ifeq ($(findstring under,$(HELIX)), under)
61 LED_UNDERGLOW_ENABLE = yes
62 endif
63 ifeq ($(findstring na,$(HELIX)), na)
64 LED_ANIMATIONS = no
65 endif
66 ifeq ($(findstring ios,$(HELIX)), ios)
67 IOS_DEVICE_ENABLE = yes
68 endif
69 $(eval $(call HELIX_CUSTOMISE_MSG))
70 $(info )
71endif
72
73# Uncomment these for checking
74# jp: コンパイル時にカスタマイズの状態を表示したい時はコメントをはずします。
75# $(eval $(call HELIX_CUSTOMISE_MSG))
76# $(info )
77
78ifneq ($(strip $(HELIX_ROWS)), 4)
79 ifneq ($(strip $(HELIX_ROWS)), 5)
80 $(error HELIX_ROWS = $(strip $(HELIX_ROWS)) is unexpected value)
81 endif
82endif
83OPT_DEFS += -DHELIX_ROWS=$(strip $(HELIX_ROWS))
84
85ifeq ($(strip $(LED_BACK_ENABLE)), yes)
86 RGBLIGHT_ENABLE = yes
87 OPT_DEFS += -DRGBLED_BACK
88 ifeq ($(strip $(LED_UNDERGLOW_ENABLE)), yes)
89 $(eval $(call HELIX_CUSTOMISE_MSG))
90 $(error LED_BACK_ENABLE and LED_UNDERGLOW_ENABLE both 'yes')
91 endif
92else ifeq ($(strip $(LED_UNDERGLOW_ENABLE)), yes)
93 RGBLIGHT_ENABLE = yes
94else
95 RGBLIGHT_ENABLE = no
96endif
97
98ifeq ($(strip $(IOS_DEVICE_ENABLE)), yes)
99 OPT_DEFS += -DIOS_DEVICE_ENABLE
100endif
101
102ifeq ($(strip $(LED_ANIMATIONS)), yes)
103 OPT_DEFS += -DLED_ANIMATIONS
104endif
105
106ifeq ($(strip $(OLED_ENABLE)), yes)
107 OPT_DEFS += -DOLED_ENABLE
108endif
109
110ifeq ($(strip $(LOCAL_GLCDFONT)), yes)
111 OPT_DEFS += -DLOCAL_GLCDFONT
112endif
113
114ifeq ($(strip $(Link_Time_Optimization)),yes)
115 EXTRAFLAGS += -flto -DUSE_Link_Time_Optimization
116endif
117 20
118SRC += led_test_init.c 21SRC += led_test_init.c
119 22
120# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE 23# convert Helix-specific options (that represent combinations of standard options)
121SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend 24# into QMK standard options.
122 25include $(strip $(KEYBOARD_LOCAL_FEATURES_MK))
123# Uncomment these for debugging
124# $(info -- RGBLIGHT_ENABLE=$(RGBLIGHT_ENABLE))
125# $(info -- OPT_DEFS=$(OPT_DEFS))
126# $(info )
diff --git a/keyboards/helix/rev2/keymaps/yshrsmz/keymap.c b/keyboards/helix/rev2/keymaps/yshrsmz/keymap.c
index 5240ac800..e5b5f57d9 100644
--- a/keyboards/helix/rev2/keymaps/yshrsmz/keymap.c
+++ b/keyboards/helix/rev2/keymaps/yshrsmz/keymap.c
@@ -49,7 +49,7 @@ enum macro_keycodes {
49//Macros 49//Macros
50#define M_SAMPLE M(KC_SAMPLEMACRO) 50#define M_SAMPLE M(KC_SAMPLEMACRO)
51 51
52#if HELIX_ROWS == 5 52#if MATRIX_ROWS == 10 // HELIX_ROWS == 5
53const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 53const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
54 54
55 /* Qwerty 55 /* Qwerty
@@ -158,7 +158,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
158 ) 158 )
159}; 159};
160 160
161#elif HELIX_ROWS == 4 161#elif MATRIX_ROWS == 8 // HELIX_ROWS == 4
162 162
163const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 163const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
164 164
diff --git a/keyboards/helix/rev2/keymaps/yshrsmz/rules.mk b/keyboards/helix/rev2/keymaps/yshrsmz/rules.mk
index 3f390b48f..bc823e5e1 100644
--- a/keyboards/helix/rev2/keymaps/yshrsmz/rules.mk
+++ b/keyboards/helix/rev2/keymaps/yshrsmz/rules.mk
@@ -1,121 +1,24 @@
1 1# QMK Standard Build Options
2# Build Options
3# change to "no" to disable the options, or define them in the Makefile in 2# change to "no" to disable the options, or define them in the Makefile in
4# the appropriate keymap folder that will get included automatically 3# the appropriate keymap folder that will get included automatically
5# 4#
6BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) 5# See TOP/keyboards/helix/rules.mk for a list of options that can be set.
7MOUSEKEY_ENABLE = no # Mouse keys(+4700) 6# See TOP/docs/config_options.md for more information.
8EXTRAKEY_ENABLE = no # Audio control and System control(+450) 7#
9CONSOLE_ENABLE = no # Console for debug(+400) 8LINK_TIME_OPTIMIZATION_ENABLE = no # if firmware size over limit, try this option
10COMMAND_ENABLE = no # Commands for debug and configuration 9AUTO_SHIFT_ENABLE = yes
11NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
12BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
13MIDI_ENABLE = no # MIDI controls
14AUDIO_ENABLE = no # Audio output on port C6
15UNICODE_ENABLE = no # Unicode
16BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
17RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
18SWAP_HANDS_ENABLE = no # Enable one-hand typing
19
20define HELIX_CUSTOMISE_MSG
21 $(info Helix customize)
22 $(info - OLED_ENABLE=$(OLED_ENABLE))
23 $(info - LED_BACK_ENABLE=$(LED_BACK_ENABLE))
24 $(info - LED_UNDERGLOW_ENABLE=$(LED_UNDERGLOW_ENABLE))
25 $(info - LED_ANIMATION=$(LED_ANIMATIONS))
26 $(info - IOS_DEVICE_ENABLE=$(IOS_DEVICE_ENABLE))
27endef
28 10
29# Helix keyboard customize 11# Helix Spacific Build Options
30# you can edit follows 7 Variables 12# you can uncomment and edit follows 7 Variables
31# jp: 以下の7つの変数を必要に応じて編集します。 13# jp: 以下の7つの変数を必要に応じて編集しコメントアウトをはずしす。
32HELIX_ROWS = 4 # Helix Rows is 4 or 5 14HELIX_ROWS = 4 # Helix Rows is 4 or 5
33OLED_ENABLE = yes # OLED_ENABLE 15OLED_ENABLE = yes # OLED_ENABLE
34LOCAL_GLCDFONT = no # use each keymaps "helixfont.h" insted of "common/glcdfont.c" 16# LOCAL_GLCDFONT = no # use each keymaps "helixfont.h" insted of "common/glcdfont.c"
35LED_BACK_ENABLE = no # LED backlight (Enable WS2812 RGB underlight.) 17# LED_BACK_ENABLE = no # LED backlight (Enable WS2812 RGB underlight.)
36LED_UNDERGLOW_ENABLE = no # LED underglow (Enable WS2812 RGB underlight.) 18# LED_UNDERGLOW_ENABLE = no # LED underglow (Enable WS2812 RGB underlight.)
37LED_ANIMATIONS = no # LED animations 19LED_ANIMATIONS = no # LED animations
38IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone) 20# IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone)
39
40#### LED_BACK_ENABLE and LED_UNDERGLOW_ENABLE.
41#### Do not enable these with audio at the same time.
42
43### Helix keyboard 'default' keymap: convenient command line option
44## make HELIX=<options> helix:defualt
45## option= oled | back | under | na | ios
46## ex.
47## make HELIX=oled helix:defualt
48## make HELIX=oled,back helix:defualt
49## make HELIX=oled,under helix:defualt
50## make HELIX=oled,back,na helix:defualt
51## make HELIX=oled,back,ios helix:defualt
52##
53ifneq ($(strip $(HELIX)),)
54 ifeq ($(findstring oled,$(HELIX)), oled)
55 OLED_ENABLE = yes
56 endif
57 ifeq ($(findstring back,$(HELIX)), back)
58 LED_BACK_ENABLE = yes
59 else ifeq ($(findstring under,$(HELIX)), under)
60 LED_UNDERGLOW_ENABLE = yes
61 endif
62 ifeq ($(findstring na,$(HELIX)), na)
63 LED_ANIMATIONS = no
64 endif
65 ifeq ($(findstring ios,$(HELIX)), ios)
66 IOS_DEVICE_ENABLE = yes
67 endif
68 $(eval $(call HELIX_CUSTOMISE_MSG))
69 $(info )
70endif
71
72# Uncomment these for checking
73# jp: コンパイル時にカスタマイズの状態を表示したい時はコメントをはずします。
74# $(eval $(call HELIX_CUSTOMISE_MSG))
75# $(info )
76
77ifneq ($(strip $(HELIX_ROWS)), 4)
78 ifneq ($(strip $(HELIX_ROWS)), 5)
79 $(error HELIX_ROWS = $(strip $(HELIX_ROWS)) is unexpected value)
80 endif
81endif
82OPT_DEFS += -DHELIX_ROWS=$(strip $(HELIX_ROWS))
83
84ifeq ($(strip $(LED_BACK_ENABLE)), yes)
85 RGBLIGHT_ENABLE = yes
86 OPT_DEFS += -DRGBLED_BACK
87 ifeq ($(strip $(LED_UNDERGLOW_ENABLE)), yes)
88 $(eval $(call HELIX_CUSTOMISE_MSG))
89 $(error LED_BACK_ENABLE and LED_UNDERGLOW_ENABLE both 'yes')
90 endif
91else ifeq ($(strip $(LED_UNDERGLOW_ENABLE)), yes)
92 RGBLIGHT_ENABLE = yes
93else
94 RGBLIGHT_ENABLE = no
95endif
96
97ifeq ($(strip $(IOS_DEVICE_ENABLE)), yes)
98 OPT_DEFS += -DIOS_DEVICE_ENABLE
99endif
100
101ifeq ($(strip $(LED_ANIMATIONS)), yes)
102 OPT_DEFS += -DLED_ANIMATIONS
103endif
104
105ifeq ($(strip $(OLED_ENABLE)), yes)
106 OPT_DEFS += -DOLED_ENABLE
107endif
108
109ifeq ($(strip $(LOCAL_GLCDFONT)), yes)
110 OPT_DEFS += -DLOCAL_GLCDFONT
111endif
112
113# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
114SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
115
116AUTO_SHIFT_ENABLE = yes
117 21
118# Uncomment these for debugging 22# convert Helix-specific options (that represent combinations of standard options)
119# $(info -- RGBLIGHT_ENABLE=$(RGBLIGHT_ENABLE)) 23# into QMK standard options.
120# $(info -- OPT_DEFS=$(OPT_DEFS)) 24include $(strip $(KEYBOARD_LOCAL_FEATURES_MK))
121# $(info )
diff --git a/keyboards/helix/rev2/local_features.mk b/keyboards/helix/rev2/local_features.mk
new file mode 100644
index 000000000..0f4285eea
--- /dev/null
+++ b/keyboards/helix/rev2/local_features.mk
@@ -0,0 +1,98 @@
1#
2# local_features.mk contains post-processing rules for the Helix keyboard.
3#
4# Post-processing rules convert keyboard-specific shortcuts (that represent
5# combinations of standard options) into QMK standard options.
6#
7
8define HELIX_CUSTOMISE_MSG
9 $(info Helix Spacific Build Options)
10 $(info - OLED_ENABLE = $(OLED_ENABLE))
11 $(info - LED_BACK_ENABLE = $(LED_BACK_ENABLE))
12 $(info - LED_UNDERGLOW_ENABLE = $(LED_UNDERGLOW_ENABLE))
13 $(info - LED_ANIMATION = $(LED_ANIMATIONS))
14 $(info - IOS_DEVICE_ENABLE = $(IOS_DEVICE_ENABLE))
15 $(info )
16endef
17
18 ifneq ($(strip $(HELIX)),)
19 ### Helix keyboard keymap: convenient command line option
20 ## make HELIX=<options> helix:<keymap>
21 ## option= oled | back | under | na | ios
22 ## ex.
23 ## make HELIX=oled helix:<keymap>
24 ## make HELIX=oled,back helix:<keymap>
25 ## make HELIX=oled,under helix:<keymap>
26 ## make HELIX=oled,back,na helix:<keymap>
27 ## make HELIX=oled,back,ios helix:<keymap>
28 ##
29 ifeq ($(findstring oled,$(HELIX)), oled)
30 OLED_ENABLE = yes
31 endif
32 ifeq ($(findstring back,$(HELIX)), back)
33 LED_BACK_ENABLE = yes
34 else ifeq ($(findstring under,$(HELIX)), under)
35 LED_UNDERGLOW_ENABLE = yes
36 endif
37 ifeq ($(findstring na,$(HELIX)), na)
38 LED_ANIMATIONS = no
39 endif
40 ifeq ($(findstring no_ani,$(HELIX)), no_ani)
41 LED_ANIMATIONS = no
42 endif
43 ifeq ($(findstring ios,$(HELIX)), ios)
44 IOS_DEVICE_ENABLE = yes
45 endif
46 ifeq ($(findstring verbose,$(HELIX)), verbose)
47 SHOW_VERBOSE_INFO = yes
48 endif
49 SHOW_HELIX_OPTIONS = yes
50 endif
51
52########
53# convert Helix-specific options (that represent combinations of standard options)
54# into QMK standard options.
55
56ifneq ($(strip $(HELIX_ROWS)), 4)
57 ifneq ($(strip $(HELIX_ROWS)), 5)
58 $(error HELIX_ROWS = $(strip $(HELIX_ROWS)) is unexpected value)
59 endif
60endif
61OPT_DEFS += -DHELIX_ROWS=$(strip $(HELIX_ROWS))
62
63ifeq ($(strip $(LED_BACK_ENABLE)), yes)
64 RGBLIGHT_ENABLE = yes
65 OPT_DEFS += -DRGBLED_BACK
66 ifeq ($(strip $(LED_UNDERGLOW_ENABLE)), yes)
67 $(eval $(call HELIX_CUSTOMISE_MSG))
68 $(error LED_BACK_ENABLE and LED_UNDERGLOW_ENABLE both 'yes')
69 endif
70else ifeq ($(strip $(LED_UNDERGLOW_ENABLE)), yes)
71 RGBLIGHT_ENABLE = yes
72endif
73
74ifeq ($(strip $(IOS_DEVICE_ENABLE)), yes)
75 OPT_DEFS += -DIOS_DEVICE_ENABLE
76endif
77
78ifeq ($(strip $(LED_ANIMATIONS)), yes)
79 OPT_DEFS += -DLED_ANIMATIONS
80endif
81
82ifeq ($(strip $(OLED_ENABLE)), yes)
83 OPT_DEFS += -DOLED_ENABLE
84endif
85
86ifeq ($(strip $(LOCAL_GLCDFONT)), yes)
87 OPT_DEFS += -DLOCAL_GLCDFONT
88endif
89
90ifneq ($(strip $(SHOW_HELIX_OPTIONS)),)
91 $(eval $(call HELIX_CUSTOMISE_MSG))
92 ifneq ($(strip $(SHOW_VERBOSE_INFO)),)
93 $(info -- RGBLIGHT_ENABLE = $(RGBLIGHT_ENABLE))
94 $(info -- OPT_DEFS = $(OPT_DEFS))
95 $(info -- LINK_TIME_OPTIMIZATION_ENABLE = $(LINK_TIME_OPTIMIZATION_ENABLE))
96 $(info )
97 endif
98endif
diff --git a/keyboards/helix/rev2/oled/back/rules.mk b/keyboards/helix/rev2/oled/back/rules.mk
new file mode 100644
index 000000000..066fffb74
--- /dev/null
+++ b/keyboards/helix/rev2/oled/back/rules.mk
@@ -0,0 +1 @@
LED_BACK_ENABLE = yes
diff --git a/keyboards/helix/rev2/oled/rules.mk b/keyboards/helix/rev2/oled/rules.mk
new file mode 100644
index 000000000..dd68e9d3b
--- /dev/null
+++ b/keyboards/helix/rev2/oled/rules.mk
@@ -0,0 +1 @@
OLED_ENABLE = yes
diff --git a/keyboards/helix/rev2/oled/under/rules.mk b/keyboards/helix/rev2/oled/under/rules.mk
new file mode 100644
index 000000000..a37aa6fab
--- /dev/null
+++ b/keyboards/helix/rev2/oled/under/rules.mk
@@ -0,0 +1 @@
LED_UNDERGLOW_ENABLE = yes
diff --git a/keyboards/helix/rev2/rev2.h b/keyboards/helix/rev2/rev2.h
index f49299983..4e69daef5 100644
--- a/keyboards/helix/rev2/rev2.h
+++ b/keyboards/helix/rev2/rev2.h
@@ -1,5 +1,4 @@
1#ifndef REV2_H 1#pragma once
2#define REV2_CONFIG_H
3 2
4#include "../helix.h" 3#include "../helix.h"
5 4
@@ -18,7 +17,7 @@
18#endif 17#endif
19#endif 18#endif
20 19
21#if HELIX_ROWS == 4 20#if MATRIX_ROWS == 8 // HELIX_ROWS == 4
22#ifndef FLIP_HALF 21#ifndef FLIP_HALF
23// Standard Keymap 22// Standard Keymap
24// (TRRS jack on the left half is to the right, TRRS jack on the right half is to the left) 23// (TRRS jack on the left half is to the right, TRRS jack on the right half is to the left)
@@ -107,7 +106,7 @@
107#endif 106#endif
108 107
109// Used to create a keymap using only KC_ prefixed keys 108// Used to create a keymap using only KC_ prefixed keys
110#if HELIX_ROWS == 4 109#if MATRIX_ROWS == 8 // HELIX_ROWS == 4
111 #define LAYOUT_kc( \ 110 #define LAYOUT_kc( \
112 L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \ 111 L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \
113 L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \ 112 L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \
@@ -136,5 +135,3 @@
136 KC_##L40, KC_##L41, KC_##L42, KC_##L43, KC_##L44, KC_##L45, KC_##L46, KC_##R46, KC_##R40, KC_##R41, KC_##R42, KC_##R43, KC_##R44, KC_##R45 \ 135 KC_##L40, KC_##L41, KC_##L42, KC_##L43, KC_##L44, KC_##L45, KC_##L46, KC_##R46, KC_##R40, KC_##R41, KC_##R42, KC_##R43, KC_##R44, KC_##R45 \
137 ) 136 )
138#endif 137#endif
139
140#endif
diff --git a/keyboards/helix/rev2/rules.mk b/keyboards/helix/rev2/rules.mk
index 5582a0f9c..4db8f7da9 100644
--- a/keyboards/helix/rev2/rules.mk
+++ b/keyboards/helix/rev2/rules.mk
@@ -1,3 +1,21 @@
1KEYBOARD_LOCAL_FEATURES_MK := $(dir $(lastword $(MAKEFILE_LIST)))local_features.mk
2
3SRC += local_drivers/i2c.c
4SRC += local_drivers/serial.c
5SRC += local_drivers/ssd1306.c
6KEYBOARD_PATHS += $(HELIX_TOP_DIR)/local_drivers
7
8CUSTOM_MATRIX = yes
9
1SRC += rev2/matrix.c 10SRC += rev2/matrix.c
2SRC += rev2/split_util.c 11SRC += rev2/split_util.c
3SRC += rev2/split_scomm.c 12SRC += rev2/split_scomm.c
13
14# Helix Spacific Build Options default values
15HELIX_ROWS = 5 # Helix Rows is 4 or 5
16OLED_ENABLE = no # OLED_ENABLE
17LOCAL_GLCDFONT = no # use each keymaps "helixfont.h" insted of "common/glcdfont.c"
18LED_BACK_ENABLE = no # LED backlight (Enable WS2812 RGB underlight.)
19LED_UNDERGLOW_ENABLE = no # LED underglow (Enable WS2812 RGB underlight.)
20LED_ANIMATIONS = yes # LED animations
21IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone)
diff --git a/keyboards/helix/rev2/serial_config.h b/keyboards/helix/rev2/serial_config.h
deleted file mode 100644
index 37135213d..000000000
--- a/keyboards/helix/rev2/serial_config.h
+++ /dev/null
@@ -1,8 +0,0 @@
1//// #error rev2 serial config
2
3#ifndef SOFT_SERIAL_PIN
4/* Soft Serial defines */
5#define SOFT_SERIAL_PIN D2
6
7#define SERIAL_USE_MULTI_TRANSACTION
8#endif
diff --git a/keyboards/helix/rev2/under/oled/rules.mk b/keyboards/helix/rev2/under/oled/rules.mk
new file mode 100644
index 000000000..dd68e9d3b
--- /dev/null
+++ b/keyboards/helix/rev2/under/oled/rules.mk
@@ -0,0 +1 @@
OLED_ENABLE = yes
diff --git a/keyboards/helix/rev2/under/rules.mk b/keyboards/helix/rev2/under/rules.mk
new file mode 100644
index 000000000..a37aa6fab
--- /dev/null
+++ b/keyboards/helix/rev2/under/rules.mk
@@ -0,0 +1 @@
LED_UNDERGLOW_ENABLE = yes
diff --git a/keyboards/helix/rules.mk b/keyboards/helix/rules.mk
index 245bff70f..cf23434d8 100644
--- a/keyboards/helix/rules.mk
+++ b/keyboards/helix/rules.mk
@@ -1,75 +1,37 @@
1SRC += i2c.c
2SRC += serial.c
3SRC += ssd1306.c
4
5# MCU name 1# MCU name
6MCU = atmega32u4 2MCU = atmega32u4
7 3
8# Processor frequency.
9# This will define a symbol, F_CPU, in all source code files equal to the
10# processor frequency in Hz. You can then use this symbol in your source code to
11# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
12# automatically to create a 32-bit value in your source code.
13#
14# This will be an integer division of F_USB below, as it is sourced by
15# F_USB after it has run through any CPU prescalers. Note that this value
16# does not *change* the processor frequency - it should merely be updated to
17# reflect the processor speed set externally so that the code can use accurate
18# software delays.
19F_CPU = 16000000
20
21#
22# LUFA specific
23#
24# Target architecture (see library "Board Types" documentation).
25ARCH = AVR8
26
27# Input clock frequency.
28# This will define a symbol, F_USB, in all source code files equal to the
29# input clock frequency (before any prescaling is performed) in Hz. This value may
30# differ from F_CPU if prescaling is used on the latter, and is required as the
31# raw input clock is fed directly to the PLL sections of the AVR for high speed
32# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
33# at the end, this will be done automatically to create a 32-bit value in your
34# source code.
35#
36# If no clock division is performed on the input clock inside the AVR (via the
37# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
38F_USB = $(F_CPU)
39
40# Bootloader selection 4# Bootloader selection
41# Teensy halfkay 5# Teensy halfkay
42# Pro Micro caterina 6# Pro Micro caterina
43# Atmel DFU atmel-dfu 7# Atmel DFU atmel-dfu
44# LUFA DFU lufa-dfu 8# LUFA DFU lufa-dfu
45# QMK DFU qmk-dfu 9# QMK DFU qmk-dfu
46# atmega32a bootloadHID 10# ATmega32A bootloadHID
11# ATmega328P USBasp
47BOOTLOADER = caterina 12BOOTLOADER = caterina
48 13
49# Interrupt driven control endpoint task(+60) 14HELIX_TOP_DIR := $(patsubst %/,%,$(dir $(lastword $(MAKEFILE_LIST))))
50OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
51 15
52# Build Options 16# QMK Standard Build Options
53# change to "no" to disable the options, or define them in the Makefile in 17# change to "no" to disable the options, or define them in the Makefile in
54# the appropriate keymap folder that will get included automatically 18# the appropriate keymap folder that will get included automatically
55# 19#
56BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) 20# See TOP/docs/config_options.md for more information.
57MOUSEKEY_ENABLE = no # Mouse keys(+4700) 21#
58EXTRAKEY_ENABLE = no # Audio control and System control(+450) 22BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
59CONSOLE_ENABLE = no # Console for debug(+400) 23MOUSEKEY_ENABLE = no # Mouse keys(+4700)
60COMMAND_ENABLE = no # Commands for debug and configuration 24EXTRAKEY_ENABLE = no # Audio control and System control(+450)
61NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work 25CONSOLE_ENABLE = no # Console for debug(+400)
62BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality 26COMMAND_ENABLE = no # Commands for debug and configuration
63MIDI_ENABLE = no # MIDI controls 27NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
64AUDIO_ENABLE = no # Audio output on port C6 28BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
65UNICODE_ENABLE = no # Unicode 29MIDI_ENABLE = no # MIDI controls
66BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID 30AUDIO_ENABLE = no # Audio output on port C6
67RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. 31UNICODE_ENABLE = no # Unicode
68SUBPROJECT_rev1 = no 32BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
69USE_I2C = yes 33RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
70# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE 34# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
71SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend 35SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
72
73CUSTOM_MATRIX = yes
74 36
75DEFAULT_FOLDER = helix/rev2 37DEFAULT_FOLDER = helix/rev2