Skip to content

Conversation

@vkareh
Copy link
Contributor

@vkareh vkareh commented Nov 25, 2025

Adds various modes to the flashlight app:

  • Off
  • Red (night mode)
  • White (normal)
  • Strobe (safety/emergency signaling)

Tapping the screen cycles through these modes. This makes it behave more like standard headlamps or safety hiking/cycling lights, with the first mode always red to not affect your pupils in the dark.

InfiniSim_2025-11-25_170421

Note: The strobe looks strange in the animation because of the InfiniSim refresh rate. It looks better on the real watch, since it turns the backlight on and off directly.

Also the strobe is 2Hz at 20% duty cycle (100ms on, 400ms off), which provides good visibility from a distance and is low enough that it won't trigger people with photosensitive epilepsy.

@github-actions
Copy link

github-actions bot commented Nov 25, 2025

Build size and comparison to main:

Section Size Difference
text 383100B 320B
data 944B 0B
bss 22632B 0B

Run in InfiniEmu

@mark9064 mark9064 added the enhancement Enhancement to an existing app/feature label Nov 28, 2025
@Andersama
Copy link

What would you think about adding an option for an SOS indicator in addition to the strobe? Shouldn't be much different from the strobe option, just an additional amount of memory for a small state machine.

@vkareh
Copy link
Contributor Author

vkareh commented Dec 11, 2025

@Andersama

What would you think about adding an option for an SOS indicator in addition to the strobe? Shouldn't be much different from the strobe option, just an additional amount of memory for a small state machine.

To be honest, I don't think the display refresh is fast enough for this. At best you'd get something that looks like a random pattern blinker... I played with different frequencies, duty cycles, and patterns, and none of them look like what you'd expect from a simple hardware-controlled LED...

@vkareh
Copy link
Contributor Author

vkareh commented Dec 11, 2025

🤦 doh! Of course! As soon as I said "simple hardware-controlled LED", it dawned on me that redrawing the screen between black and white is kind of pointless if I can just set the screen as white and just turn it on-and-off at the hardware level. So I did that and the strobe is significantly nicer now.

Also I was able to get a somewhat reasonable SOS signal:

sos-strobe.mp4

(but I haven't pushed that change yet - maybe if more folks think it's a good idea I can add it?)

Adds various modes to the flashlight app:
- Off
- Red (night mode)
- White (normal)
- Strobe (safety/emergency signaling)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement Enhancement to an existing app/feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants