Skip to content

Commit

Permalink
Added alternating led underglow pattern (qmk#3498)
Browse files Browse the repository at this point in the history
* added alternating led pattern

* added alternating with rgblight_config values

* removed my comments
  • Loading branch information
broswen authored and yamad committed Mar 21, 2019
1 parent 48abc6b commit 6771fb5
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 2 deletions.
26 changes: 25 additions & 1 deletion quantum/rgblight.c
Original file line number Diff line number Diff line change
Expand Up @@ -247,14 +247,15 @@ 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
// MODE 15-20, snake
// MODE 21-23, knight
// MODE 24, xmas
// MODE 35 RGB test
// MODE 36, alterating

#ifdef RGBLIGHT_ANIMATIONS
rgblight_timer_enable();
Expand Down Expand Up @@ -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();
}
}
}
Expand Down Expand Up @@ -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 */
3 changes: 2 additions & 1 deletion quantum/rgblight.h
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
#define RGBLIGHT_H

#ifdef RGBLIGHT_ANIMATIONS
#define RGBLIGHT_MODES 35
#define RGBLIGHT_MODES 36
#else
#define RGBLIGHT_MODES 1
#endif
Expand Down Expand Up @@ -166,5 +166,6 @@ void rgblight_effect_snake(uint8_t interval);
void rgblight_effect_knight(uint8_t interval);
void rgblight_effect_christmas(void);
void rgblight_effect_rgbtest(void);
void rgblight_effect_alternating(void);

#endif

0 comments on commit 6771fb5

Please sign in to comment.