Aircoookie / WLED

Control WS2812B and many more types of digital RGB LEDs with an ESP8266 or ESP32 over WiFi!
https://kno.wled.ge
MIT License
14.54k stars 3.11k forks source link

V0.15.0-b1 causes WRGB PWM strip to not shutdown completely #3884

Closed gaaat98 closed 5 months ago

gaaat98 commented 5 months ago

What happened?

After updating to 0.15.0-b1 an RGBW PWM strip will leave one channel extremely dim instead of powering off, only an update to the color wheel or the sliders will turn the strip completely off.

The issue is not present in WLED 0.14.3. I would like to provide other details but I don't know what could be helpful..

To Reproduce Bug

  1. Turn on the strip
  2. Set to Solid Color
  3. Select a color from the color wheel
  4. Power off the strip: the "predominant" channel of the selected color will remain on albeit very dim
  5. Select a color on the color wheel/move one of the sliders: the strip will power off completely

Expected Behavior

The led strip should completely power off

Install Method

Binary from WLED.me

What version of WLED?

WLED 0.15.0-b1 (build 2403190)

Which microcontroller/board are you seeing the problem on?

ESP8266

Relevant log/trace output

No response

Anything else?

No response

Code of Conduct

blazoncek commented 5 months ago

Can you please describe in more detail including which colors are selected and what sequence of actions you followed. Please also include your configuration (cfg.json).

After you press Power button and LEDs turn off after the transition (default 0.7s) there are no more updates to LEDs and changing selected color has no effect on LEDs themselves.

gaaat98 commented 5 months ago

The steps to reproduce the bug have been performed immediately after flashing the WLED_0.15.0-b1_ESP02.bin.gz via OTA. Apart from random colors on the color wheel I tested the predefined colors on the left side of the WebUI. The issue appears with every color except for black which does not turn on anything.

The exact workflow I followed for testing was:

  1. Update from 0.14.3 to 0.15.0-b1
  2. With strip off select a color from UI, make sure that the the first slider below the color wheel is at max, the issue doesn't seem to be present if the slider is set to a lower value
  3. Turn on
  4. Turn off (either via webui, android app or physical button mapped to the toggle api)
  5. Verify that the strip is dim but still on (if the color was purple then red and blue channels will be still on etc., also the white channel will be on if its slider was set to max)
  6. Select again a color (either the same or a different color) from one of the UI (can be different from the UI used in 2)
  7. Verify that the strip is fully off (7b. Tap again the color of 6: the strip will turn on again as it was in 5 (on but very dim))
  8. Repeat from 2 with another color

I do not exclude that the issue could be related to my particular hardware setup since I have one RGB analog strip connected to the RGB mosfets and a separate white analog strip controlled by the W channel mosfet, but it is strange since with 0.14.x this did not happen.

Here's my wled_cfg.json

blazoncek commented 5 months ago

Try, and report:

PWM handling was modified in 0.15 to include 12bit PWM resolution and better low brightness level handling.

gaaat98 commented 5 months ago

I also noticed that if I touched a color right after saving settings the strip will turn on at full brightness, while the UI reports it as being off... Not sure if that's related or not

blazoncek commented 5 months ago

Please contact me on Discord. I have a possible fix, but needs to be tested.