// Deals with the messy details of incrementing an integer
-uint8_t increment( uint8_t value, uint8_t step, uint8_t min, uint8_t max ) {
+static uint8_t increment( uint8_t value, uint8_t step, uint8_t min, uint8_t max ) {
int16_t new_value = value;
new_value += step;
return MIN( MAX( new_value, min ), max );
}
-uint8_t decrement( uint8_t value, uint8_t step, uint8_t min, uint8_t max ) {
+static uint8_t decrement( uint8_t value, uint8_t step, uint8_t min, uint8_t max ) {
int16_t new_value = value;
new_value -= step;
return MIN( MAX( new_value, min ), max );
#endif
#ifdef RGBLIGHT_EFFECT_RAINBOW_SWIRL
+#ifndef RGBLIGHT_RAINBOW_SWIRL_RANGE
+ #define RGBLIGHT_RAINBOW_SWIRL_RANGE 360
+#endif
+
__attribute__ ((weak))
const uint8_t RGBLED_RAINBOW_SWIRL_INTERVALS[] PROGMEM = {100, 50, 20};
}
last_timer = timer_read();
for (i = 0; i < RGBLED_NUM; i++) {
- hue = (360 / RGBLED_NUM * i + current_hue) % 360;
+ hue = (RGBLIGHT_RAINBOW_SWIRL_RANGE / RGBLED_NUM * i + current_hue) % 360;
sethsv(hue, rgblight_config.sat, rgblight_config.val, (LED_TYPE *)&led[i]);
}
rgblight_set();
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);
- }
+ if(i<RGBLED_NUM/2 && pos){
+ sethsv(rgblight_config.hue, rgblight_config.sat, rgblight_config.val, (LED_TYPE *)&led[i]);
+ }else if (i>=RGBLED_NUM/2 && !pos){
+ sethsv(rgblight_config.hue, rgblight_config.sat, rgblight_config.val, (LED_TYPE *)&led[i]);
+ }else{
+ sethsv(rgblight_config.hue, rgblight_config.sat, 0, (LED_TYPE *)&led[i]);
+ }
}
rgblight_set();
pos = (pos + 1) % 2;