Library for TLC5940 16-channel PWM chip

I think that's exactly the case -- millis() will always return the same value. As a result, delay() doesn't work, because the timer has stopped.