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

Allow force flush of oled display. #20953

Merged
merged 10 commits into from
Sep 14, 2023
Merged

Conversation

arlaneenalra
Copy link
Contributor

Description

API copmatible refactoring of the oled_render function that allows callers to forcibly render all dirty
blocks instead of allowing the oled_task function to render them asynchronously. This is mostly useful
when want to display a logo/message/graphic right before rebooting into a bootloader or other state
where the MCU will be unable to finish flushing blocks to the display.

Types of Changes

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

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).

API copmatible refactoring of the oled_render function
that allows callers to forcibly render all dirty
blocks instead of allowing the oled_task function to
render them asynchronously. This is mostly useful
when want to display a logo/message/graphic right
before rebooting into a bootloader or other state
where the MCU will be unable to finish flushing blocks
to the display.
@@ -235,15 +263,15 @@ So those precalculated arrays just index the memory offsets in the order in whic
## OLED API

```c
// OLED rotation enum values are flags
// OLED Rotation enum values are flags
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I recopied the relevant chunk of the .h file. That's where the other changes came from.

docs/feature_oled_driver.md Outdated Show resolved Hide resolved
@arlaneenalra arlaneenalra requested a review from drashna May 16, 2023 02:13
drivers/oled/oled_driver.h Outdated Show resolved Hide resolved
@arlaneenalra
Copy link
Contributor Author

arlaneenalra commented May 16, 2023 via email

@arlaneenalra arlaneenalra requested a review from drashna May 16, 2023 16:58
Copy link
Member

@drashna drashna left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This isn't necessary, just fun.

Eg, gives a bit of detection for how the board is reset, and changes the message based on that.

docs/feature_oled_driver.md Outdated Show resolved Hide resolved
docs/feature_oled_driver.md Outdated Show resolved Hide resolved
docs/feature_oled_driver.md Outdated Show resolved Hide resolved
Co-authored-by: Drashna Jaelre <drashna@live.com>
@arlaneenalra arlaneenalra requested a review from drashna May 16, 2023 22:23
@drashna drashna requested a review from a team May 17, 2023 02:01
@arlaneenalra
Copy link
Contributor Author

One last question ... does the mr get floated until Q3 or will it show up in a working/dev branch earlier? Mainly trying to think through some other ideas and how to handle them in the fork for my keyboard ..

docs/feature_oled_driver.md Outdated Show resolved Hide resolved
docs/feature_oled_driver.md Outdated Show resolved Hide resolved
docs/feature_oled_driver.md Outdated Show resolved Hide resolved
docs/feature_oled_driver.md Outdated Show resolved Hide resolved
docs/feature_oled_driver.md Outdated Show resolved Hide resolved
docs/feature_oled_driver.md Outdated Show resolved Hide resolved
arlaneenalra and others added 3 commits May 17, 2023 10:32
Incorporating other docs updates ..

Co-authored-by: Ryan <fauxpark@gmail.com>
@arlaneenalra arlaneenalra requested a review from fauxpark May 17, 2023 15:47
@drashna
Copy link
Member

drashna commented May 17, 2023

One last question ... does the mr get floated until Q3 or will it show up in a working/dev branch earlier? Mainly trying to think through some other ideas and how to handle them in the fork for my keyboard ..

Q3 starts in a couple of weeks. Namely, this has missed the cuttoff:
https://docs.qmk.fm/#/breaking_changes?id=when-is-the-next-breaking-change

@drashna drashna merged commit d8e100a into qmk:develop Sep 14, 2023
mechlovin pushed a commit to mechlovin/qmk_firmware that referenced this pull request Oct 25, 2023
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
christrotter pushed a commit to christrotter/qmk_firmware that referenced this pull request Nov 28, 2023
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
zgagnon pushed a commit to zgagnon/qmk_firmware_waterfowl that referenced this pull request Dec 15, 2023
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
future-figs pushed a commit to future-figs/qmk_firmware that referenced this pull request Dec 27, 2023
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants