Optimised fork of bikeNomad's WS2811 LED control library. Supports KL25Z and KL46Z
Fork of Multi_WS2811 by
Optimised to use far less RAM than the original.
Capable of running up to 8 strings of 240 LEDs each with plenty of RAM to spare on the KL46Z.
Should run at least three strings of 240 LEDs on the KL25Z (RAM limited)
Revision 6:3b5b8a367f40, committed 2014-04-02
- Comitter:
- Tomo2k
- Date:
- Wed Apr 02 12:16:42 2014 +0000
- Parent:
- 5:7e40afd8d533
- Child:
- 7:58623ad7f310
- Commit message:
- Updated documentation to include RAM usage
Changed in this revision
WS2811.cpp | Show annotated file Show diff for this revision Revisions of this file |
WS2811.h | Show annotated file Show diff for this revision Revisions of this file |
--- a/WS2811.cpp Wed Apr 02 11:57:56 2014 +0000 +++ b/WS2811.cpp Wed Apr 02 12:16:42 2014 +0000 @@ -1,18 +1,5 @@ -// 800 KHz WS2811 driver driving potentially many LED strings. +// 800 KHz WS2811 driver driving up to eight LED strips. // Uses 3-phase DMA -// 16K SRAM less stack, etc. -// -// Per LED: 3 bytes (malloc'd) for RGB data -// -// Per LED strip / per LED -// 96 bytes (static) for bit data -// + 96 bytes (static) for ones data -// = 192 bytes -// -// 40 LEDs max per string = 7680 bytes static -// -// 40 LEDs: 7680 + 40*3 = 7800 bytes -// 80 LEDs: 7680 + 80*3 = 7920 bytes #if defined(TARGET_KL25Z) #include "MKL25Z4.h"
--- a/WS2811.h Wed Apr 02 11:57:56 2014 +0000 +++ b/WS2811.h Wed Apr 02 12:16:42 2014 +0000 @@ -33,6 +33,22 @@ * WS2811/WS2812/WS2812B * LED Strip controller\n * For FRDM-KL25Z and FRDM-KL46Z + + RAM usage:\n + Per individual LED: 3 bytes (malloc'd) for RGB data + + Strip length per LED:\n + 24 bytes (static) for bit data\n + + 24 bytes (static) for ones data\n + = 48 bytes + + 240 LEDs max per string = 11,520 bytes static + + One string:\n + 240 LEDs : 11520 + 240*3 = 12,240 bytes + + Eight strings:\n + 240*8 LEDs: 11520 + (240*3) * 8 = 17,280 bytes */ class WS2811 : public LedStrip {