Updated Library Comparisons (markdown)

Michael Miller
2023-02-02 18:35:38 -08:00
parent 483e13ddd5
commit 0060c90e79

@@ -9,7 +9,7 @@ On ESP8266, your primary choices are:
* Can use UART both in a synchronous and asynchronous model, but asynchronous limits the use of other UART libraries.
* Low level API with other features exposed by external classes.
* Pins available for use varies by platform due to hardware limitations.
* ESP32 support for using both RMT and i2s. RMT timing currently is sensitive to high interrupt frequency due to issues in the Core.
* ESP32 parallel support for using both RMT and I2S.
* FastLED
* Very rich API, although at a cost of large code and memory size
* Interrupt driven on ESP8266, so it's sensitive to timing.
@@ -17,5 +17,4 @@ On ESP8266, your primary choices are:
* Adafruit::NeoPixel
* Basic bit bang and interrupt driven library which does not support any other interrupt driven code to work. Not recommended.
On ESP32, both FastLED and NeoPixelBus can provide more than one channel/bus. FastLED primarily uses RMT to support 8 parallel channels. NeoPixelBus now supports the RMTs 8 channels and two more channels using i2s. Parallel channels provides for better refresh rate on longer strings (useful past 256 pixels). But do note that the latest cores have issues with high interrupt frequency causing timing issues.
Further, if you have 4096 pixels or more, you can use the 16 way output driver from Yves as described [on this page](http://marc.merlins.org/perso/arduino/post_2018-07-30_Building-a-64x64-Neopixel-Neomatrix-_4096-pixels_-running-NeoMatrix-FastLED-IR.html#esp32driver)
On ESP32, both FastLED and NeoPixelBus can provide more than one channel/bus. FastLED primarily uses RMT to support 8 parallel channels. NeoPixelBus now supports the RMT 8 channels and I2S 8/16 channels in parallel. Parallel channels provide for better refresh rate on longer strings (useful past 256 pixels). But do note that the latest cores have issues with high interrupt frequency when using RMT causing timing issues. So, stick to the 8/16 I2S parallel methods.