Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Can't add more than 2 outputs and save #4168

Closed
1 task done
RichyRicho1 opened this issue Sep 30, 2024 · 16 comments
Closed
1 task done

Can't add more than 2 outputs and save #4168

RichyRicho1 opened this issue Sep 30, 2024 · 16 comments
Labels
bug waiting for feedback addition information needed to better understand the issue

Comments

@RichyRicho1
Copy link

What happened?

When adding the 3rd output, pressing save does nothing.
Then editing the 1st or 2nd output doesn't allow saving either

To Reproduce Bug

Add a 2nd output, press save, then try and add a 3rd output and try to save

Expected Behavior

Should add a 3rd output and save

Install Method

Binary from WLED.me

What version of WLED?

WLED Beta Release 0.15.0-b5

Which microcontroller/board are you seeing the problem on?

ESP32-S2

Relevant log/trace output

No response

Anything else?

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct
@softhack007
Copy link
Collaborator

@RichyRicho1 thanks for informing us about this problem.

To better understand what happens, please add some screenshots of the settings page at the moment when you cannot save (maybe a few screenshots so we can read through all your leds settings).

@netmindz
Copy link
Collaborator

netmindz commented Oct 1, 2024

Please also include the web developer console output too. I've seen issues where you can't save due to validation errors only visible in the console

@blazoncek blazoncek added the waiting for feedback addition information needed to better understand the issue label Oct 2, 2024
@suromark
Copy link

suromark commented Oct 5, 2024

Hello, I might be able to provide some extra input on the issue "no saving on the preferences" since it has affected my setup as well.
It seems that parts of the HTML form and the javascript do not match (possibly a cache issue?). I've had console reports (in the browser) of "LV4 not found" or errors from UI() function.
Apparently, once multiple strands are configured, the form is not populated correctly. I'm using eight output pins, and the save function would not react if I disable the auto power limiter. I've managed to corrupt the preset completely just by re-enabling the limiter, entering a big number (9000) and save.
Other issues were: all LED pins but the first on the page were set to Custom : 0 mA and then saving failed with a very discrete error message far down on the page, or the last pin not producing usable output but just flickering random colors.

@blazoncek
Copy link
Collaborator

Please provide browser console log.

@suromark
Copy link

suromark commented Oct 5, 2024

Here's the current browser log, plus a screenshot of the LED interface.

leds:1 An invalid form control with name='LA1' is not focusable. <input name=​"LA1" type=​"number" min=​"1" max=​"255" oninput=​"UI()​">​
leds:1 An invalid form control with name='LA2' is not focusable. <input name=​"LA2" type=​"number" min=​"1" max=​"255" oninput=​"UI()​">​
leds:1 An invalid form control with name='LA3' is not focusable. <input name=​"LA3" type=​"number" min=​"1" max=​"255" oninput=​"UI()​">​
leds:1 An invalid form control with name='LA4' is not focusable. <input name=​"LA4" type=​"number" min=​"1" max=​"255" oninput=​"UI()​">​
leds:1 An invalid form control with name='LA5' is not focusable. <input name=​"LA5" type=​"number" min=​"1" max=​"255" oninput=​"UI()​">​
leds:1 An invalid form control with name='LA6' is not focusable. <input name=​"LA6" type=​"number" min=​"1" max=​"255" oninput=​"UI()​">​

Bildschirmfoto 2024-10-05 um 23 47 45

Basically, once I switch off the automatic brightness limiter, the form becomes unusable. Once i switch it back on, all except the first output default to "mA/LED: Custom 0 mA".

After I enter some value ("seed/Fairy 15 mA") and try to save, there's no more response from the webserver, and the ESP32 resets. Reloading the page after that only shows that none of the changes were stored in the ESP.

So far I've found I need to do a factory reset and reconfigure everything to have a chance at trying again.

I've seen that sometimes it works if I enter the GPIO pin numbers backwards, i.e. instead of doing channels 1-8 as 16, 17, 18, 19, 21, 22, 23, 25, it may work if I do 25, 23, 22, 21, 19, 18, 17, 16. That's not guaranteed though.

Also, instead of saving "GPIO25", I've seen it shows "26" once I reload the page. This might also explain why (see video) the ring light on the side (which is tied to GPIO25) does not go to the default orange output but seems to catch some test signal?

YouCut_20241005_235923651.mp4

@softhack007
Copy link
Collaborator

softhack007 commented Oct 5, 2024

Which microcontroller/board are you seeing the problem on?
ESP32-S2

So you are not using ESP32-S2, right? Because-S2 does not allow for more than 4 outputs.

Technicially speaking, it does not make much sense to have 8 outputs where each one only controls 12 leds.

