]> git.donarmstrong.com Git - qmk_firmware.git/commitdiff
[Proposal?] Allow RGB Underglow to turn off when host is idle/asleep (#2104)
authorDrashna Jaelre <drashna@live.com>
Tue, 20 Mar 2018 03:59:58 +0000 (20:59 -0700)
committerJack Humbert <jack.humb@gmail.com>
Tue, 20 Mar 2018 03:59:58 +0000 (23:59 -0400)
* Add RGB Underglow Sleeping

* Add RGBLIGHT_SLEEP to toggle/control RGB light behavior

* Update rgb docs

* Update for RGB disable command

docs/feature_rgblight.md
keyboards/ergodox_ez/keymaps/drashna/config.h
keyboards/handwired/woodpad/keymaps/drashna/config.h
keyboards/orthodox/keymaps/drashna/config.h
keyboards/viterbi/keymaps/drashna/config.h
tmk_core/common/avr/suspend.c

index f96fa87736bd7589f0256a5caf1384785169a4c9..17097f4bca46f4445f651ecb2670848a4625274c 100644 (file)
@@ -42,6 +42,8 @@ You can change the behavior of the RGB Lighting by setting these configuration v
 | `RGBLIGHT_SAT_STEP` | 17 | How many steps of saturation you'd like. |
 | `RGBLIGHT_VAL_STEP` | 17 | The number of levels of brightness you want. |
 | `RGBLIGHT_LIMIT_VAL` | 255 | Limit the val of HSV to limit the maximum brightness simply. |
+| `RGBLIGHT_SLEEP`     |    |  `#define` this will shut off the lights when the host goes to sleep | 
+
 
 ### Animations
 
index d543379a37b19af953bf5241960fa71d948c554b..71c7de466f6439ae71a879feb52f62ba27cce514 100644 (file)
@@ -10,6 +10,7 @@
 #define RGBLIGHT_EFFECT_KNIGHT_LENGTH 7
 #define RGBLIGHT_EFFECT_SNAKE_LENGTH 7
 #define RGBLIGHT_EFFECT_BREATHE_CENTER 1
+#define RGBLIGHT_SLEEP
 #endif // RGBLIGHT_ENABLE
 
 #ifdef TAPPING_TERM
index a35b60d369f6afd4945bd2d9dcc06e5a34692c19..c83a1ac3794030203f248a130a7c2e5db6bf4b48 100644 (file)
@@ -37,6 +37,7 @@
 #define RGBLIGHT_EFFECT_KNIGHT_LENGTH 4
 #define RGBLIGHT_EFFECT_SNAKE_LENGTH 3
 #define RGBLIGHT_EFFECT_BREATHE_CENTER 1
+#define RGBLIGHT_SLEEP
 #endif // RGBLIGHT_ENABLE
 
 #define FORCE_NKRO
index 107f16d58c043d34cd5fcd246bbf724c10903da6..dd8439a44bf44a5dd323bf3f4dbcb63018e194c5 100644 (file)
@@ -64,6 +64,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define RGBLIGHT_EFFECT_KNIGHT_LENGTH 2
 #define RGBLIGHT_EFFECT_SNAKE_LENGTH 2
 #define RGBLIGHT_EFFECT_BREATHE_CENTER 1
+#define RGBLIGHT_SLEEP
 #endif // RGBLIGHT_ENABLE
 
 #ifdef AUDIO_ENABLE
index 8fabe72f8770f0bd97d6aa30b2ebc8313e4779d8..02786cfc7d226b716aa1b4c5223874225eb27d56 100644 (file)
@@ -31,6 +31,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define RGBLIGHT_EFFECT_KNIGHT_LENGTH 2
 #define RGBLIGHT_EFFECT_SNAKE_LENGTH 2
 #define RGBLIGHT_EFFECT_BREATHE_CENTER 1
+#define RGBLIGHT_SLEEP
 #define RGBLIGHT_EFFECT_CHRISTMAS_INTERVAL 300
 #define RGBLIGHT_EFFECT_CHRISTMAS_STEP 1
 
index 1c7618ff51dd9ea0b8a5a5c24bb3352b51169eff..213f03f6fa5c4dd8eec6ba0b28f456fee2d19596 100644 (file)
@@ -19,6 +19,9 @@
     #include "audio.h"
 #endif /* AUDIO_ENABLE */
 
+#ifdef RGBLIGHT_ANIMATIONS
+  #include "rgblight.h"
+#endif
 
 
 #define wdt_intr_enable(value)   \
@@ -85,7 +88,12 @@ static void power_down(uint8_t wdto)
         // This sometimes disables the start-up noise, so it's been disabled
                // stop_all_notes();
        #endif /* AUDIO_ENABLE */
-
+#ifdef RGBLIGHT_SLEEP
+#ifdef RGBLIGHT_ANIMATIONS
+  rgblight_timer_disable();
+#endif
+  rgblight_disable();
+#endif
     // TODO: more power saving
     // See PicoPower application note
     // - I/O port input with pullup
@@ -132,6 +140,12 @@ void suspend_wakeup_init(void)
     backlight_init();
 #endif
        led_set(host_keyboard_leds());
+#ifdef RGBLIGHT_SLEEP
+  rgblight_enable();
+#ifdef RGBLIGHT_ANIMATIONS
+  rgblight_timer_enable();
+#endif
+#endif
 }
 
 #ifndef NO_SUSPEND_POWER_DOWN