Aircoookie / WLED

Control WS2812B and many more types of digital RGB LEDs with an ESP8266 or ESP32 over WiFi!
https://kno.wled.ge
MIT License
14.51k stars 3.11k forks source link

narrowing conversion error on Compile #61

Closed DaveDischord closed 4 years ago

DaveDischord commented 5 years ago

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: false\r\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: false\r\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: src\r\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]

Aircoookie commented 5 years ago

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

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 :)

DaveDischord commented 5 years ago

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.

debsahu commented 5 years ago

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

  1. speed is _uint16t (not _uint8t) 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;
  2. 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.

Aircoookie commented 5 years ago

Hi @debsahu thanks for your comment!

About 1., speed is actually _uint8t 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 _uint16t, 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.

debsahu commented 5 years ago

@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.

Aircoookie commented 5 years ago

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.

debsahu commented 5 years ago
  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?

toblum commented 5 years ago

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

Aircoookie commented 5 years ago

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

toblum commented 5 years ago

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

debsahu commented 5 years ago

@toblum fine with me!

toblum commented 5 years ago

OK, done. McLighting is now MIT licensed.