diff --git a/wled00/bus_manager.h b/wled00/bus_manager.h index 74497cae2..da5467b53 100644 --- a/wled00/bus_manager.h +++ b/wled00/bus_manager.h @@ -85,6 +85,12 @@ struct ColorOrderMap { if (_count >= WLED_MAX_COLOR_ORDER_MAPPINGS) { return; } + if (len == 0) { + return; + } + if (colorOrder > COL_ORDER_MAX) { + return; + } _mappings[_count].start = start; _mappings[_count].len = len; _mappings[_count].colorOrder = colorOrder; diff --git a/wled00/const.h b/wled00/const.h index 209adcb18..a303f46ed 100644 --- a/wled00/const.h +++ b/wled00/const.h @@ -172,6 +172,7 @@ #define COL_ORDER_RBG 3 #define COL_ORDER_BGR 4 #define COL_ORDER_GBR 5 +#define COL_ORDER_MAX 5 //Button type diff --git a/wled00/data/settings_leds.htm b/wled00/data/settings_leds.htm index 8dd81e446..bbac7eeb9 100644 --- a/wled00/data/settings_leds.htm +++ b/wled00/data/settings_leds.htm @@ -347,6 +347,50 @@ ${i+1}: if (!init) UI(); } + + function addCOM(start=0,len=1,co=0) { + var i = d.getElementsByClassName("com_entry").length; + if (i >= 10) return; + + var b = `