OctoWS2811 – Only 3 out of 4 LED panels light up (channel 3 issue)

cosa

New member
Hi,

I'm using a Teensy4.1 with OctoWS2811 and 4 LED panels (256 LEDs per strip). Only 3 panels light up — the fourth one (connected to bleu and white_bleu) stays off.
This is my script :
Code:
#include <OctoWS2811.h>
const int ledsPerStrip = 256; 
DMAMEM int displayMemory[ledsPerStrip * 6]; 
int drawingMemory[ledsPerStrip * 6];
const int config = WS2811_GRB | WS2811_800kHz;
OctoWS2811 leds(ledsPerStrip, displayMemory, drawingMemory, config);

void setup() {
  leds.begin();
  leds.show();
}
void loop() {
  for (int strip = 0; strip < 4; strip++) {
    for (int i = 0; i < ledsPerStrip; i++) {
      leds.setPixel(i + strip * ledsPerStrip, leds.color(255, 255, 255));
    }
  }
  leds.show();
}
I tested:
  • Different Teensy boards and OctoWS2811 adapters
  • Swapped LED panels (they all work on other channels)
  • Different Ethernet cables (all 8 wires have continuity, including blue & white/blue)

Interestingly, when I plug a second Ethernet cable connected to channel 0 (orange pair), and modify the script to light 5 strips, then all 4 panels light up — suggesting that data can still be sent through a second path.

Code:
#include <OctoWS2811.h>
const int ledsPerStrip = 256; 
DMAMEM int displayMemory[ledsPerStrip * 6]; 
int drawingMemory[ledsPerStrip * 6];
const int config = WS2811_GRB | WS2811_800kHz;
OctoWS2811 leds(ledsPerStrip, displayMemory, drawingMemory, config);

void setup() {
  leds.begin();
  leds.show();
}
void loop() {
  for (int strip = 0; strip < 5; strip++) {
    for (int i = 0; i < ledsPerStrip; i++) {
      leds.setPixel(i + strip * ledsPerStrip, leds.color(255, 255, 255));
    }
  }
  leds.show();
}

I don't know If anyone has an idea why the blue and blue-white wires of the Ethernet cable aren't working?
Thanks!
Lc
 
Interestingly, when I plug a second Ethernet cable connected to channel 0 (orange pair), and modify the script to light 5 strips, then all 4 panels light up — suggesting that data can still be sent through a second path.
What exactly is the configuration there? The strip which lights up now, where is it connected to?? To the second ethernet port??

Try to send data to all LEDs and check all 8 outputs.

It is possible to use any pin now and to define pins. Maybe there is something strange going on now with the pin order?

BTW for better overview it makes sense to define the memory with
Code:
const int bytesPerLED = 3;  // change to 4 if using RGBW
DMAMEM int displayMemory[ledsPerStrip * numPins * bytesPerLED / 4];
int drawingMemory[ledsPerStrip * numPins * bytesPerLED / 4];
with numPins = numStrips
 
Back
Top