I finally got a chance to play with v2 of the library.  First go

WS2801Controller<11, 13, 10, 16> LED1;
WS2801Controller<7, 9, 6, 16> LED2;
WS2801Controller<5, 8, 4, 16> LED3;
WS2801Controller<A5, 3, 2, 16> LED4;

And the strings are all 32 pixels long.

Hmm - ok, I wonder if the analog pin mappings are off (for performance reasons I do the pin to port mapping at compile time). - exactly which arduino platform are you on? (UNO, Leonardo, mega, etc…)

UNO for testing. Eventually it’ll be a bare 328P with a Pro Mini bootloader on it. The pin mappings are the same between them.

As far as I know the bootloader for the Uno and Pro Mini map the pins the same way: PC5 = A5 … down to PC0 = A0.

Incidentally, I can’t run the hardware SPI at a rate lower than 16 … with 32 pixels.

I don’t have the code in front of me at the moment, but that’s a clock rate of 1Mhz I believe.

Try grounding clock and data at the far end of the strip?

Ok - found/fixed the analog port mapping issues - both with the analog pins as well as the use of the same port. Next preview release should have them both fixed.

Too late. grin I sent out two strips yesterday (to be used tomorrow night) using the old library because when I first designed the controller that went with them, I was using output pins on the same port. :slight_smile:

They. Work. Fine. :slight_smile: I look forward to testing the next release though.