Wled: narrowing conversion error on Compile

Created on 18 Oct 2018  路  12Comments  路  Source: Aircoookie/WLED

I've gotten an error on compile, running Arduino 1.8.7, attempting to load on an ESP32Thing. Any idea what I could be missing/not doing? Its a fresh install on a new PC, so it could be anything.
Arduino: 1.8.7 (Windows Store 1.8.15.0) (Windows 10), Board: "SparkFun ESP32 Thing, 80MHz, Default, 921600, None"

sketch\WS2812FX.cpp:44:22: warning: extra tokens at end of #include directive

#include "palettes.h";

                  ^

In file included from sketch\WS2812FX.cpp:42:0:

WS2812FX.h:472:5: error: narrowing conversion of '1000u' from 'uint16_t {aka short unsigned int}' to 'uint8_t {aka unsigned char}' inside { } [-Wnarrowing]

 };

 ^

WS2812FX.h:472:5: error: narrowing conversion of '16711680u' from 'uint32_t {aka unsigned int}' to 'uint8_t {aka unsigned char}' inside { } [-Wnarrowing]

In file included from sketch\WS2812FX.cpp:42:0:

sketch\WS2812FX.h: In constructor 'WS2812FX::WS2812FX()':

sketch\WS2812FX.h:271:26: warning: large integer implicitly truncated to unsigned type [-Woverflow]

   _segments[0].speed = DEFAULT_SPEED;

                      ^

In file included from sketch\WS2812FX.cpp:43:0:

C:\Users\dturney\Documents\Arduino\libraries\FastLED/FastLED.h: At global scope:

C:\Users\dturney\Documents\Arduino\libraries\FastLED/FastLED.h:14:21: note: #pragma message: FastLED version 3.002.001

# pragma message "FastLED version 3.002.001"

                 ^

In file included from C:\Users\dturney\Documents\Arduino\libraries\FastLED/FastLED.h:65:0,

             from sketch\WS2812FX.cpp:43:

C:\Users\dturney\Documents\Arduino\libraries\FastLED/fastspi.h:110:23: note: #pragma message: No hardware SPI pins defined. All SPI access will default to bitbanged output

# pragma message "No hardware SPI pins defined. All SPI access will default to bitbanged output"

                   ^

sketch\WS2812FX.cpp: In member function 'void WS2812FX::resetSegments()':

sketch\WS2812FX.cpp:315:110: warning: large integer implicitly truncated to unsigned type [-Woverflow]

setSegment(0, 0, 7, FX_MODE_STATIC, (const uint32_t[]){DEFAULT_COLOR, 0, 0}, DEFAULT_SPEED, 128, NO_OPTIONS);

                                                                                                          ^

sketch\WS2812FX.cpp: In member function 'uint16_t WS2812FX::mode_oscillate()':

sketch\WS2812FX.cpp:1851:20: warning: narrowing conversion of '(((((int)((WS2812FX)this)->WS2812FX::_segments[((int)((WS2812FX)this)->WS2812FX::_segment_index)].WS2812FX::Segment::stop) - ((int)((WS2812FX)this)->WS2812FX::_segments[((int)((WS2812FX)this)->WS2812FX::_segment_index)].WS2812FX::Segment::start)) + 1) / 4)' from 'int' to 'int16_t {aka short int}' inside { } [-Wnarrowing]

 {SEGMENT_LENGTH/4,   SEGMENT_LENGTH/8,  1, 1},

                ^

sketch\WS2812FX.cpp:1851:40: warning: narrowing conversion of '(((((int)((WS2812FX)this)->WS2812FX::_segments[((int)((WS2812FX)this)->WS2812FX::_segment_index)].WS2812FX::Segment::stop) - ((int)((WS2812FX)this)->WS2812FX::_segments[((int)((WS2812FX)this)->WS2812FX::_segment_index)].WS2812FX::Segment::start)) + 1) / 8)' from 'int' to 'int8_t {aka signed char}' inside { } [-Wnarrowing]

 {SEGMENT_LENGTH/4,   SEGMENT_LENGTH/8,  1, 1},

                                    ^

