Help me please :-( I have two parallel output strip on arduino due.

I don’t know use rgb color CRGB (255/k,255/k, 255/k)

Here is the pixel reference:

White would be:

leds[i] = CRGB::white;
leds[i] = CHSV(0,0,255);
leds[i] = 0xFFFFFF;
leds[i] = CRGB(255,255,255);

Also, please don’t post code here. It’s barely legible. Use http://gist.github.com instead.

Finally, multiple repeated posts is not recommended.

@Andrew_Tuline thanks a lot

@Andrew_Tuline why i use 800 NUM_LEDS_PER_STRIP is very slower than 300.

@bahman_bakian if you are using ws2812 it takes 30microsecond to update one led => 9ms to update 300 leds but it will take 24ms to update 800leds unless you are using full parallel output.

@Yves_BAZIN thanks.i use two parallel output.

Each output 800leds.i use Ws2811.

I measure time with micros().it takes 56ms for updating.i use arduino http://due.is it true?

@bahman_bakian please take the measure of the FastLED.show only.

@Yves_BAZIN
hi,i want this code execute http://faster.is there anyway ?((effect:the first five led will be fadely on by 3step hue.then shifted forward while previous 5leds goes off.and this routin repeated alternate 5 by 5 up to end.))

include “FastLED.h”
define NUM_STRIPS 2
define NUM_LEDS_PER_STRIP 800
CRGB leds[NUM_STRIPS][NUM_LEDS_PER_STRIP];
int x;
void setup() {
//FastLED.addLeds<NEOPIXEL, 11>(leds[0], NUM_LEDS_PER_STRIP);
//FastLED.addLeds<NEOPIXEL, 22>(leds[1], NUM_LEDS_PER_STRIP);
FastLED.addLeds<WS2811, 14, RGB>(leds[0], NUM_LEDS_PER_STRIP);
FastLED.addLeds<WS2811, 22, RGB>(leds[1], NUM_LEDS_PER_STRIP);
}
void loop() {
for(int counter = 5; counter <=800; counter=counter+5) {
int step_num=counter/5;
int counter1=counter-5;
if(step_num %2 == 0){
{
for(int i = 0; i <5; i++) {
for(int hue = 0; hue <= 240;hue=hue+80) {
x=0;
for(int j = 0; j <=counter1; j=j+10) {
leds[x][i+j] =CRGB::Black;
leds[x+1][i+j] = CRGB::Black;
leds[x][i+j+5] =CRGB(hue,hue,hue); //CRGB(250-hue,250-hue,250-hue);
leds[x+1][i+j+5] =CRGB(hue,hue,hue); //CRGB(250-hue,250-hue,250-hue);
}
FastLED.show();
//delay(20);
}
}
}
}
else if(step_num %2 != 0){
for(int i = 0; i <5; i++) {
for(int hue = 0; hue <= 240;hue=hue+80) {
x=0;
for(int j = 0; j <=counter1; j=j+10) {
leds[x][i+j+5] =CRGB::Black;
leds[x+1][i+j+5] = CRGB::Black;
leds[x][i+j] = CRGB(hue,hue,hue);
leds[x+1][i+j] =CRGB(hue,hue,hue);
}
FastLED.show();
//delay(20);
}
}
}
}
}

@bahman_bakian there could be a lot of optimization but first one your FAstLED.show are in the loops of your ‘hue’ .
Remove all your FastLED.show and put only one show after your primary loop for (Int counter= …

@Yves_BAZIN i want leds will be on fadely not immediately

@bahman_bakian I will test your code once home to see what effect you are looking for exactly and see what I can change. But you have 2x800 leds to update every time so at least 48ms only for the FastLED.show. You will not go under that time.

:frowning: isn’t it’s update time 24ms?

The way you declared is not parrallel output. The show will display the led on one strip then the other one. Hence it will take the same time as 1600leds 1600x30micro seconds =48millis. If you want real parelllel output (when the two strips are being updated at the same time) please read this.
https://github.com/FastLED/FastLED/wiki/Parallel-Output. You have an example of declaration in the example ParallelOutput.ino which comes with the FastLED library.

@Yves_BAZIN oh.i undrestand.thank you.can i change each parallel output seperately?

@bahman_bakian your code will stay more or less the same. But. The execution of the fastled.show will be faster

@Yves_BAZIN thanks alot .