void TwoColorWave::loop(struct rgb *leds){
   struct rgb color;

   int last=-100;
   for(int i = 0; i < count; i++) {
     int led = i;
     if (change_direction)
       led = count - 1 - i;

     double v = sin(i*0.3+millis()/1000.0);
     double fade = v;
     if (fade < 0)
       fade = 0;
     leds[led].r = calc_fade(fade, constrain(wave_col.r*v, 0, 255), bg_col.r);
     leds[led].g = calc_fade(fade, constrain(wave_col.g*v, 0, 255), bg_col.g);
     leds[led].b = calc_fade(fade, constrain(wave_col.b*v, 0, 255), bg_col.b);
   }
}
Example #2
0
static float mix_b_fade_in_out(void *data, float t)
{
	struct stinger_info *s = data;
	return 1.0f - calc_fade(1.0f - t, s->transition_b_mul);
}