sketch\WS2812FX.cpp:1852:22: warning: narrowing conversion of '((((((int)((WS2812FX)this)->WS2812FX::_segments[((int)((WS2812FX)this)->WS2812FX::_segment_index)].WS2812FX::Segment::stop) - ((int)((WS2812FX)this)->WS2812FX::_segments[((int)((WS2812FX)this)->WS2812FX::_segment_index)].WS2812FX::Segment::start)) + 1) / 4) * 2)' from 'int' to 'int16_t {aka short int}' inside { } [-Wnarrowing]

 {SEGMENT_LENGTH/4*2, SEGMENT_LENGTH/8, -1, 1},

                  ^

sketch\WS2812FX.cpp:1852:40: warning: narrowing conversion of '(((((int)((WS2812FX)this)->WS2812FX::_segments[((int)((WS2812FX)this)->WS2812FX::_segment_index)].WS2812FX::Segment::stop) - ((int)((WS2812FX)this)->WS2812FX::_segments[((int)((WS2812FX)this)->WS2812FX::_segment_index)].WS2812FX::Segment::start)) + 1) / 8)' from 'int' to 'int8_t {aka signed char}' inside { } [-Wnarrowing]

 {SEGMENT_LENGTH/4*2, SEGMENT_LENGTH/8, -1, 1},

                                    ^

sketch\WS2812FX.cpp:1853:22: warning: narrowing conversion of '((((((int)((WS2812FX)this)->WS2812FX::_segments[((int)((WS2812FX)this)->WS2812FX::_segment_index)].WS2812FX::Segment::stop) - ((int)((WS2812FX)this)->WS2812FX::_segments[((int)((WS2812FX)this)->WS2812FX::_segment_index)].WS2812FX::Segment::start)) + 1) / 4) * 3)' from 'int' to 'int16_t {aka short int}' inside { } [-Wnarrowing]

 {SEGMENT_LENGTH/4*3, SEGMENT_LENGTH/8,  1, 2}

                  ^

sketch\WS2812FX.cpp:1853:40: warning: narrowing conversion of '(((((int)((WS2812FX)this)->WS2812FX::_segments[((int)((WS2812FX)this)->WS2812FX::_segment_index)].WS2812FX::Segment::stop) - ((int)((WS2812FX)this)->WS2812FX::_segments[((int)((WS2812FX)this)->WS2812FX::_segment_index)].WS2812FX::Segment::start)) + 1) / 8)' from 'int' to 'int8_t {aka signed char}' inside { } [-Wnarrowing]

 {SEGMENT_LENGTH/4*3, SEGMENT_LENGTH/8,  1, 2}

                                    ^

Multiple libraries were found for "WiFi.h"
Used: C:\Users\dturney\Documents\Arduino\hardware\espressif\esp32\libraries\WiFi
Not used: C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.15.0_x86__mdqgnx93n4wtt\libraries\WiFi
In file included from D:\Development Program Files\WLED\wled00\wled00.ino:45:0:

WS2812FX.h:472:5: error: narrowing conversion of '1000u' from 'uint16_t {aka short unsigned int}' to 'uint8_t {aka unsigned char}' inside { } [-Wnarrowing]

 };

 ^

WS2812FX.h:472:5: error: narrowing conversion of '16711680u' from 'uint32_t {aka unsigned int}' to 'uint8_t {aka unsigned char}' inside { } [-Wnarrowing]

In file included from D:\Development Program Files\WLED\wled00\wled00.ino:45:0:

sketch\WS2812FX.h: In constructor 'WS2812FX::WS2812FX()':

sketch\WS2812FX.h:271:26: warning: large integer implicitly truncated to unsigned type [-Woverflow]

   _segments[0].speed = DEFAULT_SPEED;

                      ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino: In function 'void XML_response(bool)':

D:\Development Program Files\WLED\wled00\wled02_xml.ino:8:48: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

