[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
This commit is contained in:
		
				
					committed by
					
						
						Jack Humbert
					
				
			
			
				
	
			
			
			
						parent
						
							37cc088486
						
					
				
				
					commit
					ff728a8a01
				
			@@ -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
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -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
 | 
			
		||||
 
 | 
			
		||||
@@ -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
 | 
			
		||||
 
 | 
			
		||||
@@ -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
 | 
			
		||||
 
 | 
			
		||||
@@ -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
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -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
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user