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

Potential for Display Burn-In in MACROPAD Hotkeys Guide #2882

Open
flavio-fernandes opened this issue Sep 14, 2024 · 0 comments · May be fixed by #2883
Open

Potential for Display Burn-In in MACROPAD Hotkeys Guide #2882

flavio-fernandes opened this issue Sep 14, 2024 · 0 comments · May be fixed by #2883

Comments

@flavio-fernandes
Copy link
Contributor

I recently encountered a significant issue while using the demo code provided in the MACROPAD Hotkeys guide on the Adafruit website. The current example code lacks a mechanism to turn off or blank the screen after a period of inactivity, which can lead to burn-in on the display.

Unfortunately, I experienced this burn-in issue firsthand, which rendered the display less effective over time. Although I appreciate that Adafruit offers a replacement part for the display (Product 5228), I believe it would be beneficial to update the guide with best practices to prevent this issue.

Proposed Solution:

To mitigate the risk of screen burn-in, I suggest updating the demo code with a default implementation that blanks the screen after a certain interval of inactivity. This would serve as a protective measure and enhance the longevity of the MACROPAD's display.

Additional Context:

Screen burn-in can be a costly issue for users, as it may require purchasing a replacement display. By implementing this small but essential change, the guide would better serve users by preventing potential damage to their hardware.

Thank you for considering this enhancement to the MACROPAD Hotkeys guide.

I'm attaching a picture of my "burned" Macropad
macropadBurned

flavio-fernandes added a commit to flavio-fernandes/Adafruit_Learning_System_Guides that referenced this issue Sep 14, 2024
This commit introduces a screensaver mode to the Adafruit Macropad
hotkeys script, addressing issue adafruit#2882.

Key Changes:
- Screensaver Activation: Added a new configurable parameter
  SCREENSAVER_START_TIME, which specifies the duration of inactivity
  (in seconds) before the screensaver activates.
- Class-Level Variables: Introduced class-level variables in the App
  class to track the last activity time, screensaver mode status, and
  breathing effect brightness.
- Screensaver Functions: Added helper functions:
  * enter_screensaver_mode(): Turns off the OLED display and LEDs,
    entering screensaver mode.
  * wake_from_screensaver(): Exits screensaver mode and restores the
    previous state of the display and LEDs.
  * screensaver_breathing_effect(): Implements a breathing LED effect
    during screensaver mode.
- Main Loop Integration: Modified the main loop to monitor inactivity
  and trigger the screensaver mode based on the specified timeout.

This update ensures the Macropad's OLED display is protected from
burn-in during extended periods of inactivity.

Fixes issue adafruit#2882.
Signed-off-by: Flavio Fernandes <[email protected]>
flavio-fernandes added a commit to flavio-fernandes/Adafruit_Learning_System_Guides that referenced this issue Sep 23, 2024
This commit introduces a screensaver mode to the Adafruit Macropad
hotkeys script, addressing issue adafruit#2882.

Key Changes:
- Screensaver Activation: Added a new configurable parameter
  SCREENSAVER_START_TIME, which specifies the duration of inactivity
  (in seconds) before the screensaver activates.
- Class-Level Variables: Introduced class-level variables in the App
  class to track the last activity time, screensaver mode status, and
  breathing effect brightness.
- Screensaver Functions: Added helper functions:
  * enter_screensaver_mode(): Turns off the OLED display and LEDs,
    entering screensaver mode.
  * wake_from_screensaver(): Exits screensaver mode and restores the
    previous state of the display and LEDs.
  * screensaver_breathing_effect(): Implements a breathing LED effect
    during screensaver mode.
- Main Loop Integration: Modified the main loop to monitor inactivity
  and trigger the screensaver mode based on the specified timeout.

This update ensures the Macropad's OLED display is protected from
burn-in during extended periods of inactivity.

Fixes issue adafruit#2882.
Signed-off-by: Flavio Fernandes <[email protected]>
flavio-fernandes added a commit to flavio-fernandes/Adafruit_Learning_System_Guides that referenced this issue Sep 24, 2024
This commit introduces a screensaver mode to the Adafruit Macropad
hotkeys script, addressing issue adafruit#2882.

Key Changes:
- Screensaver Activation: Added a new configurable parameter
  SCREENSAVER_START_TIME, which specifies the duration of inactivity
  (in seconds) before the screensaver activates.
- Class-Level Variables: Introduced class-level variables in the App
  class to track the last activity time, screensaver mode status, and
  breathing effect brightness.
- Screensaver Functions: Added helper functions:
  * enter_screensaver_mode(): Turns off the OLED display and LEDs,
    entering screensaver mode.
  * wake_from_screensaver(): Exits screensaver mode and restores the
    previous state of the display and LEDs.
  * screensaver_breathing_effect(): Implements a breathing LED effect
    during screensaver mode.
- Main Loop Integration: Modified the main loop to monitor inactivity
  and trigger the screensaver mode based on the specified timeout.

This update ensures the Macropad's OLED display is protected from
burn-in during extended periods of inactivity.

Fixes issue adafruit#2882.
Signed-off-by: Flavio Fernandes <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
1 participant