oappend("<?xml version = \"1.0\" ?><vs><ac>");

                                            ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:16:19: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

oappend("</ac>");

               ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:20:20: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

  oappend("<cl>");

                ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:22:21: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

  oappend("</cl>");

                 ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:24:18: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

oappend("<ns>");

              ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:26:23: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

oappend("</ns><nr>");

                   ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:28:23: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

oappend("</nr><nl>");

                   ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:30:23: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

oappend("</nl><nf>");

                   ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:32:23: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

oappend("</nf><nd>");

                   ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:34:23: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

oappend("</nd><nt>");

                   ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:36:23: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

oappend("</nt><fx>");

                   ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:38:23: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

oappend("</fx><sx>");

                   ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:40:23: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

oappend("</sx><ix>");

                   ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:42:23: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

oappend("</ix><fp>");

                   ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:44:23: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

oappend("</fp><wv>");

                   ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:48:18: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

  oappend("-1");

              ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:50:23: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

oappend("</wv><md>");

                   ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:52:23: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

oappend("</md><ds>");

                   ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:54:24: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

oappend("</ds></vs>");

                    ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino: In function 'void sappend(char, char*, int)':

D:\Development Program Files\WLED\wled00\wled02_xml.ino:67:26: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

   oappend(".checked=");

                      ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:69:18: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

   oappend(";");

              ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:74:24: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

   oappend(".value=");

                    ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:76:18: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

   oappend(";");

              ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:81:32: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

   oappend(".selectedIndex=");

                            ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:83:18: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

   oappend(";");

              ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino: In function 'void sappends(char, char, char)':

D:\Development Program Files\WLED\wled00\wled02_xml.ino:93:24: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

     oappend("d.Sf.");

                    ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:95:28: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

     oappend(".value=\"");

                        ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:97:22: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

     oappend("\";");

                  ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:100:43: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

     oappend("d.getElementsByClassName");

                                       ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:102:32: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

     oappend(".innerHTML=\"");

                            ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:104:22: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

     oappend("\";");

                  ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino: In function 'void getSettingsJS(byte)':

D:\Development Program Files\WLED\wled00\wled02_xml.ino:119:33: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappends('s',"CS",clientSSID);

                             ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:125:28: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappends('s',"CP",fpass);

                        ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:136:28: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappends('s',"CM",cmDNS);

                        ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:137:36: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappend('v',"AT",apWaitTimeSecs);

                                ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:138:29: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappends('s',"AS",apSSID);

                         ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:139:28: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappend('c',"AH",apHide);

                        ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:145:29: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappends('s',"AP",fapass);

                         ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:147:31: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappend('v',"AC",apChannel);

                           ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:154:36: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

   sappends('m',"(\"sip\")[0]",s);

                                ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:157:50: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

   sappends('m',"(\"sip\")[0]","Not connected");

                                              ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:157:50: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

D:\Development Program Files\WLED\wled00\wled02_xml.ino:165:36: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

   sappends('m',"(\"sip\")[1]",s);

                                ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:168:47: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

   sappends('m',"(\"sip\")[1]","Not active");

                                           ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:168:47: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

D:\Development Program Files\WLED\wled00\wled02_xml.ino:173:30: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappend('v',"LC",ledCount);

                          ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:174:29: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappend('v',"CR",colS[0]);

                         ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:175:29: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappend('v',"CG",colS[1]);

                         ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:176:29: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappend('v',"CB",colS[2]);

                         ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:177:26: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappend('v',"CA",briS);

                      ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:178:29: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappend('c',"EW",useRGBW);

                         ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:179:35: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappend('c',"AW",autoRGBtoRGBW);

                               ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:180:28: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappend('v',"CW",whiteS);

                        ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:181:32: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappend('v',"SR",colSecS[0]);

                            ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:182:32: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappend('v',"SG",colSecS[1]);

                            ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:183:32: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappend('v',"SB",colSecS[2]);

                            ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:184:31: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappend('v',"SW",whiteSecS);

                           ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:185:34: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappend('c',"BO",turnOnAtBoot);

                              ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:186:32: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappend('v',"BP",bootPreset);

                            ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:187:35: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappend('v',"FX",effectDefault);

                               ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:188:40: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappend('v',"SX",effectSpeedDefault);

                                    ^