You could simply use just one output pin, and chain all ws2812b parts together. With this setup you can still create a segment for each "element" in your chain, and have like 8 different effects running in parallel (one for each logical segment). This will also reduce the CPU load, improve stability and help avoid flickering.

That said, it looks like there is a problem in the led settings page when ABL is disabled.

@suromark
Copy link

suromark commented Oct 5, 2024

Oh, sorry, I forgot. Yes, it's a "classic" ESP32 WROOM-32U devkit v4 module. Why I'm using 8 separate channels is that each of the fans only has an input, I can't chain them into one long strand. I'm using OpenRGB to push E1.31 data so each fan has its own "gauge reading"; the rear one shows network load, the front ones do CPU load, GPU load and CPU core temperature. Funny enough, I managed to get the same version running on another setup, without the odd flickering. I just can't seem to replicate that any more.

@suromark
Copy link

suromark commented Oct 6, 2024

I can add some more details about the flickering / output issue; it happens when I set the the last segments to different lengths. The working configuration has all 8 output channels set to 12 LEDs each, which causes no issues. Once I set the last channels to e.g. 32, they just flicker random colors, as if the output is taken from some random buffer or some buffers got overlaid. The offsets show in the configuration seem OK though.

I guess I should better make this a separate issue?

@blazoncek
Copy link
Collaborator

I think I found the issue.

@blazoncek
Copy link
Collaborator

Basically, once I switch off the automatic brightness limiter, the form becomes unusable. Once i switch it back on, all except the first output default to "mA/LED: Custom 0 mA".

That's the unfortunate side effect. Per port ABL is a recent addition and may have bugs that are revealed with unusual configuration. It is also quite complex.

I will ask if you can compile yourself using debug flags (-D WLED_DEBUG) and provide serial output traces when buses are saved and/or loaded. LED configuration is saved once all buses are correctly initialised which is why you may get different settings values once you pres save and then reopen settings. If some buses do not initialise correctly settings will show that.

blazoncek added a commit that referenced this issue Oct 6, 2024
- set min value to 0 for disabled ABL
@suromark
Copy link

suromark commented Oct 6, 2024

I tried to compile on Windows 11 Pro with a pretty basic install of Platformio / Visual Studio Code. I checked out the b6 branch but I get a couple of errors with "Cannot find module 'inliner'" and "wled00/wled_server.cpp:3:21: fatal error: html_ui.h: No such file or directory". I guess my setup isn't right, but I'm doing some arduino on the side only and I don't really know what to do at this point :-/

@softhack007
Copy link
Collaborator

softhack007 commented Oct 6, 2024

errors with "Cannot find module 'inliner'" and "wled00/wled_server.cpp:3:21: fatal error: html_ui.h: No such file or directory"

Looks like you are missing "npm" (node.js). After installing node.js, open a terminal window in VSCode and run "npm install". This is necessary once to install the tools for compiling UI files.

Also make sure to use node.js version 20.x or version 22.x

@blazoncek
Copy link
Collaborator

I checked out the b6 branch

b6 is not the correct branch. use regular 0_15

@suromark
Copy link

suromark commented Oct 7, 2024

OK, I think I got it. I had already installed node.js 20 for windows but that failed (i guess?) during the extra install of chocolatey. Running "npm install" from VSC terminal worked, I got b6 to compile with only a couple of minor warnings. Switched the branch to 0_15 which also built OK and flashed with no issues. I've not managed to get it to build in debug mode though... I added -D DEBUG to the build_flags in common_mode but did not see any change in the serial monitor output when I did a config save on the web interface.

I can however confirm that with branch 0_15 now I can set the LED channels to different lengths without the lights going manic :-D so thank you very much!

Example: 7 x 12 LED fans + 1 x 50 LEDs 2.7mm strip.

2024-10-08_011901_IMG_web

2024-10-08_011841_VID-L_540p.mp4

@suromark
Copy link

suromark commented Oct 8, 2024

Sadly it's not quite fixed yet; after trying various settings I once again have flicker issues as soon as I define one segment with a different number of LEDs as the others. I've attached a video where I start with all channels set to 12 LEDs (which works perfectly), then change the center one to 24 LEDs length (at about 3 seconds into the video) which causes it to flicker as if its buffer is colliding with its neighbor? I can't change this back using the HTML form, but I can use "security & updates" to upload a backup JSON cfg to have it work again.

VID_20241008_025704_540p.mp4

@blazoncek
Copy link
Collaborator

That's entirely different issue than OP.
You may want to explore segment settings and please use WLED forum or Discord for help and support.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug waiting for feedback addition information needed to better understand the issue
Projects
None yet
Development

No branches or pull requests

5 participants