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

Provide callback for watch face to react to LCD state changes #2209

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

ljahn
Copy link

@ljahn ljahn commented Dec 23, 2024

This provides a callback for watch faces to get notified about changes to the LCD state, meaning when it turns on and off or switches to and from the reduced color range of the Always On Display.

Example: My Star Trek watch face changes to different colors in AOD mode to enhance readability. It also has the option to animate the elements appearing when the watch face is opened.

This requires no changes to any watch face if the functionality is not used there, since it is a virtual void with an empty default implementation.

However, it adds an additional 100 tick delay on LCD sleep since lv_task_handler is not called in idle mode and we need time for one display refresh before entering idle. For AOD there is a similar thing with the display refresh rate decreasing, so updating before AOD is faster.

@ljahn ljahn mentioned this pull request Dec 23, 2024
Copy link

Build size and comparison to main:

Section Size Difference
text 373280B 464B
data 948B 0B
bss 22536B 0B

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.

1 participant