ESP32-Digital-RGB-LED-Drivers icon indicating copy to clipboard operation
ESP32-Digital-RGB-LED-Drivers copied to clipboard

What is the benefit over FastLed lib ?

Open DeeJayMX opened this issue 4 years ago • 6 comments

Everything is in the title,

Your library looks promizing but I just wanted to know what is the benefit to use RMT over the FastLed style library which more Software controled by the CPU itself.

Thanks for your great job 😊

DeeJayMX avatar May 28 '20 14:05 DeeJayMX

imho fastLED is now also using RMT.

veitk avatar May 28 '20 15:05 veitk

Look closer still and you'll see that the RMT code in FastLED is a fork of mine.

I took the proof of concept and expanded it into the driver I have here, and it helped FastLED get the same capability. One thing mine does easily that FastLED doesn't do easily (yet) is RGBW.

I also contribute to FastLED and hope to see that functionality there someday, at which point mine will be redundant. But that might be a while as it'll mean a pretty big overhaul of FastLED to do RGBW directly.

MartyMacGyver avatar May 28 '20 17:05 MartyMacGyver

Oh, and RMT is faster and much more efficient than bit-banging for non-SPI devices like the WS2812. It's unique to the ESP32 as far as I know. Otherwise, efficiency for other non-ESP devices can be found by driving in parallel and/or having a high clock rate. Or offloading the work to a dedicated coprocessor.

MartyMacGyver avatar May 28 '20 17:05 MartyMacGyver

Thanks for that clarifying answer, You should put theses messages on the readme.md.

Thanks

DeeJayMX avatar May 29 '20 06:05 DeeJayMX

is it memory costly for RMT?

Look closer still and you'll see that the RMT code in FastLED is a fork of mine.

I took the proof of concept and expanded it into the driver I have here, and it helped FastLED get the same capability. One thing mine does easily that FastLED doesn't do easily (yet) is RGBW.

I also contribute to FastLED and hope to see that functionality there someday, at which point mine will be redundant. But that might be a while as it'll mean a pretty big overhaul of FastLED to do RGBW directly.

NirViaje avatar Nov 25 '20 03:11 NirViaje

is it memory costly for RMT?

The RMT only has so much buffer room, which means more interrupt overhead to keep it fed. And it's pretty much unique to the ESP32 - if you want to do things with other chipsets it's usually some kind of GPIO or I2S bit-banging magic.

I've often thought it'd be nice to have some sort of SPI or I2C device (probably FPGA to start with) that can act as a basic protocol translator to WS2812 or similar devices - then instead of playing games figuring out timing you just set some registers and pipe your data in, and it deals with clocking that data out. There would be some small latency but the benefit would be compatibility with virtually any microcontroller.

Too many projects, too little time...

MartyMacGyver avatar Nov 25 '20 09:11 MartyMacGyver