diff --git a/CHANGELOG.md b/CHANGELOG.md
index 128d5525c..dadc3c20a 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,6 +1,13 @@
## WLED changelog
-### Development versions after 0.9.1 release
+### WLED version 0.10.0
+
+#### Build 2005030
+
+- DMX Single RGW and Single DRGB modes now support an additional white channel
+- Improved palettes derived from set colors and changed their names
+
+### Development versions between 0.9.1 and 0.10.0 release
#### Build 2005020
diff --git a/platformio.ini b/platformio.ini
index 2075a7db9..492799df2 100644
--- a/platformio.ini
+++ b/platformio.ini
@@ -183,7 +183,7 @@ build_flags = ${common.build_flags_esp8266} -D WLED_DISABLE_OTA -D WLED_DISABLE_
board = esp01_1m
platform = ${common.platform_latest}
board_build.ldscript = ${common.ldscript_1m0m}
-build_flags = ${common.build_flags_esp8266} -D WLED_DISABLE_ALEXA -D WLED_DISABLE_BLYNK -D WLED_DISABLE_HUESYNC -D WLED_DISABLE_INFRARED
+build_flags = ${common.build_flags_esp8266} -D WLED_DISABLE_ALEXA -D WLED_DISABLE_BLYNK -D WLED_DISABLE_CRONIXIE -D WLED_DISABLE_HUESYNC -D WLED_DISABLE_INFRARED
[env:esp01_1m_full]
board = esp01_1m
diff --git a/wled00/FX.h b/wled00/FX.h
index 7022fede4..c690a4e50 100644
--- a/wled00/FX.h
+++ b/wled00/FX.h
@@ -672,7 +672,7 @@ const char JSON_mode_names[] PROGMEM = R"=====([
const char JSON_palette_names[] PROGMEM = R"=====([
-"Default","Random Cycle","Primary Color","Based on Primary","Set Colors","Based on Set","Party","Cloud","Lava","Ocean",
+"Default","* Random Cycle","* Color 1","* Colors 1&2","* Color Gradient","* Colors Only","Party","Cloud","Lava","Ocean",
"Forest","Rainbow","Rainbow Bands","Sunset","Rivendell","Breeze","Red & Blue","Yellowout","Analogous","Splash",
"Pastel","Sunset 2","Beech","Vintage","Departure","Landscape","Beach","Sherbet","Hult","Hult 64",
"Drywet","Jul","Grintage","Rewhi","Tertiary","Fire","Icefire","Cyane","Light Pink","Autumn",
diff --git a/wled00/FX_fcn.cpp b/wled00/FX_fcn.cpp
index e25ffb0ca..25e460e2a 100644
--- a/wled00/FX_fcn.cpp
+++ b/wled00/FX_fcn.cpp
@@ -743,25 +743,25 @@ void WS2812FX::handle_palette(void)
case 2: {//primary color only
CRGB prim = col_to_crgb(SEGCOLOR(0));
targetPalette = CRGBPalette16(prim); break;}
- case 3: {//based on primary
- //considering performance implications
- CRGB prim = col_to_crgb(SEGCOLOR(0));
- CHSV prim_hsv = rgb2hsv_approximate(prim);
- targetPalette = CRGBPalette16(
- CHSV(prim_hsv.h, prim_hsv.s, prim_hsv.v), //color itself
- CHSV(prim_hsv.h, MAX(prim_hsv.s - 50,0), prim_hsv.v), //less saturated
- CHSV(prim_hsv.h, prim_hsv.s, MAX(prim_hsv.v - 50,0)), //darker
- CHSV(prim_hsv.h, prim_hsv.s, prim_hsv.v)); //color itself
- break;}
- case 4: {//primary + secondary
+ case 3: {//primary + secondary
CRGB prim = col_to_crgb(SEGCOLOR(0));
CRGB sec = col_to_crgb(SEGCOLOR(1));
- targetPalette = CRGBPalette16(sec,prim); break;}
- case 5: {//based on primary + secondary
+ targetPalette = CRGBPalette16(prim,prim,sec,sec); break;}
+ case 4: {//primary + secondary + tertiary
CRGB prim = col_to_crgb(SEGCOLOR(0));
CRGB sec = col_to_crgb(SEGCOLOR(1));
CRGB ter = col_to_crgb(SEGCOLOR(2));
targetPalette = CRGBPalette16(ter,sec,prim); break;}
+ case 5: {//primary + secondary (+tert if not off), more distinct
+ CRGB prim = col_to_crgb(SEGCOLOR(0));
+ CRGB sec = col_to_crgb(SEGCOLOR(1));
+ if (SEGCOLOR(2)) {
+ CRGB ter = col_to_crgb(SEGCOLOR(2));
+ targetPalette = CRGBPalette16(prim,prim,prim,prim,prim,sec,sec,sec,sec,sec,ter,ter,ter,ter,ter,prim);
+ } else {
+ targetPalette = CRGBPalette16(prim,prim,prim,prim,prim,prim,prim,prim,sec,sec,sec,sec,sec,sec,sec,sec);
+ }
+ break;}
case 6: //Party colors
targetPalette = PartyColors_p; break;
case 7: //Cloud colors
diff --git a/wled00/data/index.htm b/wled00/data/index.htm
index e4c877790..9bf3de6b3 100644
--- a/wled00/data/index.htm
+++ b/wled00/data/index.htm
@@ -950,7 +950,7 @@ input[type=number]::-webkit-outer-spin-button {
-Made with ❤ by Aircoookie and the WLED community
+Made with ❤ by Aircoookie and the WLED community