multiple rgb led light fader

@Spirit,

maby its because you call tlc.Write() 16 times, each time led() is called.
you only need to do it once.

Ah, yes, I see that also. That makes a lot of sense. So I made the following change and it's made a huge difference - runs much faster now. - thank you.

  //Check Values and adjust "current" Value
  for (uint16_t i = 0; i < totalleds; i++) {
    if (chrgb[i].definedr != chrgb[i].currentr) {
      if (chrgb[i].currentr < chrgb[i].definedr) chrgb[i].currentr = (chrgb[i].currentr + fademultipler);
      if (chrgb[i].currentr > chrgb[i].definedr) chrgb[i].currentr = (chrgb[i].currentr - fademultipler);
    }
    if (chrgb[i].definedg != chrgb[i].currentg) {
      if (chrgb[i].currentg < chrgb[i].definedg) chrgb[i].currentg = (chrgb[i].currentg + fademultipler);
      if (chrgb[i].currentg > chrgb[i].definedg) chrgb[i].currentg = (chrgb[i].currentg - fademultipler);
    }
    if (chrgb[i].definedb != chrgb[i].currentb) {
      if (chrgb[i].currentb < chrgb[i].definedb) chrgb[i].currentb = (chrgb[i].currentb + fademultipler);
      if (chrgb[i].currentb > chrgb[i].definedb) chrgb[i].currentb = (chrgb[i].currentb - fademultipler);
    }
    //Assign modified values to the pwm outputs for each colour led
    tlc.setLED(i, chrgb[i].currentr , chrgb[i].currentg , chrgb[i].currentb);
  }
   tlc.write();
}