From ee6676cd89d0d84f0b3a729abaed820471334b53 Mon Sep 17 00:00:00 2001 From: cschwinne Date: Wed, 11 Apr 2018 23:50:35 +0200 Subject: [PATCH] Release of v0.6.3 Added Preset Cycle feature Added Transition Time API call Added Adalight serial ambilight protocol Added DRGB and DRGBW UDP direct-drive protocols Improved transition flickering Easter eggs are eaten now --- bin/readme.md | 19 +------ readme.md | 11 ++-- wled00/WS2812FX.cpp | 6 +- wled00/WS2812FX.h | 2 +- wled00/data/index.htm | 30 +++++++--- wled00/data/settings_leds.htm | Bin 8110 -> 8108 bytes wled00/htmls00.h | 16 +++--- wled00/htmls01.h | 4 +- wled00/wled00.ino | 20 ++++--- wled00/wled01_eeprom.ino | 10 ++-- wled00/wled03_set.ino | 47 +++++++++++++++- wled00/wled04_file.ino | 42 +++++++++++++- wled00/wled05_init.ino | 100 ++++++++++++++++------------------ wled00/wled07_notify.ino | 62 ++++++++++++++++----- wled00/wled08_led.ino | 15 ++++- wled00/wled10_ntp.ino | 2 +- 16 files changed, 256 insertions(+), 130 deletions(-) diff --git a/bin/readme.md b/bin/readme.md index fda40a70..54e5774a 100644 --- a/bin/readme.md +++ b/bin/readme.md @@ -1,22 +1,7 @@ -### Where are the new binaries? +## Where are the new binaries? From v0.5.0 on forward, the GitHub [releases](https://github.com/Aircoookie/WLED/releases) system will be used for binaries. ### What binary should I choose? -Currently WLED supports the ESP8266 and a very early, experimental version of ESP32 support. -Be sure to choose the correct binary for your platform and LED type. - -- Do you have a standard RGB WS2812B NeoPixel strip? - --> Use wled05dev_XXXXXXX_RGB_PLATFORM.bin - -- Do you have an RGBW SK6812 strip (half of the LED is white)? - --> Use wled05dev_XXXXXXX_RGBW_PLATFORM.bin - -- Do you have a Cronixie clock set by Diamex? - --> Use wled05dev_XXXXXXX_CRONIXIE_PLATFORM.bin - - -### What about wled03 and wled04? - -These are legacy releases only for the ESP8266. They don't include the latest features and may have unfixed bugs - only use them if the new wled05dev test builds don't work for you! \ No newline at end of file +You should always try to use the binaries from the release page. This directory is for legacy purposes only! \ No newline at end of file diff --git a/readme.md b/readme.md index dcc3f20a..08a956ef 100644 --- a/readme.md +++ b/readme.md @@ -1,10 +1,8 @@ ## Welcome to my project WLED! -WLED is a fast and (relatively) secure implementation of an ESP8266 webserver to control NeoPixel (WS2812B) LEDs! -Now also with experimental ESP32 support. +WLED is a fast and (relatively) secure implementation of an ESP8266/ESP32 webserver to control NeoPixel (WS2812B) LEDs! -### Features: (V0.6.2) -- Easter eggs! +### Features: (V0.6.3) - RGB, HSB, and brightness sliders - Settings page - configuration over network - Access Point and station mode - automatic failsafe AP @@ -13,18 +11,19 @@ Now also with experimental ESP32 support. - Alexa smart home device server (including dimming) - Beta syncronization to Philips hue lights - Support for RGBW strips -- 25 user presets! Save your favorite colors and effects and apply them easily! +- 25 user presets! Save your favorite colors and effects and apply them easily! Now supports cycling through them. - HTTP request API for simple integration - Macro functions to automatically execute API calls - Nightlight function (gradually dims down) - Notifier function (multiple ESPs sync color via UDP broadcast) - Support for power pushbutton - Custom Theater Chase +- Support for the Adalight serial ambilight protocol! - Full OTA software update capability (HTTP and ArduinoOTA) - Password protected OTA page for added security (OTA lock) - NTP and configurable analog clock function - Support for the Cronixie Clock kit by Diamex -- Realtime UDP Packet Control (WARLS) possible +- Realtime UDP Packet Control (WARLS, DRGB, DRGBW) possible - Client HTML UI controlled, customizable themes ### Quick start guide and documentation: diff --git a/wled00/WS2812FX.cpp b/wled00/WS2812FX.cpp index 61a53d8b..96f5bc1b 100644 --- a/wled00/WS2812FX.cpp +++ b/wled00/WS2812FX.cpp @@ -66,6 +66,7 @@ void WS2812FX::start() { _counter_mode_step = 0; _mode_last_call_time = 0; _running = true; + show(); } void WS2812FX::stop() { @@ -85,11 +86,8 @@ void WS2812FX::setMode(byte m) { } void WS2812FX::setSpeed(byte s) { - _counter_mode_call = 0; - _counter_mode_step = 0; _mode_last_call_time = 0; _speed = constrain(s, SPEED_MIN, SPEED_MAX); - strip_off_respectLock(); } void WS2812FX::increaseSpeed(byte s) { @@ -2127,7 +2125,7 @@ void WS2812FX::setBrightness(byte b) { _brightness = constrain(b, BRIGHTNESS_MIN, BRIGHTNESS_MAX); NeoPixelBrightnessBus::SetBrightness(_brightness); - show(); + if (_mode_last_call_time + _mode_delay > millis()+50 || b == 0) show(); //only update right away if long time until next refresh } void WS2812FX::show() diff --git a/wled00/WS2812FX.h b/wled00/WS2812FX.h index d9c0f9ae..69161e9b 100644 --- a/wled00/WS2812FX.h +++ b/wled00/WS2812FX.h @@ -227,6 +227,7 @@ class WS2812FX : public NeoPixelBrightnessBus { void show(void), setPixelColor(uint16_t i, byte r, byte g, byte b), + setPixelColor(uint16_t i, byte r, byte g, byte b, byte w), init(void), service(void), start(void), @@ -299,7 +300,6 @@ class WS2812FX : public NeoPixelBrightnessBus { begin(void), clear(void), setPixelColor(uint16_t i, uint32_t c), - setPixelColor(uint16_t i, byte r, byte g, byte b, byte w), setPixelColorRaw(uint16_t i, byte r, byte g, byte b, byte w), dofade(void), strip_off(void), diff --git a/wled00/data/index.htm b/wled00/data/index.htm index e20000f3..66f26a78 100644 --- a/wled00/data/index.htm +++ b/wled00/data/index.htm @@ -2,7 +2,7 @@ - WLED 0.6.2 + WLED 0.6.3