Updated ESP32 NeoMethods (markdown)

Michael Miller
2021-07-07 09:24:18 -07:00
parent 60d49c042b
commit 390270890e

@@ -9,6 +9,7 @@ The bitbang method has further restrictions in that it will only support pins be
NeoEsp32I2s1800KbpsMethod supports any available pin below 34.
This method uses i2s hardware support to send data to the NeoPixels. Thus this method uses very little CPU for actually sending the data to NeoPixels but it requires an extra buffer for the I2s DMA to read from. Thus there is a trade off of CPU use versus memory use. The extra buffer needed is four times the size of the primary pixel buffer.
**NOTE:** The ESP32S2 and ESP32C3 only support one i2s hardware bus. Thus you can only use the NeoEsp32I2s0*Method types.
**NOTE:** The esp32 supports two i2s hardware buses. The first one is left open for other uses. If for some reason you need to use the first one, then use NeoEsp32I2s0800KbpsMethod instead.
## NeoEsp32I2s1400KbpsMethod
@@ -20,6 +21,9 @@ Same as NeoEsp32I2s1800KbpsMethod but has the longer delay required by these LED
## NeoEsp32Rmt# Methods
The NeoEsp32Rmt0800KbpsMethod is an example, the number following the Rmt is 0-7 providing 8 channels of the RMT hardware. All the variants for different leds (Ws2812x, Ws12813, etc) are supported.
**NOTE:** The ESP32S2 only supports 4 channels of RMT hardware, so only channels 0-3 are available.
**NOTE:** The ESP32C3 only supports 2 channels of RMT hardware, so only channels 0 and 1 are available.
NeoEsp32Rmt# Methods supports any available pin below 34.
These methods uses RMT hardware support to send data to the NeoPixels. Thus this method uses very little CPU for actually sending the data to NeoPixels but it requires an extra buffer for hardware to read from. This extra buffer is the same size as the primary buffer. Due to the use of a ISR to translate and fill the RMT hardware output buffer, there are many interrupts fired to keep that small output buffer filled. Some have found this to be an issue when other features of their sketch also trigger a high volume of interrupts.