Release v0.8.5

This commit is contained in:
cschwinne 2019-09-12 12:40:06 +02:00
parent a3e28d3c66
commit 705fd4dafd
8 changed files with 42 additions and 30 deletions

View File

@ -21,7 +21,7 @@ upload_speed = 115200
upload_speed_fast = 921600 upload_speed_fast = 921600
build_flags = build_flags =
-w ; supresses all C/C++ warnings -w ; supresses all C/C++ warnings
; -D VERSION=0.8.4 ; -D VERSION=0.8.5
; -D DEBUG ; -D DEBUG
# TODO replace libs in /lib with managed libs in here if possible. # TODO replace libs in /lib with managed libs in here if possible.
# If they are not changed it's just a matter of setting the correct version and change the import statement # If they are not changed it's just a matter of setting the correct version and change the import statement
@ -29,7 +29,7 @@ lib_deps_external =
#Blynk@0.5.4(changed) #Blynk@0.5.4(changed)
#E131@1.0.0(changed) #E131@1.0.0(changed)
FastLED@3.2.6 FastLED@3.2.6
NeoPixelBus@2.4.3 NeoPixelBus@2.5.1
ESPAsyncTCP@1.2.0 ESPAsyncTCP@1.2.0
AsyncTCP@1.0.3 AsyncTCP@1.0.3
Esp Async WebServer@1.2.0 Esp Async WebServer@1.2.0
@ -56,10 +56,11 @@ arduino_core_2_4_0 = espressif8266@1.6.0
arduino_core_2_4_1 = espressif8266@1.7.3 arduino_core_2_4_1 = espressif8266@1.7.3
arduino_core_2_4_2 = espressif8266@1.8.0 arduino_core_2_4_2 = espressif8266@1.8.0
arduino_core_2_5_0 = espressif8266@2.0.4 arduino_core_2_5_0 = espressif8266@2.0.4
arduino_core_2_5_2 = espressif8266@2.2.3
arduino_core_stage = https://github.com/platformio/platform-espressif8266.git#feature/stage arduino_core_stage = https://github.com/platformio/platform-espressif8266.git#feature/stage
platform = ${common:esp8266.arduino_core_2_5_0} platform = ${common:esp8266.arduino_core_2_5_2}
build_flags = build_flags =
-D PIO_FRAMEWORK_ARDUINO_LWIP2_HIGHER_BANDWIDTH -D PIO_FRAMEWORK_ARDUINO_LWIP_HIGHER_BANDWIDTH
-Wl,-Teagle.flash.4m1m.ld ;;;; Required for core > v2.5.0 or staging version 4MB Flash 3MB SPIFFs -Wl,-Teagle.flash.4m1m.ld ;;;; Required for core > v2.5.0 or staging version 4MB Flash 3MB SPIFFs
[common:esp8266_1M] [common:esp8266_1M]

View File

