kopia lustrzana https://github.com/Aircoookie/WLED
Release of v0.8.2
Improved settings page scaling on mobile devices Added 2 new effects to web UIspull/81/head
rodzic
ff46e6ea86
commit
6aa47bfd1b
|
@ -2,7 +2,7 @@
|
|||
#ifndef NpbWrapper_h
|
||||
#define NpbWrapper_h
|
||||
|
||||
//#define WORKAROUND_ESP32_BITBANG
|
||||
#define WORKAROUND_ESP32_BITBANG
|
||||
//see https://github.com/Aircoookie/WLED/issues/2 for flicker free ESP32 support
|
||||
|
||||
//PIN CONFIGURATION
|
||||
|
|
|
@ -2207,7 +2207,7 @@ void WS2812FX::handle_palette(void)
|
|||
_segment_index_palette_last = _segment_index;
|
||||
|
||||
byte paletteIndex = SEGMENT.palette;
|
||||
if (SEGMENT.mode == FX_MODE_METEOR && SEGMENT.palette == 0) paletteIndex = 4;
|
||||
if ((SEGMENT.mode >= FX_MODE_METEOR) && SEGMENT.palette == 0) paletteIndex = 4;
|
||||
|
||||
switch (paletteIndex)
|
||||
{
|
||||
|
@ -2652,6 +2652,7 @@ uint16_t WS2812FX::mode_meteor() {
|
|||
return SPEED_FORMULA_L;
|
||||
}
|
||||
|
||||
|
||||
//smooth
|
||||
//front ramping (maybe from get color
|
||||
//50fps
|
||||
|
@ -2659,7 +2660,6 @@ uint16_t WS2812FX::mode_meteor() {
|
|||
//maybe dim to color[1] at end?
|
||||
//_locked 0-15 bg-last 15-240 last-first 240-255 first-bg
|
||||
|
||||
|
||||
#define IS_PART_OF_METEOR 245
|
||||
// smooth meteor effect
|
||||
// send a meteor from begining to to the end of the strip with a trail that randomly decays.
|
||||
|
@ -2668,7 +2668,7 @@ uint16_t WS2812FX::mode_meteor_smooth() {
|
|||
byte meteorSize= 1+ SEGMENT_LENGTH / 10;
|
||||
uint16_t in = map((SEGMENT_RUNTIME.counter_mode_step >> 6 & 0xFF), 0, 255, SEGMENT.start, SEGMENT.stop);
|
||||
|
||||
byte decayProb = SEGMENT.intensity;
|
||||
byte decayProb = 255 - SEGMENT.intensity;
|
||||
|
||||
// fade all leds to colors[1] in LEDs one step
|
||||
for (uint16_t i = SEGMENT.start; i <= SEGMENT.stop; i++) {
|
||||
|
|
|
@ -204,10 +204,10 @@
|
|||
function SwFX(s)
|
||||
{
|
||||
var n=Cf.TX.selectedIndex+s;
|
||||
if (n==-1||n==77) return;
|
||||
if (n==-1||n==79) return;
|
||||
Cf.TX.selectedIndex =n;
|
||||
if (n < 0) Cf.TX.selectedIndex = 0;
|
||||
if (n > 76) Cf.TX.selectedIndex = 65;
|
||||
if (n > 78) Cf.TX.selectedIndex = 65;
|
||||
GX();
|
||||
}
|
||||
function TgHSB()
|
||||
|
@ -674,6 +674,8 @@
|
|||
<option value="74">Colortwinkle (74)</option>
|
||||
<option value="75">Lake (75)</option>
|
||||
<option value="76">Meteor (76)</option>
|
||||
<option value="77">Smooth Meteor (77)</option>
|
||||
<option value="78">Railway (78)</option>
|
||||
</select><br><br>
|
||||
Set secondary color to
|
||||
<button type="button" onclick="CS(0)">White</button>
|
||||
|
@ -746,14 +748,14 @@
|
|||
<svg id="psn" onclick="SwitchPS(1)"><use xlink:href="#lnr-arrow-right-circle"></use></svg>
|
||||
<svg id="pss" onclick="PSIO(true)"><use xlink:href="#lnr-arrow-down-circle"></use></svg>
|
||||
<br><input id="psI" name = "FF" type="number" value="1" min="1" max="25" step="1"><br><br>
|
||||
Click checkmark to apply <input type="checkbox" checked="true" name="BC"> brightness, <input type="checkbox" checked="true" name="CC"> color and <input type="checkbox" checked="true" name="FC"> effects.<br><br>
|
||||
Click checkmark to apply <input type="checkbox" checked name="CC"> color, <input type="checkbox" checked name="FC"> effects and <input type="checkbox" name="BC"> brightness.<br><br>
|
||||
Cycle through presets <input id="cy1" name="P1" type="number" value="1" min="1" max="25" step="1"> to <input id="cy2" name="P2" type="number" value="5" min="1" max="25" step="1">, keep each for <input id="cyT" name="PT" type="number" value="1250" min="50" max="65501" step="1">ms: <input type="checkbox" name="CY" onclick="uCY()"><br><br>
|
||||
<button type="button" onclick="R()">Apply boot config</button><br>
|
||||
</div>
|
||||
<div id="tlN" class="tools">
|
||||
Timed Light<br><br>
|
||||
<svg id="ntb" onclick="TgNl()"><use xlink:href="#lnr-power-switch"></use></svg><br><br>
|
||||
Gradually dim down <input type="checkbox" checked="true" name="NC"><br>
|
||||
Gradually dim down <input type="checkbox" checked name="NC"><br>
|
||||
1st slider sets duration (1-255min), 2nd sets target brightness.
|
||||
<div id="slN" class="sl">
|
||||
<input type="range" title="Duration" class="sds" name="SN" value="60" min="1" max="255" step="1"></div>
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
<meta name="theme-color" content="#333333">
|
||||
<meta content="yes" name="apple-mobile-web-app-capable">
|
||||
<link rel="shortcut icon" href="data:image/x-icon;base64,AAABAAEAEBAAAAEAGACGAAAAFgAAAIlQTkcNChoKAAAADUlIRFIAAAAQAAAAEAgGAAAAH/P/YQAAAE1JREFUOI1j/P//PwOxgNGeAUMxE9G6cQCKDWAhpADZ2f8PMjBS3QW08QK20KaZC2gfC9hCnqouoNgARgY7zMxAyNlUdQHlXiAlO2MDAD63EVqNHAe0AAAAAElFTkSuQmCC"/>
|
||||
<title>WLED 0.8.1</title>
|
||||
<title>WLED 0.8.2</title>
|
||||
<style>
|
||||
*{transition-duration: 0.5s;}
|
||||
body {
|
||||
|
@ -435,7 +435,9 @@
|
|||
<li onclick="X(73)">Noise 16 4</li>
|
||||
<li onclick="X(74)">Colortwinkle</li>
|
||||
<li onclick="X(75)">Lake</li>
|
||||
<li onclick="X(76)">Meteor</li>
|
||||
<li onclick="X(76)">Meteor</li>
|
||||
<li onclick="X(77)">Smooth Meteor</li>
|
||||
<li onclick="X(78)">Railway</li>
|
||||
<li><a href="#">Go to top</a></li>
|
||||
<p style="margin-left:-37px">FastLED Palette (Effects 56-73)</p>
|
||||
<li onclick="P(0)">Default</li>
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
<!DOCTYPE html>
|
||||
<html><head>
|
||||
<meta content='width=device-width' name='viewport'>
|
||||
<title>WLED Message</title>
|
||||
<script>
|
||||
function B() {
|
||||
|
|
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
|
@ -1,6 +1,7 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta content='width=device-width' name='viewport'>
|
||||
<title>WLED Setup</title>
|
||||
<style>
|
||||
:root {
|
||||
|
@ -14,9 +15,7 @@
|
|||
font-family: Verdana, Helvetica, sans-serif;
|
||||
text-align: center;
|
||||
background: linear-gradient(var(--bCol),black);
|
||||
height: 100%;
|
||||
margin: 0;
|
||||
background-repeat: no-repeat;
|
||||
background-attachment: fixed;
|
||||
color: var(--dCol);
|
||||
}
|
||||
|
|
Plik diff jest za duży
Load Diff
2514
wled00/html_mobile.h
2514
wled00/html_mobile.h
Plik diff jest za duży
Load Diff
|
@ -11,7 +11,7 @@ const char PAGE_usermod[] PROGMEM = R"=====(
|
|||
//server message
|
||||
const char PAGE_msg0[] PROGMEM = R"=====(
|
||||
<!DOCTYPE html>
|
||||
<html><head>
|
||||
<html><head><meta content='width=device-width' name='viewport'>
|
||||
<title>WLED Message</title>
|
||||
<script>function B(){window.history.back()};function RS(){window.location = "/settings";}function RP(){top.location.href="/";}</script>
|
||||
)=====";
|
||||
|
@ -27,12 +27,12 @@ button{background:var(--bCol);color:var(--tCol);font-family:var(--cFn),sans-seri
|
|||
#ifndef WLED_DISABLE_MOBILE_UI
|
||||
const char PAGE_welcome0[] PROGMEM = R"=====(
|
||||
<!DOCTYPE html>
|
||||
<html><head>
|
||||
<html><head><meta content='width=device-width' name='viewport'>
|
||||
<title>WLED Welcome!</title>
|
||||
)=====";
|
||||
|
||||
const char PAGE_welcome1[] PROGMEM = R"=====(
|
||||
body{font-family:var(--cFn),sans-serif;text-align:center;background:linear-gradient(var(--bCol),black);height:100%;margin:0;background-repeat:no-repeat;background-attachment: fixed;color: var(--tCol);}svg {fill: var(--dCol);}
|
||||
body{font-family:var(--cFn),sans-serif;text-align:center;background:linear-gradient(var(--bCol),black);margin:0;background-attachment: fixed;color: var(--tCol);}svg {fill: var(--dCol);}
|
||||
</style></head>
|
||||
<body>
|
||||
<svg style="position: absolute; width: 0; height: 0; overflow: hidden;" version="1.1" xmlns="http://www.w3.org/2000/svg">
|
||||
|
|
|
@ -34,7 +34,7 @@ body{text-align:center;background:var(--cCol);height:100%;margin:0;background-at
|
|||
//wifi settings
|
||||
const char PAGE_settings_wifi0[] PROGMEM = R"=====(
|
||||
<!DOCTYPE html>
|
||||
<html><head>
|
||||
<html><head><meta name="viewport" content="width=500">
|
||||
<title>WiFi Settings</title><script>function H(){window.open("https://github.com/Aircoookie/WLED/wiki/Settings#wifi-settings");}function B(){window.history.back();}function GetV(){var d = document;
|
||||
)=====";
|
||||
|
||||
|
@ -83,7 +83,7 @@ AP IP: <span class="sip"> Not active </span><hr>
|
|||
//LED settings
|
||||
const char PAGE_settings_leds0[] PROGMEM = R"=====(
|
||||
<!DOCTYPE html>
|
||||
<html><head>
|
||||
<html><head><meta name="viewport" content="width=500">
|
||||
<title>LED Settings</title><script>function H(){window.open("https://github.com/Aircoookie/WLED/wiki/Settings#led-settings");}function B(){window.history.back();}function S(){GetV();UI();}function UI(){
|
||||
var myC=document.querySelectorAll('.wc'),l=myC.length;
|
||||
for (i = 0; i < l; i++){myC[i].style.display=(document.getElementById('rgbw').checked)?'inline':'none';}
|
||||
|
@ -106,7 +106,7 @@ LED count: <input name="LC" type="number" min="1" max="1200" oninput=UI() requir
|
|||
<b><span id="psu">?</span></b><br><br>
|
||||
Maximum Current: <input name="MA" type="number" min="250" max="65000" required> mA<br>
|
||||
<i>Automatically limits brightness to stay close to the limit.<br>
|
||||
Keep at under 1A if powering LEDs directly from the ESP 5V pin!<br>
|
||||
Keep at <1A if powering LEDs directly from the ESP 5V pin!<br>
|
||||
If you are using an external 5V supply, enter its rating.<br>
|
||||
"65000" completely diasbles the power calculation.<br>
|
||||
(Current estimated usage: <span class="pow">unknown</span>)</i><br><br>
|
||||
|
@ -171,7 +171,7 @@ Skip first LED: <input type="checkbox" name="SL"><hr>
|
|||
//User Interface settings
|
||||
const char PAGE_settings_ui0[] PROGMEM = R"=====(
|
||||
<!DOCTYPE html>
|
||||
<html><head>
|
||||
<html><head><meta name="viewport" content="width=500">
|
||||
<title>UI Settings</title><script>
|
||||
function gId(s){return document.getElementById(s);}function S(){GetV();Ct();}function H(){window.open("https://github.com/Aircoookie/WLED/wiki/Settings#user-interface-settings");}function B(){window.history.back();}function Ct(){if (gId("co").selected){gId("cth").style.display="block";}else{gId("cth").style.display="none";}}function GetV(){var d = document;
|
||||
)=====";
|
||||
|
@ -231,7 +231,7 @@ Make sure the font you use is installed on your system!<br>
|
|||
//sync settings
|
||||
const char PAGE_settings_sync0[] PROGMEM = R"=====(
|
||||
<!DOCTYPE html>
|
||||
<html><head><title>Sync Settings</title>
|
||||
<html><head><meta name="viewport" content="width=500"><title>Sync Settings</title>
|
||||
<script>function H(){window.open("https://github.com/Aircoookie/WLED/wiki/Settings#sync-settings");}function B(){window.open("/settings","_self");}function GetV(){var d = document;
|
||||
)=====";
|
||||
|
||||
|
@ -269,6 +269,10 @@ Enable UI access during realtime: <input type="checkbox" name="RU"> (can cause i
|
|||
Emulate Alexa device: <input type="checkbox" name="AL"><br>
|
||||
Alexa invocation name: <input name="AI" maxlength="32">
|
||||
<h3>Blynk</h3>
|
||||
<b>Blynk, MQTT and Hue sync all connect to external hosts!<br>
|
||||
This impacts the responsiveness of the ESP8266.</b><br>
|
||||
For best results, only use one of these services at a time.<br>
|
||||
(alternatively, connect a second ESP to them and use the UDP sync)<br><br>
|
||||
Device Auth token: <input name="BK" maxlength="33"><br>
|
||||
<i>Clear the token field to disable. </i><a href="https://github.com/Aircoookie/WLED/wiki/Blynk" target="_blank">Setup info</a>
|
||||
<h3>MQTT</h3>
|
||||
|
@ -298,7 +302,7 @@ Hue status: <span class="hms"> Internal ESP Error! </span><hr>
|
|||
//time and macro settings
|
||||
const char PAGE_settings_time0[] PROGMEM = R"=====(
|
||||
<!DOCTYPE html>
|
||||
<html><head><title>Time Settings</title>
|
||||
<html><head><meta name="viewport" content="width=500"><title>Time Settings</title>
|
||||
<script>function H(){window.open("https://github.com/Aircoookie/WLED/wiki/Settings#time-settings");}function B(){window.open("/settings","_self");}function S(){GetV();Cs();}function gId(s){return document.getElementById(s);}function Cs(){gId("cac").style.display="none";gId("coc").style.display="block";gId("ccc").style.display="none";if (gId("ca").selected){gId("cac").style.display="block";}if (gId("cc").selected){gId("coc").style.display="none";gId("ccc").style.display="block";}if (gId("cn").selected){gId("coc").style.display="none";}}function GetV(){var d = document;
|
||||
)=====";
|
||||
|
||||
|
@ -350,7 +354,8 @@ Cronixie Display: <input name="CX" maxlength="6"><br>
|
|||
Cronixie Backlight: <input type="checkbox" name="CB"><br>
|
||||
</div>
|
||||
Countdown Mode: <input type="checkbox" name="CE"><br>
|
||||
Countdown Goal: Year: 20 <input name="CY" type="number" min="0" max="99" required> Month: <input name="CI" type="number" min="1" max="12" required> Day: <input name="CD" type="number" min="1" max="31" required><br>
|
||||
Countdown Goal:<br>
|
||||
Year: 20 <input name="CY" type="number" min="0" max="99" required> Month: <input name="CI" type="number" min="1" max="12" required> Day: <input name="CD" type="number" min="1" max="31" required><br>
|
||||
Hour: <input name="CH" type="number" min="0" max="23" required> Minute: <input name="CM" type="number" min="0" max="59" required> Second: <input name="CS" type="number" min="0" max="59" required><br>
|
||||
<h3>Advanced Macros</h3>
|
||||
Define API macros here:<br>
|
||||
|
@ -403,7 +408,7 @@ Time-Controlled Macros (Hours/Minutes > Macro):<br>
|
|||
//security settings and about
|
||||
const char PAGE_settings_sec0[] PROGMEM = R"=====(
|
||||
<!DOCTYPE html>
|
||||
<html><head>
|
||||
<html><head><meta name="viewport" content="width=500">
|
||||
<title>Misc Settings</title>
|
||||
<script>function H(){window.open("https://github.com/Aircoookie/WLED/wiki/Settings#security-settings");}function B(){window.open("/settings","_self");}function U(){window.open("/update","_self");}function GetV(){var d = document;
|
||||
)=====";
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
*/
|
||||
/*
|
||||
* @title WLED project sketch
|
||||
* @version 0.8.2-dev
|
||||
* @version 0.8.2
|
||||
* @author Christian Schwinne
|
||||
*/
|
||||
|
||||
|
@ -14,14 +14,14 @@
|
|||
//Uncomment some of the following lines to disable features to compile for ESP8266-01 (max flash size 434kB):
|
||||
|
||||
//You are required to disable over-the-air updates:
|
||||
//#define WLED_DISABLE_OTA
|
||||
#define WLED_DISABLE_OTA
|
||||
|
||||
//You need to choose 1-2 of these features to disable:
|
||||
//#define WLED_DISABLE_ALEXA
|
||||
//#define WLED_DISABLE_BLYNK
|
||||
//#define WLED_DISABLE_CRONIXIE
|
||||
//#define WLED_DISABLE_HUESYNC
|
||||
//#define WLED_DISABLE_INFRARED
|
||||
#define WLED_DISABLE_HUESYNC
|
||||
#define WLED_DISABLE_INFRARED //there is no pin left for this on ESP8266-01
|
||||
//#define WLED_DISABLE_MOBILE_UI
|
||||
|
||||
//to toggle usb serial debug (un)comment following line(s)
|
||||
|
@ -74,8 +74,8 @@
|
|||
|
||||
|
||||
//version code in format yymmddb (b = daily build)
|
||||
#define VERSION 1812033
|
||||
char versionString[] = "0.8.2-dev";
|
||||
#define VERSION 1812052
|
||||
char versionString[] = "0.8.2";
|
||||
|
||||
|
||||
//AP and OTA default passwords (for maximum change them!)
|
||||
|
@ -347,7 +347,7 @@ bool presetCyclingEnabled = false;
|
|||
byte presetCycleMin = 1, presetCycleMax = 5;
|
||||
uint16_t presetCycleTime = 1250;
|
||||
unsigned long presetCycledTime = 0; byte presetCycCurr = presetCycleMin;
|
||||
bool presetApplyBri = true, presetApplyCol = true, presetApplyFx = true;
|
||||
bool presetApplyBri = false, presetApplyCol = true, presetApplyFx = true;
|
||||
bool saveCurrPresetCycConf = false;
|
||||
|
||||
//realtime
|
||||
|
|
|
@ -357,8 +357,6 @@ void loadSettingsFromEEPROM(bool first)
|
|||
effectPaletteDefault = EEPROM.read(373); effectPalette = effectPaletteDefault;
|
||||
//374 - strip.paletteFade
|
||||
|
||||
irEnabled = EEPROM.read(385);
|
||||
|
||||
if (lastEEPROMversion > 0) {
|
||||
apWaitTimeSecs = EEPROM.read(375);
|
||||
recoveryAPDisabled = EEPROM.read(376);
|
||||
|
@ -456,14 +454,17 @@ void loadSettingsFromEEPROM(bool first)
|
|||
readStringFromEEPROM(2300, mqttServer, 32);
|
||||
readStringFromEEPROM(2333, mqttDeviceTopic, 32);
|
||||
readStringFromEEPROM(2366, mqttGroupTopic, 32);
|
||||
strip.colorOrder = EEPROM.read(383);
|
||||
}
|
||||
|
||||
if (lastEEPROMversion > 9)
|
||||
{
|
||||
strip.colorOrder = EEPROM.read(383);
|
||||
irEnabled = EEPROM.read(385);
|
||||
strip.ablMilliampsMax = EEPROM.read(387) + ((EEPROM.read(388) << 8) & 0xFF00);
|
||||
} else
|
||||
} else if (lastEEPROMversion > 1) //ABL is off by default when updating from version older than 0.8.2
|
||||
{
|
||||
strip.ablMilliampsMax = 65000;
|
||||
} else {
|
||||
strip.ablMilliampsMax = ABL_MILLIAMPS_DEFAULT;
|
||||
}
|
||||
|
||||
|
|
|
@ -231,6 +231,12 @@ void getBuildInfo()
|
|||
oappendi(VERSION);
|
||||
oappend("\r\neepver: ");
|
||||
oappendi(EEPVER);
|
||||
oappend("\r\nesp-core: ");
|
||||
#ifdef ARDUINO_ARCH_ESP32
|
||||
oappend((char*)ESP.getSdkVersion());
|
||||
#else
|
||||
oappend((char*)ESP.getCoreVersion().c_str());
|
||||
#endif
|
||||
oappend("\r\nopt: ");
|
||||
#ifndef WLED_DISABLE_ALEXA
|
||||
oappend("alexa ");
|
||||
|
@ -265,7 +271,7 @@ void getBuildInfo()
|
|||
oappend("\r\nstrip-pin: gpio");
|
||||
oappendi(LEDPIN);
|
||||
oappend("\r\nbrand: wled");
|
||||
oappend("\r\nbuild-type: dev\r\n");
|
||||
oappend("\r\nbuild-type: src\r\n");
|
||||
}
|
||||
|
||||
|
||||
|
|
Ładowanie…
Reference in New Issue