These are chat archives for Makuna/NeoPixelBus

15th
Dec 2018
Debashish Sahu
@debsahu
Dec 15 2018 15:13
I'm updating the DMA directly. Anyone know how to change the RGB byte order in a uint8_t array without loops? TIA.
Michael Miller
@Makuna
Dec 15 2018 19:31
I don't understand your question. Why would you directly modify the pixel buffer of the NeoPixelBus? There are many features exposed that abstract the need and provide for all sorts of support.
Michael Miller
@Makuna
Dec 15 2018 20:48
@debsahu Do you mean you are updating the DMA send buffer or the you are using the Esp8266 DMA method and updating the pixels buffer?
Debashish Sahu
@debsahu
Dec 15 2018 21:10
NeoEsp8266Dma800KbpsMethod
Using the Show() method for every UDP packet reduces fps by half.
Michael Miller
@Makuna
Dec 15 2018 21:42
@debsahu Is the data that comes in a specific format? RGB?
Instead of managing the buffer that pixel points at, you can use the NeoDib class to manage it. Then when you call Render it will translate into the NeoPixelBus buffer.
If your model has the data that comes in that matches the LEDs byte order, then you can directly write into the strip.Pixels() buffer without the need of the intermediate buffer (on esp8266 and esp32). The NeoBuffer can act as a memory buffer but it must match the NeoPixelBus, and exposes a Blt routine.
Michael Miller
@Makuna
Dec 15 2018 21:47
DIB = Device Independant Buffer (RGB or RGBW order)
Buffer = Device Dependant Buffer (same as NeoPixelBus)
There are examples/samples available for using each of these.
Debashish Sahu
@debsahu
Dec 15 2018 22:16
@Makuna Thank you, every time I'm amazed at your depth of knowledge. Great advice. I'll bother you again when I face the next roadblock.
The default pixel order is RGB