~ruther/qmk_firmware

ff728a8a01c1aa81e86f38dfd1753bd49ce39e88 — Drashna Jaelre 7 years ago 37cc088
[Proposal?] Allow RGB Underglow to turn off when host is idle/asleep (#2104)

* Add RGB Underglow Sleeping

* Add RGBLIGHT_SLEEP to toggle/control RGB light behavior

* Update rgb docs

* Update for RGB disable command
M docs/feature_rgblight.md => docs/feature_rgblight.md +2 -0
@@ 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


M keyboards/ergodox_ez/keymaps/drashna/config.h => keyboards/ergodox_ez/keymaps/drashna/config.h +1 -0
@@ 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

M keyboards/handwired/woodpad/keymaps/drashna/config.h => keyboards/handwired/woodpad/keymaps/drashna/config.h +1 -0
@@ 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

M keyboards/orthodox/keymaps/drashna/config.h => keyboards/orthodox/keymaps/drashna/config.h +1 -0
@@ 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

M keyboards/viterbi/keymaps/drashna/config.h => keyboards/viterbi/keymaps/drashna/config.h +1 -0
@@ 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


M tmk_core/common/avr/suspend.c => tmk_core/common/avr/suspend.c +15 -1
@@ 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