From 5c7e3c6babb4d375de8340c586ebfaf2aea684c9 Mon Sep 17 00:00:00 2001 From: Blaz Kristan Date: Fri, 3 Dec 2021 21:09:53 +0100 Subject: [PATCH] Bugfixes. --- wled00/FX.h | 4 +- wled00/cfg.cpp | 2 +- wled00/data/index.css | 47 +- wled00/data/index.htm | 7 +- wled00/data/index.js | 35 +- wled00/html_other.h | 1248 ++++++------- wled00/html_settings.h | 33 +- wled00/html_ui.h | 3848 +++++++++++++++++++++++----------------- wled00/set.cpp | 1 - wled00/udp.cpp | 1 + wled00/util.cpp | 1 + wled00/wled.h | 2 +- wled00/xml.cpp | 2 - 13 files changed, 2944 insertions(+), 2287 deletions(-) diff --git a/wled00/FX.h b/wled00/FX.h index 1d32471d1..f43e9765f 100644 --- a/wled00/FX.h +++ b/wled00/FX.h @@ -1020,8 +1020,8 @@ const char JSON_mode_names[] PROGMEM = R"=====([ "Noise 4", "Colortwinkles", "Lake", -"Meteor", -"Meteor Smooth", +"Meteor@!,Trail length;!,!,;!", +"Meteor Smooth@!,Trail length;!,!,;!", "Railway", "Ripple", "Twinklefox", diff --git a/wled00/cfg.cpp b/wled00/cfg.cpp index bcf592086..62ae75eda 100644 --- a/wled00/cfg.cpp +++ b/wled00/cfg.cpp @@ -543,6 +543,7 @@ void serializeConfig() { hw_led["cct"] = correctWB; hw_led[F("cr")] = cctFromRgb; hw_led[F("cb")] = strip.cctBlending; + hw_led[F("rgbwm")] = Bus::getAutoWhiteMode(); JsonArray hw_led_ins = hw_led.createNestedArray("ins"); @@ -562,7 +563,6 @@ void serializeConfig() { ins["type"] = bus->getType() & 0x7F; ins["ref"] = bus->isOffRefreshRequired(); ins[F("rgbw")] = bus->isRgbw(); - ins[F("rgbwm")] = bus->getAutoWhiteMode(); } // button(s) diff --git a/wled00/data/index.css b/wled00/data/index.css index bc44024df..16fc1bbbb 100644 --- a/wled00/data/index.css +++ b/wled00/data/index.css @@ -525,15 +525,7 @@ img { z-index: -1; --bg: var(--c-f); } -/* -#rwrap .sliderdisplay, -#gwrap .sliderdisplay, -#bwrap .sliderdisplay, -#wwrap .sliderdisplay, -#vwrap .sliderdisplay, -#kwrap .sliderdisplay, -#wbal .sliderdisplay, -*/ + #Colors .sliderdisplay { height: 28px; top: 0; bottom: 0; @@ -580,15 +572,7 @@ input[type=range] { background-color: transparent; cursor: pointer; } -/* -#rwrap input[type=range], -#gwrap input[type=range], -#bwrap input[type=range], -#wwrap input[type=range], -#vwrap input[type=range], -#kwrap input[type=range], -#wbal input[type=range], -*/ + #Colors input[type=range] { width: 252px; margin: 0; @@ -625,30 +609,12 @@ input[type=range]::-moz-range-thumb { background: var(--c-f); transform: translateY(5px); } -/* -#rwrap input[type=range]::-webkit-slider-thumb, -#gwrap input[type=range]::-webkit-slider-thumb, -#bwrap input[type=range]::-webkit-slider-thumb, -#wwrap input[type=range]::-webkit-slider-thumb, -#vwrap input[type=range]::-webkit-slider-thumb, -#kwrap input[type=range]::-webkit-slider-thumb, -#wbal input[type=range]::-webkit-slider-thumb, -*/ #Colors input[type=range]::-webkit-slider-thumb { height: 18px; width: 18px; border: 2px solid #000; margin-top: 5px; } -/* -#rwrap input[type=range]::-moz-range-thumb, -#gwrap input[type=range]::-moz-range-thumb, -#bwrap input[type=range]::-moz-range-thumb, -#wwrap input[type=range]::-moz-range-thumb, -#vwrap input[type=range]::-moz-range-thumb, -#kwrap input[type=range]::-moz-range-thumb, -#wbal input[type=range]::-moz-range-thumb, -*/ #Colors input[type=range]::-moz-range-thumb { border: 2px solid var(--c-1); } @@ -661,15 +627,6 @@ input[type=range]::-moz-range-thumb { width: 230px; position: relative; } -/* -#rwrap .sliderwrap, -#gwrap .sliderwrap, -#bwrap .sliderwrap, -#wwrap .sliderwrap, -#vwrap .sliderwrap, -#kwrap .sliderwrap, -#wbal .sliderwrap, -*/ #Colors .sliderwrap { width: 260px; margin: 10px 0 0; diff --git a/wled00/data/index.htm b/wled00/data/index.htm index 64c289801..0cae084a2 100644 --- a/wled00/data/index.htm +++ b/wled00/data/index.htm @@ -49,22 +49,21 @@
-

