From 33134730047934639c98b766edf8e971833e930f Mon Sep 17 00:00:00 2001
From: MakotoKurauchi <pluis@me.com>
Date: Sat, 10 Mar 2018 03:15:37 +0900
Subject: [PATCH] Usb max power (#2502)

* add some comment about Helix customize and auto-setup RGBLIGHT_LIMIT_VAL

* add define USB_MAX_POWER_CONSUMPTION
---
 keyboards/helix/rev2/keymaps/default/config.h | 27 ++++++++++++++++++-
 keyboards/helix/rev2/keymaps/default/rules.mk |  2 ++
 2 files changed, 28 insertions(+), 1 deletion(-)

diff --git a/keyboards/helix/rev2/keymaps/default/config.h b/keyboards/helix/rev2/keymaps/default/config.h
index 5d8e37f645..53ff0b3ca8 100644
--- a/keyboards/helix/rev2/keymaps/default/config.h
+++ b/keyboards/helix/rev2/keymaps/default/config.h
@@ -35,6 +35,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 // #define MASTER_RIGHT
 // #define EE_HANDS
 
+// Helix keyboard OLED support
 //#define SSD1306OLED
 
 /* Select rows configuration */
@@ -64,9 +65,33 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #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 6
-#define RGBLIGHT_LIMIT_VAL 255
+#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
diff --git a/keyboards/helix/rev2/keymaps/default/rules.mk b/keyboards/helix/rev2/keymaps/default/rules.mk
index ce3ef6cd9a..f4d3454351 100644
--- a/keyboards/helix/rev2/keymaps/default/rules.mk
+++ b/keyboards/helix/rev2/keymaps/default/rules.mk
@@ -14,6 +14,8 @@ 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 = no        # Enable WS2812 RGB underlight.  Do not enable this with audio at the same time.
 ONEHAND_ENABLE = no        # Enable one-hand typing