Estoy cambiando una variable con una tasa predeterminada. Cuando mi variable se vuelve demasiado grande, la coloco de nuevo al valor más alto que quiero hacer, y cambio el signo en la tasa para hacer que el cambio vaya en la otra dirección.
x += rate;
if (x > 255){
rate = -rate;
x = 255;
}
if (x < 0) {
rate = -rate;
x = 0;
}
Sin embargo (cuando ejecuto este código y uso la variable para controlar el brillo de algunos LED), una vez que x llega a mi umbral más alto o por encima de este, se restablece al valor más bajo y vuelve a subir.
Ninguno de los otros códigos manipula o usa x, a menos que cuando esté configurando los valores CRGB con x en una matriz de LED. Este código se ejecuta en void (bucle).