exit status 1
D:\Development Program Files\WLED\wled00\wled02_xml.ino:189:44: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappend('v',"IX",effectIntensityDefault);

                                        ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:190:42: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappend('v',"FP",effectPaletteDefault);

                                      ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:191:43: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappend('c',"GB",useGammaCorrectionBri);

                                       ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:192:43: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappend('c',"GC",useGammaCorrectionRGB);

                                       ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:193:36: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappend('c',"TF",fadeTransition);

                                ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:194:37: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappend('v',"TD",transitionDelay);

                                 ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:195:39: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappend('c',"PF",strip.paletteFade);

                                   ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:196:41: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappend('c',"T2",enableSecTransition);

                                     ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:197:35: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappend('v',"BF",briMultiplier);

                               ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:198:41: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappend('v',"TB",nightlightTargetBri);

                                     ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:199:41: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappend('v',"TL",nightlightDelayMins);

                                     ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:200:36: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappend('c',"TW",nightlightFade);

                                ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:201:40: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappend('i',"PB",strip.paletteBlend);

                                    ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:202:33: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappend('c',"RV",reverseMode);

                             ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:203:34: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappend('c',"EI",initLedsLast);

                              ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:204:34: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappend('c',"SL",skipFirstLed);

                              ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:209:37: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappend('i',"UI",uiConfiguration);

                                 ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:210:40: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappends('s',"DS",serverDescription);

                                    ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:211:35: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappend('c',"MD",useHSBDefault);

                               ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:212:34: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappend('i',"TH",currentTheme);

                              ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:219:30: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappends('s',"CF",cssFont);

                          ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:224:35: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappend('c',"BT",buttonEnabled);

                               ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:225:29: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappend('v',"UP",udpPort);

                         ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:226:51: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappend('c',"RB",receiveNotificationBrightness);

                                               ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:227:46: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappend('c',"RC",receiveNotificationColor);

                                          ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:228:48: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappend('c',"RX",receiveNotificationEffects);

                                            ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:229:41: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappend('c',"SD",notifyDirectDefault);

                                     ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:230:34: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappend('c',"SB",notifyButton);

                              ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:231:31: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappend('c',"SH",notifyHue);

                           ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:232:33: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappend('c',"S2",notifyTwice);

                             ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:233:35: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappend('c',"RD",receiveDirect);

                               ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:234:35: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappend('c',"EM",e131Multicast);

                               ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:235:34: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappend('v',"EU",e131Universe);

                              ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:236:39: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappend('v',"ET",realtimeTimeoutMs);

                                   ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:237:37: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappend('c',"FB",arlsForceMaxBri);

                                 ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:238:48: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappend('c',"RG",arlsDisableGammaCorrection);

                                            ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:239:32: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappend('v',"WO",arlsOffset);

                            ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:240:38: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappend('c',"RU",enableRealtimeUI);

                                  ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:241:34: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappend('c',"AL",alexaEnabled);

                              ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:242:42: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappends('s',"AI",alexaInvocationName);

                                      ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:243:33: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappend('c',"SA",notifyAlexa);

                             ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:244:58: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappends('s',"BK",(char*)((blynkEnabled)?"Hidden":""));

                                                      ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:245:33: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappends('s',"MS",mqttServer);

                             ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:246:38: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappends('s',"MD",mqttDeviceTopic);

                                  ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:247:37: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappends('s',"MG",mqttGroupTopic);

                                 ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:248:30: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappend('v',"H0",hueIP[0]);

                          ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:249:30: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappend('v',"H1",hueIP[1]);

                          ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:250:30: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappend('v',"H2",hueIP[2]);

                          ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:251:30: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappend('v',"H3",hueIP[3]);

                          ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:252:36: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappend('v',"HL",huePollLightId);

                                ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:253:39: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappend('v',"HI",huePollIntervalMs);

                                   ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:254:39: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappend('c',"HP",huePollingEnabled);

                                   ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:255:35: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappend('c',"HO",hueApplyOnOff);

                               ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:256:33: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappend('c',"HB",hueApplyBri);

                             ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:257:35: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappend('c',"HC",hueApplyColor);

                               ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:258:41: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappends('m',"(\"hms\")[0]",hueError);

                                     ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:263:32: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappend('c',"NT",ntpEnabled);

                            ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:264:30: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappend('c',"CF",!useAMPM);

                          ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:265:37: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappend('i',"TZ",currentTimezone);

                                 ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:266:35: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappend('v',"UO",utcOffsetSecs);

                               ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:267:65: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappends('m',"(\"times\")[0]",(char*)getTimeString().c_str());

                                                             ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:268:36: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappend('i',"OL",overlayCurrent);

                                ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:269:32: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappend('v',"O1",overlayMin);

                            ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:270:32: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappend('v',"O2",overlayMax);

                            ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:271:40: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappend('v',"OM",analogClock12pixel);

                                    ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:272:45: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappend('c',"OS",analogClockSecondsTrail);

                                         ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:273:45: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappend('c',"O5",analogClock5MinuteMarks);

                                         ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:274:38: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappends('s',"CX",cronixieDisplay);

                                  ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:275:39: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappend('c',"CB",cronixieBacklight);

                                   ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:276:35: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappend('c',"CE",countdownMode);

                               ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:277:35: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappend('v',"CY",countdownYear);

                               ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:278:36: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappend('v',"CI",countdownMonth);

                                ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:279:34: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappend('v',"CD",countdownDay);

                              ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:280:35: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappend('v',"CH",countdownHour);

                               ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:281:34: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappend('v',"CM",countdownMin);

                              ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:282:34: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappend('v',"CS",countdownSec);

                              ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:291:31: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappend('v',"MB",macroBoot);

                           ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:292:34: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappend('v',"A0",macroAlexaOn);

                              ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:293:35: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappend('v',"A1",macroAlexaOff);

                               ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:294:33: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappend('v',"MP",macroButton);

                             ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:295:36: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappend('v',"ML",macroLongPress);

                                ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:296:36: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappend('v',"MC",macroCountdown);

                                ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:297:29: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappend('v',"MN",macroNl);

                         ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:311:29: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappend('c',"NO",otaLock);

                         ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:312:30: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappend('c',"OW",wifiLock);

                          ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:313:33: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappend('c',"AO",aOtaEnabled);

                             ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:314:40: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappend('c',"NA",recoveryAPDisabled);

                                    ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:315:40: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 sappends('m',"(\"msg\")[0]","WLED ");

                                    ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:315:40: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

