Library for TLC5940 16-channel PWM chip

Just to clarify, in Arduino 0011, the return value for millis() increments upwards by 1 per millisecond until it reaches 0x20C49B9 (about 9 1/2 hours) and then returns to 0 ("rolls over") and continues upward. In Arduino 0012, the rollover occurs at 0xFFFFFFFF, or about 49 days.

I haven't investigated the library code in particular, but I would suggest replacing

if (fp->stopMillis <= currentMillis)

with

// Version 0011 fix
#define ROLLOVER 0x20C49BA
if (currentMillis - fp->stopMillis % ROLLOVER < ROLLOVER/2)

or

// Version 0012 fix
if (currentMillis - fp->stopMillis < 0x80000000)

Mikal