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

Feature Request turned Bug: Prevent OLED Burn-In - Turn off display or screensaver after idle period #72

Open
shamasis opened this issue Jul 30, 2021 · 5 comments
Labels
enhancement New feature or request

Comments

@shamasis
Copy link

shamasis commented Jul 30, 2021

First off, I am a huge fan of the work done for Volumio and now the mpd_oled project. I understand the effort and love that goes into building something like this.

I would love to see a setting that allows the display to be turned off after a period of mid/volumio inactivity.

If I can figure it put, I will myself try and send a PR (but it seems too far off from my ability to get there.)

Burn-In Example

IMG_7800

@antiprism
Copy link
Owner

Hi

Thank you for your suggestion to add a screensaver. This has been previously been requested and I do intend to add it in (in my own case continually displaying the stop screen has led to screen burn).

I will be adding this to the development code

https://github.com/antiprism/mpd_oled_dev

I'll leave the issue open until the feature is available (but I cannot give a time frame for this).

Adrian.

@antiprism antiprism added the enhancement New feature or request label Nov 5, 2022
@petermolnar
Copy link

petermolnar commented Aug 10, 2023

I needed a quick and dirty solution for this until I have some time to get familiar with your code (I only added the display today), so I wrote a loop in bash that starts/stops the service depending if mpd is playing:

/usr/local/bin/mpd_oled_cron

#!/bin/bash

cntr=0

while /bin/true; do
  if mpc | grep -q playing; then
    cntr=0
    if [[ $(pgrep -c mpd_oled) -eq 0 ]] ; then
      systemctl start mpd_oled
    fi
  else
    if [[ $(pgrep -c mpd_oled) -gt 0 ]] ; then
      cntr=$((cntr+1))
    fi

    if [[ $cntr -gt 30 ]]; then
      systemctl stop mpd_oled
    fi
  fi
  sleep 2
done

/lib/systemd/system/mpd_oled_cron.service

[Unit]
Description=Starts/stops mpd_oled

[Service]
Type=simple
ExecStart=/bin/bash /usr/local/bin/mpd_oled_cron
Restart=always

[Install]
WantedBy=multi-user.target

Kind of a nuclear and rather ineffective solution, but if someone else really needs it, it works.

@zsoltmar
Copy link

zsoltmar commented Sep 1, 2023

I would love to have a ping-pong animation going on after say 10 minutes of inactivity. This would use all pixels and make the time readout undisturbed (which is pretty much the main function if not playing anything). This could work in conjunction with the screen invert timer.

@shamasis
Copy link
Author

shamasis commented Jul 30, 2024

Hi @antiprism

After about 2 years of continuous run, I have gone through 3 displays. Keeping them on burns the clock image and after a while due to the burn-in, even normal scrolling texts are hard to read.

Here is a picture of a display that has run continuous, but for about 6 months. To demonstrate the impact, I have momentarily inverted the display before taking this picture
IMG_7800

@shamasis shamasis changed the title Feature Request: Turn off display or screensaver after idle period Feature Request: Prevent OLED Burn-In - Turn off display or screensaver after idle period Jul 30, 2024
@shamasis shamasis changed the title Feature Request: Prevent OLED Burn-In - Turn off display or screensaver after idle period Feature Request turned Bug: Prevent OLED Burn-In - Turn off display or screensaver after idle period Jul 30, 2024
@antiprism
Copy link
Owner

Hi shamasis

I appreciate that burn-in is an issue, but I am no longer making any changes to this repository except for bugs that stop mpd_oled running (and only then if they are easy to fix).

Adrian.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

4 participants