mirror of
https://github.com/Makuna/NeoPixelBus.git
synced 2025-08-07 12:54:26 +02:00
Updated ESP32 NeoMethods (markdown)
@@ -1,7 +1,7 @@
|
||||
## NeoEsp32I2s1800KbpsMethod
|
||||
The NeoEsp32I2s1800KbpsMethod is the underlying method that gets used if you use Neo800KbpsMethod on Esp32 platforms. There should be no need to use it directly.
|
||||
**NOTE:** The Esp32 has some pins dedicated for input only. The following methods are restricted to use only output pins. But the bitbang method has further restrictions in that it will only support pins below 32.
|
||||
|
||||
NeoEsp32I2s1800KbpsMethod supports any available pin below 32.
|
||||
## NeoEsp32I2s1800KbpsMethod
|
||||
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 eps32 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.
|
||||
@@ -9,21 +9,17 @@ This method uses i2s hardware support to send data to the NeoPixels. Thus this
|
||||
## NeoEsp32I2s1400KbpsMethod
|
||||
Same as NeoEsp32I2s1800KbpsMethod but running at the older and slower data rate.
|
||||
|
||||
The NeoEsp32I2s1400KbpsMethod is the underlying method that gets used if you use Neo400KbpsMethod on Esp32 platforms. There should be no need to use it directly.
|
||||
|
||||
## NeoEsp32I2s1Ws2813Method
|
||||
Same as NeoEsp32I2s1800KbpsMethod but has the longer delay required by these LEDs.
|
||||
|
||||
The NeoEsp32I2s1Ws2813Method is the underlying method that gets used if you use NeoWs2813Method on Esp32 platforms. There should be no need to use it directly.
|
||||
|
||||
## 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.
|
||||
|
||||
NeoEsp32Rmt# Methods supports any available pin below 32.
|
||||
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.
|
||||
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.
|
||||
|
||||
## NeoEsp32BitBang800KbpsMethod
|
||||
NeoEsp32BitBang800KbpsMethod supports any available pin below 32.
|
||||
NeoEsp32BitBang800KbpsMethod supports any available pin below 32. Even though 33 and 34 are also output pins, they are not supported.
|
||||
|
||||
This method uses only the CPU to send data to the NeoPixels. But due to core interrupts it is not stable when used with more than a few pixels.
|
||||
|
||||
|
Reference in New Issue
Block a user