strisce led in contemporanea con effetti diversi

leOS2 vanno in conflitto con qualcosa, i led si accendono a caso.
leOS1 funzionano come millis()

Credo che non si possa fare... mentre scrivevo mi è venuta l'idea:

basta togliere previousMillis0 = millis();

quindi: le strisce partono al tempostriscia previsto, e poi proseguono per i fatti suoi!!

Ora vedo di integrare il tutto sul programma più complesso.

Ciao e grazie

#include <FastLED.h>

#define LED_TYPE    WS2812B
#define COLOR_ORDER GRB
#define BRIGHTNESS          84
#define NUM_LEDS    20
#define NUM_STRIPS 2
CRGB leds[NUM_STRIPS][NUM_LEDS];

#define UPDATES_PER_SECOND 100

//parte millis
unsigned long previousMillis0= 0; 
unsigned long previousMillis1= 0;

 
const long tempostriscia0 = 3000;
const long tempostriscia1 = 8000;



CRGBPalette16 currentPalette;
TBlendType    currentBlending;

extern CRGBPalette16 myRedWhiteBluePalette;
extern const TProgmemPalette16 myRedWhiteBluePalette_p PROGMEM;
uint8_t colorIndex = 0;

void setup() {
   Serial.begin(19200);
    delay( 1000 ); // power-up safety delay
    //7 strisce nei pin da 4 a 10
    FastLED.addLeds<LED_TYPE, 4, COLOR_ORDER>(leds[0], NUM_LEDS).setCorrection( TypicalLEDStrip );
    FastLED.addLeds<LED_TYPE, 5, COLOR_ORDER>(leds[1], NUM_LEDS).setCorrection( TypicalLEDStrip );
  
    FastLED.setBrightness(  BRIGHTNESS );
    
    currentPalette = RainbowColors_p;
    currentBlending = LINEARBLEND;
}

void loop()
{
  
singola_striscia0();
singola_striscia1();
}

void singola_striscia0(){  
   Serial.println(millis());   
if (millis() - previousMillis0 > tempostriscia0) {
   //previousMillis0 = millis();
    for( int i = 0; i < NUM_LEDS; i++) {
    leds[0][i] = ColorFromPalette(currentPalette, colorIndex, BRIGHTNESS, currentBlending);  //striscia0
    colorIndex += 1;//quanti colori salta da un loop all'altro, con 1 i colori sono contigui rosso-arancione-giallo-verde et.
   FastLED.show();
   FastLED.delay(1000/ UPDATES_PER_SECOND);
    }
 }
}
void singola_striscia1(){  
   Serial.println(millis());   
if (millis() - previousMillis1 > tempostriscia1) {
  // previousMillis1 = millis();
    for( int i = 0; i < NUM_LEDS; i++) {
    leds[1][i] = ColorFromPalette(currentPalette, colorIndex, BRIGHTNESS, currentBlending);  //striscia0
    colorIndex += 1;//quanti colori salta da un loop all'altro, con 1 i colori sono contigui rosso-arancione-giallo-verde et.
   FastLED.show();
    FastLED.delay(1000 / UPDATES_PER_SECOND);
    }    
}
}