Octows2811 with matrix panel

Status
Not open for further replies.

overthrow

Member
I have an Octows2811 and an 8x32 ws2812b panel. The panels as far as I can tell are setup like a single row with an S pattern. I didn't see any threads on how to use it with the library or anything in the Octows2811 documentation? Has anyone tried this?
 
The panel I have is setup to start Left and go Right on the first row which is 8 wide, so 8 columns, 32 rows. In the Plasma Animation example in Octows2811 library I have this definition at the top:

Code:
#define COLS_LEDs 8 // all of the following params need to be adjusted for screen size
#define ROWS_LEDs 32  // LED_LAYOUT assumed 0 if ROWS_LEDs > 8
#define LEDS_PER_STRIP (COLS_LEDs * (ROWS_LEDs / 8))

This results in the first 4 rows being lit, so 32 pixels total.

If I change to COLS_LEDs 32 and ROWS_LEDs 8 I get the same exact result.

I'll take a look at Fastled.io, does it use DMA like Octo library? Does it work as quickly?
 
Notice the LEDs per strip is divided by 8, so those numbers are assuming you are feeding 8 strands, not a single strand with the other 7 inactive. I think you need tell it you have 8*8 columns as if you had 8 of these stacked up.

FastLED can do DMA but believe it also wants to feed 8 strands because it assumes you are wanting to maximise throughput.

Your speed question is tricky, since OctoWS2811 pixels take a fixed amount of time to update per pixel regardless of the software. The magic of the OctoWS library is that the code does not block while feeding the strand, and you can feed 8 pixels at a time if your pixels array allows. So your refresh rate is can be as high as 1/8 the time to refresh your total pixels with the next frame being prepped while the last frame is read out.

I think you are looking at 10ms refresh for the strand length, so you even with blocking code from another less clever library you could still get a reasonable refresh.
 
I tried the FastLed library which I noticed includes the OctoWS library in an example. I managed to get that to work on all 256 pixels. Thanks for the help!
 
Status
Not open for further replies.
Back
Top