Helix shrink config (#3268)
* add some comment about Helix customize and auto-setup RGBLIGHT_LIMIT_VAL * add define USB_MAX_POWER_CONSUMPTION * Helix keyboard OLED, RGBLIGHT enable/disable control integrate into rules.mk rules.mk: add 4 Variables for compile control. # Helix keyboard customize # you can edit follows 4 Variables # jp: 以下の4つの変数を必要に応じて編集します。 OLED_ENABLE = no # OLED_ENABLE LED_BACK_ENABLE = no # LED backlight (Enable WS2812 RGB underlight.) LED_UNDERGLOW_ENABLE = no # LED underglow (Enable WS2812 RGB underlight.) LED_ANIMATIONS = yes # LED animations config.h: auto set RGBLED_NUM by HELIX_ROWS and rules.mk's define * HELIX_ROWS define move from config.h to rules.mk * add readme.md * rename readme.md to readme_jp.md * add readme.md and modify readme_jp.md * change helix/ssd1306.c for select glcdfont.c position * add variable LOCAL_GLCDFONT into each keymaps rules.mk * Add iPhone/iPad LED support to Helix default keymap * renumber _ADJUST for shrink program size * Fix Helix i2c wrong bit rate * add helix serial debug code * serial debug macro move from config.h to serial.h * helix serial.c debugging... * refine debug macros * add some comments * add SELECT_SERIAL_SPEED * add comments * debugging sync_send/sync_recv * add very high speed * fix sync_send/sync_recv * fix com. start and switch send/recv * debug mode off * remove debug codes * Shrinked config.h
This commit is contained in:
		
				
					committed by
					
						
						Drashna Jaelre
					
				
			
			
				
	
			
			
			
						parent
						
							dca2c2a439
						
					
				
				
					commit
					155375ea32
				
			@@ -30,7 +30,45 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
#define DESCRIPTION     A split keyboard for the cheap makers
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#define PREVENT_STUCK_MODIFIERS
 | 
			
		||||
#define TAPPING_FORCE_HOLD
 | 
			
		||||
#define TAPPING_TERM 100
 | 
			
		||||
 | 
			
		||||
/* Use I2C or Serial */
 | 
			
		||||
#define USE_I2C
 | 
			
		||||
#define USE_SERIAL
 | 
			
		||||
#define USE_SERIAL_PD2
 | 
			
		||||
//#define USE_MATRIX_I2C
 | 
			
		||||
 | 
			
		||||
/* Select hand configuration */
 | 
			
		||||
#define MASTER_LEFT
 | 
			
		||||
// #define MASTER_RIGHT
 | 
			
		||||
// #define EE_HANDS
 | 
			
		||||
 | 
			
		||||
// Helix keyboard OLED support
 | 
			
		||||
//      see ./rules.mk: OLED_ENABLE=yes or no
 | 
			
		||||
#ifdef OLED_ENABLE
 | 
			
		||||
  #define SSD1306OLED
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/* Select rows configuration */
 | 
			
		||||
// Rows are 4 or 5
 | 
			
		||||
// #define HELIX_ROWS 5 see ./rules.mk
 | 
			
		||||
 | 
			
		||||
/* key matrix size */
 | 
			
		||||
// Rows are doubled-up
 | 
			
		||||
#if  HELIX_ROWS == 4
 | 
			
		||||
  #define MATRIX_ROWS 8
 | 
			
		||||
  #define MATRIX_ROW_PINS { D4, C6, D7, E6 }
 | 
			
		||||
#elif HELIX_ROWS == 5
 | 
			
		||||
  #define MATRIX_ROWS 10
 | 
			
		||||
  #define MATRIX_ROW_PINS { D4, C6, D7, E6, B4 }
 | 
			
		||||
#else
 | 
			
		||||
  #error "expected HELIX_ROWS 4 or 5"
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
// wiring of each half
 | 
			
		||||
#define MATRIX_COLS 7
 | 
			
		||||
#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2 }
 | 
			
		||||
// #define MATRIX_COL_PINS { B2, B3, B1, F7, F6, F5, F4 } //uncomment this line and comment line above if you need to reverse left-to-right key order
 | 
			
		||||
 | 
			
		||||
@@ -60,6 +98,59 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
#define ws2812_PORTREG  PORTD
 | 
			
		||||
#define ws2812_DDRREG   DDRD
 | 
			
		||||
 | 
			
		||||
// Helix keyboard RGB LED support
 | 
			
		||||
//#define RGBLIGHT_ANIMATIONS : see ./rules.mk: LED_ANIMATIONS = yes or no
 | 
			
		||||
//    see ./rules.mk: LED_BACK_ENABLE or LED_UNDERGLOW_ENABLE set yes
 | 
			
		||||
#ifdef RGBLED_BACK
 | 
			
		||||
  #if HELIX_ROWS == 4
 | 
			
		||||
    #define RGBLED_NUM 25
 | 
			
		||||
  #elif HELIX_ROWS == 5
 | 
			
		||||
    #define RGBLED_NUM 32
 | 
			
		||||
  #endif
 | 
			
		||||
#else
 | 
			
		||||
  #define RGBLED_NUM 6
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifndef IOS_DEVICE_ENABLE
 | 
			
		||||
  #if RGBLED_NUM <= 6
 | 
			
		||||
    #define RGBLIGHT_LIMIT_VAL 255
 | 
			
		||||
  #else
 | 
			
		||||
    #if HELIX_ROWS == 5
 | 
			
		||||
      #define RGBLIGHT_LIMIT_VAL 120
 | 
			
		||||
    #else
 | 
			
		||||
      #define RGBLIGHT_LIMIT_VAL 130
 | 
			
		||||
    #endif
 | 
			
		||||
  #endif
 | 
			
		||||
  #define RGBLIGHT_VAL_STEP 17
 | 
			
		||||
#else
 | 
			
		||||
  #if RGBLED_NUM <= 6
 | 
			
		||||
    #define RGBLIGHT_LIMIT_VAL 90
 | 
			
		||||
  #else
 | 
			
		||||
    #if HELIX_ROWS == 5
 | 
			
		||||
      #define RGBLIGHT_LIMIT_VAL 35
 | 
			
		||||
    #else
 | 
			
		||||
      #define RGBLIGHT_LIMIT_VAL 45
 | 
			
		||||
    #endif
 | 
			
		||||
  #endif
 | 
			
		||||
  #define RGBLIGHT_VAL_STEP 4
 | 
			
		||||
#endif
 | 
			
		||||
#define RGBLIGHT_HUE_STEP 10
 | 
			
		||||
#define RGBLIGHT_SAT_STEP 17
 | 
			
		||||
 | 
			
		||||
#if defined(RGBLIGHT_ENABLE) && !defined(IOS_DEVICE_ENABLE)
 | 
			
		||||
// USB_MAX_POWER_CONSUMPTION value for Helix keyboard
 | 
			
		||||
//  120  RGBoff, OLEDoff
 | 
			
		||||
//  120  OLED
 | 
			
		||||
//  330  RGB 6
 | 
			
		||||
//  300  RGB 32
 | 
			
		||||
//  310  OLED & RGB 32
 | 
			
		||||
  #define USB_MAX_POWER_CONSUMPTION 400
 | 
			
		||||
#else
 | 
			
		||||
  // fix iPhone and iPad power adapter issue
 | 
			
		||||
  // iOS device need lessthan 100
 | 
			
		||||
  #define USB_MAX_POWER_CONSUMPTION 100
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * Feature disable options
 | 
			
		||||
 *  These options are also useful to firmware size reduction.
 | 
			
		||||
 
 | 
			
		||||
@@ -23,99 +23,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
 | 
			
		||||
#include "../../config.h"
 | 
			
		||||
 | 
			
		||||
/* Use I2C or Serial */
 | 
			
		||||
 | 
			
		||||
#define USE_I2C
 | 
			
		||||
#define USE_SERIAL
 | 
			
		||||
//#define USE_MATRIX_I2C
 | 
			
		||||
 | 
			
		||||
/* Select hand configuration */
 | 
			
		||||
 | 
			
		||||
#define MASTER_LEFT
 | 
			
		||||
// #define MASTER_RIGHT
 | 
			
		||||
// #define EE_HANDS
 | 
			
		||||
 | 
			
		||||
// Helix keyboard OLED support
 | 
			
		||||
//      see ./rules.mk: OLED_ENABLE=yes or no
 | 
			
		||||
#ifdef OLED_ENABLE
 | 
			
		||||
  #define SSD1306OLED
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/* Select rows configuration */
 | 
			
		||||
// Rows are 4 or 5
 | 
			
		||||
// #define HELIX_ROWS 5 see ./rules.mk
 | 
			
		||||
 | 
			
		||||
/* key matrix size */
 | 
			
		||||
// Rows are doubled-up
 | 
			
		||||
#if  HELIX_ROWS == 4
 | 
			
		||||
  #define MATRIX_ROWS 8
 | 
			
		||||
  #define MATRIX_COLS 7
 | 
			
		||||
  #define MATRIX_ROW_PINS { D4, C6, D7, E6 }
 | 
			
		||||
#elif HELIX_ROWS == 5
 | 
			
		||||
  #define MATRIX_ROWS 10
 | 
			
		||||
  #define MATRIX_COLS 7
 | 
			
		||||
  #define MATRIX_ROW_PINS { D4, C6, D7, E6, B4 }
 | 
			
		||||
#else
 | 
			
		||||
  #error "expected HELIX_ROWS 4 or 5"
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#define USE_SERIAL_PD2
 | 
			
		||||
 | 
			
		||||
#define PREVENT_STUCK_MODIFIERS
 | 
			
		||||
#define TAPPING_FORCE_HOLD
 | 
			
		||||
#define TAPPING_TERM 100
 | 
			
		||||
 | 
			
		||||
// Helix keyboard RGB LED support
 | 
			
		||||
//#define RGBLIGHT_ANIMATIONS : see ./rules.mk: LED_ANIMATIONS = yes or no
 | 
			
		||||
//    see ./rules.mk: LED_BACK_ENABLE or LED_UNDERGLOW_ENABLE set yes
 | 
			
		||||
#ifdef RGBLED_BACK
 | 
			
		||||
  #if HELIX_ROWS == 4
 | 
			
		||||
    #define RGBLED_NUM 25
 | 
			
		||||
  #elif HELIX_ROWS == 5
 | 
			
		||||
    #define RGBLED_NUM 32
 | 
			
		||||
  #endif
 | 
			
		||||
#else
 | 
			
		||||
  #define RGBLED_NUM 6
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifndef IOS_DEVICE_ENABLE
 | 
			
		||||
  #if RGBLED_NUM <= 6
 | 
			
		||||
    #define RGBLIGHT_LIMIT_VAL 255
 | 
			
		||||
  #else
 | 
			
		||||
    #if HELIX_ROWS == 5
 | 
			
		||||
      #define RGBLIGHT_LIMIT_VAL 120
 | 
			
		||||
    #else
 | 
			
		||||
      #define RGBLIGHT_LIMIT_VAL 130
 | 
			
		||||
    #endif
 | 
			
		||||
  #endif
 | 
			
		||||
  #define RGBLIGHT_VAL_STEP 17
 | 
			
		||||
#else
 | 
			
		||||
  #if RGBLED_NUM <= 6
 | 
			
		||||
    #define RGBLIGHT_LIMIT_VAL 90
 | 
			
		||||
  #else
 | 
			
		||||
    #if HELIX_ROWS == 5
 | 
			
		||||
      #define RGBLIGHT_LIMIT_VAL 35
 | 
			
		||||
    #else
 | 
			
		||||
      #define RGBLIGHT_LIMIT_VAL 45
 | 
			
		||||
    #endif
 | 
			
		||||
  #endif
 | 
			
		||||
  #define RGBLIGHT_VAL_STEP 4
 | 
			
		||||
#endif
 | 
			
		||||
#define RGBLIGHT_HUE_STEP 10
 | 
			
		||||
#define RGBLIGHT_SAT_STEP 17
 | 
			
		||||
 | 
			
		||||
#if defined(RGBLIGHT_ENABLE) && !defined(IOS_DEVICE_ENABLE)
 | 
			
		||||
// USB_MAX_POWER_CONSUMPTION value for Helix keyboard
 | 
			
		||||
//  120  RGBoff, OLEDoff
 | 
			
		||||
//  120  OLED
 | 
			
		||||
//  330  RGB 6
 | 
			
		||||
//  300  RGB 32
 | 
			
		||||
//  310  OLED & RGB 32
 | 
			
		||||
  #define USB_MAX_POWER_CONSUMPTION 400
 | 
			
		||||
#else
 | 
			
		||||
  // fix iPhone and iPad power adapter issue
 | 
			
		||||
  // iOS device need lessthan 100
 | 
			
		||||
  #define USB_MAX_POWER_CONSUMPTION 100
 | 
			
		||||
#endif
 | 
			
		||||
// place overrides here
 | 
			
		||||
 | 
			
		||||
#endif /* CONFIG_USER_H */
 | 
			
		||||
 
 | 
			
		||||
@@ -23,100 +23,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
 | 
			
		||||
#include "../../config.h"
 | 
			
		||||
 | 
			
		||||
/* Use I2C or Serial */
 | 
			
		||||
 | 
			
		||||
#define USE_I2C
 | 
			
		||||
#define USE_SERIAL
 | 
			
		||||
//#define USE_MATRIX_I2C
 | 
			
		||||
 | 
			
		||||
/* Select hand configuration */
 | 
			
		||||
 | 
			
		||||
#define MASTER_LEFT
 | 
			
		||||
// #define MASTER_RIGHT
 | 
			
		||||
// #define EE_HANDS
 | 
			
		||||
 | 
			
		||||
// Helix keyboard OLED support
 | 
			
		||||
//      see ./rules.mk: OLED_ENABLE=yes or no
 | 
			
		||||
#ifdef OLED_ENABLE
 | 
			
		||||
  #define SSD1306OLED
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/* Select rows configuration */
 | 
			
		||||
#define HELIX_ROWS 5
 | 
			
		||||
 | 
			
		||||
/* key matrix size */
 | 
			
		||||
// Rows are doubled-up
 | 
			
		||||
#if  HELIX_ROWS == 4
 | 
			
		||||
  #define MATRIX_ROWS 8
 | 
			
		||||
  #define MATRIX_COLS 7
 | 
			
		||||
  #define MATRIX_ROW_PINS { D4, C6, D7, E6 }
 | 
			
		||||
#elif HELIX_ROWS == 5
 | 
			
		||||
  #define MATRIX_ROWS 10
 | 
			
		||||
  #define MATRIX_COLS 7
 | 
			
		||||
  #define MATRIX_ROW_PINS { D4, C6, D7, E6, B4 }
 | 
			
		||||
#else
 | 
			
		||||
  #error "expected HELIX_ROWS 4 or 5"
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#define USE_SERIAL_PD2
 | 
			
		||||
 | 
			
		||||
#define PREVENT_STUCK_MODIFIERS
 | 
			
		||||
#define TAPPING_FORCE_HOLD
 | 
			
		||||
#define TAPPING_TERM 100
 | 
			
		||||
 | 
			
		||||
#undef RGBLED_NUM
 | 
			
		||||
// Helix keyboard RGB LED support
 | 
			
		||||
//#define RGBLIGHT_ANIMATIONS : see ./rules.mk: LED_ANIMATIONS = yes or no
 | 
			
		||||
//    see ./rules.mk: LED_BACK_ENABLE or LED_UNDERGLOW_ENABLE set yes
 | 
			
		||||
#ifdef RGBLED_BACK
 | 
			
		||||
  #if HELIX_ROWS == 4
 | 
			
		||||
    #define RGBLED_NUM 25
 | 
			
		||||
  #elif HELIX_ROWS == 5
 | 
			
		||||
    #define RGBLED_NUM 32
 | 
			
		||||
  #endif
 | 
			
		||||
#else
 | 
			
		||||
  #define RGBLED_NUM 6
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifndef IOS_DEVICE_ENABLE
 | 
			
		||||
  #if RGBLED_NUM <= 6
 | 
			
		||||
    #define RGBLIGHT_LIMIT_VAL 255
 | 
			
		||||
  #else
 | 
			
		||||
    #if HELIX_ROWS == 5
 | 
			
		||||
      #define RGBLIGHT_LIMIT_VAL 120
 | 
			
		||||
    #else
 | 
			
		||||
      #define RGBLIGHT_LIMIT_VAL 130
 | 
			
		||||
    #endif
 | 
			
		||||
  #endif
 | 
			
		||||
  #define RGBLIGHT_VAL_STEP 17
 | 
			
		||||
#else
 | 
			
		||||
  #if RGBLED_NUM <= 6
 | 
			
		||||
    #define RGBLIGHT_LIMIT_VAL 90
 | 
			
		||||
  #else
 | 
			
		||||
    #if HELIX_ROWS == 5
 | 
			
		||||
      #define RGBLIGHT_LIMIT_VAL 35
 | 
			
		||||
    #else
 | 
			
		||||
      #define RGBLIGHT_LIMIT_VAL 45
 | 
			
		||||
    #endif
 | 
			
		||||
  #endif
 | 
			
		||||
  #define RGBLIGHT_VAL_STEP 4
 | 
			
		||||
#endif
 | 
			
		||||
#define RGBLIGHT_HUE_STEP 10
 | 
			
		||||
#define RGBLIGHT_SAT_STEP 17
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#if defined(RGBLIGHT_ENABLE) && !defined(IOS_DEVICE_ENABLE)
 | 
			
		||||
// USB_MAX_POWER_CONSUMPTION value for Helix keyboard
 | 
			
		||||
//  120  RGBoff, OLEDoff
 | 
			
		||||
//  120  OLED
 | 
			
		||||
//  330  RGB 6
 | 
			
		||||
//  300  RGB 32
 | 
			
		||||
//  310  OLED & RGB 32
 | 
			
		||||
  #define USB_MAX_POWER_CONSUMPTION 400
 | 
			
		||||
#else
 | 
			
		||||
  // fix iPhone and iPad power adapter issue
 | 
			
		||||
  // iOS device need lessthan 100
 | 
			
		||||
  #define USB_MAX_POWER_CONSUMPTION 100
 | 
			
		||||
#endif
 | 
			
		||||
// place overrides here
 | 
			
		||||
 | 
			
		||||
#endif /* CONFIG_USER_H */
 | 
			
		||||
 
 | 
			
		||||
@@ -27,8 +27,9 @@ define HELIX_CUSTOMISE_MSG
 | 
			
		||||
endef
 | 
			
		||||
 | 
			
		||||
# Helix keyboard customize
 | 
			
		||||
# you can edit follows 6 Variables
 | 
			
		||||
#  jp: 以下の6つの変数を必要に応じて編集します。
 | 
			
		||||
# you can edit follows 7 Variables
 | 
			
		||||
#  jp: 以下の7つの変数を必要に応じて編集します。
 | 
			
		||||
HELIX_ROWS = 5              # Helix Rows is 4 or 5
 | 
			
		||||
OLED_ENABLE = no            # OLED_ENABLE
 | 
			
		||||
LOCAL_GLCDFONT = no         # use each keymaps "helixfont.h" insted of "common/glcdfont.c"
 | 
			
		||||
LED_BACK_ENABLE = no        # LED backlight (Enable WS2812 RGB underlight.)
 | 
			
		||||
@@ -73,6 +74,13 @@ endif
 | 
			
		||||
# $(eval $(call HELIX_CUSTOMISE_MSG))
 | 
			
		||||
# $(info )
 | 
			
		||||
 | 
			
		||||
ifneq ($(strip $(HELIX_ROWS)), 4)
 | 
			
		||||
ifneq ($(strip $(HELIX_ROWS)), 5)
 | 
			
		||||
$(error HELIX_ROWS = $(strip $(HELIX_ROWS)) is unexpected value)
 | 
			
		||||
endif
 | 
			
		||||
endif
 | 
			
		||||
OPT_DEFS += -DHELIX_ROWS=$(strip $(HELIX_ROWS))
 | 
			
		||||
 | 
			
		||||
ifeq ($(strip $(LED_BACK_ENABLE)), yes)
 | 
			
		||||
  RGBLIGHT_ENABLE = yes
 | 
			
		||||
  OPT_DEFS += -DRGBLED_BACK
 | 
			
		||||
 
 | 
			
		||||
@@ -23,101 +23,9 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
 | 
			
		||||
#include "../../config.h"
 | 
			
		||||
 | 
			
		||||
/* Use I2C or Serial */
 | 
			
		||||
 | 
			
		||||
#define USE_I2C
 | 
			
		||||
#define USE_SERIAL
 | 
			
		||||
//#define USE_MATRIX_I2C
 | 
			
		||||
 | 
			
		||||
/* Select hand configuration */
 | 
			
		||||
 | 
			
		||||
#define MASTER_LEFT
 | 
			
		||||
// #define MASTER_RIGHT
 | 
			
		||||
// #define EE_HANDS
 | 
			
		||||
 | 
			
		||||
// Helix keyboard OLED support
 | 
			
		||||
//      see ./rules.mk: OLED_ENABLE=yes or no
 | 
			
		||||
#ifdef OLED_ENABLE
 | 
			
		||||
  #define SSD1306OLED
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/* Select rows configuration */
 | 
			
		||||
// Rows are 4 or 5
 | 
			
		||||
// #define HELIX_ROWS 5 see ./rules.mk
 | 
			
		||||
 | 
			
		||||
/* key matrix size */
 | 
			
		||||
// Rows are doubled-up
 | 
			
		||||
#if  HELIX_ROWS == 4
 | 
			
		||||
  #define MATRIX_ROWS 8
 | 
			
		||||
  #define MATRIX_COLS 7
 | 
			
		||||
  #define MATRIX_ROW_PINS { D4, C6, D7, E6 }
 | 
			
		||||
#elif HELIX_ROWS == 5
 | 
			
		||||
  #define MATRIX_ROWS 10
 | 
			
		||||
  #define MATRIX_COLS 7
 | 
			
		||||
  #define MATRIX_ROW_PINS { D4, C6, D7, E6, B4 }
 | 
			
		||||
#else
 | 
			
		||||
  #error "expected HELIX_ROWS 4 or 5"
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#define USE_SERIAL_PD2
 | 
			
		||||
 | 
			
		||||
#define PREVENT_STUCK_MODIFIERS
 | 
			
		||||
#define TAPPING_FORCE_HOLD
 | 
			
		||||
#undef TAPPING_TERM
 | 
			
		||||
#define TAPPING_TERM 200
 | 
			
		||||
#define ONESHOT_TAP_TOGGLE 5  /* Tapping this number of times holds the key until tapped this number of times again. */
 | 
			
		||||
#define ONESHOT_TIMEOUT 5000  /* Time (in ms) before the one shot key is released */
 | 
			
		||||
 | 
			
		||||
// Helix keyboard RGB LED support
 | 
			
		||||
//#define RGBLIGHT_ANIMATIONS : see ./rules.mk: LED_ANIMATIONS = yes or no
 | 
			
		||||
//    see ./rules.mk: LED_BACK_ENABLE or LED_UNDERGLOW_ENABLE set yes
 | 
			
		||||
#ifdef RGBLED_BACK
 | 
			
		||||
  #if HELIX_ROWS == 4
 | 
			
		||||
    #define RGBLED_NUM 25
 | 
			
		||||
  #elif HELIX_ROWS == 5
 | 
			
		||||
    #define RGBLED_NUM 32
 | 
			
		||||
  #endif
 | 
			
		||||
#else
 | 
			
		||||
  #define RGBLED_NUM 6
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifndef IOS_DEVICE_ENABLE
 | 
			
		||||
  #if RGBLED_NUM <= 6
 | 
			
		||||
    #define RGBLIGHT_LIMIT_VAL 255
 | 
			
		||||
  #else
 | 
			
		||||
    #if HELIX_ROWS == 5
 | 
			
		||||
      #define RGBLIGHT_LIMIT_VAL 120
 | 
			
		||||
    #else
 | 
			
		||||
      #define RGBLIGHT_LIMIT_VAL 130
 | 
			
		||||
    #endif
 | 
			
		||||
  #endif
 | 
			
		||||
  #define RGBLIGHT_VAL_STEP 17
 | 
			
		||||
#else
 | 
			
		||||
  #if RGBLED_NUM <= 6
 | 
			
		||||
    #define RGBLIGHT_LIMIT_VAL 90
 | 
			
		||||
  #else
 | 
			
		||||
    #if HELIX_ROWS == 5
 | 
			
		||||
      #define RGBLIGHT_LIMIT_VAL 35
 | 
			
		||||
    #else
 | 
			
		||||
      #define RGBLIGHT_LIMIT_VAL 45
 | 
			
		||||
    #endif
 | 
			
		||||
  #endif
 | 
			
		||||
  #define RGBLIGHT_VAL_STEP 4
 | 
			
		||||
#endif
 | 
			
		||||
#define RGBLIGHT_HUE_STEP 10
 | 
			
		||||
#define RGBLIGHT_SAT_STEP 17
 | 
			
		||||
 | 
			
		||||
#if defined(RGBLIGHT_ENABLE) && !defined(IOS_DEVICE_ENABLE)
 | 
			
		||||
// USB_MAX_POWER_CONSUMPTION value for Helix keyboard
 | 
			
		||||
//  120  RGBoff, OLEDoff
 | 
			
		||||
//  120  OLED
 | 
			
		||||
//  330  RGB 6
 | 
			
		||||
//  300  RGB 32
 | 
			
		||||
//  310  OLED & RGB 32
 | 
			
		||||
  #define USB_MAX_POWER_CONSUMPTION 400
 | 
			
		||||
#else
 | 
			
		||||
  // fix iPhone and iPad power adapter issue
 | 
			
		||||
  // iOS device need lessthan 100
 | 
			
		||||
  #define USB_MAX_POWER_CONSUMPTION 100
 | 
			
		||||
#endif
 | 
			
		||||
#define ONESHOT_TAP_TOGGLE 5 /* Tapping this number of times holds the key until tapped this number of times again. */
 | 
			
		||||
#define ONESHOT_TIMEOUT 5000 /* Time (in ms) before the one shot key is released */
 | 
			
		||||
 | 
			
		||||
#endif /* CONFIG_USER_H */
 | 
			
		||||
 
 | 
			
		||||
@@ -23,75 +23,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
 | 
			
		||||
#include "../../config.h"
 | 
			
		||||
 | 
			
		||||
/* Use I2C or Serial */
 | 
			
		||||
// place overrides here
 | 
			
		||||
 | 
			
		||||
#define USE_I2C
 | 
			
		||||
#define USE_SERIAL
 | 
			
		||||
//#define USE_MATRIX_I2C
 | 
			
		||||
 | 
			
		||||
/* Select hand configuration */
 | 
			
		||||
 | 
			
		||||
#define MASTER_LEFT
 | 
			
		||||
// #define MASTER_RIGHT
 | 
			
		||||
// #define EE_HANDS
 | 
			
		||||
 | 
			
		||||
// Helix keyboard OLED support
 | 
			
		||||
#define SSD1306OLED
 | 
			
		||||
 | 
			
		||||
/* Select rows configuration */
 | 
			
		||||
// Rows are 4 or 5
 | 
			
		||||
#define HELIX_ROWS 5
 | 
			
		||||
 | 
			
		||||
/* key matrix size */
 | 
			
		||||
// Rows are doubled-up
 | 
			
		||||
#if  HELIX_ROWS == 4
 | 
			
		||||
  #define MATRIX_ROWS 8
 | 
			
		||||
  #define MATRIX_COLS 7
 | 
			
		||||
  #define MATRIX_ROW_PINS { D4, C6, D7, E6 }
 | 
			
		||||
#elif HELIX_ROWS == 5
 | 
			
		||||
  #define MATRIX_ROWS 10
 | 
			
		||||
  #define MATRIX_COLS 7
 | 
			
		||||
  #define MATRIX_ROW_PINS { D4, C6, D7, E6, B4 }
 | 
			
		||||
#else
 | 
			
		||||
  #error "expected HELIX_ROWS 4 or 5"
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#define USE_SERIAL_PD2
 | 
			
		||||
 | 
			
		||||
#define PREVENT_STUCK_MODIFIERS
 | 
			
		||||
#define TAPPING_FORCE_HOLD
 | 
			
		||||
#define TAPPING_TERM 100
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#undef RGBLED_NUM
 | 
			
		||||
#define RGBLIGHT_ANIMATIONS
 | 
			
		||||
// Helix keyboard : see ./rules.mk: RGBLIGHT_ENABLE = yes or no
 | 
			
		||||
// Helix keyboard : RGBLED_NUM 6 or 32
 | 
			
		||||
#define RGBLED_NUM 32
 | 
			
		||||
#if RGBLED_NUM <= 6
 | 
			
		||||
  #define RGBLIGHT_LIMIT_VAL 255
 | 
			
		||||
#else
 | 
			
		||||
  #if HELIX_ROWS == 5
 | 
			
		||||
    #define RGBLIGHT_LIMIT_VAL 120
 | 
			
		||||
  #else
 | 
			
		||||
    #define RGBLIGHT_LIMIT_VAL 130
 | 
			
		||||
  #endif
 | 
			
		||||
#endif
 | 
			
		||||
#define RGBLIGHT_HUE_STEP 10
 | 
			
		||||
#define RGBLIGHT_SAT_STEP 17
 | 
			
		||||
#define RGBLIGHT_VAL_STEP 17
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifdef RGBLIGHT_ENABLE
 | 
			
		||||
// USB_MAX_POWER_CONSUMPTION value for Helix keyboard
 | 
			
		||||
//  120  RGBoff, OLEDoff
 | 
			
		||||
//  120  OLED
 | 
			
		||||
//  330  RGB 6
 | 
			
		||||
//  300  RGB 32
 | 
			
		||||
//  310  OLED & RGB 32
 | 
			
		||||
  #define USB_MAX_POWER_CONSUMPTION 330
 | 
			
		||||
#else
 | 
			
		||||
  // fix iPhone and iPad power adapter issue
 | 
			
		||||
  // iOS device need lessthan 100
 | 
			
		||||
  #define USB_MAX_POWER_CONSUMPTION 100
 | 
			
		||||
#endif
 | 
			
		||||
#endif /* CONFIG_USER_H */
 | 
			
		||||
 
 | 
			
		||||
@@ -14,10 +14,101 @@ MIDI_ENABLE = no            # MIDI controls
 | 
			
		||||
AUDIO_ENABLE = no           # Audio output on port C6
 | 
			
		||||
UNICODE_ENABLE = no         # Unicode
 | 
			
		||||
BLUETOOTH_ENABLE = no       # Enable Bluetooth with the Adafruit EZ-Key HID
 | 
			
		||||
# Helix keyboard : see ./config.h: RGBLED_NUM 6 or 32
 | 
			
		||||
# Helix keyboard : RGBLIGHT_ENABLE = no or yes
 | 
			
		||||
RGBLIGHT_ENABLE = yes-but-local        # Enable WS2812 RGB underlight.  Do not enable this with audio at the same time.
 | 
			
		||||
ONEHAND_ENABLE = no        # Enable one-hand typing
 | 
			
		||||
RGBLIGHT_ENABLE = no        # Enable WS2812 RGB underlight.  Do not enable this with audio at the same time.
 | 
			
		||||
SWAP_HANDS_ENABLE = no        # Enable one-hand typing
 | 
			
		||||
 | 
			
		||||
define HELIX_CUSTOMISE_MSG
 | 
			
		||||
  $(info Helix customize)
 | 
			
		||||
  $(info -  OLED_ENABLE=$(OLED_ENABLE))
 | 
			
		||||
  $(info -  LED_BACK_ENABLE=$(LED_BACK_ENABLE))
 | 
			
		||||
  $(info -  LED_UNDERGLOW_ENABLE=$(LED_UNDERGLOW_ENABLE))
 | 
			
		||||
  $(info -  LED_ANIMATION=$(LED_ANIMATIONS))
 | 
			
		||||
  $(info -  IOS_DEVICE_ENABLE=$(IOS_DEVICE_ENABLE))
 | 
			
		||||
endef
 | 
			
		||||
 | 
			
		||||
# Helix keyboard customize
 | 
			
		||||
# you can edit follows 7 Variables
 | 
			
		||||
#  jp: 以下の7つの変数を必要に応じて編集します。
 | 
			
		||||
HELIX_ROWS = 5              # Helix Rows is 4 or 5
 | 
			
		||||
OLED_ENABLE = yes            # OLED_ENABLE
 | 
			
		||||
LOCAL_GLCDFONT = no         # use each keymaps "helixfont.h" insted of "common/glcdfont.c"
 | 
			
		||||
LED_BACK_ENABLE = yes        # LED backlight (Enable WS2812 RGB underlight.)
 | 
			
		||||
LED_UNDERGLOW_ENABLE = no   # LED underglow (Enable WS2812 RGB underlight.)
 | 
			
		||||
LED_ANIMATIONS = yes        # LED animations
 | 
			
		||||
IOS_DEVICE_ENABLE = no      # connect to IOS device (iPad,iPhone)
 | 
			
		||||
 | 
			
		||||
####  LED_BACK_ENABLE and LED_UNDERGLOW_ENABLE.
 | 
			
		||||
####    Do not enable these with audio at the same time.
 | 
			
		||||
 | 
			
		||||
### Helix keyboard 'default' keymap: convenient command line option
 | 
			
		||||
##    make HELIX=<options> helix:defualt
 | 
			
		||||
##    option= oled | back | under | na | ios
 | 
			
		||||
##    ex.
 | 
			
		||||
##      make HELIX=oled          helix:defualt
 | 
			
		||||
##      make HELIX=oled,back     helix:defualt
 | 
			
		||||
##      make HELIX=oled,under    helix:defualt
 | 
			
		||||
##      make HELIX=oled,back,na  helix:defualt
 | 
			
		||||
##      make HELIX=oled,back,ios helix:defualt
 | 
			
		||||
##
 | 
			
		||||
ifneq ($(strip $(HELIX)),)
 | 
			
		||||
  ifeq ($(findstring oled,$(HELIX)), oled)
 | 
			
		||||
    OLED_ENABLE = yes
 | 
			
		||||
  endif
 | 
			
		||||
  ifeq ($(findstring back,$(HELIX)), back)
 | 
			
		||||
    LED_BACK_ENABLE = yes
 | 
			
		||||
  else ifeq ($(findstring under,$(HELIX)), under)
 | 
			
		||||
    LED_UNDERGLOW_ENABLE = yes
 | 
			
		||||
  endif
 | 
			
		||||
  ifeq ($(findstring na,$(HELIX)), na)
 | 
			
		||||
    LED_ANIMATIONS = no
 | 
			
		||||
  endif
 | 
			
		||||
  ifeq ($(findstring ios,$(HELIX)), ios)
 | 
			
		||||
    IOS_DEVICE_ENABLE = yes
 | 
			
		||||
  endif
 | 
			
		||||
  $(eval $(call HELIX_CUSTOMISE_MSG))
 | 
			
		||||
  $(info )
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
# Uncomment these for checking
 | 
			
		||||
#   jp: コンパイル時にカスタマイズの状態を表示したい時はコメントをはずします。
 | 
			
		||||
# $(eval $(call HELIX_CUSTOMISE_MSG))
 | 
			
		||||
# $(info )
 | 
			
		||||
 | 
			
		||||
ifneq ($(strip $(HELIX_ROWS)), 4)
 | 
			
		||||
  ifneq ($(strip $(HELIX_ROWS)), 5)
 | 
			
		||||
    $(error HELIX_ROWS = $(strip $(HELIX_ROWS)) is unexpected value)
 | 
			
		||||
  endif
 | 
			
		||||
endif
 | 
			
		||||
OPT_DEFS += -DHELIX_ROWS=$(strip $(HELIX_ROWS))
 | 
			
		||||
 | 
			
		||||
ifeq ($(strip $(LED_BACK_ENABLE)), yes)
 | 
			
		||||
  RGBLIGHT_ENABLE = yes
 | 
			
		||||
  OPT_DEFS += -DRGBLED_BACK
 | 
			
		||||
  ifeq ($(strip $(LED_UNDERGLOW_ENABLE)), yes)
 | 
			
		||||
    $(eval $(call HELIX_CUSTOMISE_MSG))
 | 
			
		||||
    $(error LED_BACK_ENABLE and LED_UNDERGLOW_ENABLE both 'yes')
 | 
			
		||||
  endif
 | 
			
		||||
else ifeq ($(strip $(LED_UNDERGLOW_ENABLE)), yes)
 | 
			
		||||
  RGBLIGHT_ENABLE = yes
 | 
			
		||||
else
 | 
			
		||||
  RGBLIGHT_ENABLE = no
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
ifeq ($(strip $(IOS_DEVICE_ENABLE)), yes)
 | 
			
		||||
    OPT_DEFS += -DIOS_DEVICE_ENABLE
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
ifeq ($(strip $(LED_ANIMATIONS)), yes)
 | 
			
		||||
    OPT_DEFS += -DRGBLIGHT_ANIMATIONS
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
ifeq ($(strip $(OLED_ENABLE)), yes)
 | 
			
		||||
    OPT_DEFS += -DOLED_ENABLE
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
ifeq ($(strip $(LOCAL_GLCDFONT)), yes)
 | 
			
		||||
    OPT_DEFS += -DLOCAL_GLCDFONT
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
 | 
			
		||||
SLEEP_LED_ENABLE = no    # Breathing sleep LED during USB suspend
 | 
			
		||||
@@ -26,13 +117,7 @@ ifndef QUANTUM_DIR
 | 
			
		||||
	include ../../../../Makefile
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
#copy from common_features.mk and modify rgblight.c
 | 
			
		||||
    OPT_DEFS += -DRGBLIGHT_ENABLE
 | 
			
		||||
    SRC += rgblight.c
 | 
			
		||||
    CIE1931_CURVE = yes
 | 
			
		||||
    LED_BREATHING_TABLE = yes
 | 
			
		||||
    ifeq ($(strip $(RGBLIGHT_CUSTOM_DRIVER)), yes)
 | 
			
		||||
        OPT_DEFS += -DRGBLIGHT_CUSTOM_DRIVER
 | 
			
		||||
    else
 | 
			
		||||
         SRC += ws2812.c
 | 
			
		||||
    endif
 | 
			
		||||
# Uncomment these for debugging
 | 
			
		||||
# $(info -- RGBLIGHT_ENABLE=$(RGBLIGHT_ENABLE))
 | 
			
		||||
# $(info -- OPT_DEFS=$(OPT_DEFS))
 | 
			
		||||
# $(info )
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user