Blanking screensaver with 90 min timeout #123
Closed
Conversation
Except in pattern / tracker mode, which would require a refactor.
|
Don't merge this until #122 is merged. I need to update the code to reflect the new UI protocol. If it is merged, I will push a new commit to this PR. |
|
Additionally, I will be adding button press and knob movement as conditions to wake the screensaver. |
Syntax: IN.SCALE -100 100 All future calls to IN will scale linearly to between -100 and 100.
Drops the keystroke that caused the wake-up.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
What does this PR do?
Blanks the Teletype display after 90 minutes of keystroke activity. Requires a keystroke to wake the display. That keystroke is dropped.
Provide links to any related discussion on lines.
https://llllllll.co/t/teletype-screen-saver/9769
How should this be manually tested?
Set the timeout (see screensaver_mode.h) to 10 seconds, then cycle through modes, use the teletype as normal. Every 10 seconds after your last keystroke, the display should blank. Press any key (except for mods SHIFT, ALT, and CTRL) to wake the display. It should reveal the last screen you were on, although it will be as if you had just navigated to the screen (input and message lines will be blank, etc).
Any background context you want to provide?
Static patterns on the display will cause bright cells to deteriorate more quickly than black cells. It's somewhat healable with OLED, but would need a noisy animation to play for a while to do so.
There is another strategy to code this: by shortcutting handler_ScreenRefresh. It would be slightly more efficient, but it won't allow the screensaver interface to be extensible. I erred on the side of flexibility.
If the related Github issues aren't referenced in your commits, please link to them here.
I have,