Value

+

-

White from K

+
-
-

RGB color

+

RGB color

diff --git a/wled00/data/index.js b/wled00/data/index.js index b743f3499..a84efb828 100644 --- a/wled00/data/index.js +++ b/wled00/data/index.js @@ -1306,6 +1306,7 @@ function setSliderAndColorControl(idx/*, extra*/) // set html color items on/off var cslLabel = ''; var sep = ''; + var hide = true; for (let i=0; i0*/) { // if no controls then all buttons should be shown for color 1..3 btn.style.display = "inline"; btn.innerHTML = `${i+1}`; + hide = false; } else { btn.style.display = "none"; } } + var ccfg = cfg.comp.colors; + gId("picker").style.display = hide && ccfg.picker ? "none" : "block"; + gId("vwrap").style.display = hide && ccfg.picker ? "none" : "block"; + gId("kwrap").style.display = hide && ccfg.picker && cct ? "none" : "block"; + gId("wwrap").style.display = hide ? "none" : "block"; + gId("wbal").style.display = hide && !cct ? "none" : "block"; + gId("rgbwrap").style.display = hide && ccfg.rgb ? "none" : "block"; + gId("qcs-w").style.display = hide && ccfg.quick ? "none" : "block"; gId("cslLabel").innerHTML = cslLabel; // set palette on/off @@ -1982,14 +1993,16 @@ function delP(i) { function selectSlot(b) { + csel = b; var cd = gId('csl').children; for (let i = 0; i < cd.length; i++) cd[i].classList.remove('xxs-w'); cd[b].classList.add('xxs-w'); - cpick.color.set(cd[b].style.backgroundColor); + setPicker(cd[b].style.backgroundColor); gId('sliderW').value = whites[b]; updatePSliders(); } +//set the color from a hex string. Used by quick color selectors var lasth = 0; function pC(col) { @@ -2001,7 +2014,7 @@ function pC(col) } while (Math.abs(col.h - lasth) < 50); lasth = col.h; } - cpick.color.set(col); + setPicker(col); setColor(0); } @@ -2026,8 +2039,8 @@ function updatePSliders() { var hsv = {"h":cpick.color.hue,"s":cpick.color.saturation,"v":100}; var c = iro.Color.hsvToRgb(hsv); var cs = 'rgb('+c.r+','+c.g+','+c.b+')'; - //v.parentNode.getElementsByClassName('sliderdisplay')[0].style.setProperty('--bg',cs); v.nextElementSibling.style.backgroundImage = `linear-gradient(90deg, #000 0%, ${cs})`; + //v.parentNode.getElementsByClassName('sliderdisplay')[0].style.setProperty('--bg',cs); //updateTrail(v); //update Kelvin slider @@ -2044,14 +2057,20 @@ function fromHex() var str = gId('hexc').value; whites[csel] = parseInt(str.substring(6), 16); try { - cpick.color.set("#" + str.substring(0,6)); + setPicker("#" + str.substring(0,6)); } catch (e) { - cpick.color.set("#ffaa00"); + setPicker("#ffaa00"); } if (isNaN(whites[csel])) whites[csel] = 0; setColor(2); } +function setPicker(rgb) { + var c = new iro.Color(rgb); + if (c.value > 0) cpick.color.set(c); + else cpick.color.setChannel('hsv', 'v', 0); +} + function fromV() { cpick.color.setChannel('hsv', 'v', d.getElementById('sliderV').value); @@ -2067,14 +2086,14 @@ function fromRgb() var r = gId('sliderR').value; var g = gId('sliderG').value; var b = gId('sliderB').value; - cpick.color.set(`rgb(${r},${g},${b})`); + setPicker(`rgb(${r},${g},${b})`); } //sr 0: from RGB sliders, 1: from picker, 2: from hex function setColor(sr) { var cd = gId('csl').children; // color slots - if (sr == 1 && cd[csel].style.backgroundColor == 'rgb(0,0,0)') cpick.color.setChannel('hsv', 'v', 100); + if (sr == 1 && cd[csel].style.backgroundColor == "rgb(0, 0, 0)") cpick.color.setChannel('hsv', 'v', 100); // watch out for spaces!!! cd[csel].style.backgroundColor = cpick.color.rgbString; if (sr != 2) whites[csel] = parseInt(gId('sliderW').value); var col = cpick.color.rgb; @@ -2231,11 +2250,13 @@ function formatArr(pl) { function expand(i,a=false) { var seg = gId('seg' +i); +/* if (!a) { var j = i>100 ? 100 : 0; var l = i>100 ? expanded.length : 100; for (; jBack // Autogenerated from wled00/data/settings_leds.htm, do not edit!! const char PAGE_settings_leds[] PROGMEM = R"=====(LED Settings