D:\Development Program Files\WLED\wled00\wled02_xml.ino:318:23: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 oappend(" (build ");

                   ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:320:22: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

 oappend(") OK\";");

                  ^

D:\Development Program Files\WLED\wled00\wled02_xml.ino:322:23: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

oappend("}");

                   ^

D:\Development Program Files\WLED\wled00\wled05_init.ino: In function 'void getBuildInfo()':

D:\Development Program Files\WLED\wled00\wled05_init.ino:215:41: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

oappend("hard-coded build info:r\n\n");

                                     ^

D:\Development Program Files\WLED\wled00\wled05_init.ino:217:28: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

oappend("platform: esp32");

                        ^

D:\Development Program Files\WLED\wled00\wled05_init.ino:221:26: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

oappend("r\nversion: ");

                      ^

D:\Development Program Files\WLED\wled00\wled05_init.ino:223:24: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

oappend("r\nbuild: ");

                    ^

D:\Development Program Files\WLED\wled00\wled05_init.ino:225:25: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

oappend("r\neepver: ");

                     ^

D:\Development Program Files\WLED\wled00\wled05_init.ino:230:34: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

oappend("r\nspiffs: falser\n");

                              ^

D:\Development Program Files\WLED\wled00\wled05_init.ino:235:29: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

oappend("debug: falser\n");

                         ^

D:\Development Program Files\WLED\wled00\wled05_init.ino:237:29: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

oappend("button-pin: gpio");

                         ^

D:\Development Program Files\WLED\wled00\wled05_init.ino:239:17: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

oappend("r\n");

             ^

D:\Development Program Files\WLED\wled00\wled05_init.ino:241:28: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

