From 4a6755c28ad45ebb89273235e54bf1957f8aa564 Mon Sep 17 00:00:00 2001 From: cschwinne Date: Sat, 31 Aug 2019 01:41:25 +0200 Subject: [PATCH] Added C9 and Sakura palettes --- readme.md | 50 ++++++++++++++++++++--------------------- wled00/WS2812FX.h | 2 +- wled00/WS2812FX_fcn.cpp | 8 +++---- wled00/palettes.h | 41 ++++++++++++++++++++++++--------- wled00/wled00.ino | 2 +- 5 files changed, 62 insertions(+), 41 deletions(-) diff --git a/readme.md b/readme.md index b4f54cc9..c252e77a 100644 --- a/readme.md +++ b/readme.md @@ -10,33 +10,33 @@ A fast and feature-rich implementation of an ESP8266/ESP32 webserver to control NeoPixel (WS2812B) LEDs! ### Features: -- WS2812FX library integrated for 80 special effects -- FastLED noise effects and palettes -- Customizable Mobile and desktop UI with color and effect controls -- Settings page - configuration over network -- Access Point and station mode - automatic failsafe AP -- Support for RGBW strips -- 25 user presets to save and load colors/effects easily, supports cycling through them. -- Macro functions 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 +- WS2812FX library integrated for 80 special effects +- FastLED noise effects and palettes +- Customizable Mobile and desktop UI with color and effect controls +- Settings page - configuration over network +- Access Point and station mode - automatic failsafe AP +- Support for RGBW strips +- 25 user presets to save and load colors/effects easily, supports cycling through them. +- Macro functions 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 ### Supported light control interfaces: -- WLED Android app -- HTTP and JSON request APIs -- Blynk IoT -- MQTT -- E1.31 -- Hyperion -- UDP realtime -- Alexa voice control (including dimming and color) -- Sync to Philips hue lights -- Adalight (PC ambilight via serial) -- Sync color of multiple WLED devices (UDP notifier) -- Infrared remotes (24-key RGB, receiver required) -- Simple timers/schedules (time from NTP, timezones/DST supported) +- WLED app for Android and iOS +- JSON and HTTP request APIs +- MQTT +- Blynk IoT +- E1.31 +- Hyperion +- UDP realtime +- Alexa voice control (including dimming and color) +- Sync to Philips hue lights +- Adalight (PC ambilight via serial) +- Sync color of multiple WLED devices (UDP notifier) +- Infrared remotes (24-key RGB, receiver required) +- Simple timers/schedules (time from NTP, timezones/DST supported) ### Quick start guide and documentation: diff --git a/wled00/WS2812FX.h b/wled00/WS2812FX.h index a1686fa8..150ce115 100644 --- a/wled00/WS2812FX.h +++ b/wled00/WS2812FX.h @@ -546,7 +546,7 @@ const char JSON_palette_names[] PROGMEM = R"=====([ "Forest","Rainbow","Rainbow Bands","Sunset","Rivendell","Breeze","Red & Blue","Yellowout","Analogous","Splash", "Pastel","Sunset 2","Beech","Vintage","Departure","Landscape","Beach","Sherbet","Hult","Hult 64", "Drywet","Jul","Grintage","Rewhi","Tertiary","Fire","Icefire","Cyane","Light Pink","Autumn", -"Magenta","Magred","Yelmag","Yelblu","Orange & Teal","Tiamat","April Night","Orangery" +"Magenta","Magred","Yelmag","Yelblu","Orange & Teal","Tiamat","April Night","Orangery","C9","Sakura" ])====="; #endif diff --git a/wled00/WS2812FX_fcn.cpp b/wled00/WS2812FX_fcn.cpp index debbd383..4a6c1ba5 100644 --- a/wled00/WS2812FX_fcn.cpp +++ b/wled00/WS2812FX_fcn.cpp @@ -501,7 +501,7 @@ void WS2812FX::setRange(uint16_t i, uint16_t i2, uint32_t col) void WS2812FX::lock(uint16_t i) { if (_modeUsesLock) return; - if (i >= 0 && i < _length) _locked[i] = true; + if (i < _length) _locked[i] = true; } void WS2812FX::lockRange(uint16_t i, uint16_t i2) @@ -509,14 +509,14 @@ void WS2812FX::lockRange(uint16_t i, uint16_t i2) if (_modeUsesLock) return; for (uint16_t x = i; x < i2; x++) { - if (x >= 0 && x < _length) _locked[i] = true; + if (x < _length) _locked[i] = true; } } void WS2812FX::unlock(uint16_t i) { if (_modeUsesLock) return; - if (i >= 0 && i < _length) _locked[i] = false; + if (i < _length) _locked[i] = false; } void WS2812FX::unlockRange(uint16_t i, uint16_t i2) @@ -524,7 +524,7 @@ void WS2812FX::unlockRange(uint16_t i, uint16_t i2) if (_modeUsesLock) return; for (uint16_t x = i; x < i2; x++) { - if (x >= 0 && x < _length) _locked[x] = false; + if (x < _length) _locked[x] = false; } } diff --git a/wled00/palettes.h b/wled00/palettes.h index f2f66557..ee0715c3 100644 --- a/wled00/palettes.h +++ b/wled00/palettes.h @@ -529,7 +529,7 @@ DEFINE_GRADIENT_PALETTE( April_Night_gp ) { 127, 249,150, 5, //yellow 143, 1, 5, 45, 162, 1, 5, 45, - 178, 255,92, 0, //pastel orange + 178, 255, 92, 0, //pastel orange 193, 1, 5, 45, 214, 1, 5, 45, 229, 223, 45, 72, //pink @@ -537,14 +537,33 @@ DEFINE_GRADIENT_PALETTE( April_Night_gp ) { 255, 1, 5, 45}; DEFINE_GRADIENT_PALETTE( Orangery_gp ) { - 0, 255, 173, 23, - 35, 255, 82, 0, - 70, 196, 19, 10, - 105, 255, 140, 45, - 140, 255, 69, 0, - 175, 158, 13, 11, - 210, 241, 95, 17, - 255, 213, 37, 4}; + 0, 255, 95, 23, + 30, 255, 82, 0, + 60, 223, 13, 8, + 90, 144, 44, 2, + 120, 255,110, 17, + 150, 255, 69, 0, + 180, 158, 13, 11, + 210, 241, 82, 17, + 255, 213, 37, 4}; + +//inspired by Mark Kriegsman https://gist.github.com/kriegsman/756ea6dcae8e30845b5a +DEFINE_GRADIENT_PALETTE( C9_gp ) { + 0, 184, 4, 0, //red + 60, 184, 4, 0, + 65, 144, 44, 2, //amber + 125, 144, 44, 2, + 130, 4, 96, 2, //green + 190, 4, 96, 2, + 195, 7, 7, 88, //blue + 255, 7, 7, 88}; + +DEFINE_GRADIENT_PALETTE( Sakura_gp ) { + 0, 196, 19, 10, + 65, 255, 69, 45, + 130, 223, 45, 72, + 195, 255, 82,103, + 255, 223, 13, 17}; // Single array of defined cpt-city color palettes. @@ -592,7 +611,9 @@ const TProgmemRGBGradientPalettePtr gGradientPalettes[] = { Orange_Teal_gp, //44-31 Orange & Teal Tiamat_gp, //45-32 Tiamat April_Night_gp, //46-33 April Night - Orangery_gp //47-34 Orangery + Orangery_gp, //47-34 Orangery + C9_gp, //48-35 C9 + Sakura_gp, //49-36 Sakura }; diff --git a/wled00/wled00.ino b/wled00/wled00.ino index d0db6536..b41a0151 100644 --- a/wled00/wled00.ino +++ b/wled00/wled00.ino @@ -98,7 +98,7 @@ //version code in format yymmddb (b = daily build) -#define VERSION 1908301 +#define VERSION 1908303 char versionString[] = "0.8.5-dev";