@ -104,7 +104,6 @@ void WS2812FX::setPixelColor(uint16_t n, uint32_t c) {
void WS2812FX::setPixelColor(uint16_t i, byte r, byte g, byte b, byte w) void WS2812FX::setPixelColor(uint16_t i, byte r, byte g, byte b, byte w)
{ {
if (_locked[i] && !_modeUsesLock) return; if (_locked[i] && !_modeUsesLock) return;
if (reverseMode) i = _length -1 -i;
if (IS_REVERSE) i = SEGMENT.stop -1 -i - SEGMENT.start; //reverse just individual segment if (IS_REVERSE) i = SEGMENT.stop -1 -i - SEGMENT.start; //reverse just individual segment
byte tmpg = g; byte tmpg = g;
switch (colorOrder) //0 = Grb, default switch (colorOrder) //0 = Grb, default
@ -116,6 +115,7 @@ void WS2812FX::setPixelColor(uint16_t i, byte r, byte g, byte b, byte w)
} }
if (!_cronixieMode) if (!_cronixieMode)
{ {
if (reverseMode) i = _length -1 -i;
if (_skipFirstMode) if (_skipFirstMode)
{ {
if (i < LED_SKIP_AMOUNT) bus->SetPixelColor(i, RgbwColor(0,0,0,0)); if (i < LED_SKIP_AMOUNT) bus->SetPixelColor(i, RgbwColor(0,0,0,0));

View File

@ -1,27 +1,39 @@
<!DOCTYPE html> <!DOCTYPE html>
<html> <html>
<head> <head>
<meta charset="utf-8">
<meta content='width=device-width' name='viewport'> <meta content='width=device-width' name='viewport'>
<meta name="theme-color" content="#333333">
<title>WLED Setup</title> <title>WLED Setup</title>
<style> <style>
:root {
--aCol: #D9B310;
--bCol: #0B3C5D;
--cCol: #1D2731;
--dCol: #328CC1;
--sCol: #000;
}
body { body {
font-family: Verdana, Helvetica, sans-serif; font-family: Verdana, Helvetica, sans-serif;
text-align: center; text-align: center;
background: linear-gradient(var(--bCol),black); background-color: #333;
margin: 0; margin: 0;
background-attachment: fixed; color: #fff;
color: var(--dCol);
} }
button {
outline: none;
cursor: pointer;
}
.btn {
padding: 8px;
margin: 10px;
width: 230px;
text-transform: uppercase;
font-family: helvetica;
font-size: 19px;
background-color: #222;
color: white;
border: 0px solid white;
border-radius: 5px;
}
svg { svg {
fill: var(--dCol); fill: #fff;
} }
</style> </style>
</head> </head>
@ -34,10 +46,12 @@
<svg><use xlink:href="#lnr-smile"></use></svg> <svg><use xlink:href="#lnr-smile"></use></svg>
<h1>Welcome to WLED!</h1> <h1>Welcome to WLED!</h1>
<h3>Thank you for installing my application!</h3> <h3>Thank you for installing my application!</h3>
Take a quick look at the <a href="https://github.com/Aircoookie/WLED/wiki" target="_blank">wiki</a>!<br>
If you encounter a bug or have a question/feature suggestion, feel free to open a GitHub issue!<br><br> If you encounter a bug or have a question/feature suggestion, feel free to open a GitHub issue!<br><br>
<b>Next steps:</b><br><br> <b>Next steps:</b><br><br>
Connect the module to your local WiFi <a href="/settings/wifi">here</a>!<br><br> Connect the module to your local WiFi here!<br>
<i>Just trying this out in AP mode?</i> <a href="/sliders">Here are the controls.</a><br> <button class="btn" onclick="window.location.href='/settings/wifi'">WiFi settings</button><br>
<i>Just trying this out in AP mode?</i><br>
<button class="btn" onclick="window.location.href='/sliders'">To the controls!</button>
</body> </body>
</html> </html>

View File

@ -400,7 +400,7 @@ HTTP traffic is unencrypted. An attacker in the same network can intercept form
<button type="button" onclick="U()">Manual OTA Update</button><br> <button type="button" onclick="U()">Manual OTA Update</button><br>
Enable ArduinoOTA: <input type="checkbox" name="AO"><br> Enable ArduinoOTA: <input type="checkbox" name="AO"><br>
<h3>About</h3> <h3>About</h3>
<a href="https://github.com/Aircoookie/WLED" target="_blank">WLED</a> version 0.8.4<br><br> <a href="https://github.com/Aircoookie/WLED" target="_blank">WLED</a> version 0.8.5<br><br>
<a href="https://github.com/Aircoookie/WLED/wiki/Contributors-&-About" target="_blank">Contributors, dependencies and special thanks</a><br> <a href="https://github.com/Aircoookie/WLED/wiki/Contributors-&-About" target="_blank">Contributors, dependencies and special thanks</a><br>
A huge thank you to everyone who helped me create WLED!<br><br> A huge thank you to everyone who helped me create WLED!<br><br>
(c) 2016-2019 Christian Schwinne <br> (c) 2016-2019 Christian Schwinne <br>

View File

@ -98,8 +98,8 @@
//version code in format yymmddb (b = daily build) //version code in format yymmddb (b = daily build)
#define VERSION 1908303 #define VERSION 1909122
char versionString[] = "0.8.5-dev"; char versionString[] = "0.8.5";
//AP and OTA default passwords (for maximum change them!) //AP and OTA default passwords (for maximum change them!)

View File

@ -251,5 +251,6 @@ bool checkClientIsMobile(String useragent)
if (useragent.indexOf("Android") >= 0) return true; if (useragent.indexOf("Android") >= 0) return true;
if (useragent.indexOf("iPhone") >= 0) return true; if (useragent.indexOf("iPhone") >= 0) return true;
if (useragent.indexOf("iPod") >= 0) return true; if (useragent.indexOf("iPod") >= 0) return true;
if (useragent.indexOf("iPad") >= 0) return true;
return false; return false;
} }

View File

@ -15,6 +15,7 @@ bool isIp(String str) {
bool captivePortal(AsyncWebServerRequest *request) bool captivePortal(AsyncWebServerRequest *request)
{ {
if (ON_STA_FILTER(request)) return false; //only serve captive in AP mode
String hostH; String hostH;
if (!request->hasHeader("Host")) return false; if (!request->hasHeader("Host")) return false;
hostH = request->getHeader("Host")->value(); hostH = request->getHeader("Host")->value();
@ -22,7 +23,7 @@ bool captivePortal(AsyncWebServerRequest *request)
if (!isIp(hostH) && hostH.indexOf("wled.me") < 0 && hostH.indexOf(cmDNS) < 0) { if (!isIp(hostH) && hostH.indexOf("wled.me") < 0 && hostH.indexOf(cmDNS) < 0) {
DEBUG_PRINTLN("Captive portal"); DEBUG_PRINTLN("Captive portal");
AsyncWebServerResponse *response = request->beginResponse(302); AsyncWebServerResponse *response = request->beginResponse(302);
response->addHeader("Location", "http://local.wled.me"); response->addHeader("Location", "http://4.3.2.1");
request->send(response); request->send(response);
return true; return true;
} }
@ -192,11 +193,6 @@ void initServer()
serveIndexOrWelcome(request); serveIndexOrWelcome(request);
}); });
/*server.on("/generate_204", HTTP_GET, [](AsyncWebServerRequest *request){
//if (captivePortal(request)) return;
serveIndexOrWelcome(request);
});*/
//called when the url is not defined here, ajax-in; get-settings //called when the url is not defined here, ajax-in; get-settings
server.onNotFound([](AsyncWebServerRequest *request){ server.onNotFound([](AsyncWebServerRequest *request){
DEBUG_PRINTLN("Not-Found HTTP call:"); DEBUG_PRINTLN("Not-Found HTTP call:");
@ -376,7 +372,7 @@ void serveSettings(AsyncWebServerRequest* request)
case 4: request->send_P(200, "text/html", PAGE_settings_sync, settingsProcessor); break; case 4: request->send_P(200, "text/html", PAGE_settings_sync, settingsProcessor); break;
case 5: request->send_P(200, "text/html", PAGE_settings_time, settingsProcessor); break; case 5: request->send_P(200, "text/html", PAGE_settings_time, settingsProcessor); break;
case 6: request->send_P(200, "text/html", PAGE_settings_sec , settingsProcessor); break; case 6: request->send_P(200, "text/html", PAGE_settings_sec , settingsProcessor); break;
case 255: request->send_P(200, "text/html", PAGE_welcome , settingsProcessor); break; case 255: request->send_P(200, "text/html", PAGE_welcome); break;
default: request->send_P(200, "text/html", PAGE_settings , settingsProcessor); default: request->send_P(200, "text/html", PAGE_settings , settingsProcessor);
} }
} }

View File

@ -222,7 +222,7 @@ void serializeInfo(JsonObject root)
root["brand"] = "WLED"; root["brand"] = "WLED";
root["product"] = "DIY light"; root["product"] = "DIY light";
root["btype"] = "dev"; root["btype"] = "src";
root["mac"] = escapedMac; root["mac"] = escapedMac;
} }