oappend("strip-pin: gpio");

                        ^

D:\Development Program Files\WLED\wled00\wled05_init.ino:246:36: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

oappend("r\nbuild-type: srcr\n");

                                ^

D:\Development Program Files\WLED\wled00\wled12_alexa.ino: In function 'void alexaDim(byte)':

D:\Development Program Files\WLED\wled00\wled12_alexa.ino:73:52: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

oappend("[{\"success\":{\"/lights/1/state/bri\":");

                                                ^

D:\Development Program Files\WLED\wled00\wled12_alexa.ino:75:16: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

oappend("}}]");

            ^

D:\Development Program Files\WLED\wled00\wled12_alexa.ino: In function 'void respondToSearch()':

D:\Development Program Files\WLED\wled00\wled12_alexa.ino:112:26: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

   "LOCATION: http://");

                      ^

D:\Development Program Files\WLED\wled00\wled12_alexa.ino:116:23: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

   "hue-bridgeid: ");

                   ^

D:\Development Program Files\WLED\wled00\wled12_alexa.ino:120:43: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

   "USN: uuid:2f402f80-da50-11e1-9b23-");

                                       ^

D:\Development Program Files\WLED\wled00\wled12_alexa.ino:123:13: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

   "\r\n");

         ^

D:\Development Program Files\WLED\wled00\wled12_alexa.ino: In lambda function:

D:\Development Program Files\WLED\wled00\wled12_alexa.ino:149:29: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

       "<URLBase>http://");

                         ^

D:\Development Program Files\WLED\wled00\wled12_alexa.ino:154:42: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

         "<friendlyName>Philips hue (");

                                      ^

D:\Development Program Files\WLED\wled00\wled12_alexa.ino:163:29: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

         "<serialNumber>");

                         ^

D:\Development Program Files\WLED\wled00\wled12_alexa.ino:166:49: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

         "<UDN>uuid:2f402f80-da50-11e1-9b23-");

                                             ^

D:\Development Program Files\WLED\wled00\wled12_alexa.ino:187:20: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

       "</root>");

                ^

narrowing conversion of '1000u' from 'uint16_t {aka short unsigned int}' to 'uint8_t {aka unsigned char}' inside { } [-Wnarrowing]

All 12 comments

Seems like this new compiler version is picky and doesn't like:

  • implicitely truncating uint16_t to uint8_t (narrowing conversion)
  • casting from a string constant to a char*

Tomorrow I'll update my IDE and ESP32 core and see if i can reproduce the issue. Most likely these errors will go away if I explicitly cast them to the correct data type, but that would be really annoying :)

Update for anyone with this error, and a little more specifics. I started out using the Arduino IDE app you install from the Microsoft Store. I downloaded the standard IDE installer and uninstalled the Microsoft Store App. Using that version, the program compiled without error.

I was going to create an issue, but found out the reason:

  1. speed is _uint16_t_ (not _uint8_t_) in WS2812FX.h:
  public:
    typedef struct Segment { // 21 bytes
      uint16_t start;
      uint16_t stop;
      uint16_t speed;
      uint8_t intensity;
      uint8_t palette;
      uint8_t  mode;
      uint8_t  options;
      uint32_t colors[NUM_COLORS];
    } segment;
  1. WS2812FX is heavily modified, meaning the default parameters must be passed correctly in WS2812FX.h:
    segment _segments[MAX_NUM_SEGMENTS] = { // SRAM footprint: 20 bytes per element
      // start, stop, speed, intensity, palette, mode, options, color[]
      {0, 7, DEFAULT_SPEED, 128, 0, FX_MODE_STATIC, NO_OPTIONS, {DEFAULT_COLOR}}
    };

@Aircoookie Let me know if you want me to create a PR.

Hi @debsahu thanks for your comment!

