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

OLED burnin and static image protection #342

Merged
merged 2 commits into from
Sep 7, 2023
Merged

Conversation

SumolX
Copy link
Contributor

@SumolX SumolX commented Sep 4, 2023

Performs two levels of orbiting the OSD in order to minimize screen burn-in and static image retention.

image

@SumolX SumolX marked this pull request as draft September 5, 2023 13:01
@SumolX
Copy link
Contributor Author

SumolX commented Sep 5, 2023

Noticed some graphical anomalies when switching between live and menu.... setting PR to draft.

@SumolX SumolX marked this pull request as ready for review September 5, 2023 17:09
@ligenxxxx ligenxxxx merged commit f960f35 into hd-zero:main Sep 7, 2023
@SumolX SumolX deleted the screen_orbit branch November 29, 2023 22:54
@stefan74xxx
Copy link

@SumolX: Just a small question - does this orbit-function "only" work on HDZero-ui elements or although for the BetaFlight ones (like battery voltage)? Because the last ones will although "burn in" after some time. Sorry, tried to understand the code, but not fully sure...

@SumolX
Copy link
Contributor Author

SumolX commented Dec 21, 2023

Anything written to the framebuffer will have orbiting applied with the exclusion of the live feed as that is written directly to the oled panels via the FPGA. I believe the betaflight fonts are loaded and processed via the goggle application and not directly via the FPGA. If that is the case, then the orbiting should also apply to in-flight fonts as well as it would utilize the framebuffer.... but I'm not 100% sure. If you are comfortable with making modifications.... you can speed up the orbit by lowering the value from 500 to 100 and then test it out.

https://github.com/hd-zero/hdzero-goggle/blob/main/src/ui/ui_porting.c#L44

@stefan74xxx
Copy link

Thanks for the response! Will see if i can successfully compile a firmware and give it a shot ...

@stefan74xxx
Copy link

Hi - just an update: HDZero and BetaFlight OSD elements are moved by the orbit function - as expected by your explanation.

Another idea to reduce the OLED burnin problem even more "OLED burnin: Change color of OSD-elements in Google Menu" as issue #383

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants