diff options
author | Brad <[email protected]> | 2018-07-29 10:42:11 -0500 |
---|---|---|
committer | Drashna Jaelre <[email protected]> | 2018-07-29 08:42:11 -0700 |
commit | 595f3cbe5bb06eab583352a047c89859a6fa0753 (patch) | |
tree | 7061681a1dde9f7c3326cd6e8c96d34d9716a46e /quantum/rgblight.c | |
parent | f1513c3ad21822a376eb50fb8331e63617a0b2db (diff) | |
download | qmk_firmware-595f3cbe5bb06eab583352a047c89859a6fa0753.tar.gz qmk_firmware-595f3cbe5bb06eab583352a047c89859a6fa0753.zip |
Added alternating led underglow pattern (#3498)
* added alternating led pattern
* added alternating with rgblight_config values
* removed my comments
Diffstat (limited to 'quantum/rgblight.c')
-rw-r--r-- | quantum/rgblight.c | 26 |
1 files changed, 25 insertions, 1 deletions
diff --git a/quantum/rgblight.c b/quantum/rgblight.c index aa70cbd9ec..4919ae4abf 100644 --- a/quantum/rgblight.c +++ b/quantum/rgblight.c @@ -247,7 +247,7 @@ void rgblight_mode_eeprom_helper(uint8_t mode, bool write_to_eeprom) { rgblight_timer_disable(); #endif } else if ((rgblight_config.mode >= 2 && rgblight_config.mode <= 24) || - rgblight_config.mode == 35 ) { + rgblight_config.mode == 35 || rgblight_config.mode == 36) { // MODE 2-5, breathing // MODE 6-8, rainbow mood // MODE 9-14, rainbow swirl @@ -255,6 +255,7 @@ void rgblight_mode_eeprom_helper(uint8_t mode, bool write_to_eeprom) { // MODE 21-23, knight // MODE 24, xmas // MODE 35 RGB test + // MODE 36, alterating #ifdef RGBLIGHT_ANIMATIONS rgblight_timer_enable(); @@ -591,6 +592,8 @@ void rgblight_task(void) { } else if (rgblight_config.mode == 35) { // mode = 35, RGB test rgblight_effect_rgbtest(); + } else if (rgblight_config.mode == 36){ + rgblight_effect_alternating(); } } } @@ -772,4 +775,25 @@ void rgblight_effect_rgbtest(void) { pos = (pos + 1) % 3; } +void rgblight_effect_alternating(void){ + static uint16_t last_timer = 0; + static uint16_t pos = 0; + if (timer_elapsed(last_timer) < 500) { + return; + } + last_timer = timer_read(); + + for(int i = 0; i<RGBLED_NUM; i++){ + if(i<RGBLED_NUM/2 && pos){ + rgblight_sethsv_at(rgblight_config.hue, rgblight_config.sat, rgblight_config.val, i); + }else if (i>=RGBLED_NUM/2 && !pos){ + rgblight_sethsv_at(rgblight_config.hue, rgblight_config.sat, rgblight_config.val, i); + }else{ + rgblight_sethsv_at(rgblight_config.hue, rgblight_config.sat, 0, i); + } + } + rgblight_set(); + pos = (pos + 1) % 2; +} + #endif /* RGBLIGHT_ANIMATIONS */ |