From 16ad0c22f007150581012e0476a403c68f561cf9 Mon Sep 17 00:00:00 2001 From: Def3nder <33399267+Def3nder@users.noreply.github.com> Date: Fri, 24 Jan 2020 23:15:57 +0100 Subject: [PATCH 1/3] IRremote correction (preset load) (#618) --- wled00/NpbWrapper.h | 4 ++-- wled00/wled20_ir.ino | 46 ++++++++++++++++++++++---------------------- 2 files changed, 25 insertions(+), 25 deletions(-) diff --git a/wled00/NpbWrapper.h b/wled00/NpbWrapper.h index 7648350cb..6cfe3e181 100644 --- a/wled00/NpbWrapper.h +++ b/wled00/NpbWrapper.h @@ -248,7 +248,7 @@ public: if (color.R == 255 & color.G == 255 && color.B == 255 && color.W == 255) { SetRgbwPwm(0, 0, 0, 0, color.W * b / 255); } else if (color.R == 127 & color.G == 127 && color.B == 127 && color.W == 255) { - SetRgbwPwm(0, 0, 0, color.W * b / 512, colorW.W * b / 255); + SetRgbwPwm(0, 0, 0, color.W * b / 512, color.W * b / 255); } else if (color.R == 0 & color.G == 0 && color.B == 0 && color.W == 255) { SetRgbwPwm(0, 0, 0, color.W * b / 255, 0); } else if (color.R == 130 & color.G == 90 && color.B == 0 && color.W == 255) { @@ -256,7 +256,7 @@ public: } else if (color.R == 255 & color.G == 153 && color.B == 0 && color.W == 255) { SetRgbwPwm(0, 0, 0, color.W * b / 255, 0); } else { // not only white colors - SetRgbwPwm(color.R * b / 255, colorW.G * b / 255, colorW.B * b / 255, color.W * b / 255); + SetRgbwPwm(color.R * b / 255, color.G * b / 255, color.B * b / 255, color.W * b / 255); } #else SetRgbwPwm(color.R * b / 255, color.G * b / 255, color.B * b / 255, color.W * b / 255); diff --git a/wled00/wled20_ir.ino b/wled00/wled20_ir.ino index d645ef2d2..00f13ffc6 100644 --- a/wled00/wled20_ir.ino +++ b/wled00/wled20_ir.ino @@ -147,10 +147,10 @@ void decodeIR24OLD(uint32_t code) case IR24_OLD_MAGENTA : colorFromUint32(COLOR_MAGENTA); break; case IR24_OLD_PINK : colorFromUint32(COLOR_PINK); break; case IR24_OLD_WHITE : colorFromUint32(COLOR_WHITE); effectCurrent = 0; break; - case IR24_OLD_FLASH : if (!applyPreset(1)) effectCurrent = FX_MODE_COLORTWINKLE; effectPalette = 0; break; - case IR24_OLD_STROBE : if (!applyPreset(2)) effectCurrent = FX_MODE_RAINBOW_CYCLE; effectPalette = 0; break; - case IR24_OLD_FADE : if (!applyPreset(3)) effectCurrent = FX_MODE_BREATH; effectPalette = 0; break; - case IR24_OLD_SMOOTH : if (!applyPreset(4)) effectCurrent = FX_MODE_RAINBOW; effectPalette = 0; break; + case IR24_OLD_FLASH : if (!applyPreset(1)) { effectCurrent = FX_MODE_COLORTWINKLE; effectPalette = 0; } break; + case IR24_OLD_STROBE : if (!applyPreset(2)) { effectCurrent = FX_MODE_RAINBOW_CYCLE; effectPalette = 0; } break; + case IR24_OLD_FADE : if (!applyPreset(3)) { effectCurrent = FX_MODE_BREATH; effectPalette = 0; } break; + case IR24_OLD_SMOOTH : if (!applyPreset(4)) { effectCurrent = FX_MODE_RAINBOW; effectPalette = 0; } break; default: return; } lastValidCode = code; @@ -180,13 +180,13 @@ void decodeIR24CT(uint32_t code) case IR24_CT_PURPLE : colorFromUint32(COLOR_PURPLE); break; case IR24_CT_MAGENTA : colorFromUint32(COLOR_MAGENTA); break; case IR24_CT_PINK : colorFromUint32(COLOR_PINK); break; - case IR24_CT_COLDWHITE : colorFromUint32(COLOR_COLDWHITE); effectCurrent = 0; break; - case IR24_CT_WARMWHITE : colorFromUint32(COLOR_WARMWHITE); effectCurrent = 0; break; - case IR24_CT_CTPLUS : colorFromUint32(COLOR_COLDWHITE2); effectCurrent = 0; break; - case IR24_CT_CTMINUS : colorFromUint32(COLOR_WARMWHITE2); effectCurrent = 0; break; + case IR24_CT_COLDWHITE : colorFromUint32(COLOR2_COLDWHITE); effectCurrent = 0; break; + case IR24_CT_WARMWHITE : colorFromUint32(COLOR2_WARMWHITE); effectCurrent = 0; break; + case IR24_CT_CTPLUS : colorFromUint32(COLOR2_COLDWHITE2); effectCurrent = 0; break; + case IR24_CT_CTMINUS : colorFromUint32(COLOR2_WARMWHITE2); effectCurrent = 0; break; case IR24_CT_MEMORY : { if (col[3] > 0) col[3] = 0; - else colorFromUint32(COLOR_NEUTRALWHITE); effectCurrent = 0; } break; + else colorFromUint32(COLOR2_NEUTRALWHITE); effectCurrent = 0; } break; default: return; } lastValidCode = code; @@ -243,10 +243,10 @@ void decodeIR40(uint32_t code) case IR40_SLOW : relativeChange(&effectSpeed, -10, 5); break; case IR40_JUMP7 : relativeChange(&effectIntensity, 10); break; case IR40_AUTO : relativeChange(&effectIntensity, -10, 5); break; - case IR40_JUMP3 : if (!applyPreset(1)) effectCurrent = FX_MODE_STATIC; effectPalette = 0; break; - case IR40_FADE3 : if (!applyPreset(2)) effectCurrent = FX_MODE_BREATH; effectPalette = 0; break; - case IR40_FADE7 : if (!applyPreset(3)) effectCurrent = FX_MODE_FIRE_FLICKER; effectPalette = 0; break; - case IR40_FLASH : if (!applyPreset(4)) effectCurrent = FX_MODE_RAINBOW; effectPalette = 0; break; + case IR40_JUMP3 : if (!applyPreset(1)) { effectCurrent = FX_MODE_STATIC; effectPalette = 0; } break; + case IR40_FADE3 : if (!applyPreset(2)) { effectCurrent = FX_MODE_BREATH; effectPalette = 0; } break; + case IR40_FADE7 : if (!applyPreset(3)) { effectCurrent = FX_MODE_FIRE_FLICKER; effectPalette = 0; } break; + case IR40_FLASH : if (!applyPreset(4)) { effectCurrent = FX_MODE_RAINBOW; effectPalette = 0; } break; } lastValidCode = code; colorUpdated(2); //for notifier, IR is considered a button input @@ -299,12 +299,12 @@ void decodeIR44(uint32_t code) case IR44_BLUEMINUS : relativeChange(&effectIntensity, -10, 5); break; case IR44_QUICK : relativeChange(&effectSpeed, 10); break; case IR44_SLOW : relativeChange(&effectSpeed, -10, 5); break; - case IR44_DIY1 : if (!applyPreset(1)) effectCurrent = FX_MODE_STATIC; effectPalette = 0; break; - case IR44_DIY2 : if (!applyPreset(2)) effectCurrent = FX_MODE_BREATH; effectPalette = 0; break; - case IR44_DIY3 : if (!applyPreset(3)) effectCurrent = FX_MODE_FIRE_FLICKER; effectPalette = 0; break; - case IR44_DIY4 : if (!applyPreset(4)) effectCurrent = FX_MODE_RAINBOW; effectPalette = 0; break; - case IR44_DIY5 : if (!applyPreset(5)) effectCurrent = FX_MODE_METEOR_SMOOTH; effectPalette = 0; break; - case IR44_DIY6 : if (!applyPreset(6)) effectCurrent = FX_MODE_RAIN; effectPalette = 0; break; + case IR44_DIY1 : if (!applyPreset(1)) { effectCurrent = FX_MODE_STATIC; effectPalette = 0; } break; + case IR44_DIY2 : if (!applyPreset(2)) { effectCurrent = FX_MODE_BREATH; effectPalette = 0; } break; + case IR44_DIY3 : if (!applyPreset(3)) { effectCurrent = FX_MODE_FIRE_FLICKER; effectPalette = 0; } break; + case IR44_DIY4 : if (!applyPreset(4)) { effectCurrent = FX_MODE_RAINBOW; effectPalette = 0; } break; + case IR44_DIY5 : if (!applyPreset(5)) { effectCurrent = FX_MODE_METEOR_SMOOTH; effectPalette = 0; } break; + case IR44_DIY6 : if (!applyPreset(6)) { effectCurrent = FX_MODE_RAIN; effectPalette = 0; } break; case IR44_AUTO : effectCurrent = FX_MODE_STATIC; break; case IR44_FLASH : effectCurrent = FX_MODE_PALETTE; break; case IR44_JUMP3 : bri = 63; break; @@ -336,10 +336,10 @@ void decodeIR21(uint32_t code) case IR21_PURPLE: colorFromUint32(COLOR_PURPLE); break; case IR21_PINK: colorFromUint32(COLOR_PINK); break; case IR21_WHITE: colorFromUint32(COLOR_WHITE); effectCurrent = 0; break; - case IR21_FLASH: if (!applyPreset(1)) effectCurrent = FX_MODE_COLORTWINKLE; break; - case IR21_STROBE: if (!applyPreset(2)) effectCurrent = FX_MODE_RAINBOW_CYCLE; break; - case IR21_FADE: if (!applyPreset(3)) effectCurrent = FX_MODE_BREATH; break; - case IR21_SMOOTH: if (!applyPreset(4)) effectCurrent = FX_MODE_RAINBOW; break; + case IR21_FLASH: if (!applyPreset(1)) { effectCurrent = FX_MODE_COLORTWINKLE; effectPalette = 0; } break; + case IR21_STROBE: if (!applyPreset(2)) { effectCurrent = FX_MODE_RAINBOW_CYCLE; effectPalette = 0; } break; + case IR21_FADE: if (!applyPreset(3)) { effectCurrent = FX_MODE_BREATH; effectPalette = 0; } break; + case IR21_SMOOTH: if (!applyPreset(4)) { effectCurrent = FX_MODE_RAINBOW; effectPalette = 0; } break; default: return; } lastValidCode = code; From e1a61985a2f66038163ac9135f8b9de9df66c809 Mon Sep 17 00:00:00 2001 From: Def3nder <33399267+Def3nder@users.noreply.github.com> Date: Fri, 24 Jan 2020 23:17:30 +0100 Subject: [PATCH 2/3] Plasma effect correction (#619) --- wled00/FX.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/wled00/FX.cpp b/wled00/FX.cpp index 0c82f4ab9..c3b8ed092 100644 --- a/wled00/FX.cpp +++ b/wled00/FX.cpp @@ -2970,8 +2970,9 @@ uint16_t WS2812FX::mode_plasma(void) { for (int i = 0; i < SEGLEN; i++) { // For each of the LED's in the strand, set color & brightness based on a wave as follows: uint8_t colorIndex = cubicwave8((i*(1+ 3*(SEGMENT.speed >> 5)))+(thisPhase) & 0xFF)/2 // factor=23 // Create a wave and add a phase change and add another wave with its own phase change. + cos8((i*(1+ 2*(SEGMENT.speed >> 5)))+(thatPhase) & 0xFF)/2; // factor=15 // Hey, you can even change the frequencies if you wish. - uint8_t thisBright = qsub8(colorIndex, beatsin8(6,0,128)); - setPixelColor(i, color_blend(SEGCOLOR(1), color_from_palette(colorIndex, false, false, 0), thisBright)); + uint8_t thisBright = qsub8(colorIndex, beatsin8(6,0, (255 - SEGMENT.intensity)|0x01 )); + CRGB color = ColorFromPalette(currentPalette, colorIndex, thisBright, LINEARBLEND); + setPixelColor(i, color.red, color.green, color.blue); } return FRAMETIME; From 8f80c206e734a7764874c6f9523a44f5ee68621c Mon Sep 17 00:00:00 2001 From: srg74 <28492985+srg74@users.noreply.github.com> Date: Fri, 24 Jan 2020 17:18:27 -0500 Subject: [PATCH 3/3] Platformio upcoming change (#623) --- platformio.ini | 18 +++++++++--------- .../Enclosure_with_OLED_temp_ESP07/readme.md | 2 +- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/platformio.ini b/platformio.ini index efd1bfe82..c382f9243 100644 --- a/platformio.ini +++ b/platformio.ini @@ -7,15 +7,15 @@ data_dir = ./wled00/data ;lib_extra_dirs = ./wled00/src lib_dir = ./wled00/src ; Please uncomment one of the 5 lines below to select your board -env_default = nodemcuv2 -; env_default = esp01 -; env_default = esp01_1m -; env_default = esp07 -; env_default = d1_mini -; env_default = esp32dev -; env_default = esp8285_4CH_MagicHome -; env_default = esp8285_4CH_H801 -; env_default = esp8285_5CH_H801 +default_envs = nodemcuv2 +; default_envs = esp01 +; default_envs = esp01_1m +; default_envs = esp07 +; default_envs = d1_mini +; default_envs = esp32dev +; default_envs = esp8285_4CH_MagicHome +; default_envs = esp8285_4CH_H801 +; default_envs = esp8285_5CH_H801 [common] framework = arduino diff --git a/usermods/Enclosure_with_OLED_temp_ESP07/readme.md b/usermods/Enclosure_with_OLED_temp_ESP07/readme.md index 4af36d59c..817fb7e4a 100644 --- a/usermods/Enclosure_with_OLED_temp_ESP07/readme.md +++ b/usermods/Enclosure_with_OLED_temp_ESP07/readme.md @@ -29,7 +29,7 @@ Uncomment `U8g2@~2.27.3`,`DallasTemperature@~3.8.0`,`OneWire@~2.3.5 under` `[com ... lib_deps_external = ... - #For use SSD1306 0.91" OLED display uncomment following + #For use SSD1306 OLED display uncomment following U8g2@~2.27.3 #For Dallas sensor uncomment following 2 lines DallasTemperature@~3.8.0