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

Fix OLED timeout on satisfaction75 after migration from QWIIC #14780

Merged
merged 1 commit into from Oct 10, 2021

Conversation

sigprof
Copy link
Contributor

@sigprof sigprof commented Oct 10, 2021

Description

When the cannonkeys/satisfaction75 code 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 custom OLED_OFF mode was selected). Restore the OLED idle timeout functionality.

Normally the OLED idle timeout handling is performed by the common OLED code (OLED_TIMEOUT defaults to 60000, so the display gets turned off after 60 seconds without any key or encoder actions). However, the custom OLED_OFF mode implemented on cannonkeys/satisfaction75 is incompatible with the OLED_TIMEOUT feature (the OLED_TIMEOUT code 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 the OLED_OFF mode 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

  • Core
  • Bugfix
  • New feature
  • Enhancement/optimization
  • Keyboard (addition or update)
  • Keymap/layout/userspace (addition or update)
  • Documentation

Issues Fixed or Closed by This PR

Checklist

  • My code follows the code style of this project: C, Python
  • I have read the PR Checklist document and have made the appropriate changes.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have read the CONTRIBUTING document.
  • I have added tests to cover my changes.
  • I have tested the changes and verified that they work and don't break anything (as well as I can manage).

The custom OLED_OFF mode implemented on satisfaction75 is incompatible
with the OLED_TIMEOUT feature (the OLED_TIMEOUT code 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 the OLED_OFF mode
functioning as before while still having a working OLED idle timeout, a
custom implementation of the OLED idle timeout code is added.
@drashna drashna requested a review from a team October 10, 2021 15:17
@zvecr zvecr merged commit 2d3bd7c into qmk:develop Oct 10, 2021
ptrxyz pushed a commit to ptrxyz/qmk_firmware that referenced this pull request Apr 9, 2022
)

The custom OLED_OFF mode implemented on satisfaction75 is incompatible
with the OLED_TIMEOUT feature (the OLED_TIMEOUT code 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 the OLED_OFF mode
functioning as before while still having a working OLED idle timeout, a
custom implementation of the OLED idle timeout code is added.
@sigprof sigprof deleted the sat75-oled-timeout-v2 branch July 21, 2022 19:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants