Remove FS defines

Increase boot preset max. to 250
Update changelog
Update readme
This commit is contained in:
cschwinne 2020-11-15 15:45:51 +01:00
parent 76f4c49e22
commit 595fd9377c
10 changed files with 1732 additions and 1715 deletions

View File

@ -2,6 +2,32 @@
### Development versions after the 0.10.2 release
#### Build 2011152
- Version bump to 0.11.0p "Mirai"
- Increased max. num of segments to 12 (ESP8266) / 16 (ESP32)
- Up to 250 presets stored in the `presets.json` file in filesystem
- Complete overhaul of the Presets UI tab
- Updated iro.js to v5 (fixes black color wheel)
- Added white temperature slider to color wheel
- Add JSON settings serialization/deserialization to cfg.json and wsec.json
- Playlist support - JSON only for now
- New v2 usermod methods `addToConfig()` and `readFromConfig()` (see EXAMPLE_v2 for doc)
- Added Ethernet support for ESP32 (PR #1316)
- IP addresses are now handled by the `Network` class
- New `esp32_poe` PIO environment
- Use EspAsyncWebserver Aircoookie fork v.2.0.0 (hiding wsec.json)
- Removed `WLED_DISABLE_FILESYSTEM` and `WLED_ENABLE_FS_SERVING` defines as they are now required
- Added pin manager
- UI performance improvements (no drop shadows)
- More explanatory error messages in UI
- Improved candle brightness
- Return remaining nightlight time `nl.rem` in JSON API (PR #1302)
- Added gamma calculation (yet unused)
- Added LED type definitions to const.h (yet unused)
- Removed `NP` and `MS=` macro HTTP API commands
- Removed macros from Time settings
#### Build 2011120
- Added the ability for the /api MQTT topic to receive JSON API payloads

View File

@ -21,19 +21,20 @@ A fast and feature-rich implementation of an ESP8266/ESP32 webserver to control
- Settings page - configuration over network
- Access Point and station mode - automatic failsafe AP
- Support for RGBW strips
- 16 user presets to save and load colors/effects easily, supports cycling through them.
- Macro functions to automatically execute API calls
- Up to 250 user presets to save and load colors/effects easily, supports cycling through them.
- Presets can be used to automatically execute API calls
- Nightlight function (gradually dims down)
- Full OTA software updatability (HTTP + ArduinoOTA), password protectable
- Configurable analog clock + support for the Cronixie kit by Diamex
- Configurable Auto Brightness limit for safer operation
- Filesystem-based config for easier backup of presets and settings
## 💡 Supported light control interfaces
- WLED app for [Android](https://play.google.com/store/apps/details?id=com.aircoookie.WLED) and [iOS](https://apps.apple.com/us/app/wled/id1475695033)
- JSON and HTTP request APIs
- MQTT
- Blynk IoT
- E1.31, Art-Net and TPM2.net
- E1.31, Art-Net, DDP and TPM2.net
- [Hyperion](https://github.com/hyperion-project/hyperion.ng)
- UDP realtime
- Alexa voice control (including dimming and color)

View File

@ -204,7 +204,6 @@ button {
.tab {
background-color: transparent;
color: var(--c-d);
/*filter: drop-shadow(0px 0px 0px #111);*/
}
.bot {
@ -511,7 +510,6 @@ input[type=range]::-moz-range-thumb {
#picker {
margin: 10px auto;
width: 260px;
/*filter: drop-shadow(0px 0px 1px #000);*/
}
#rgbwrap {
@ -527,7 +525,6 @@ input[type=range]::-moz-range-thumb {
color: var(--c-f);
border: 0px solid white;
border-radius: 25px;
/*filter: drop-shadow(0px 0px 1px #000);*/
transition-duration: 0.5s;
-webkit-backface-visibility: hidden;
-webkit-transform:translate3d(0,0,0);
@ -838,7 +835,6 @@ input[type=number]::-webkit-outer-spin-button {
color: var(--c-f);
border: 0px solid white;
border-radius: 20px;
/*filter: drop-shadow(0px 0px 1px #000);*/
text-align: left;
transition: background-color 0.5s;
}
@ -1367,7 +1363,8 @@ function getLowestUnusedP()
for (var key in pJson)
{
if (key == l) l++;
}
}
if (l > 250) l = 250;
return l;
}
@ -2005,7 +2002,7 @@ function makeP(i) {
<span class="checkmark schk"></span>
</label>
</div>
<div class="c">Save to ID <input class="noslide" id="p${i}id" type="number" oninput="checkUsed(${i})" min=1 value=${(i>0)?i:getLowestUnusedP()}></div>
<div class="c">Save to ID <input class="noslide" id="p${i}id" type="number" oninput="checkUsed(${i})" max=250 min=1 value=${(i>0)?i:getLowestUnusedP()}></div>
<div class="c">
<button class="btn btn-i btn-p" onclick="saveP(${i})"><i class="icons btn-icon">&#xe390;</i>${(i>0)?"Save changes":"Save preset"}</button>
${(i>0)?'<button class="btn btn-i btn-p" onclick="delP('+i+')"><i class="icons btn-icon">&#xe037;</i>Delete preset</button>':

View File

@ -151,7 +151,7 @@
<h3>Defaults</h3>
Turn LEDs on after power up/reset: <input type="checkbox" name="BO"><br>
Default brightness: <input name="CA" type="number" min="0" max="255" required> (0-255)<br><br>
Apply preset <input name="BP" type="number" min="0" max="16" required> at boot (0 uses defaults)
Apply preset <input name="BP" type="number" min="0" max="250" required> at boot (0 uses defaults)
<br>- <i>or</i> -<br>
Set current preset cycle setting as boot default: <input type="checkbox" name="PC"><br><br>
Use Gamma correction for color: <input type="checkbox" name="GC"> (strongly recommended)<br>

View File

@ -4,8 +4,6 @@
* Utility for SPIFFS filesystem
*/
#ifndef WLED_DISABLE_FILESYSTEM
#ifdef ARDUINO_ARCH_ESP32 //FS info bare IDF function until FS wrapper is available for ESP32
#if WLED_FS != LITTLEFS
#include "esp_spiffs.h"
@ -375,9 +373,8 @@ void updateFSInfo() {
fsBytesTotal = fsi.totalBytes;
#endif
}
#endif
#if !defined WLED_DISABLE_FILESYSTEM && defined WLED_ENABLE_FS_SERVING
//Un-comment any file types you need
String getContentType(AsyncWebServerRequest* request, String filename){
if(request->hasArg("download")) return "application/octet-stream";
@ -413,7 +410,3 @@ bool handleFileRead(AsyncWebServerRequest* request, String path){
}
return false;
}
#else
bool handleFileRead(AsyncWebServerRequest*, String path){return false;}
#endif

View File

@ -109,8 +109,8 @@ value="3">RBG</option><option value="4">BGR</option><option value="5">GBR
</option></select><h3>Defaults</h3>Turn LEDs on after power up/reset: <input
type="checkbox" name="BO"><br>Default brightness: <input name="CA"
type="number" min="0" max="255" required> (0-255)<br><br>Apply preset <input
name="BP" type="number" min="0" max="16" required> at boot (0 uses defaults)<br>
- <i>or</i> -<br>Set current preset cycle setting as boot default: <input
name="BP" type="number" min="0" max="250" required> at boot (0 uses defaults)
<br>- <i>or</i> -<br>Set current preset cycle setting as boot default: <input
type="checkbox" name="PC"><br><br>Use Gamma correction for color: <input
type="checkbox" name="GC"> (strongly recommended)<br>
Use Gamma correction for brightness: <input type="checkbox" name="GB">

File diff suppressed because it is too large Load Diff

View File

@ -323,6 +323,11 @@ void WLED::beginStrip()
#endif
if (bootPreset > 0) applyPreset(bootPreset);
if (turnOnAtBoot) {
bri = (briS > 0) ? briS : 128;
} else {
briLast = briS; bri = 0;
}
colorUpdated(NOTIFIER_CALL_MODE_INIT);
// init relay pin

View File

@ -35,9 +35,7 @@
#define WLED_ENABLE_WEBSOCKETS
#endif
//#define WLED_DISABLE_FILESYSTEM // FS used by new preset functionality
#define WLED_ENABLE_FS_SERVING // Enable sending html file from SPIFFS before serving progmem version
#define WLED_ENABLE_FS_EDITOR // enable /edit page for editing SPIFFS content. Will also be disabled with OTA lock
#define WLED_ENABLE_FS_EDITOR // enable /edit page for editing FS content. Will also be disabled with OTA lock
// to toggle usb serial debug (un)comment the following line
//#define WLED_DEBUG

View File

@ -124,7 +124,7 @@ void initServer()
//if OTA is allowed
if (!otaLock){
#if !defined WLED_DISABLE_FILESYSTEM && defined WLED_ENABLE_FS_EDITOR
#ifdef WLED_ENABLE_FS_EDITOR
#ifdef ARDUINO_ARCH_ESP32
server.addHandler(new SPIFFSEditor(WLED_FS));//http_username,http_password));
#else
@ -216,9 +216,7 @@ void initServer()
#ifndef WLED_DISABLE_ALEXA
if(espalexa.handleAlexaApiCall(request)) return;
#endif
#ifdef WLED_ENABLE_FS_SERVING
if(handleFileRead(request, request->url())) return;
#endif
request->send(404, "text/plain", "Not Found");
});
}
@ -236,9 +234,7 @@ void serveIndexOrWelcome(AsyncWebServerRequest *request)
void serveIndex(AsyncWebServerRequest* request)
{
#ifdef WLED_ENABLE_FS_SERVING
if (handleFileRead(request, "/index.htm")) return;
#endif
AsyncWebServerResponse *response = request->beginResponse_P(200, "text/html", PAGE_index, PAGE_index_L);