Skip to content

Commit

Permalink
Release of v0.6.4
Browse files Browse the repository at this point in the history
Added Limited support of up to 1200 (ESP8266) or 600 (ESP32) LEDs
Changed &ND API call to activate Nightight without requiring NL
  • Loading branch information
Aircoookie committed Apr 15, 2018
1 parent a665607 commit 4c9dc73
Show file tree
Hide file tree
Showing 11 changed files with 51 additions and 39 deletions.
12 changes: 6 additions & 6 deletions wled00/WS2812FX.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1925,7 +1925,7 @@ void WS2812FX::setCronixieDigits(byte d[])
}
}

double WS2812FX::getPowerEstimate(byte leds, uint32_t c, byte b)
double WS2812FX::getPowerEstimate(uint16_t leds, uint32_t c, byte b)
{
double _mARequired = 100; //ESP power
double _mul = (double)b/255;
Expand All @@ -1941,7 +1941,7 @@ double WS2812FX::getPowerEstimate(byte leds, uint32_t c, byte b)
//It is NOT guaranteed to stay within the safeAmps margin.
//Stay safe with high amperage and have a reasonable safety margin!
//I am NOT to be held liable for burned down garages!
double WS2812FX::getSafePowerMultiplier(double safeMilliAmps, byte leds, uint32_t c, byte b)
double WS2812FX::getSafePowerMultiplier(double safeMilliAmps, uint16_t leds, uint32_t c, byte b)
{
double _mARequired = getPowerEstimate(leds,c,b);
if (_mARequired > safeMilliAmps)
Expand All @@ -1958,7 +1958,7 @@ void WS2812FX::setCCIndex1(byte i1)
_counter_ccStep = 0;
}

void WS2812FX::setCCIndex2(byte i2)
void WS2812FX::setCCIndex2(uint16_t i2)
{
if (i2 > _cc_i1) _cc_i2 = i2;
if (_cc_i2 >= _led_count) _cc_i2 = _led_count-1;
Expand Down Expand Up @@ -2003,7 +2003,7 @@ void WS2812FX::setCCFE(bool fe)
_counter_ccStep = 0;
}

void WS2812FX::setCustomChase(byte i1, byte i2, byte is, byte np, byte ns, byte stp, bool fs, bool fe)
void WS2812FX::setCustomChase(byte i1, uint16_t i2, byte is, byte np, byte ns, byte stp, bool fs, bool fe)
{
setCCIndex1(i1);
setCCIndex2(i2);
Expand Down Expand Up @@ -2149,13 +2149,13 @@ void WS2812FX::begin(bool supportWhite, uint16_t countPixels, uint8_t pin)

//For some reason min and max are not declared here

byte WS2812FX::minval (byte v, byte w)
uint16_t WS2812FX::minval (uint16_t v, uint16_t w)
{
if (w > v) return v;
return w;
}

byte WS2812FX::maxval (byte v, byte w)
uint16_t WS2812FX::maxval (uint16_t v, uint16_t w)
{
if (w > v) return w;
return v;
Expand Down
14 changes: 7 additions & 7 deletions wled00/WS2812FX.h
Original file line number Diff line number Diff line change
Expand Up @@ -213,9 +213,9 @@ class WS2812FX {
start(void),
stop(void),
setMode(byte m),
setCustomChase(byte i1, byte i2, byte is, byte np, byte ns, byte stp, bool fs, bool fe),
setCustomChase(byte i1, uint16_t i2, byte is, byte np, byte ns, byte stp, bool fs, bool fe),
setCCIndex1(byte i1),
setCCIndex2(byte i2),
setCCIndex2(uint16_t i2),
setCCStart(byte is),
setCCNum1(byte np),
setCCNum2(byte ns),
Expand Down Expand Up @@ -270,8 +270,8 @@ class WS2812FX {
getColor(void);

double
getPowerEstimate(byte leds, uint32_t c, byte b),
getSafePowerMultiplier(double safeMilliAmps, byte leds, uint32_t c, byte b);
getPowerEstimate(uint16_t leds, uint32_t c, byte b),
getSafePowerMultiplier(double safeMilliAmps, uint16_t leds, uint32_t c, byte b);

private:
NeoPixelWrapper *bus;
Expand Down Expand Up @@ -360,13 +360,10 @@ class WS2812FX {
_locked;

byte
minval(byte v, byte w),
maxval(byte v, byte w),
_mode_index,
_speed,
_intensity,
_cc_i1,
_cc_i2,
_cc_is,
_cc_num1,
_cc_num2,
Expand All @@ -377,6 +374,9 @@ class WS2812FX {
_cronixieDigits;

uint16_t
minval(uint16_t v, uint16_t w),
maxval(uint16_t v, uint16_t w),
_cc_i2,
_led_count;

uint32_t
Expand Down
4 changes: 2 additions & 2 deletions wled00/data/index.htm
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<html>
<head><meta charset="utf-8">
<link rel='shortcut icon' type='image/x-icon' href='/favicon.ico'/>
<title>WLED 0.6.3</title>
<title>WLED 0.6.4</title>
<script>
var d=document;
var w=window.getComputedStyle(d.querySelector("html"));
Expand Down Expand Up @@ -590,7 +590,7 @@
<svg id="fmf" onclick="SwFX(1)"><use xlink:href="#lnr-arrow-right-circle"></use></svg>
<svg id="fof" onclick="SwFX(99)"><use xlink:href="#lnr-rocket"></use></svg><br><br>
<select name="TX" onchange="GX()">
<option value="0" selected>Static (0)</option>
<option value="0" selected>Solid (0)</option>
<option value="1">Blink (1)</option>
<option value="2">Breath (2)</option>
<option value="3">Wipe (3)</option>
Expand Down
Binary file modified wled00/data/settings_leds.htm
Binary file not shown.
Binary file modified wled00/data/settings_sec.htm
Binary file not shown.
4 changes: 2 additions & 2 deletions wled00/htmls00.h
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ const char PAGE_index0[] PROGMEM = R"=====(
<html>
<head><meta charset=utf-8>
<link rel='shortcut icon' type=image/x-icon href='/favicon.ico'/>
<title>WLED 0.6.3</title>
<title>WLED 0.6.4</title>
<script>var d=document;var w=window.getComputedStyle(d.querySelector("html"));resp="";var nla=false;var nra=false;var nsa=false;var sto=false;var uwv=false;var sbf=true;var firstload=true;var lastsx=0;var nState=0;var cv=0;var lm=0;aC="";bC="";dC="";function gId(a){return d.getElementById(a)}function Startup(){var a=window.getComputedStyle(d.querySelector("html"));aC=a.getPropertyValue("--aCol");bC=a.getPropertyValue("--bCol");dC=a.getPropertyValue("--dCol");CV(0);setInterval("GIO()",5000);GIO()}function GIO(){nocache="&nocache="+Math.random()*1000000;var a=new XMLHttpRequest();a.onreadystatechange=function(){if(this.readyState==4){if(this.status==200){if(this.responseXML!=null){d.Cf.SA.value=this.responseXML.getElementsByTagName("ac")[0].childNodes[0].nodeValue;d.Cf.SR.value=this.responseXML.getElementsByTagName("cl")[0].childNodes[0].nodeValue;d.Cf.SG.value=this.responseXML.getElementsByTagName("cl")[1].childNodes[0].nodeValue;d.Cf.SB.value=this.responseXML.getElementsByTagName("cl")[2].childNodes[0].nodeValue;if(this.responseXML.getElementsByTagName("wv")[0].childNodes[0].nodeValue>=0){d.Cf.SW.value=this.responseXML.getElementsByTagName("wv")[0].childNodes[0].nodeValue;uwv=true}else{uwv=false}Cf.TX.selectedIndex=this.responseXML.getElementsByTagName("fx")[0].childNodes[0].nodeValue;d.Cf.SX.value=this.responseXML.getElementsByTagName("sx")[0].childNodes[0].nodeValue;d.Cf.IX.value=this.responseXML.getElementsByTagName("ix")[0].childNodes[0].nodeValue;nla=(this.responseXML.getElementsByTagName("nl")[0].innerHTML)!=0?true:false;if(firstload){d.Cf.NC.checked=(this.responseXML.getElementsByTagName("nf")[0].innerHTML)!=0?true:false;d.Cf.SN.value=this.responseXML.getElementsByTagName("nd")[0].childNodes[0].nodeValue;d.Cf.ST.value=this.responseXML.getElementsByTagName("nt")[0].childNodes[0].nodeValue;CV(parseInt(this.responseXML.getElementsByTagName("md")[0].childNodes[0].nodeValue))}firstload=false;nState=0;nState=(this.responseXML.getElementsByTagName("nr")[0].innerHTML)!=0?1:0;nState+=(this.responseXML.getElementsByTagName("ns")[0].innerHTML)!=0?2:0;d.getElementsByClassName("desc")[0].innerHTML=this.responseXML.getElementsByTagName("ds")[0].innerHTML;UV()}}}};a.open("GET","win"+resp+nocache,true);a.send(null);resp=""}function GC(){resp+="&A="+Cf.SA.value;resp+="&R="+Cf.SR.value;resp+="&G="+Cf.SG.value;resp+="&B="+Cf.SB.value;if(uwv){resp+="&W="+Cf.SW.value}UV();GIO()}function GX(){resp+="&FX="+Cf.TX.selectedIndex;resp+="&SX="+Cf.SX.value;resp+="&IX="+Cf.IX.value;UV();GIO()}function GetRGB(){var a,l,n,j,m,e,c,u;var k=d.Cf.SH.value,x=d.Cf.SS.value,o=255;j=Math.floor(k*6);m=k*6-j;e=o*(1-x);c=o*(1-m*x);u=o*(1-(1-m)*x);switch(j%6){case 0:a=o,l=u,n=e;break;case 1:a=c,l=o,n=e;break;case 2:a=e,l=o,n=u;break;case 3:a=e,l=c,n=o;break;case 4:a=u,l=e,n=o;break;case 5:a=o,l=e,n=c}d.Cf.SR.value=a;d.Cf.SG.value=l;d.Cf.SB.value=n;GC()}function GetCC(){resp+="&CP=";resp+=d.Cf.PF.value;resp+="&CS=";resp+=d.Cf.SF.value;resp+="&CM=";resp+=d.Cf.HF.value;resp+=(d.Cf.SC.checked)?"&CF=1":"&CF=0";resp+=(d.Cf.EC.checked)?"&CE=1":"&CE=0";GIO()}function CV(a){if(sto){CloseSettings()}gId("slA").style.display="none";gId("srgb").style.display="none";gId("shs").style.display="none";gId("slW").style.display="none";gId("tlX").style.display="none";gId("tlP").style.display="none";gId("tlN").style.display="none";if(a<2){if(uwv){gId("slW").style.display="block"}gId("slA").style.display="block"}switch(a){case 0:gId("srgb").style.display="block";lm=0;break;case 1:gId("shs").style.display="block";lm=1;break;case 2:gId("tlP").style.display="block";break;case 3:gId("tlX").style.display="block";break;case 4:gId("tlN").style.display="block"}cv=a;mdb.style.fill=(lm>0)?aC:dC}function rgb2hex(e,c,a){var b=a|(c<<8)|(e<<16);return"#"+(16777216+b).toString(16).slice(1)}function lingrad(e,c,a){return"linear-gradient("+bC+","+rgb2hex(e,c,a)+")"}function UV(){d.body.style.background=lingrad(Cf.SR.value,Cf.SG.value,Cf.SB.value);setHS(Cf.SR.value,Cf.SG.value,Cf.SB.value);fxb.style.fill=(d.Cf.TX.selectedIndex>0)?aC:dC;nlb.style.fill=(nla)?aC:dC;ntb.style.fill=(nla)?aC:dC;switch(nState){case 0:gId("path1").style.fill=dC;gId("path2").style.fill=dC;break;case 1:gId("path1").style.fill=aC;gId("path2").style.fill=dC;break;case 2:gId("path1").style.fill=dC;gId("path2").style.fill=aC;break;case 3:gId("path1").style.fill=aC;gId("path2").style.fill=aC}tgb.style.fill=(Cf.SA.value>0)?aC:dC;ccX.style.display=(Cf.TX.selectedIndex>52)?"block":"none";fof.style.fill=(Cf.TX.selectedIndex>52)?aC:dC;fmr.style.fill=(Cf.TX.selectedIndex<1)?aC:dC}function TgT(){if(Cf.SA.value>0){resp+="&T=0";Cf.SA.value=0}else{resp+="&T=2"}UV();GIO()}function SwFX(a){var b=Cf.TX.selectedIndex+a;Cf.TX.selectedIndex=b;if(b<0){Cf.TX.selectedIndex=0}if(b>57){Cf.TX.selectedIndex=53}GX()}function TgHSB(){if(cv<2){(cv)?CV(0):CV(1)}else{CV(lm)}}function SwitchPS(a){d.Cf.FF.value=parseInt(d.Cf.FF.value)+a;if(d.Cf.FF.value<1){d.Cf.FF.value=1}if(d.Cf.FF.value>25){d.Cf.FF.value=25}}function PSIO(a){if(a){resp+="&PS=";resp+=d.Cf.FF.value}else{if(d.Cf.BC.checked&&d.Cf.CC.checked&&d.Cf.FC.checked){resp+="&PL=";resp+=d.Cf.FF.value}else{if(d.Cf.BC.checked){resp+="&PA=";resp+=d.Cf.FF.value}if(d.Cf.CC.checked){resp+="&PC=";resp+=d.Cf.FF.value}if(d.Cf.FC.checked){resp+="&PX=";resp+=d.Cf.FF.value}}}GIO()}function OpenSettings(){sto=true;stb.style.fill=aC;cdB.style.display="none";stf.style.display="inline";if(sbf){stf.src="/settings"}sbf=false}function CloseSettings(){sto=false;stb.style.fill=dC;cdB.style.display="inline";stf.style.display="none"}function TgS(){if(sto){CloseSettings()}else{OpenSettings()}}function TgNl(){nla=!nla;if(nla){resp+="&NL="+d.Cf.SN.value;resp+="&NT="+d.Cf.ST.value;resp+=(d.Cf.NC.checked)?"&NF=1":"&NF=0"}else{resp+="&NL=0"}UV();GIO()}function TgN(){nState++;if(nState>3){nState=0}switch(nState){case 0:resp+="&SN=0&RN=0";break;case 1:resp+="&SN=0&RN=1";break;case 2:resp+="&SN=1&RN=0";break;case 3:resp+="&SN=1&RN=1"}UV();GIO()}function setHS(){var e,k,j,a=arguments[0]/255,i=arguments[1]/255,l=arguments[2]/255,f,o,n=Math.max(a,i,l),m=n-Math.min(a,i,l),c=function(b){return(n-b)/6/m+1/2};if(m==0){f=o=0}else{o=m/n;e=c(a);k=c(i);j=c(l);if(a===n){f=j-k}else{if(i===n){f=(1/3)+e-j}else{if(l===n){f=(2/3)+k-e}}}if(f<0){f+=1}else{if(f>1){f-=1}}}if(o>0){d.Cf.SH.value=f}d.Cf.SS.value=o}function CS(a){switch(a){case 0:resp+="&SW";break;case 1:resp+="&SB";break;case 2:resp+="&SR=1";break;case 3:resp+="&SP";break;case 4:resp+="&SC";break;case 5:resp+="&SR=0"}GIO()}function uCY(){resp+=(d.Cf.CY.checked)?"&CY=1":"&CY=0";resp+="&P1="+Cf.P1.value;resp+="&P2="+Cf.P2.value;resp+="&PT="+Cf.PT.value;if(d.Cf.BC.checked){resp+="&PA"}if(d.Cf.CC.checked){resp+="&PC"}if(d.Cf.FC.checked){resp+="&PX"}GIO()};function R(){resp+="&PL=0";GIO();}</script>
)=====";

Expand Down Expand Up @@ -78,7 +78,7 @@ Effect Panel<br><br>
<svg id=fmf onclick=SwFX(1)><use xlink:href=#lnr-arrow-right-circle></use></svg>
<svg id=fof onclick=SwFX(99)><use xlink:href=#lnr-rocket></use></svg><br><br>
<select name=TX onchange=GX()>
<option value=0 selected>Static (0)</option>
<option value=0 selected>Solid (0)</option>
<option value=1>Blink (1)</option>
<option value=2>Breath (2)</option>
<option value=3>Wipe (3)</option>
Expand Down
4 changes: 2 additions & 2 deletions wled00/htmls01.h
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ const char PAGE_settings_leds1[] PROGMEM = R"=====(
<div class="helpB"><button type="button" onclick="H()">?</button></div>
<button type="button" onclick="B()">Back</button><button type="submit">Save</button><hr>
<h2>LED setup</h2>
LED count (max. 255): <input name="LC" type="number" min="1" max="255" required><br>
LED count: <input name="LC" type="number" min="1" max="1200" required><br>
LEDs are 4-channel type (RGBW): <input type="checkbox" name="EW"><br>
Apply preset <input name="BP" type="number" min="0" max="25" required> at boot (0 uses defaults)<br>
Default RGB color:
Expand Down Expand Up @@ -335,7 +335,7 @@ HTTP traffic is unencrypted. An attacker in the same network can intercept form
<button type="button" onclick="U()">Manual OTA Update</button><br>
Enable ArduinoOTA: <input type="checkbox" name="AO"><br>
<h3>About</h3>
<a href="https://github.com/Aircoookie/WLED">WLED</a> version 0.6.3<br>
<a href="https://github.com/Aircoookie/WLED">WLED</a> version 0.6.4<br>
(c) 2016-2018 Christian Schwinne <br>
<i>Licensed under the MIT license</i><br><br>
<i>Uses libraries:</i><br>
Expand Down
15 changes: 6 additions & 9 deletions wled00/wled00.ino
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
*/
/*
* @title WLED project sketch
* @version 0.6.3
* @version 0.6.4
* @author Christian Schwinne
*/

Expand Down Expand Up @@ -33,16 +33,13 @@
#include "WS2812FX.h"

//version in format yymmddb (b = daily build)
#define VERSION 1804141
const String versionString = "0.6.3";
#define VERSION 1804151
const String versionString = "0.6.4";

//AP and OTA default passwords (change them!)
String apPass = "wled1234";
String otaPass = "wledota";

//If you have an RGBW strip, also uncomment first line in WS2812FX.h!
bool useRGBW = false;

//spiffs FS only useful for debug (only ESP8266)
//#define USEFS

Expand All @@ -62,7 +59,7 @@ byte currentTheme = 0;
String clientSSID = "Your_Network";
String clientPass = "";
String cmDNS = "led";
byte ledCount = 10; //lowered to prevent accidental overcurrent
uint16_t ledCount = 10; //lowered to prevent accidental overcurrent
String apSSID = ""; //AP off by default (unless setup)
byte apChannel = 1;
byte apHide = 0;
Expand All @@ -72,7 +69,7 @@ IPAddress staticIP(0, 0, 0, 0);
IPAddress staticGateway(0, 0, 0, 0);
IPAddress staticSubnet(255, 255, 255, 0);
IPAddress staticDNS(8, 8, 8, 8); //only for NTP
bool useHSB = true, useHSBDefault = true;
bool useHSB = true, useHSBDefault = true, useRGBW = false;
bool turnOnAtBoot = true;
bool initLedsLast = false;
byte bootPreset = 0;
Expand Down Expand Up @@ -105,7 +102,7 @@ String ntpServerName = "0.wled.pool.ntp.org";
byte ccNumPrimary = 2;
byte ccNumSecondary = 4;
byte ccIndex1 = 0;
byte ccIndex2 = ledCount -1;
uint16_t ccIndex2 = ledCount -1;
bool ccFromStart = true, ccFromEnd = false;
byte ccStep = 1;
byte ccStart = 0;
Expand Down
5 changes: 3 additions & 2 deletions wled00/wled01_eeprom.ino
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ void saveSettingsToEEPROM()
EEPROM.write(226, notifyDirectDefault);
EEPROM.write(227, apChannel);
EEPROM.write(228, apHide);
EEPROM.write(229, ledCount);
EEPROM.write(229, (ledCount >> 0) & 0xFF);
EEPROM.write(230, notifyButton);
EEPROM.write(231, notifyTwice);
EEPROM.write(232, buttonEnabled);
Expand Down Expand Up @@ -147,6 +147,7 @@ void saveSettingsToEEPROM()
EEPROM.write(395, (abs(utcOffsetSecs) >> 8) & 0xFF);
EEPROM.write(396, (utcOffsetSecs<0)); //is negative
EEPROM.write(397, initLedsLast);
EEPROM.write(398, (ledCount >> 8) & 0xFF);

for (int k=0;k<6;k++){
int in = 900+k*8;
Expand Down Expand Up @@ -259,7 +260,7 @@ void loadSettingsFromEEPROM(bool first)
if (apChannel > 13 || apChannel < 1) apChannel = 1;
apHide = EEPROM.read(228);
if (apHide > 1) apHide = 1;
ledCount = EEPROM.read(229);
ledCount = ((EEPROM.read(229) << 0) & 0xFF) + ((EEPROM.read(398) << 8) & 0xFF00); if (ledCount > 1200) ledCount = 10;
notifyButton = EEPROM.read(230);
notifyTwice = EEPROM.read(231);
buttonEnabled = EEPROM.read(232);
Expand Down
17 changes: 14 additions & 3 deletions wled00/wled03_set.ino
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,11 @@ void handleSettingsSet(byte subPage)
if (server.hasArg("LC"))
{
int i = server.arg("LC").toInt();
if (i >= 0 && i <= 1200) ledCount = i;
if (i > 0 && i <= 1200) ledCount = i;
//RMT eats up too much RAM
#ifdef ARDUINO_ARCH_ESP32
if (ledCount > 600) ledCount = 600;
#endif
}
useRGBW = server.hasArg("EW");
if (server.hasArg("IS")) //ignore settings and save current brightness, colors and fx as default
Expand Down Expand Up @@ -230,7 +234,6 @@ void handleSettingsSet(byte subPage)
int i = server.arg("BF").toInt();
if (i > 0) briMultiplier = i;
}
strip.init(useRGBW,ledCount,PIN);
}

//UI
Expand Down Expand Up @@ -378,6 +381,7 @@ void handleSettingsSet(byte subPage)
}
}
saveSettingsToEEPROM();
if (subPage == 2) strip.init(useRGBW,ledCount,PIN);
}

bool handleSet(String req)
Expand Down Expand Up @@ -635,6 +639,8 @@ bool handleSet(String req)
}
}
//toggle nightlight mode
bool aNlDef = false;
if (req.indexOf("&ND") > 0) aNlDef = true;
pos = req.indexOf("NL=");
if (pos > 0)
{
Expand All @@ -644,9 +650,13 @@ bool handleSet(String req)
bri = briT;
} else {
nightlightActive = true;
if (req.indexOf("&ND") <= 0) nightlightDelayMins = req.substring(pos + 3).toInt();
if (!aNlDef) nightlightDelayMins = req.substring(pos + 3).toInt();
nightlightStartTime = millis();
}
} else if (aNlDef)
{
nightlightActive = true;
nightlightStartTime = millis();
}
//set nightlight target brightness
pos = req.indexOf("NT=");
Expand Down Expand Up @@ -715,6 +725,7 @@ bool handleSet(String req)
pos = req.indexOf("CM="); if (pos > 0) {ccStep = (req.substring(pos + 3).toInt()); _cc_updated = true;}
pos = req.indexOf("CF="); if (pos > 0) {ccFromStart = (req.substring(pos + 3).toInt()); _cc_updated = true;}
pos = req.indexOf("CE="); if (pos > 0) {ccFromEnd = (req.substring(pos + 3).toInt()); _cc_updated = true;}
if (ccIndex2 == 255) ccIndex2 = ledCount-1;
if (_cc_updated) strip.setCustomChase(ccIndex1, ccIndex2, ccStart, ccNumPrimary, ccNumSecondary, ccStep, ccFromStart, ccFromEnd);

//set presets
Expand Down
15 changes: 9 additions & 6 deletions wled00/wled05_init.ino
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,18 @@
*/

void wledInit()
{
{
EEPROM.begin(EEPSIZE);
ledCount = ((EEPROM.read(229) << 0) & 0xFF) + ((EEPROM.read(398) << 8) & 0xFF00); if (ledCount > 1200) ledCount = 10;
//RMT eats up too much RAM
#ifdef ARDUINO_ARCH_ESP32
if (ledCount > 600) ledCount = 600;
#endif
if (!EEPROM.read(397)) strip.init(EEPROM.read(372),ledCount,PIN); //quick init

Serial.begin(115200);
Serial.setTimeout(50);

EEPROM.begin(EEPSIZE);
Serial.println("PreStripInit");
if (!EEPROM.read(397)) strip.init(EEPROM.read(372),EEPROM.read(229),PIN); //quick init
Serial.println("PostStripInit");

#ifdef USEFS
SPIFFS.begin();
#endif
Expand Down

0 comments on commit 4c9dc73

Please sign in to comment.