About 1., speed is actually _uint8_t_ in WLED. It is a relative value where 0 is slowest and 255 fastest. This was how it was originally in WS2812FX. Later the creator decided to switch to _uint16_t_, where it is the time in ms to complete one animation cycle. On the surface, that makes a lot of sense, however I decided to keep using uint8_t for several reasons:

  1. my protocols would have needed to be changed in a way that's not backwards compatible
  2. it is counterintuitive that a higher value is a slower speed.
  3. Take 15000ms. This would be really fast for some effects and awfully slow for others. Relative values give the individual effect control over the actual ms delay for each step.

About 2.: Great find! My next commit will include the patch. This is what probably causes the ESP32 compile error in some (PIO) environments.

@Aircoookie I feel the pain of WS2812FX! We then need to change #define DEFAULT_SPEED (uint16_t)1000 to #define DEFAULT_SPEED (uint8_t)196 (Just put 196 here, you can use an ideal value) I am coming from https://github.com/toblum/McLighting to here. Let me know you want me to port anything from there to here. Ask for any help you need, if I have time I will work on it. Very interesting project here.

Thank you! Great that you like my project and that you offer me your help! I can manage the Arduino version right now, but i can see you already put a lot of work into getting WLED to build in PIO! Native PIO support would be amazing, but I still want it to run on Arduino, because that is more accessible for beginners and simple. The obvious solution would be to have another branch/repo which is PIO-optimized, but then any changes made in the Arduino version would need to be manually added to the PIO version, which is too cumbersome. Therefore, it'd be ideal if the master repo also supported PIO. I think we could do this by adding the platformio.ini and migrating most .ino files to .cpp/.h . Still, the separation of /lib and /src would not be possible because Arduino IDE apparently can't include local libraries which are not in the /src folder. Do you have any ideas about the feasibility of one branch for both IDEs?

About McLighting, wow, you have contributed to that project a lot! Can you personally think of some McLightning features you'd like to also see in WLED? Porting might be an issue since McLighting is (L)GPL and WLED is MIT, so it can't use GPL code without also being GPL or having an exclusive license. I don't want to switch to GPL, but instead maintain the more permissive MIT license for various reasons.

  1. You already have it on your todo list: color temperature for white light: cool to warm
  2. Home Assistant(HA) Integration
  3. Maybe related to 2, switch to async MQTT library to be able to easily send light configuration to HA

About McLighting, wow, you have contributed to that project a lot! Can you personally think of some McLightning features you'd like to also see in WLED? Porting might be an issue since McLighting is (L)GPL and WLED is MIT, so it can't use GPL code without also being GPL or having an exclusive license. I don't want to switch to GPL, but instead maintain the more permissive MIT license for various reasons.

@toblum What are your thoughts on licensing portions of code to WLED project?

Hi @Aircoookie and @debsahu,

honestly I didn't think to much about the licence when starting McLighting two years ago. Personally it's completely OK for me here that this code is used by others as it's a community project. So for me a switch to MIT would be OK as long it's also OK for you @debsahu.

BTW: I didn't have had a look at WLED for over a year but it looks like a great project. I like the numeroud protocols you implemented and the good documentation. I will also give it a try. It is a pity that the project is so little visible on the "usual places".

Best regards
Tobias

Hi @toblum !

awesome to see you here! I'm glad to hear that you'd consider allowing us to use some of the McLighting code in WLED. Of course I'll also credit you and @debsahu as contributors.

Thank you! Yes, WLED has evolved a lot recently. The FastLED palette effects really made a difference! Don't worry, it is surely gaining traction. A year ago I had an estimated 10 users, now already around 300-500. Looking forward to hearing your thoughts about the recent version!

Best regards
Christian

@debsahu If it's OK for you, I can also change the licence in the repo to MIT.

@toblum fine with me!

OK, done. McLighting is now MIT licensed.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

djhampson picture djhampson  路  3Comments

fribse picture fribse  路  4Comments

Sasquatch6ft9 picture Sasquatch6ft9  路  4Comments

BugsBunny1403 picture BugsBunny1403  路  3Comments

CollaVinilica picture CollaVinilica  路  3Comments