Skip to content

Fix ProUI LCD off freezing #27832

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

Merged

Conversation

classicrocker883
Copy link
Contributor

Description

When using ProUI, and the LCD turns off, turning the knob may bring the LCD screen back on, however it stays frozen. The only way to bring this back is to press in the knob.

This PR makes it so pressing in the knob or turning it not only returns the screen back on, but functionality.

Requirements

  • Ender3-V2 DWIN type LCD
  • ProUI

Benefits

No more frustration when turning the knob and finding a frozen screen.

Configurations

Related Issues

@thinkyhead
Copy link
Member

The first click when the display is asleep should probably be ignored. If it is not, that adjustment should be made.

@thinkyhead thinkyhead merged commit 414951e into MarlinFirmware:bugfix-2.1.x May 4, 2025
66 checks passed
@classicrocker883
Copy link
Contributor Author

very nice, was this tested? i can do that right now

@classicrocker883
Copy link
Contributor Author

oh. also this PR might fix #27722

I believe that was the issue, but no response from OP confirming.

@classicrocker883
Copy link
Contributor Author

@thinkyhead there is a slight issue. so the LCD should come back to full functionality whether the knob is turned or pressed in. currently, this gives partially full functionality. so when the screen is off, turning the knob or pressing the button does bring the screen back on, and you can navigate freely (like normal) however, you have to press the knob in (again) in order to work like it did when the screen was on.

@classicrocker883
Copy link
Contributor Author

should I make a seperate PR?, I fixed this by reverting

  void MarlinUI::_set_brightness() {
-   if (!backlight) wait_for_user = true;
-   dwinLCDBrightness(backlight ? brightness : 0);
  }


  void MarlinUI::_set_brightness() {
+   if (backlight) {
+     dwinLCDBrightness(brightness);
+     wait_for_user = false;
+   }
+   else {
+     dwinLCDBrightness(0);
+     wait_for_user = true;
+   }
  }

@thisiskeithb
Copy link
Member

should I make a seperate PR?

Yes. The PR you’re commenting in has already been merged and closed.

@classicrocker883 classicrocker883 deleted the bugfix-2.1.x-May1 branch May 5, 2025 09:02
thinkyhead pushed a commit that referenced this pull request May 6, 2025
EvilGremlin pushed a commit to EvilGremlin/Marlin that referenced this pull request May 15, 2025
EvilGremlin pushed a commit to EvilGremlin/Marlin that referenced this pull request May 15, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants