TLIGHT_PRODUCTS / WS281X
Revision:
20:28fe0d0d081b
Parent:
16:01e073c662d7
Child:
21:77275089d837
--- a/WS281X.h	Tue Aug 23 20:26:29 2016 +0000
+++ b/WS281X.h	Thu Aug 25 14:54:20 2016 +0000
@@ -51,17 +51,19 @@
     *
     *   @param wirePin - The output pin on wich the addressable leds are connected
     *   @param pinMode - The output pin mode PullUp, PullDown, PullNone, OpenDrain
-    *   @param numPixels - Number of the addressable leds
+    *   @param maxPixels - Number of the addressable leds
     *   @param RGBOrder - The order in wich the r, g and b bytes are expected
     */
-    WS281X(PinName wirePin, PinMode pinMode = PullNone, int numPixels = MAX_PIXELS, RGBOrder rgbOrder = WS281X::RGB);
-    WS281X(PinName wirePin, PinMode pinMode = PullNone, RGBColor *Buffer = 0, int numPixels = 0, RGBOrder rgbOrder = WS281X::RGB);
+    WS281X(PinName wirePin, PinMode pinMode = PullNone, int maxPixels = MAX_PIXELS, RGBOrder rgbOrder = WS281X::RGB);
+    WS281X(PinName wirePin, PinMode pinMode = PullNone, RGBColor *Buffer = 0, int maxPixels = 0, RGBOrder rgbOrder = WS281X::RGB);
     ~WS281X();
 
     RGBOrder getRGBOrder() { return _rgbOrder; }
     void setRGBOrder(RGBOrder rgbOrder = WS281X::RGB);
 
-    void setPixelBuffer(RGBColor *Buffer, int numPixels);
+    void setPixelBuffer(RGBColor *Buffer, int maxPixels);
+    int getMaxPixels() { return _maxPixels; }
+    void setNumPixels(int numPixels);
     int getNumPixels() { return _numPixels; }
 
     void setColor(int index, RGBColor *color, int len);
@@ -96,6 +98,7 @@
     int _1st, _2nd, _3rd;
 
     bool _buf_owner;
+    uint16_t _maxPixels;
     uint16_t _numPixels;
     RGBColor *_pixels;
     RGBColor _dummyPixel;