diff --git a/wled00/bus_manager.h b/wled00/bus_manager.h
index a5c88daf8..b3dc29d0b 100644
--- a/wled00/bus_manager.h
+++ b/wled00/bus_manager.h
@@ -170,6 +170,7 @@ class Bus {
static bool isRgbw(uint8_t type) {
if (type == TYPE_SK6812_RGBW || type == TYPE_TM1814) return true;
if (type > TYPE_ONOFF && type <= TYPE_ANALOG_5CH && type != TYPE_ANALOG_3CH) return true;
+ if (type == TYPE_NET_DDP_RGBW) return true;
return false;
}
virtual bool hasRGB() {
@@ -178,7 +179,7 @@ class Bus {
}
virtual bool hasWhite() {
if (_type == TYPE_SK6812_RGBW || _type == TYPE_TM1814 || _type == TYPE_WS2812_1CH || _type == TYPE_WS2812_WWA ||
- _type == TYPE_ANALOG_1CH || _type == TYPE_ANALOG_2CH || _type == TYPE_ANALOG_4CH || _type == TYPE_ANALOG_5CH) return true;
+ _type == TYPE_ANALOG_1CH || _type == TYPE_ANALOG_2CH || _type == TYPE_ANALOG_4CH || _type == TYPE_ANALOG_5CH || _type == TYPE_NET_DDP_RGBW) return true;
return false;
}
static void setCCT(uint16_t cct) {
@@ -573,9 +574,9 @@ class BusNetwork : public Bus {
// _rgbw = false;
// _UDPtype = 0;
// break;
-// default:
- _rgbw = false;
- _UDPtype = bc.type - TYPE_NET_DDP_RGB;
+// default: // TYPE_NET_DDP_RGB / TYPE_NET_DDP_RGBW
+ _rgbw = bc.type == TYPE_NET_DDP_RGBW;
+ _UDPtype = 0;
// break;
// }
_UDPchannels = _rgbw ? 4 : 3;
diff --git a/wled00/const.h b/wled00/const.h
index c1676bc4c..322c32b99 100644
--- a/wled00/const.h
+++ b/wled00/const.h
@@ -172,8 +172,9 @@
#define TYPE_LPD6803 54
//Network types (master broadcast) (80-95)
#define TYPE_NET_DDP_RGB 80 //network DDP RGB bus (master broadcast bus)
-#define TYPE_NET_E131_RGB 81 //network E131 RGB bus (master broadcast bus)
-#define TYPE_NET_ARTNET_RGB 82 //network ArtNet RGB bus (master broadcast bus)
+#define TYPE_NET_E131_RGB 81 //network E131 RGB bus (master broadcast bus, unused)
+#define TYPE_NET_ARTNET_RGB 82 //network ArtNet RGB bus (master broadcast bus, unused)
+#define TYPE_NET_DDP_RGBW 88 //network DDP RGBW bus (master broadcast bus)
#define IS_DIGITAL(t) ((t) & 0x10) //digital are 16-31 and 48-63
#define IS_PWM(t) ((t) > 40 && (t) < 46)
diff --git a/wled00/data/settings_leds.htm b/wled00/data/settings_leds.htm
index 3a6c3901a..a7afd9890 100644
--- a/wled00/data/settings_leds.htm
+++ b/wled00/data/settings_leds.htm
@@ -177,7 +177,7 @@
if (t > 31 && t < 48) d.getElementsByName("LC"+n)[0].value = 1; // for sanity change analog count just to 1 LED
}
gId("rf"+n).onclick = (t == 31) ? (()=>{return false}) : (()=>{}); // prevent change for TM1814
- isRGBW |= (t == 30 || t == 31 || (t > 40 && t < 46 && t != 43)); // RGBW checkbox, TYPE_xxxx values from const.h
+ isRGBW = (t == 30 || t == 31 || (t > 40 && t < 46 && t != 43) || t == 88); // RGBW checkbox, TYPE_xxxx values from const.h
gId("co"+n).style.display = ((t >= 80 && t < 96) || (t >= 40 && t < 48)) ? "none":"inline"; // hide color order for PWM
gId("dig"+n+"w").style.display = (t == 30 || t == 31) ? "inline":"none"; // show swap channels dropdown
if (!(t == 30 || t == 31)) d.getElementsByName("WO"+n)[0].value = 0; // reset swapping
@@ -332,6 +332,7 @@ ${i+1}:
+
Color Order: