diff --git a/CHANGELOG.md b/CHANGELOG.md index 7cbda3f6..eed54e7b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,32 @@ ### Development versions after 0.11.1 release +#### Build 2103060 + +- Auto start field population in bus config + +#### Build 2103050 + +- Fixed incorrect over-memory indication in LED settings on ESP32 + +#### Build 2103041 + +- Added destructor for BusPwm (fixes #1789) + +#### Build 2103040 + +- Fixed relay mode inverted when upgrading from 0.11.0 +- Fixed no more than 2 pins per bus configurable in UI +- Changed to non-linear IR brightness steps (PR #1742) +- Fixed various warnings (PR #1744) +- Added UDP DNRGBW Mode (PR #1704) +- Added dynamic LED mapping with ledmap.json file (PR #1738) +- Added support for QuinLED-ESP32-Ethernet board +- Added support for WESP32 ethernet board (PR #1764) +- Added Caching for main UI (PR #1704) +- Added Tetrix mode (PR #1729) +- Added memory check on Bus creation + #### Build 2102050 - Version bump to 0.12.0-a0 "Hikari" diff --git a/wled00/bus_manager.h b/wled00/bus_manager.h index d38e4092..73d483e2 100644 --- a/wled00/bus_manager.h +++ b/wled00/bus_manager.h @@ -55,7 +55,6 @@ class Bus { virtual void cleanup() {}; virtual ~Bus() { //throw the bus under the bus - //Serial.println("Destructor!"); } virtual uint8_t getPins(uint8_t* pinArray) { return 0; } @@ -243,10 +242,6 @@ class BusPwm : public Bus { _valid = true; }; - ~BusPwm() { - cleanup(); - } - void setPixelColor(uint16_t pix, uint32_t c) { if (pix != 0 || !_valid) return; //only react to first pixel uint8_t r = c >> 16; @@ -309,6 +304,10 @@ class BusPwm : public Bus { deallocatePins(); } + ~BusPwm() { + cleanup(); + } + private: uint8_t _pins[5] = {255, 255, 255, 255, 255}; uint8_t _data[5] = {255, 255, 255, 255, 255}; diff --git a/wled00/cfg.cpp b/wled00/cfg.cpp index 8744851d..8fd25088 100644 --- a/wled00/cfg.cpp +++ b/wled00/cfg.cpp @@ -30,8 +30,8 @@ void deserializeConfig() { return; } - //int rev_major = doc[F("rev")][0]; // 1 - //int rev_minor = doc[F("rev")][1]; // 0 + //int rev_major = doc["rev"][0]; // 1 + //int rev_minor = doc["rev"][1]; // 0 //long vid = doc[F("vid")]; // 2010020 @@ -127,7 +127,7 @@ void deserializeConfig() { //(this shouldn't have been in ins obj. but remains here for compatibility) skipFirstLed |= skipFirst = (bool) elm[F("skip")]; uint8_t ledType = elm[F("type")] | TYPE_WS2812_RGB; - bool reversed = elm[F("rev")]; + bool reversed = elm["rev"]; //RGBW mode is enabled if at least one of the strips is RGBW if ((bool)elm[F("rgbw")]) SET_BIT(ledType,7); else UNSET_BIT(ledType,7); // hack bit 7 to indicate RGBW (as an override if necessary) useRGBW |= (bool)elm[F("rgbw")]; diff --git a/wled00/const.h b/wled00/const.h index c7ab4ebd..d2160ba5 100644 --- a/wled00/const.h +++ b/wled00/const.h @@ -190,7 +190,7 @@ // maximum number of LEDs - more than 1500 LEDs (or 500 DMA "LEDPIN 3" driven ones) will cause a low memory condition on ESP8266 #ifndef MAX_LEDS #ifdef ESP8266 -#define MAX_LEDS 1664 +#define MAX_LEDS 8192 //rely on memory limit to limit this to 1600 LEDs #else #define MAX_LEDS 8192 #endif @@ -204,6 +204,10 @@ #endif #endif +#ifndef MAX_LEDS_PER_BUS +#define MAX_LEDS_PER_BUS 4096 +#endif + // string temp buffer (now stored in stack locally) #define OMAX 2048 diff --git a/wled00/data/settings_leds.htm b/wled00/data/settings_leds.htm index 6ddeefc0..7792d592 100644 --- a/wled00/data/settings_leds.htm +++ b/wled00/data/settings_leds.htm @@ -5,7 +5,7 @@