TLIGHT_PRODUCTS / WS281X
Revision:
29:a362df191524
Parent:
28:b452e097da53
Child:
32:64c391617f6c
--- a/WS281X.cpp	Wed Sep 07 21:07:17 2016 +0000
+++ b/WS281X.cpp	Wed Sep 07 22:21:27 2016 +0000
@@ -155,16 +155,22 @@
 
 WS281X::RGBOrder WS281X::rgbOrder(WS281X::RGBOrder order)
 {
-    switch(order)
+    if (order != READ_ORDER)
     {
-        case RGB: _1st = 0; _2nd = 1; _3rd = 2; _rgbOrder = RGB; break;
-        case RBG: _1st = 0; _2nd = 2; _3rd = 1; _rgbOrder = RGB; break;
-        case GRB: _1st = 1; _2nd = 0; _3rd = 2; _rgbOrder = GRB; break;
-        case GBR: _1st = 2; _2nd = 0; _3rd = 1; _rgbOrder = GBR; break;
-        case BRG: _1st = 1; _2nd = 2; _3rd = 0; _rgbOrder = BRG; break;
-        case BGR: _1st = 2; _2nd = 1; _3rd = 0; _rgbOrder = BGR; break;
-        default:
-            break;
+        _rgbOrder = order;
+        switch(order)
+        {
+            case RGB: _1st = 0; _2nd = 1; _3rd = 2; break;  // WS2811
+            case RBG: _1st = 0; _2nd = 2; _3rd = 1; break;
+            case GRB: _1st = 1; _2nd = 0; _3rd = 2; break;  // WS2812
+            case GBR: _1st = 2; _2nd = 0; _3rd = 1; break;
+            case BRG: _1st = 1; _2nd = 2; _3rd = 0; break;
+            case BGR: _1st = 2; _2nd = 1; _3rd = 0; break;
+            default:
+                _1st = 0; _2nd = 1; _3rd = 2;
+                _rgbOrder = GRB;    // WS2812
+                break;
+        }
     }
     return _rgbOrder;
 }