Maurotec:
Lo scheduler che funziona potrebbe essere questo.
Mauro, il suo problema è che ... o NON applica uno "scheduling preemptive" e allora si ritrova con gli stessi problemi che ha avuto con millis(), o invece è "preemptive" e allora NON gli funzionano più le strisce perché, la trasmissione seriale dei bit ai LED NON può essere interrotta ed ha sue precise temporizzazioni, quindi ... così semplicemente NON lo fai.
Se vuole usare uno scheduler "preemptive" deve comunque mettere le mani nella libreria che usa affinché, nella parte di tramissione dati, dica allo scheduler che NON può essere interrotta (critical section).
Ritengo invece ottimo il suggerimento che dai nel tuo ultimo capoverso ... ![]()
Maurotec:
Dimentica per il momento gli scheduler e concentrati più su come si deve usare la lib fastled. In particolare il metodo show() che secondo me andrebbe chiamato una sola volta nel loop principale e non come fai tu in due loop (cicli for) separati.
Guglielmo