What a difference!  Left side was two days ago,

What a difference! Left side was two days ago, processing colors into 64 levels. Right side is what I’ve accomplished overnight. Now I need to speed it up because It.Is.Slow.As.Molasses … reading from the SDcard that is. But, that’s also because I’m calling .read() three times for each set of rgb. I’m still trying to figure out how to make that a single call. I think that will start the speed up process.

Looking great there, and thanks for sharing the work-in-progress improvement shots. Cool stuff.

If reading is just absolutely the bottleneck (eg actually reading bytes is too slow), you may have to consider storing the data in a simple (possibly home-made?) compressed format. You’d have fewer bytes to wait for from the SD card, and the CPU could use it’s spare cycles decompressing the next column of data.

Googling for things like ‘decompressor for embedded systems’ turns up potentially useful links like http://stackoverflow.com/questions/3767640/compact-decompression-library-for-embedded-use

Yeah, it’s definitely been an adventure. Incidentally, is there a way to inject all the data needed straight into the full array, as opposed to doing it one pixel at a time? So, I build the array, struct CRGB leds[NUM_LEDS]; as I always do. But then, I’m always addressing each pixel individually in a for() loop"

for (int px = 0; px < NUM_LEDS; px++) {

leds[px] = CRGB(r, g, b);
}
LEDS.show();

I’m just curious if there’s a way to shove things straight into the array and not bother with the for() loop.

This is simply a curiosity of mine … I’m not hunting for speedups from this library, it’s plenty fast as is, thankyouverymuch.

Yep. There are a few faster ways, but the essential piece of information is that a CRGB is nothing more than one byte for red, one byte for green, and one byte for blue. You are welcome and invited to write directly into the leds array!

I’ve updated the “How To Set a Pixel’s Color” wiki page with one-line examples of how to read directly into your CRGB array. http://code.google.com/p/fastspi/wiki/SetLEDColor

Can you describe your project setup? Is this a large LED matrix, POV, or light painting?

POV. Single string with 48 pixels. I’m moving the camera. The end product will be a more compact LED string, stuffed into a polycarbonate tube with a short leash and spun around.

Is that just about going from 64 to 256 levels for each color?

That test was two things at once:
a) going from 64 to 256 levels, and
b) reading from SD (albeit slow)