Fix OLED timeout on satisfaction75 after migration from QWIIC #14780
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.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
When the
cannonkeys/satisfaction75code was migrated from QWIIC drivers to the common OLED API in #14747, the OLED idle timeout feature got broken (the OLED display was always turned on, unless the customOLED_OFFmode was selected). Restore the OLED idle timeout functionality.Normally the OLED idle timeout handling is performed by the common OLED code (
OLED_TIMEOUTdefaults to 60000, so the display gets turned off after 60 seconds without any key or encoder actions). However, the customOLED_OFFmode implemented oncannonkeys/satisfaction75is incompatible with theOLED_TIMEOUTfeature (theOLED_TIMEOUTcode assumes that any key or encoder action should turn the OLED display on, and does not provide any way to disable that behavior). To keep theOLED_OFFmode functioning as before while still having a working OLED idle timeout, a custom implementation of the OLED idle timeout code is added (somewhat similar to what the old QWIIC code had).Types of Changes
Issues Fixed or Closed by This PR
cannonkeys/satisfaction75after Migrate satisfaction75 away from QWIIC_DRIVERS #14747Checklist