mirror of
https://github.com/Makuna/NeoPixelBus.git
synced 2025-08-10 06:14:26 +02:00
Updated FAQ #7 (markdown)
10
FAQ-#7.md
10
FAQ-#7.md
@@ -1,18 +1,18 @@
|
|||||||
### How many pixels does this library support?
|
### How many pixels does this library support?
|
||||||
The primary limiting factor to the number of pixels you can drive with this library is the memory you have on your Arduino. This library requires a working buffer that contains state for every pixel on the bus.
|
The primary limiting factor to the number of pixels you can drive with this library is the memory you have on your Arduino. This library requires a working buffer that contains state for every pixel on the bus.
|
||||||
The next limiting factor is how fast you want to update them, as more pixels takes longer to update. This topic is covered in [FAQ: How fast can I update my NeoPixels](https://github.com/Makuna/NeoPixelBus/wiki/FAQ-%235)
|
The next limiting factor is how fast you want to update them, as more pixels takes longer to update. The topic on speed is covered in [FAQ: How fast can I update my NeoPixels](https://github.com/Makuna/NeoPixelBus/wiki/FAQ-%235)
|
||||||
|
|
||||||
The amount of memory required does vary on several factors.
|
The amount of memory required does vary based on several factors.
|
||||||
|
|
||||||
The first factor is what type of pixel do you have? If your pixels are three element pixels, RGB; then they require 3 bytes of data per pixel. If your pixels are four element pixels, RGBW; then they require 4 bytes of data per pixel.
|
The first factor is what type of pixel you have. If your pixels are three element pixels, RGB; then they require 3 bytes of data per pixel. If your pixels are four element pixels, RGBW; then they require 4 bytes of data per pixel.
|
||||||
```
|
```
|
||||||
RGB buffer size in bytes = number of pixels * 3
|
RGB buffer size in bytes = number of pixels * 3
|
||||||
RGBW buffer size in bytes = number of pixels * 4
|
RGBW buffer size in bytes = number of pixels * 4
|
||||||
```
|
```
|
||||||
|
|
||||||
The second factor is what "method" is used to send the data. For most AVR platforms the method used is similar and requires only a few extra bytes beyond what was listed above to manage the buffer. But there is once current exception today.
|
The second factor is what "method" is used to send the data. For most AVR platforms the method used is similar and requires only a few extra bytes beyond what was listed above to manage the buffer. But there is one current exception today.
|
||||||
|
|
||||||
The NeoEsp8266Dma800KbpsMethod, the default method for Esp8266, is that exception. You can find more information on this method on the [NeoPixelBus object page](https://github.com/Makuna/NeoPixelBus/wiki/NeoPixelBus-object). This "method" not only requires the above buffer, but it also requires a DMA buffer for the hardware to use. This DMA buffer requires four bytes per byte used from the primary buffer.
|
The NeoEsp8266Dma800KbpsMethod. This is the default method for Esp8266. You can find more information on this method in the [NeoPixelBus object page](https://github.com/Makuna/NeoPixelBus/wiki/NeoPixelBus-object). This "method" not only requires the above buffer, but it also requires a DMA buffer for the hardware to use. This DMA buffer requires four bytes per byte used from the primary buffer.
|
||||||
```
|
```
|
||||||
DMA RGB buffer size in bytes = number of pixels * 3 * 4
|
DMA RGB buffer size in bytes = number of pixels * 3 * 4
|
||||||
DMA RGBW buffer size in bytes = number of pixels * 4 * 4
|
DMA RGBW buffer size in bytes = number of pixels * 4 * 4
|
||||||
|
Reference in New Issue
Block a user