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

[catfish] Feature request: LCD backlight #167

Open
sevmonster opened this issue Feb 28, 2023 · 2 comments
Open

[catfish] Feature request: LCD backlight #167

sevmonster opened this issue Feb 28, 2023 · 2 comments
Labels
catfish/catfish_ext/catshark TicWatch Pro 2018/2020

Comments

@sevmonster
Copy link

Is it possible with the current state of the LCD implementation (or possible at all with how it is implemented in hardware) to enable both the LED screen and dual layer LCD screen at the same time?

My proposed use case is pretty straightforward:

  1. The watch is sleeping
  2. Some input is fired e.g. second button press, which does nothing in Asteroid atm, or tilt sensor to replace tilt to wake
  3. Turn on the LED screen at a specific brightness, displaying a solid color (or other configurable image etc)
  4. Wait some specified delay
  5. Turn off the LED screen

While niche, this would give users a more viable alternative to tilt to wake or always-on display—specifically, while the LCD in the TicWatch Pro is nice, it is not legible outside of direct light, which really reduces its comfortable usecases. This has led me to keeping tilt to wake enabled even though one of the reasons I settled on the TicWatch Pr for its battery-sipping LCD. help save battery and make the dual layer LCD more legible tilt to wake.

@eLtMosen eLtMosen added the catfish/catfish_ext/catshark TicWatch Pro 2018/2020 label Mar 1, 2023
@MagneFire
Copy link
Member

MagneFire commented Apr 10, 2023

While it's definitely possible to have such a mode it requires changes to the kernel and launcher. Implementing this in a well structured way is the challenge here.
I've attached a proof of concept to show of your idea. Note: This is a quick and dirty attempt to just check if your feature request is possible to implement.

Here are some of the changes that are definitely required:

  • kernel: Adjust the nanohub driver to enable 'ambient' mode (lcd) and disable 'ambient' mode.
    • The simplest method would be to add two new /sys/ entries one enables the LCD while the other turns it off.
  • asteroid-launcher: Add an overlay that's any kind of color (the 'LCD backlight').
  • asteroid-launcher: Add input handling to enable this LCD backlight mode.
  • Consider using a fixed brightness level as a complete black screen causes the brightness to increase to the maximum level due to the ambient light sensor picking up the screen brightness. (Some kind of feedback loop)

Here's a demo of it in action:

20230405_231534.web.mp4

To achieve the above all I had to do is the following:

@sevmonster
Copy link
Author

It's beautiful, thank you. I certainly thought it could be possible and I'm glad it is. This would actually be a feature I think the stock watch did not support with WearOS.

Consider using a fixed brightness level as a complete black screen causes the brightness to increase to the maximum level due to the ambient light sensor picking up the screen brightness. (Some kind of feedback loop)

This is actually why I turned off automatic brightness adjustment. Is that a firmware issue or is this managed in Asteroid? I didn't think to submit an issue for this in particular.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
catfish/catfish_ext/catshark TicWatch Pro 2018/2020
Projects
None yet
Development

No branches or pull requests

3 participants