-
-
Notifications
You must be signed in to change notification settings - Fork 19.3k
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
[FR] add display sleep #23896
Comments
I would like to see this basic display feature implemented. Are you assigning a dummy backlight pin in order to enable sleep_on/sleep_off in your pull request code? I believe SSD1306 ( also 128x64 OLED) uses same command set as SSD1309. |
I can see the obvious benefit for OLED screens, but as far as I'm aware, most of the traditional RepRapDiscount full graphic smart controllers available have power wired directly the LCD, so there's no way to turn it off without modding or a new design. |
I forgot to mention how my PR is implemented, To check if device support sleep, check below page, see if I think universal display sleep can be implement using following ways in order
|
Thanks for the reply, but I still don't understand how you have modifed your the Your above referenced
Was expecting to see somthing like this....
then where appropriate, in marlinui.cpp or elsewhere,..
|
I used |
I was thinking about testing your PR files code on my printer, which has an OLED display, but since you did not upload your bugfix-2.0.x My custom printer is using a 2.4" OLED ( SSD1309 ), but have Marlin configured as MKS_12864OLED_SSD1306, and menu navigation is with a rotary encoder. No touch screen. |
just add |
I was able to successfully test your Pull Request code on my printer with OLED display using PlatformIO. Test Results: Display sleeps after the set timeout period. Rotation or a button press of the rotary encoder knob wakes the display from sleep. Same behavior while printing. Additionally, adds a LCD Timeout menu to the Configuration Menu, which allows changing the default timeout setting (in seconds) set by Configuration.h. Setting this value to '0' disables the Timeout feature. If you don't mind waiting a few days, I can provide code suggestions for implementation with OLED displays to your PR, and also for |
Submitted PR #23927 for review. |
Merge with FR MarlinFirmware#23896 Sanity Checks for Screen Support Feature, Changes adds checks for unsupported displays.
Closing since there’s now a PR. |
This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs. |
Is your feature request related to a problem? Please describe.
No response
Are you looking for hardware support?
No response
Describe the feature you want
As I know there is "lcd backlight timeout" feature #23768
And there is "touch screen backlight timeout" feature #22617
I have two request regarding above features
First, Lcd backlight timeout feature only works when
LCD_BACKLIGHT_PIN
is definedI think marlin can leverage u8g sleep feature to implement backlight feature without using additional PIN
I wrote some POC code for this and tested on ssd1309 lcd (unfortunately I'm not expert in embedded programming nor marlin. sorry in advance)
https://github.com/MarlinFirmware/Marlin/compare/bugfix-2.0.x...luxflow:lcd_sleep?expand=1
But problem is that not all devices support u8g sleep feature and there is no function in u8g to check if device support sleep in advance (maybe this problem can be solved
#define use_lcd_sleep 1
macro in conditionals_lcd.h)Second, as I mentioned earlier, there are two backlight timeout for lcd and touch screen
it would be nice to unifying these timeout feature into one universal feature such as
#define DISPLAY_TIMEOUT 30
if possibleI need display sleep feature to save my oled from burn-in
Let me know if I misunderstand something
Thanks for reading my issue
Additional context
No response
The text was updated successfully, but these errors were encountered: