 ////////////////////////////////////////////////////////////
 void mergeRGBtoRGBW(uint8_t* rgb, uint8_t* rgbw, int n) {
   for (int i=0; i<n; i++) {
-    rgbw[1] = rgb[0];
-    rgbw[0] = rgb[1];
-    rgbw[2] = rgb[2];
+    rgbw[1] = rgb[2];
+    rgbw[0] = rgb[0];
+    rgbw[2] = rgb[1];
     rgb += 3;
     rgbw += 4;
   }


          // IpProg packet
          case OpIpProg:
            udp.read(buffer, min(udp.available(), (int)sizeof(buffer)));
            node.createIpProgReply();
            artnetSend(buffer, sizeof(ArtIpProgReply));
            break;

          // Unhandled packet
          default:
            udp.read(buffer, min(udp.available(), (int)sizeof(buffer)));
        }
      }
    }

////////////////////////////////////////////////////////////
void setup() {

#ifdef PIN_RESET
  pinMode(PIN_RESET, OUTPUT);
  digitalWrite(PIN_RESET, LOW);
